1- import { sentenceCase } from "change-case" ;
2- import type { DesignToken } from "@microsoft/fast-foundation" ;
3- import {
4- Color ,
5- densityAdjustmentUnits ,
6- DesignTokenMetadata ,
7- DesignTokenType ,
8- TypedCSSDesignToken
9- } from "@adaptive-web/adaptive-ui"
1+ import { densityAdjustmentUnits } from "@adaptive-web/adaptive-ui"
102import {
113 accentBaseColor ,
124 accentFillDiscernible ,
@@ -154,13 +146,12 @@ import {
154146 warningStrokeSubtle ,
155147 wcagContrastLevel ,
156148} from "@adaptive-web/adaptive-ui/reference" ;
157- import { DesignTokenDefinition , DesignTokenRegistry , FormControlId } from "./design-token-registry.js" ;
158- import { blackOrWhiteDiscernibleRest , blackOrWhiteReadableRest , docBaseColor , docFill , docForeground } from "./custom-recipes.js" ;
149+ import { AdaptiveDesignToken , DesignTokenRegistry } from "./design-token-registry.js" ;
159150
160151/**
161152 * A collection of DesignTokens for adding to a {@link DesignTokenRegistry}.
162153 */
163- type DesignTokenStore < T = any > = Array < DesignToken < T > & DesignTokenMetadata > ;
154+ type DesignTokenStore = Array < AdaptiveDesignToken > ;
164155
165156const designTokens : DesignTokenStore = [
166157 accentBaseColor ,
@@ -175,7 +166,6 @@ const designTokens: DesignTokenStore = [
175166 layerFillHoverDelta ,
176167 layerFillActiveDelta ,
177168 layerFillFocusDelta ,
178- docBaseColor ,
179169 wcagContrastLevel ,
180170 densityAdjustmentUnits ,
181171 densityControl . horizontalPaddingUnits ,
@@ -203,7 +193,7 @@ const designTokens: DesignTokenStore = [
203193 strokeStrongRestDelta ,
204194] ;
205195
206- const colorTokens : DesignTokenStore < Color > = [
196+ const colorTokens : DesignTokenStore = [
207197 // Layer
208198 layerFillFixedMinus4 ,
209199 layerFillFixedMinus3 ,
@@ -297,19 +287,14 @@ const colorTokens: DesignTokenStore<Color> = [
297287 neutralStrokeDiscernible . rest ,
298288 neutralStrokeReadable . rest ,
299289 neutralStrokeStrong . rest ,
300- // Custom
301- blackOrWhiteDiscernibleRest ,
302- blackOrWhiteReadableRest ,
303- docForeground ,
304- docFill ,
305290] ;
306291
307292const strokeWidthTokens : DesignTokenStore = [
308293 strokeThickness ,
309294 focusStrokeThickness ,
310295] ;
311296
312- const densityTokens : DesignTokenStore < string > = [
297+ const densityTokens : DesignTokenStore = [
313298 densityControl . horizontalPadding ,
314299 densityControl . verticalPadding ,
315300 densityControl . horizontalGap ,
@@ -324,7 +309,7 @@ const densityTokens: DesignTokenStore<string> = [
324309 densityLayer . verticalGap ,
325310] ;
326311
327- const cornerRadiusTokens : DesignTokenStore < string > = [
312+ const cornerRadiusTokens : DesignTokenStore = [
328313 cornerRadiusControl ,
329314 cornerRadiusLayer ,
330315] ;
@@ -366,34 +351,13 @@ const effectsTokens: DesignTokenStore = [
366351 elevationDialog ,
367352] ;
368353
369- export function nameToTitle ( name : string ) : string {
370- const base = name . replace ( / - / g, ' ' ) . replace ( / d e n s i t y _ / , '' ) ;
371- return sentenceCase ( base ) ;
372- }
373-
374- function registerStore < T > (
375- store : DesignTokenStore < T > ,
376- groupTitle : string | undefined , // Phasing this out. Currently only used on the "Design Tokens" tab.
354+ function registerStore (
355+ store : DesignTokenStore ,
377356 registry : DesignTokenRegistry
378357) : void {
379358 store . forEach ( ( token ) => {
380359 // console.log("registerStore", token);
381-
382- // Handle legacy non-hierarchical format for `custom-recipes.ts`.
383- const title = nameToTitle ( token . name . indexOf ( "." ) > - 1 ? token . name . split ( "." ) . slice ( 1 ) . join ( "-" ) : token . name ) ;
384- const intendedFor = ( token instanceof TypedCSSDesignToken ? ( token as TypedCSSDesignToken < any > ) . intendedFor : undefined ) ;
385- const formControlId = token . type === DesignTokenType . color ? FormControlId . color : FormControlId . text ;
386-
387- const definition : DesignTokenDefinition = {
388- id : token . name ,
389- title,
390- groupTitle,
391- intendedFor,
392- formControlId,
393- token,
394- } ;
395-
396- registry . register ( definition ) ;
360+ registry . register ( token ) ;
397361 } ) ;
398362}
399363
@@ -403,18 +367,18 @@ function registerStore<T>(
403367// For now we've grouped the color tokens since by default those are all recipes/derived.
404368
405369export const registerTokens = ( registry : DesignTokenRegistry ) => {
406- registerStore ( designTokens , "Global tokens" , registry ) ;
370+ registerStore ( designTokens , registry ) ;
407371 // This could be optimized, but some tokens are intended to be modified as well as applied as style properties.
408- registerStore ( strokeWidthTokens , "Stroke width" , registry ) ;
409- registerStore ( cornerRadiusTokens , "Corner radius" , registry ) ;
410- registerStore ( textTokens , "Text" , registry ) ;
411- registerStore ( effectsTokens , "Effects" , registry ) ;
372+ registerStore ( strokeWidthTokens , registry ) ;
373+ registerStore ( cornerRadiusTokens , registry ) ;
374+ registerStore ( textTokens , registry ) ;
375+ registerStore ( effectsTokens , registry ) ;
412376} ;
413377
414378export const registerAppliableTokens = ( registry : DesignTokenRegistry ) => {
415- registerStore ( colorTokens , undefined , registry ) ;
416- registerStore ( strokeWidthTokens , undefined , registry ) ;
417- registerStore ( densityTokens , undefined , registry ) ;
418- registerStore ( cornerRadiusTokens , undefined , registry ) ;
419- registerStore ( textTokens , undefined , registry ) ;
379+ registerStore ( colorTokens , registry ) ;
380+ registerStore ( strokeWidthTokens , registry ) ;
381+ registerStore ( densityTokens , registry ) ;
382+ registerStore ( cornerRadiusTokens , registry ) ;
383+ registerStore ( textTokens , registry ) ;
420384} ;
0 commit comments