88 ColorReferenceTokens ,
99 ColorPaletteInput ,
1010 PaletteStep ,
11+ ColorPaletteDefinition ,
1112} from './interfaces' ;
1213
1314export type TokenCategory < T extends string , V > = Record < T , V > ;
@@ -70,8 +71,8 @@ export class ThemeBuilder {
7071 return this . theme ;
7172 }
7273
73- private processReferenceTokens ( colorTokens : ColorReferenceTokens ) : Record < string , string > {
74- const generatedTokens : Record < string , string > = { } ;
74+ private processReferenceTokens ( colorTokens : ColorReferenceTokens ) : TokenCategory < string , string > {
75+ const generatedTokens : TokenCategory < string , string > = { } ;
7576
7677 Object . entries ( colorTokens ) . forEach ( ( [ colorName , paletteInput ] ) => {
7778 const palette = this . processColorPaletteInput ( paletteInput ) ;
@@ -86,58 +87,23 @@ export class ThemeBuilder {
8687 return generatedTokens ;
8788 }
8889
89- private processColorPaletteInput ( input : ColorPaletteInput ) : Record < PaletteStep , string > {
90- if ( typeof input === 'string' ) {
91- // Simple seed case: generate basic palette from seed
92- return this . generateBasicPalette ( input ) ;
93- } else {
94- // Complex case: object with seed and/or explicit step values
95- const validSteps = [
96- 50 , 100 , 150 , 200 , 250 , 300 , 350 , 400 , 450 , 500 , 550 , 600 , 650 , 700 , 750 , 800 , 850 , 900 , 950 , 1000 ,
97- ] ;
98-
99- // Start with generated palette if seed is provided, otherwise empty
100- const result : Record < PaletteStep , string > = input . seed
101- ? this . generateBasicPalette ( input . seed )
102- : ( { } as Record < PaletteStep , string > ) ;
103-
104- // Override with explicit step values
105- Object . entries ( input ) . forEach ( ( [ step , value ] ) => {
106- const numStep = Number ( step ) ;
107- if ( step !== 'seed' && value && validSteps . includes ( numStep ) ) {
108- result [ numStep as PaletteStep ] = value ;
109- }
110- } ) ;
90+ // Right now just validates steps, but will also handle seed token color generation in a future PR
91+ private processColorPaletteInput ( input : ColorPaletteInput ) : ColorPaletteDefinition {
92+ const validSteps = [
93+ 50 , 100 , 150 , 200 , 250 , 300 , 350 , 400 , 450 , 500 , 550 , 600 , 650 , 700 , 750 , 800 , 850 , 900 , 950 , 1000 ,
94+ ] ;
11195
112- return result ;
113- }
114- }
96+ const result : ColorPaletteDefinition = { } ;
11597
116- private generateBasicPalette ( seed : string ) : Record < PaletteStep , string > {
117- // Placeholder implementation - will be replaced with HCT generation later
118- // For now, just return the seed color for all steps to establish the plumbing
119- return {
120- 50 : seed ,
121- 100 : seed ,
122- 150 : seed ,
123- 200 : seed ,
124- 250 : seed ,
125- 300 : seed ,
126- 350 : seed ,
127- 400 : seed ,
128- 450 : seed ,
129- 500 : seed ,
130- 550 : seed ,
131- 600 : seed ,
132- 650 : seed ,
133- 700 : seed ,
134- 750 : seed ,
135- 800 : seed ,
136- 850 : seed ,
137- 900 : seed ,
138- 950 : seed ,
139- 1000 : seed ,
140- } ;
98+ // Add explicit step values
99+ Object . entries ( input ) . forEach ( ( [ step , value ] ) => {
100+ const numStep = Number ( step ) ;
101+ if ( value && validSteps . includes ( numStep ) ) {
102+ result [ numStep as PaletteStep ] = value ;
103+ }
104+ } ) ;
105+
106+ return result ;
141107 }
142108
143109 private capitalize ( str : string ) : string {
0 commit comments