File tree Expand file tree Collapse file tree 3 files changed +5
-1
lines changed
apps/docs/src/pages/composables/registration
packages/0/src/composables Expand file tree Collapse file tree 3 files changed +5
-1
lines changed Original file line number Diff line number Diff line change @@ -63,6 +63,7 @@ features.resolve('rtl') // { value: true, variation: 'toggle' }
63
63
interface TokenTicket extends RegistryTicket {}
64
64
65
65
interface TokenContext <Z extends TokenTicket > extends RegistryContext <Z > {
66
+ isAlias: (token : unknown ) => token is string
66
67
resolve: (token : string | TokenAlias ) => unknown | undefined
67
68
}
68
69
@@ -89,6 +90,7 @@ features.resolve('rtl') // { value: true, variation: 'toggle' }
89
90
* The ` flat ` option keeps nested objects intact at their base id .
90
91
* Supports tokens defined as primitive values or as aliases referencing other tokens .
91
92
* Provides a resolve method to recursively resolve tokens and aliases into their final string value .
93
+ * Exposes an isAlias method to detect whether a string is an alias (e .g . " {color.primary}" ).
92
94
* Utilizes caching for efficient resolution of repeated token lookups .
93
95
* Integrates with a generic registry system (useRegistry ) for management of tokens by ID .
94
96
Original file line number Diff line number Diff line change @@ -114,7 +114,7 @@ export function createTheme<
114
114
function resolve ( colors : Colors ) : Colors {
115
115
const resolved : Colors = { }
116
116
for ( const [ key , value ] of Object . entries ( colors ) ) {
117
- resolved [ key ] = tokens . resolve ( value ) as string
117
+ resolved [ key ] = tokens . isAlias ( value ) ? tokens . resolve ( value ) as string : value
118
118
}
119
119
120
120
return resolved
Original file line number Diff line number Diff line change @@ -39,6 +39,7 @@ export type FlatTokenCollection = {
39
39
export interface TokenTicket extends RegistryTicket { }
40
40
41
41
export interface TokenContext < Z extends TokenTicket > extends RegistryContext < Z > {
42
+ isAlias : ( token : unknown ) => token is string
42
43
resolve : ( token : string | TokenAlias ) => unknown | undefined
43
44
}
44
45
@@ -157,6 +158,7 @@ export function useTokens<
157
158
return {
158
159
...registry ,
159
160
resolve,
161
+ isAlias,
160
162
} as E
161
163
}
162
164
You can’t perform that action at this time.
0 commit comments