File tree Expand file tree Collapse file tree
packages/theming/src/builders Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -11,18 +11,29 @@ export interface TokensBuilderConfig extends ThemeTokens {}
1111 * requested to generate tokens.
1212 *
1313 * @remarks
14- * The `name` assigned to this builder has no effects.
14+ * The `name` assigned to this builder will be used as the prefix for the
15+ * tokens. An empty string can be used to avoid prefixing the tokens.
1516 *
1617 * @example
1718 * ```ts
18- * withThemeBuilder("name-does-not-matter", TokensBuilder, {
19+ * withThemeBuilder("tokens-", TokensBuilder, {
20+ * "primary-color": "#ff0000",
21+ * }),
22+ * ```
23+ *
24+ * @example
25+ * ```ts
26+ * withThemeBuilder("", TokensBuilder, {
1927 * "primary-color": "#ff0000",
2028 * }),
2129 * ```
2230 */
2331@Injectable ( { providedIn : 'root' } )
2432export class TokensBuilder implements ThemeBuilder < TokensBuilderConfig > {
2533 build ( context : ThemeBuilderContext < TokensBuilderConfig > ) : ThemeTokens {
26- return context . config ;
34+ const tokens : ThemeTokens = { } ;
35+ for ( const [ key , value ] of Object . entries ( context . config ) )
36+ tokens [ `${ context . name } ${ key } ` ] = value ;
37+ return tokens ;
2738 }
2839}
You can’t perform that action at this time.
0 commit comments