@@ -93,9 +93,15 @@ import { Component, input } from "@angular/core";
9393${ cleanedSvg }
9494 \`,
9595})
96+ /**
97+ * The ${ componentName } logo SVG component.
98+ */
9699export class ${ componentName } LogoComponent {
100+ /** The width of the logo. */
97101 width = input<string | number>("1em");
102+ /** The height of the logo. */
98103 height = input<string | number>("1em");
104+ /** Optional additional CSS class names. */
99105 className = input<string>("");
100106}
101107` ;
@@ -143,14 +149,31 @@ async function generateLogoComponents(): Promise<void> {
143149 }
144150
145151 // Generate an index file to export all components
146- const indexContent = brandDirectories
152+ const indexContent = `/**
153+ * Copyright 2025 Google LLC
154+ *
155+ * Licensed under the Apache License, Version 2.0 (the "License");
156+ * you may not use this file except in compliance with the License.
157+ * You may obtain a copy of the License at
158+ *
159+ * http://www.apache.org/licenses/LICENSE-2.0
160+ *
161+ * Unless required by applicable law or agreed to in writing, software
162+ * distributed under the License is distributed on an "AS IS" BASIS,
163+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
164+ * See the License for the specific language governing permissions and
165+ * limitations under the License.
166+ */
167+
168+ ${ brandDirectories
147169 . map ( ( brandDir ) => {
148170 const brandName = brandDir . name ;
149171 const componentName = toPascalCase ( brandName ) ;
150172 const fileName = toKebabCase ( brandName ) ;
151173 return `export { ${ componentName } LogoComponent } from './${ fileName } ';` ;
152174 } )
153- . join ( "\n" ) ;
175+ . join ( "\n" ) }
176+ ` ;
154177
155178 const indexPath = join ( ANGULAR_LOGOS_DIR , "index.ts" ) ;
156179 await writeFile ( indexPath , indexContent , "utf-8" ) ;
0 commit comments