@terrazzo/token-tools 0.10.2 → 0.10.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @terrazzo/token-tools
2
2
 
3
+ ## 0.10.5
4
+
5
+ ### Patch Changes
6
+
7
+ - Fix bug in `tz init` where it’s not clear that <kbd>Space</kbd> is needed to install plugins, rather than <kbd>Enter</kbd>.
8
+
9
+ ## 0.10.3
10
+
11
+ ### Patch Changes
12
+
13
+ - [#533](https://github.com/terrazzoapp/terrazzo/pull/533) [`e1a612f`](https://github.com/terrazzoapp/terrazzo/commit/e1a612f2297662b1dfd4ca517c83b9679960a5cf) Thanks [@pvignau](https://github.com/pvignau)! - Auto-install CSS plugin with Sass during init
14
+
15
+ - Updated dependencies [[`6141d4f`](https://github.com/terrazzoapp/terrazzo/commit/6141d4f5a9790be73b314c517d9da010f237814e)]:
16
+ - @terrazzo/parser@0.10.3
17
+
3
18
  ## 0.10.2
4
19
 
5
20
  ### Patch Changes
package/dist/css.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { BooleanTokenNormalized, BorderTokenNormalized, ColorTokenNormalized, CubicBezierTokenNormalized, DimensionTokenNormalized, DurationTokenNormalized, FontFamilyTokenNormalized, FontWeightTokenNormalized, GradientTokenNormalized, LinkTokenNormalized, NumberTokenNormalized, ShadowTokenNormalized, ShadowValueNormalized, StringTokenNormalized, StrokeStyleTokenNormalized, TokenNormalized, TokenNormalizedSet, TransitionTokenNormalized, TypographyTokenNormalized } from "./types-BOWDcBsq.js";
1
+ import { $ as StringTokenNormalized, F as GradientTokenNormalized, H as LinkTokenNormalized, K as NumberTokenNormalized, S as DurationTokenNormalized, T as FontFamilyTokenNormalized, Y as ShadowTokenNormalized, Z as ShadowValueNormalized, _t as TypographyTokenNormalized, ct as TokenNormalized, f as ColorTokenNormalized, g as CubicBezierTokenNormalized, i as BooleanTokenNormalized, k as FontWeightTokenNormalized, nt as StrokeStyleTokenNormalized, pt as TransitionTokenNormalized, s as BorderTokenNormalized, ut as TokenNormalizedSet, y as DimensionTokenNormalized } from "./types-DAuPY3qE.js";
2
2
  import { Color } from "culori/fn";
3
3
 
4
4
  //#region src/css/lib.d.ts
@@ -30,7 +30,6 @@ declare function makeCSSVar(name: string, {
30
30
  prefix,
31
31
  wrapVar
32
32
  }?: MakeCSSVarOptions): string;
33
- //# sourceMappingURL=lib.d.ts.map
34
33
  //#endregion
35
34
  //#region src/css/css-types.d.ts
36
35
  interface TransformCSSValueOptions {
@@ -48,7 +47,6 @@ interface TransformCSSValueOptions {
48
47
  depth?: 24 | 30 | 36 | 48 | 'unlimited';
49
48
  };
50
49
  }
51
- //# sourceMappingURL=css-types.d.ts.map
52
50
  //#endregion
53
51
  //#region src/css/color.d.ts
54
52
  type WideGamutColorValue = {
@@ -68,7 +66,6 @@ declare const DEPTH_ROUNDING: {
68
66
  type Depth = keyof typeof DEPTH_ROUNDING | 'unlimited';
69
67
  /** Round color to certain depth. */
70
68
  declare function roundColor<T extends Color = Color>(color: T, depth?: Depth): T;
71
- //# sourceMappingURL=color.d.ts.map
72
69
  //#endregion
73
70
  //#region src/css/boolean.d.ts
74
71
  /** Convert boolean value to CSS string */
@@ -76,7 +73,6 @@ declare function transformBoolean(token: BooleanTokenNormalized, {
76
73
  tokensSet,
77
74
  transformAlias
78
75
  }: TransformCSSValueOptions): string;
79
- //# sourceMappingURL=boolean.d.ts.map
80
76
  //#endregion
81
77
  //#region src/css/border.d.ts
82
78
  /** Convert border value to multiple CSS values */
@@ -86,46 +82,37 @@ declare function transformBorder(token: BorderTokenNormalized, options: Transfor
86
82
  p3: string;
87
83
  rec2020: string;
88
84
  };
89
- //# sourceMappingURL=border.d.ts.map
90
85
  //#endregion
91
86
  //#region src/css/cubic-bezier.d.ts
92
87
  /** Convert cubicBezier value to CSS */
93
88
  declare function transformCubicBezier(token: CubicBezierTokenNormalized, options: TransformCSSValueOptions): string;
94
- //# sourceMappingURL=cubic-bezier.d.ts.map
95
89
  //#endregion
96
90
  //#region src/css/dimension.d.ts
97
91
  /** Convert dimension value to CSS */
98
92
  declare function transformDimension(token: DimensionTokenNormalized, options: TransformCSSValueOptions): string;
99
- //# sourceMappingURL=dimension.d.ts.map
100
93
  //#endregion
101
94
  //#region src/css/duration.d.ts
102
95
  /** Convert duration value to CSS */
103
96
  declare function transformDuration(token: DurationTokenNormalized, options: TransformCSSValueOptions): string;
104
- //# sourceMappingURL=duration.d.ts.map
105
97
  //#endregion
106
98
  //#region src/css/font-family.d.ts
107
99
  declare function transformFontFamily(token: FontFamilyTokenNormalized, options: TransformCSSValueOptions): string;
108
- //# sourceMappingURL=font-family.d.ts.map
109
100
  //#endregion
110
101
  //#region src/css/font-weight.d.ts
111
102
  /** Convert fontWeight value to CSS */
112
103
  declare function transformFontWeight(token: FontWeightTokenNormalized, options: TransformCSSValueOptions): string;
113
- //# sourceMappingURL=font-weight.d.ts.map
114
104
  //#endregion
115
105
  //#region src/css/gradient.d.ts
116
106
  /** Convert gradient value to CSS */
117
107
  declare function transformGradient(token: GradientTokenNormalized, options: TransformCSSValueOptions): string | WideGamutColorValue;
118
- //# sourceMappingURL=gradient.d.ts.map
119
108
  //#endregion
120
109
  //#region src/css/link.d.ts
121
110
  /** Convert link value to CSS */
122
111
  declare function transformLink(token: LinkTokenNormalized, options: TransformCSSValueOptions): string;
123
- //# sourceMappingURL=link.d.ts.map
124
112
  //#endregion
125
113
  //#region src/css/number.d.ts
126
114
  /** Convert number value to CSS */
127
115
  declare function transformNumber(token: NumberTokenNormalized, options: TransformCSSValueOptions): string;
128
- //# sourceMappingURL=number.d.ts.map
129
116
  //#endregion
130
117
  //#region src/css/shadow.d.ts
131
118
  /** Convert shadow subvalue to CSS */
@@ -135,28 +122,22 @@ declare function transformShadowLayer(value: ShadowValueNormalized, options: Tra
135
122
  }): string | Record<string, string>;
136
123
  /** Convert shadow value to CSS */
137
124
  declare function transformShadow(token: ShadowTokenNormalized, options: TransformCSSValueOptions): string | Record<string, string>;
138
- //# sourceMappingURL=shadow.d.ts.map
139
125
  //#endregion
140
126
  //#region src/css/string.d.ts
141
127
  /** Convert string value to CSS */
142
128
  declare function transformString(token: StringTokenNormalized, options: TransformCSSValueOptions): string;
143
- //# sourceMappingURL=string.d.ts.map
144
129
  //#endregion
145
130
  //#region src/css/stroke-style.d.ts
146
131
  /** Convert strokeStyle value to CSS */
147
132
  declare function transformStrokeStyle(token: StrokeStyleTokenNormalized, options: TransformCSSValueOptions): string;
148
- //# sourceMappingURL=stroke-style.d.ts.map
149
133
  //#endregion
150
134
  //#region src/css/transition.d.ts
151
135
  /** Convert transition value to shorthand */
152
136
  declare function transformTransition(token: TransitionTokenNormalized, options: TransformCSSValueOptions): string;
153
- //# sourceMappingURL=transition.d.ts.map
154
137
  //#endregion
155
138
  //#region src/css/typography.d.ts
156
139
  /** Convert typography value to multiple CSS values */
157
140
  declare function transformTypography(token: TypographyTokenNormalized, options: TransformCSSValueOptions): Record<string, string>;
158
- //# sourceMappingURL=typography.d.ts.map
159
-
160
141
  //#endregion
161
142
  //#region src/css/index.d.ts
162
143
  /** Main CSS Transform */
@@ -166,8 +147,6 @@ declare function transformCSSValue<T extends TokenNormalized = TokenNormalized>(
166
147
  }: {
167
148
  mode: keyof T['mode'];
168
149
  } & TransformCSSValueOptions): string | WideGamutColorValue | Record<string, string> | undefined;
169
- //# sourceMappingURL=index.d.ts.map
170
-
171
150
  //#endregion
172
151
  export { DEPTH_ROUNDING, Depth, IDGenerator, MakeCSSVarOptions, WideGamutColorValue, defaultAliasTransform, generateShorthand, makeCSSVar, roundColor, transformBoolean, transformBorder, transformCSSValue, transformColor, transformCubicBezier, transformDimension, transformDuration, transformFontFamily, transformFontWeight, transformGradient, transformLink, transformNumber, transformShadow, transformShadowLayer, transformString, transformStrokeStyle, transformTransition, transformTypography };
173
152
  //# sourceMappingURL=css.d.ts.map
package/dist/css.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"css.d.ts","names":[],"sources":["../src/css/lib.ts","../src/css/css-types.ts","../src/css/color.ts","../src/css/boolean.ts","../src/css/border.ts","../src/css/cubic-bezier.ts","../src/css/dimension.ts","../src/css/duration.ts","../src/css/font-family.ts","../src/css/font-weight.ts","../src/css/gradient.ts","../src/css/link.ts","../src/css/number.ts","../src/css/shadow.ts","../src/css/string.ts","../src/css/stroke-style.ts","../src/css/transition.ts","../src/css/typography.ts","../src/css/index.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"css.d.ts","names":[],"sources":["../src/css/lib.ts","../src/css/css-types.ts","../src/css/color.ts","../src/css/boolean.ts","../src/css/border.ts","../src/css/cubic-bezier.ts","../src/css/dimension.ts","../src/css/duration.ts","../src/css/font-family.ts","../src/css/font-weight.ts","../src/css/gradient.ts","../src/css/link.ts","../src/css/number.ts","../src/css/shadow.ts","../src/css/string.ts","../src/css/stroke-style.ts","../src/css/transition.ts","../src/css/typography.ts","../src/css/index.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/css.js CHANGED
@@ -1,4 +1,4 @@
1
- import { CSS_TO_CULORI, kebabCase, parseColor, tokenToCulori } from "./string-BwN3ybNv.js";
1
+ import { a as CSS_TO_CULORI, c as tokenToCulori, s as parseColor, t as kebabCase } from "./string-DEXitV6J.js";
2
2
  import { displayable, formatCss, formatHex, formatHex8, modeA98, modeHsl, modeHwb, modeLab, modeLab65, modeLch, modeLrgb, modeOkhsv, modeOklab, modeOklch, modeP3, modeProphoto, modeRec2020, modeRgb, modeXyz50, modeXyz65, round, toGamut, useMode } from "culori/fn";
3
3
  import { displayable as displayable$1 } from "culori";
4
4
 
@@ -252,9 +252,8 @@ function transformShadowLayer(value, options) {
252
252
  const offsetY = partialAliasOf?.offsetY ? transformAlias(tokensSet[partialAliasOf.offsetY]) : transformDimension({ $value: value.offsetY }, options);
253
253
  const blur = partialAliasOf?.blur ? transformAlias(tokensSet[partialAliasOf.blur]) : transformDimension({ $value: value.blur }, options);
254
254
  const spread = partialAliasOf?.spread ? transformAlias(tokensSet[partialAliasOf.spread]) : transformDimension({ $value: value.spread }, options);
255
- const inset = value?.inset === true ? "inset" : void 0;
256
255
  return [
257
- inset,
256
+ value?.inset === true ? "inset" : void 0,
258
257
  offsetX,
259
258
  offsetY,
260
259
  blur,
@@ -297,10 +296,7 @@ function transformString(token, options) {
297
296
  function transformTransition(token, options) {
298
297
  const { tokensSet, transformAlias = defaultAliasTransform } = options;
299
298
  if (token.aliasChain?.[0]) return transformAlias(tokensSet[token.aliasChain[0]]);
300
- const duration = token.partialAliasOf?.duration ? transformAlias(tokensSet[token.partialAliasOf.duration]) : transformDuration({ $value: token.$value.duration }, options);
301
- const delay = token.partialAliasOf?.delay ? transformAlias(tokensSet[token.partialAliasOf.delay]) : transformDuration({ $value: token.$value.delay }, options);
302
- const timingFunction = token.partialAliasOf?.timingFunction ? transformAlias(tokensSet[token.partialAliasOf.timingFunction]) : transformCubicBezier({ $value: token.$value.timingFunction }, options);
303
- return `${duration} ${delay} ${timingFunction}`;
299
+ return `${token.partialAliasOf?.duration ? transformAlias(tokensSet[token.partialAliasOf.duration]) : transformDuration({ $value: token.$value.duration }, options)} ${token.partialAliasOf?.delay ? transformAlias(tokensSet[token.partialAliasOf.delay]) : transformDuration({ $value: token.$value.delay }, options)} ${token.partialAliasOf?.timingFunction ? transformAlias(tokensSet[token.partialAliasOf.timingFunction]) : transformCubicBezier({ $value: token.$value.timingFunction }, options)}`;
304
300
  }
305
301
 
306
302
  //#endregion
@@ -316,28 +312,23 @@ function transformTypography(token, options) {
316
312
  const resolvedToken = tokensSet[aliasedID];
317
313
  transformedValue = transformAlias(resolvedToken.$type === "typography" ? { id: `${aliasedID}-${property}` } : resolvedToken);
318
314
  } else switch (property) {
319
- case "fontFamily": {
315
+ case "fontFamily":
320
316
  transformedValue = transformFontFamily({ $value: subvalue }, options);
321
317
  break;
322
- }
323
318
  case "fontSize":
324
- case "letterSpacing": {
319
+ case "letterSpacing":
325
320
  transformedValue = transformDimension({ $value: subvalue }, options);
326
321
  break;
327
- }
328
- case "fontWeight": {
322
+ case "fontWeight":
329
323
  transformedValue = transformFontWeight({ $value: subvalue }, options);
330
324
  break;
331
- }
332
- case "lineHeight": {
325
+ case "lineHeight":
333
326
  if (typeof subvalue === "number") transformedValue = transformNumber({ $value: subvalue }, options);
334
327
  else transformedValue = transformDimension({ $value: subvalue }, options);
335
328
  break;
336
- }
337
- default: {
329
+ default:
338
330
  transformedValue = transformString({ $value: subvalue }, options);
339
331
  break;
340
- }
341
332
  }
342
333
  output[kebabCase(property)] = transformedValue;
343
334
  }
@@ -347,7 +338,7 @@ function transformTypography(token, options) {
347
338
  //#endregion
348
339
  //#region src/css/index.ts
349
340
  /** Main CSS Transform */
350
- function transformCSSValue(token, { mode,...options }) {
341
+ function transformCSSValue(token, { mode, ...options }) {
351
342
  const selectedMode = token.mode[mode];
352
343
  if (!selectedMode) return;
353
344
  const tokenWithModeValue = {
package/dist/css.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"css.js","names":["token: TokenNormalized","name: string","token: BooleanTokenNormalized","token: ColorTokenNormalized","options: TransformCSSValueOptions","formatColor: (color: Color) => string","converters: Record<keyof typeof CULORI_TO_CSS, (color: Color) => Color>","$value: ColorTokenNormalized['$value']","culoriColor: Color","depth: Depth","color: T","token: DimensionTokenNormalized","options: TransformCSSValueOptions","token: StrokeStyleTokenNormalized","options: TransformCSSValueOptions","token: BorderTokenNormalized","options: TransformCSSValueOptions","colorKey: string","token: CubicBezierTokenNormalized","options: TransformCSSValueOptions","token: DurationTokenNormalized","options: TransformCSSValueOptions","token: FontFamilyTokenNormalized","options: TransformCSSValueOptions","token: FontWeightTokenNormalized","options: TransformCSSValueOptions","token: GradientTokenNormalized","options: TransformCSSValueOptions","colors: (string | WideGamutColorValue)[]","positions: string[]","i: number","token: LinkTokenNormalized","options: TransformCSSValueOptions","token: NumberTokenNormalized","options: TransformCSSValueOptions","value: ShadowValueNormalized","options: TransformCSSValueOptions & {\n colorValue: string;\n partialAliasOf?: Partial<Record<keyof typeof value, string>>;\n }","token: ShadowTokenNormalized","options: TransformCSSValueOptions","colorKey: string","token: StringTokenNormalized","options: TransformCSSValueOptions","token: TransitionTokenNormalized","options: TransformCSSValueOptions","token: TypographyTokenNormalized","options: TransformCSSValueOptions","output: Record<string, string>","transformedValue: string","token: T","tokenWithModeValue: T"],"sources":["../src/css/lib.ts","../src/css/boolean.ts","../src/css/color.ts","../src/css/dimension.ts","../src/css/stroke-style.ts","../src/css/border.ts","../src/css/cubic-bezier.ts","../src/css/duration.ts","../src/css/font-family.ts","../src/css/font-weight.ts","../src/css/gradient.ts","../src/css/link.ts","../src/css/number.ts","../src/css/shadow.ts","../src/css/string.ts","../src/css/transition.ts","../src/css/typography.ts","../src/css/index.ts"],"sourcesContent":["import type { TokenNormalized } from '../types.js';\n\n/** Function that generates a var(…) statement */\nexport type IDGenerator<T = TokenNormalized> = (token: T) => string;\n\nexport function defaultAliasTransform(token: TokenNormalized) {\n if (!token) {\n throw new Error('Undefined token');\n }\n return `var(${makeCSSVar(token.id)})`;\n}\n\n/** Generate shorthand CSS for select token types */\nexport function generateShorthand({ $type, localID }: { $type: string; localID: string }): string | undefined {\n switch ($type) {\n case 'transition': {\n return ['duration', 'delay', 'timing-function']\n .map((p) => makeCSSVar(`${localID}-${p}`, { wrapVar: true }))\n .join(' ');\n }\n // note: \"typography\" is not set in shorthand because it can often unset values unintentionally.\n // @see https://developer.mozilla.org/en-US/docs/Web/CSS/font\n }\n}\n\nconst CSS_VAR_RE =\n /(?:(\\p{Uppercase_Letter}?[\\p{Lowercase_Letter}\\p{Number}]+|[\\p{Uppercase_Letter}\\p{Number}]+|[\\u{80}-\\u{10FFFF}\\p{Number}]+)|.)/u;\n\nexport interface MakeCSSVarOptions {\n /** Prefix with string */\n prefix?: string;\n /**\n * Wrap with `var(…)`\n * @default false\n */\n wrapVar?: boolean;\n}\n\n/**\n * Generate a valid CSS variable from any string\n * Code by @dfrankland\n */\nexport function makeCSSVar(name: string, { prefix, wrapVar = false }: MakeCSSVarOptions = {}): string {\n if (typeof name !== 'string') {\n throw new Error(`makeCSSVar() Expected string, received ${name}`);\n }\n\n let property = name.split(CSS_VAR_RE).filter(Boolean).join('-');\n if (prefix && !property.startsWith(`${prefix}-`)) {\n property = `${prefix}-${property}`;\n }\n const finalProperty = `--${property}`.toLocaleLowerCase();\n return wrapVar ? `var(${finalProperty})` : finalProperty;\n}\n","import type { BooleanTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert boolean value to CSS string */\nexport function transformBoolean(\n token: BooleanTokenNormalized,\n { tokensSet, transformAlias = defaultAliasTransform }: TransformCSSValueOptions,\n): string {\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return token.$value === true ? '1' : '0';\n}\n","import {\n type Color,\n displayable,\n formatCss,\n formatHex,\n formatHex8,\n modeA98,\n modeHsl,\n modeHwb,\n modeLab,\n modeLab65,\n modeLch,\n modeLrgb,\n modeOkhsv,\n modeOklab,\n modeOklch,\n modeP3,\n modeProphoto,\n modeRec2020,\n modeRgb,\n modeXyz50,\n modeXyz65,\n round,\n toGamut,\n useMode,\n} from 'culori/fn';\nimport { CSS_TO_CULORI, type CULORI_TO_CSS, parseColor, tokenToCulori } from '../color.js';\nimport type { ColorTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\nexport type WideGamutColorValue = {\n '.': string;\n srgb: string;\n p3: string;\n rec2020: string;\n};\n\n/** Convert color value to CSS string */\nexport function transformColor(\n token: ColorTokenNormalized,\n options: TransformCSSValueOptions,\n): string | WideGamutColorValue {\n const { transformAlias = defaultAliasTransform, tokensSet } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n const {\n colorSpace,\n components,\n alpha = 1,\n } = typeof token.$value === 'string' ? parseColor(token.$value) : token.$value;\n const color = tokenToCulori({ colorSpace, components, alpha });\n\n if (!color) {\n throw new Error(`Can’t convert color ${JSON.stringify(token.$value)} to Culori color`);\n }\n\n let formatColor: (color: Color) => string = formatCss;\n if (options.color?.legacyHex) {\n formatColor = color.alpha !== 1 ? formatHex8 : formatHex;\n }\n\n return displayable(color)\n ? formatColor(color)\n : downsample({ colorSpace, components, alpha }, color, options.color?.depth);\n}\n\nconst converters: Record<keyof typeof CULORI_TO_CSS, (color: Color) => Color> = {\n a98: useMode(modeA98),\n hsl: useMode(modeHsl),\n hwb: useMode(modeHwb),\n lab: useMode(modeLab),\n lab65: useMode(modeLab65),\n lch: useMode(modeLch),\n lrgb: useMode(modeLrgb),\n oklab: useMode(modeOklab),\n oklch: useMode(modeOklch),\n okhsv: useMode(modeOkhsv),\n p3: useMode(modeP3),\n prophoto: useMode(modeProphoto),\n rec2020: useMode(modeRec2020),\n rgb: useMode(modeRgb),\n xyz50: useMode(modeXyz50),\n xyz65: useMode(modeXyz65),\n};\n\nexport const DEPTH_ROUNDING = {\n 24: round(4), // 24-bit almost fits into 3 decimal places, but not quite\n 30: round(4),\n 36: round(5),\n 48: round(6),\n};\n\nexport type Depth = keyof typeof DEPTH_ROUNDING | 'unlimited';\n\n/**\n * Downsample color to sRGB/Display P3/Rec2020 colorspaces.\n * Note: because Culori tends to convert to RGB color spaces to ensure the operation,\n * we have to do an additional step of converting back. So we’re not really converting;\n * we’re just preserving the original colorspace.\n */\nfunction downsample($value: ColorTokenNormalized['$value'], culoriColor: Color, depth: Depth = 30) {\n if (!($value.colorSpace in CSS_TO_CULORI)) {\n throw new Error(\n `Invalid colorSpace \"${$value.colorSpace}\". Expected one of: ${Object.keys(CSS_TO_CULORI).join(', ')}`,\n );\n }\n const conversionSpace = CSS_TO_CULORI[$value.colorSpace] || 'oklab';\n let gamutSpace = conversionSpace;\n // bugfix. \"lab\" and \"oklab\" have a bug in Culori\n // https://github.com/Evercoder/culori/issues/261\n if (gamutSpace === 'lab' || gamutSpace === 'lab65') {\n gamutSpace = 'lch';\n } else if (gamutSpace === 'oklab') {\n gamutSpace = 'oklch';\n }\n let srgb = converters[conversionSpace](toGamut('rgb', gamutSpace)(culoriColor));\n let p3 = converters[conversionSpace](toGamut('p3', gamutSpace)(culoriColor));\n let rec2020 = converters[conversionSpace](toGamut('rec2020', gamutSpace)(culoriColor));\n if (typeof depth === 'number') {\n if (!DEPTH_ROUNDING[depth]) {\n throw new Error(`Invalid bit depth: ${depth}. Supported values: ${Object.keys(DEPTH_ROUNDING).join(', ')}`);\n }\n srgb = roundColor(srgb, depth);\n p3 = roundColor(p3, depth);\n rec2020 = roundColor(rec2020, depth);\n }\n return {\n '.': formatCss(culoriColor),\n srgb: formatCss(srgb),\n p3: formatCss(p3),\n rec2020: formatCss(rec2020),\n };\n}\n\n/** Round color to certain depth. */\nexport function roundColor<T extends Color = Color>(color: T, depth: Depth = 30): T {\n if (depth === 'unlimited') {\n return color;\n }\n const newColor = { ...color };\n for (const [k, v] of Object.entries(color)) {\n if (typeof v !== 'number' || k === 'mode') {\n continue;\n }\n newColor[k as keyof T] = DEPTH_ROUNDING[depth](v) as T[keyof T];\n }\n return newColor;\n}\n","import type { DimensionTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert dimension value to CSS */\nexport function transformDimension(token: DimensionTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n return token.$value.value === 0 ? '0' : `${token.$value.value}${token.$value.unit}`;\n}\n","import type { StrokeStyleTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert strokeStyle value to CSS */\nexport function transformStrokeStyle(token: StrokeStyleTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return typeof token.$value === 'string' ? token.$value : 'dashed'; // CSS doesn’t have `dash-array`; it’s just \"dashed\"\n}\n","import { displayable } from 'culori';\nimport type {\n BorderTokenNormalized,\n ColorTokenNormalized,\n DimensionTokenNormalized,\n StrokeStyleTokenNormalized,\n} from '../types.js';\nimport { transformColor } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformDimension } from './dimension.js';\nimport { defaultAliasTransform } from './lib.js';\nimport { transformStrokeStyle } from './stroke-style.js';\n\n/** Convert border value to multiple CSS values */\nexport function transformBorder(token: BorderTokenNormalized, options: TransformCSSValueOptions) {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n const width = token.partialAliasOf?.width\n ? transformAlias(tokensSet[token.partialAliasOf.width]!)\n : transformDimension({ $value: token.$value.width } as DimensionTokenNormalized, options);\n const color = token.partialAliasOf?.color\n ? transformAlias(tokensSet[token.partialAliasOf.color]!)\n : transformColor({ $value: token.$value.color } as ColorTokenNormalized, options);\n const style = token.partialAliasOf?.style\n ? transformAlias(tokensSet[token.partialAliasOf.style]!)\n : transformStrokeStyle({ $value: token.$value.style } as StrokeStyleTokenNormalized, options);\n\n const formatBorder = (colorKey: string) =>\n [width, style, typeof color === 'string' ? color : color[colorKey as keyof typeof color]].join(' ');\n\n return typeof color === 'string' || displayable(color.p3)\n ? formatBorder('.')\n : {\n '.': formatBorder('.'),\n srgb: formatBorder('srgb'),\n p3: formatBorder('p3'),\n rec2020: formatBorder('rec2020'),\n };\n}\n","import type { CubicBezierTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert cubicBezier value to CSS */\nexport function transformCubicBezier(token: CubicBezierTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return `cubic-bezier(${token.$value\n .map((v, i) => (token.partialAliasOf?.[i] ? transformAlias(tokensSet[token.partialAliasOf[i]]!) : v))\n .join(', ')})`;\n}\n","import type { DurationTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert duration value to CSS */\nexport function transformDuration(token: DurationTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n return `${token.$value.value}${token.$value.unit}`;\n}\n","import type { FontFamilyTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\nconst FONT_NAME_KEYWORD = /^[a-z-]+$/;\n\nexport function transformFontFamily(token: FontFamilyTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return token.$value.map((fontName) => (FONT_NAME_KEYWORD.test(fontName) ? fontName : `\"${fontName}\"`)).join(', ');\n}\n","import type { FontWeightTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert fontWeight value to CSS */\nexport function transformFontWeight(token: FontWeightTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return String(token.$value);\n}\n","import type { ColorTokenNormalized, GradientTokenNormalized } from '../types.js';\nimport { transformColor, type WideGamutColorValue } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert gradient value to CSS */\nexport function transformGradient(\n token: GradientTokenNormalized,\n options: TransformCSSValueOptions,\n): string | WideGamutColorValue {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n let isHDR = false;\n\n const colors: (string | WideGamutColorValue)[] = [];\n const positions: string[] = [];\n\n for (let i = 0; i < token.$value.length; i++) {\n const { color, position } = token.$value[i]!;\n const colorValue = token.partialAliasOf?.[i]?.color\n ? transformAlias(tokensSet[token.partialAliasOf[i]!.color!]!)\n : transformColor({ $value: color } as ColorTokenNormalized, options);\n if (typeof colorValue !== 'string') {\n isHDR = true;\n }\n colors.push(colorValue);\n positions.push(\n token.partialAliasOf?.[i]?.position\n ? transformAlias(tokensSet[token.partialAliasOf[i]!.position!]!)\n : `${100 * position}%`,\n );\n }\n\n function formatStop(i: number, colorKey = '.') {\n return `${typeof colors[i] === 'string' ? colors[i] : colors[i]![colorKey as keyof (typeof colors)[number]]} ${positions[i]}`;\n }\n\n return !isHDR\n ? token.$value.map((_, i) => formatStop(i, positions[i]!)).join(', ')\n : {\n '.': token.$value.map((_, i) => formatStop(i, '.')).join(', '),\n srgb: token.$value.map((_, i) => formatStop(i, 'srgb')).join(', '),\n p3: token.$value.map((_, i) => formatStop(i, 'p3')).join(', '),\n rec2020: token.$value.map((_, i) => formatStop(i, 'rec2020')).join(', '),\n };\n}\n","import type { LinkTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert link value to CSS */\nexport function transformLink(token: LinkTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return `url(\"${token.$value}\")`;\n}\n","import type { NumberTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert number value to CSS */\nexport function transformNumber(token: NumberTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return String(token.$value);\n}\n","import type {\n ColorTokenNormalized,\n DimensionTokenNormalized,\n ShadowTokenNormalized,\n ShadowValueNormalized,\n} from '../types.js';\nimport { transformColor } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformDimension } from './dimension.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert shadow subvalue to CSS */\nexport function transformShadowLayer(\n value: ShadowValueNormalized,\n options: TransformCSSValueOptions & {\n colorValue: string;\n partialAliasOf?: Partial<Record<keyof typeof value, string>>;\n },\n): string | Record<string, string> {\n const { tokensSet, colorValue, partialAliasOf, transformAlias = defaultAliasTransform } = options;\n const offsetX = partialAliasOf?.offsetX\n ? transformAlias(tokensSet[partialAliasOf.offsetX]!)\n : transformDimension({ $value: value.offsetX } as DimensionTokenNormalized, options);\n const offsetY = partialAliasOf?.offsetY\n ? transformAlias(tokensSet[partialAliasOf.offsetY]!)\n : transformDimension({ $value: value.offsetY } as DimensionTokenNormalized, options);\n const blur = partialAliasOf?.blur\n ? transformAlias(tokensSet[partialAliasOf.blur]!)\n : transformDimension({ $value: value.blur } as DimensionTokenNormalized, options);\n const spread = partialAliasOf?.spread\n ? transformAlias(tokensSet[partialAliasOf.spread]!)\n : transformDimension({ $value: value.spread } as DimensionTokenNormalized, options);\n const inset = value?.inset === true ? 'inset' : undefined;\n\n return [inset, offsetX, offsetY, blur, spread, colorValue].filter(Boolean).join(' ');\n}\n\n/** Convert shadow value to CSS */\nexport function transformShadow(\n token: ShadowTokenNormalized,\n options: TransformCSSValueOptions,\n): string | Record<string, string> {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n const colors = token.$value.map((v, i) =>\n token.partialAliasOf?.[i]?.color\n ? transformAlias(tokensSet[token.partialAliasOf[i]!.color!]!)\n : transformColor({ $value: v.color } as ColorTokenNormalized, options),\n );\n const isHDR = colors.some((c) => typeof c === 'object');\n\n const formatShadow = (colorKey: string) =>\n token.$value\n .map((v, i) =>\n transformShadowLayer(v, {\n tokensSet,\n colorValue:\n typeof colors[i] === 'string'\n ? (colors[i] as string)\n : colors[i]![colorKey as keyof (typeof colors)[number]]!,\n partialAliasOf: token.partialAliasOf?.[i],\n transformAlias,\n }),\n )\n .join(', ');\n\n return !isHDR\n ? formatShadow('.')\n : {\n '.': formatShadow('.'),\n srgb: formatShadow('srgb'),\n p3: formatShadow('p3'),\n rec2020: formatShadow('rec2020'),\n };\n}\n","import type { StringTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert string value to CSS */\nexport function transformString(token: StringTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n // this seems like a useless function—because it is—but this is a placeholder\n // that can handle unexpected values in the future should any arise\n return String(token.$value);\n}\n","import type { CubicBezierTokenNormalized, DurationTokenNormalized, TransitionTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformCubicBezier } from './cubic-bezier.js';\nimport { transformDuration } from './duration.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert transition value to shorthand */\nexport function transformTransition(token: TransitionTokenNormalized, options: TransformCSSValueOptions) {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n const duration = token.partialAliasOf?.duration\n ? transformAlias(tokensSet[token.partialAliasOf.duration]!)\n : transformDuration({ $value: token.$value.duration } as DurationTokenNormalized, options);\n const delay = token.partialAliasOf?.delay\n ? transformAlias(tokensSet[token.partialAliasOf.delay]!)\n : transformDuration({ $value: token.$value.delay } as DurationTokenNormalized, options);\n const timingFunction = token.partialAliasOf?.timingFunction\n ? transformAlias(tokensSet[token.partialAliasOf.timingFunction]!)\n : transformCubicBezier({ $value: token.$value.timingFunction } as CubicBezierTokenNormalized, options);\n\n return `${duration} ${delay} ${timingFunction}`;\n}\n","import { kebabCase } from '../string.js';\nimport type {\n DimensionTokenNormalized,\n FontFamilyTokenNormalized,\n FontWeightTokenNormalized,\n NumberTokenNormalized,\n StringTokenNormalized,\n TokenNormalized,\n TypographyTokenNormalized,\n} from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformDimension } from './dimension.js';\nimport { transformFontFamily } from './font-family.js';\nimport { transformFontWeight } from './font-weight.js';\nimport { defaultAliasTransform } from './lib.js';\nimport { transformNumber } from './number.js';\nimport { transformString } from './string.js';\n\n/** Convert typography value to multiple CSS values */\nexport function transformTypography(token: TypographyTokenNormalized, options: TransformCSSValueOptions) {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n const output: Record<string, string> = {};\n for (const [property, subvalue] of Object.entries(token.$value)) {\n let transformedValue: string;\n const aliasedID = token.aliasChain?.[0] ?? token.partialAliasOf?.[property];\n if (aliasedID) {\n const resolvedToken = tokensSet[aliasedID] as TypographyTokenNormalized;\n transformedValue = transformAlias(\n // if resolving against a typography token, inject the property as well\n resolvedToken.$type === 'typography' ? ({ id: `${aliasedID}-${property}` } as TokenNormalized) : resolvedToken,\n );\n } else {\n switch (property) {\n case 'fontFamily': {\n transformedValue = transformFontFamily({ $value: subvalue } as FontFamilyTokenNormalized, options);\n break;\n }\n case 'fontSize':\n case 'letterSpacing': {\n transformedValue = transformDimension({ $value: subvalue } as DimensionTokenNormalized, options);\n break;\n }\n case 'fontWeight': {\n transformedValue = transformFontWeight({ $value: subvalue } as FontWeightTokenNormalized, options);\n break;\n }\n case 'lineHeight': {\n if (typeof subvalue === 'number') {\n transformedValue = transformNumber({ $value: subvalue } as NumberTokenNormalized, options);\n } else {\n transformedValue = transformDimension({ $value: subvalue } as DimensionTokenNormalized, options);\n }\n break;\n }\n default: {\n transformedValue = transformString({ $value: subvalue } as StringTokenNormalized, options);\n break;\n }\n }\n }\n output[kebabCase(property)] = transformedValue;\n }\n return output;\n}\n","import type { TokenNormalized } from '../types.js';\nimport { transformBoolean } from './boolean.js';\nimport { transformBorder } from './border.js';\nimport { transformColor } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformCubicBezier } from './cubic-bezier.js';\nimport { transformDimension } from './dimension.js';\nimport { transformDuration } from './duration.js';\nimport { transformFontFamily } from './font-family.js';\nimport { transformFontWeight } from './font-weight.js';\nimport { transformGradient } from './gradient.js';\nimport { transformLink } from './link.js';\nimport { transformNumber } from './number.js';\nimport { transformShadow } from './shadow.js';\nimport { transformString } from './string.js';\nimport { transformStrokeStyle } from './stroke-style.js';\nimport { transformTransition } from './transition.js';\nimport { transformTypography } from './typography.js';\n\nexport * from './boolean.js';\nexport * from './border.js';\nexport * from './color.js';\nexport * from './cubic-bezier.js';\nexport * from './dimension.js';\nexport * from './duration.js';\nexport * from './font-family.js';\nexport * from './font-weight.js';\nexport * from './gradient.js';\nexport * from './lib.js';\nexport * from './link.js';\nexport * from './number.js';\nexport * from './shadow.js';\nexport * from './string.js';\nexport * from './stroke-style.js';\nexport * from './transition.js';\nexport * from './typography.js';\n\n/** Main CSS Transform */\nexport function transformCSSValue<T extends TokenNormalized = TokenNormalized>(\n token: T,\n { mode, ...options }: { mode: keyof T['mode'] } & TransformCSSValueOptions,\n) {\n const selectedMode = token.mode[mode as keyof typeof token.mode];\n if (!selectedMode) {\n return;\n }\n const tokenWithModeValue: T = {\n id: token.id,\n $type: token.$type,\n // note: do NOT carry over aliasOf/partialAliasOf as that will result in incorrect values\n ...selectedMode,\n } as any;\n switch (tokenWithModeValue.$type) {\n case 'boolean': {\n return transformBoolean(tokenWithModeValue, options);\n }\n case 'border': {\n return transformBorder(tokenWithModeValue, options);\n }\n case 'color': {\n return transformColor(tokenWithModeValue, options);\n }\n case 'cubicBezier': {\n return transformCubicBezier(tokenWithModeValue, options);\n }\n case 'dimension': {\n return transformDimension(tokenWithModeValue, options);\n }\n case 'duration': {\n return transformDuration(tokenWithModeValue, options);\n }\n case 'fontFamily': {\n return transformFontFamily(tokenWithModeValue, options);\n }\n case 'fontWeight': {\n return transformFontWeight(tokenWithModeValue, options);\n }\n case 'gradient': {\n return transformGradient(tokenWithModeValue, options);\n }\n case 'link': {\n return transformLink(tokenWithModeValue, options);\n }\n case 'number': {\n return transformNumber(tokenWithModeValue, options);\n }\n case 'shadow': {\n return transformShadow(tokenWithModeValue, options);\n }\n case 'string': {\n return transformString(tokenWithModeValue, options);\n }\n case 'strokeStyle': {\n return transformStrokeStyle(tokenWithModeValue, options);\n }\n case 'transition': {\n return transformTransition(tokenWithModeValue, options);\n }\n case 'typography': {\n return transformTypography(tokenWithModeValue, options);\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"css.js","names":["formatColor: (color: Color) => string","converters: Record<keyof typeof CULORI_TO_CSS, (color: Color) => Color>","displayable","colors: (string | WideGamutColorValue)[]","positions: string[]","output: Record<string, string>","transformedValue: string","tokenWithModeValue: T"],"sources":["../src/css/lib.ts","../src/css/boolean.ts","../src/css/color.ts","../src/css/dimension.ts","../src/css/stroke-style.ts","../src/css/border.ts","../src/css/cubic-bezier.ts","../src/css/duration.ts","../src/css/font-family.ts","../src/css/font-weight.ts","../src/css/gradient.ts","../src/css/link.ts","../src/css/number.ts","../src/css/shadow.ts","../src/css/string.ts","../src/css/transition.ts","../src/css/typography.ts","../src/css/index.ts"],"sourcesContent":["import type { TokenNormalized } from '../types.js';\n\n/** Function that generates a var(…) statement */\nexport type IDGenerator<T = TokenNormalized> = (token: T) => string;\n\nexport function defaultAliasTransform(token: TokenNormalized) {\n if (!token) {\n throw new Error('Undefined token');\n }\n return `var(${makeCSSVar(token.id)})`;\n}\n\n/** Generate shorthand CSS for select token types */\nexport function generateShorthand({ $type, localID }: { $type: string; localID: string }): string | undefined {\n switch ($type) {\n case 'transition': {\n return ['duration', 'delay', 'timing-function']\n .map((p) => makeCSSVar(`${localID}-${p}`, { wrapVar: true }))\n .join(' ');\n }\n // note: \"typography\" is not set in shorthand because it can often unset values unintentionally.\n // @see https://developer.mozilla.org/en-US/docs/Web/CSS/font\n }\n}\n\nconst CSS_VAR_RE =\n /(?:(\\p{Uppercase_Letter}?[\\p{Lowercase_Letter}\\p{Number}]+|[\\p{Uppercase_Letter}\\p{Number}]+|[\\u{80}-\\u{10FFFF}\\p{Number}]+)|.)/u;\n\nexport interface MakeCSSVarOptions {\n /** Prefix with string */\n prefix?: string;\n /**\n * Wrap with `var(…)`\n * @default false\n */\n wrapVar?: boolean;\n}\n\n/**\n * Generate a valid CSS variable from any string\n * Code by @dfrankland\n */\nexport function makeCSSVar(name: string, { prefix, wrapVar = false }: MakeCSSVarOptions = {}): string {\n if (typeof name !== 'string') {\n throw new Error(`makeCSSVar() Expected string, received ${name}`);\n }\n\n let property = name.split(CSS_VAR_RE).filter(Boolean).join('-');\n if (prefix && !property.startsWith(`${prefix}-`)) {\n property = `${prefix}-${property}`;\n }\n const finalProperty = `--${property}`.toLocaleLowerCase();\n return wrapVar ? `var(${finalProperty})` : finalProperty;\n}\n","import type { BooleanTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert boolean value to CSS string */\nexport function transformBoolean(\n token: BooleanTokenNormalized,\n { tokensSet, transformAlias = defaultAliasTransform }: TransformCSSValueOptions,\n): string {\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return token.$value === true ? '1' : '0';\n}\n","import {\n type Color,\n displayable,\n formatCss,\n formatHex,\n formatHex8,\n modeA98,\n modeHsl,\n modeHwb,\n modeLab,\n modeLab65,\n modeLch,\n modeLrgb,\n modeOkhsv,\n modeOklab,\n modeOklch,\n modeP3,\n modeProphoto,\n modeRec2020,\n modeRgb,\n modeXyz50,\n modeXyz65,\n round,\n toGamut,\n useMode,\n} from 'culori/fn';\nimport { CSS_TO_CULORI, type CULORI_TO_CSS, parseColor, tokenToCulori } from '../color.js';\nimport type { ColorTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\nexport type WideGamutColorValue = {\n '.': string;\n srgb: string;\n p3: string;\n rec2020: string;\n};\n\n/** Convert color value to CSS string */\nexport function transformColor(\n token: ColorTokenNormalized,\n options: TransformCSSValueOptions,\n): string | WideGamutColorValue {\n const { transformAlias = defaultAliasTransform, tokensSet } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n const {\n colorSpace,\n components,\n alpha = 1,\n } = typeof token.$value === 'string' ? parseColor(token.$value) : token.$value;\n const color = tokenToCulori({ colorSpace, components, alpha });\n\n if (!color) {\n throw new Error(`Can’t convert color ${JSON.stringify(token.$value)} to Culori color`);\n }\n\n let formatColor: (color: Color) => string = formatCss;\n if (options.color?.legacyHex) {\n formatColor = color.alpha !== 1 ? formatHex8 : formatHex;\n }\n\n return displayable(color)\n ? formatColor(color)\n : downsample({ colorSpace, components, alpha }, color, options.color?.depth);\n}\n\nconst converters: Record<keyof typeof CULORI_TO_CSS, (color: Color) => Color> = {\n a98: useMode(modeA98),\n hsl: useMode(modeHsl),\n hwb: useMode(modeHwb),\n lab: useMode(modeLab),\n lab65: useMode(modeLab65),\n lch: useMode(modeLch),\n lrgb: useMode(modeLrgb),\n oklab: useMode(modeOklab),\n oklch: useMode(modeOklch),\n okhsv: useMode(modeOkhsv),\n p3: useMode(modeP3),\n prophoto: useMode(modeProphoto),\n rec2020: useMode(modeRec2020),\n rgb: useMode(modeRgb),\n xyz50: useMode(modeXyz50),\n xyz65: useMode(modeXyz65),\n};\n\nexport const DEPTH_ROUNDING = {\n 24: round(4), // 24-bit almost fits into 3 decimal places, but not quite\n 30: round(4),\n 36: round(5),\n 48: round(6),\n};\n\nexport type Depth = keyof typeof DEPTH_ROUNDING | 'unlimited';\n\n/**\n * Downsample color to sRGB/Display P3/Rec2020 colorspaces.\n * Note: because Culori tends to convert to RGB color spaces to ensure the operation,\n * we have to do an additional step of converting back. So we’re not really converting;\n * we’re just preserving the original colorspace.\n */\nfunction downsample($value: ColorTokenNormalized['$value'], culoriColor: Color, depth: Depth = 30) {\n if (!($value.colorSpace in CSS_TO_CULORI)) {\n throw new Error(\n `Invalid colorSpace \"${$value.colorSpace}\". Expected one of: ${Object.keys(CSS_TO_CULORI).join(', ')}`,\n );\n }\n const conversionSpace = CSS_TO_CULORI[$value.colorSpace] || 'oklab';\n let gamutSpace = conversionSpace;\n // bugfix. \"lab\" and \"oklab\" have a bug in Culori\n // https://github.com/Evercoder/culori/issues/261\n if (gamutSpace === 'lab' || gamutSpace === 'lab65') {\n gamutSpace = 'lch';\n } else if (gamutSpace === 'oklab') {\n gamutSpace = 'oklch';\n }\n let srgb = converters[conversionSpace](toGamut('rgb', gamutSpace)(culoriColor));\n let p3 = converters[conversionSpace](toGamut('p3', gamutSpace)(culoriColor));\n let rec2020 = converters[conversionSpace](toGamut('rec2020', gamutSpace)(culoriColor));\n if (typeof depth === 'number') {\n if (!DEPTH_ROUNDING[depth]) {\n throw new Error(`Invalid bit depth: ${depth}. Supported values: ${Object.keys(DEPTH_ROUNDING).join(', ')}`);\n }\n srgb = roundColor(srgb, depth);\n p3 = roundColor(p3, depth);\n rec2020 = roundColor(rec2020, depth);\n }\n return {\n '.': formatCss(culoriColor),\n srgb: formatCss(srgb),\n p3: formatCss(p3),\n rec2020: formatCss(rec2020),\n };\n}\n\n/** Round color to certain depth. */\nexport function roundColor<T extends Color = Color>(color: T, depth: Depth = 30): T {\n if (depth === 'unlimited') {\n return color;\n }\n const newColor = { ...color };\n for (const [k, v] of Object.entries(color)) {\n if (typeof v !== 'number' || k === 'mode') {\n continue;\n }\n newColor[k as keyof T] = DEPTH_ROUNDING[depth](v) as T[keyof T];\n }\n return newColor;\n}\n","import type { DimensionTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert dimension value to CSS */\nexport function transformDimension(token: DimensionTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n return token.$value.value === 0 ? '0' : `${token.$value.value}${token.$value.unit}`;\n}\n","import type { StrokeStyleTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert strokeStyle value to CSS */\nexport function transformStrokeStyle(token: StrokeStyleTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return typeof token.$value === 'string' ? token.$value : 'dashed'; // CSS doesn’t have `dash-array`; it’s just \"dashed\"\n}\n","import { displayable } from 'culori';\nimport type {\n BorderTokenNormalized,\n ColorTokenNormalized,\n DimensionTokenNormalized,\n StrokeStyleTokenNormalized,\n} from '../types.js';\nimport { transformColor } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformDimension } from './dimension.js';\nimport { defaultAliasTransform } from './lib.js';\nimport { transformStrokeStyle } from './stroke-style.js';\n\n/** Convert border value to multiple CSS values */\nexport function transformBorder(token: BorderTokenNormalized, options: TransformCSSValueOptions) {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n const width = token.partialAliasOf?.width\n ? transformAlias(tokensSet[token.partialAliasOf.width]!)\n : transformDimension({ $value: token.$value.width } as DimensionTokenNormalized, options);\n const color = token.partialAliasOf?.color\n ? transformAlias(tokensSet[token.partialAliasOf.color]!)\n : transformColor({ $value: token.$value.color } as ColorTokenNormalized, options);\n const style = token.partialAliasOf?.style\n ? transformAlias(tokensSet[token.partialAliasOf.style]!)\n : transformStrokeStyle({ $value: token.$value.style } as StrokeStyleTokenNormalized, options);\n\n const formatBorder = (colorKey: string) =>\n [width, style, typeof color === 'string' ? color : color[colorKey as keyof typeof color]].join(' ');\n\n return typeof color === 'string' || displayable(color.p3)\n ? formatBorder('.')\n : {\n '.': formatBorder('.'),\n srgb: formatBorder('srgb'),\n p3: formatBorder('p3'),\n rec2020: formatBorder('rec2020'),\n };\n}\n","import type { CubicBezierTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert cubicBezier value to CSS */\nexport function transformCubicBezier(token: CubicBezierTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return `cubic-bezier(${token.$value\n .map((v, i) => (token.partialAliasOf?.[i] ? transformAlias(tokensSet[token.partialAliasOf[i]]!) : v))\n .join(', ')})`;\n}\n","import type { DurationTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert duration value to CSS */\nexport function transformDuration(token: DurationTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n return `${token.$value.value}${token.$value.unit}`;\n}\n","import type { FontFamilyTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\nconst FONT_NAME_KEYWORD = /^[a-z-]+$/;\n\nexport function transformFontFamily(token: FontFamilyTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return token.$value.map((fontName) => (FONT_NAME_KEYWORD.test(fontName) ? fontName : `\"${fontName}\"`)).join(', ');\n}\n","import type { FontWeightTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert fontWeight value to CSS */\nexport function transformFontWeight(token: FontWeightTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return String(token.$value);\n}\n","import type { ColorTokenNormalized, GradientTokenNormalized } from '../types.js';\nimport { transformColor, type WideGamutColorValue } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert gradient value to CSS */\nexport function transformGradient(\n token: GradientTokenNormalized,\n options: TransformCSSValueOptions,\n): string | WideGamutColorValue {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n let isHDR = false;\n\n const colors: (string | WideGamutColorValue)[] = [];\n const positions: string[] = [];\n\n for (let i = 0; i < token.$value.length; i++) {\n const { color, position } = token.$value[i]!;\n const colorValue = token.partialAliasOf?.[i]?.color\n ? transformAlias(tokensSet[token.partialAliasOf[i]!.color!]!)\n : transformColor({ $value: color } as ColorTokenNormalized, options);\n if (typeof colorValue !== 'string') {\n isHDR = true;\n }\n colors.push(colorValue);\n positions.push(\n token.partialAliasOf?.[i]?.position\n ? transformAlias(tokensSet[token.partialAliasOf[i]!.position!]!)\n : `${100 * position}%`,\n );\n }\n\n function formatStop(i: number, colorKey = '.') {\n return `${typeof colors[i] === 'string' ? colors[i] : colors[i]![colorKey as keyof (typeof colors)[number]]} ${positions[i]}`;\n }\n\n return !isHDR\n ? token.$value.map((_, i) => formatStop(i, positions[i]!)).join(', ')\n : {\n '.': token.$value.map((_, i) => formatStop(i, '.')).join(', '),\n srgb: token.$value.map((_, i) => formatStop(i, 'srgb')).join(', '),\n p3: token.$value.map((_, i) => formatStop(i, 'p3')).join(', '),\n rec2020: token.$value.map((_, i) => formatStop(i, 'rec2020')).join(', '),\n };\n}\n","import type { LinkTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert link value to CSS */\nexport function transformLink(token: LinkTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return `url(\"${token.$value}\")`;\n}\n","import type { NumberTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert number value to CSS */\nexport function transformNumber(token: NumberTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return String(token.$value);\n}\n","import type {\n ColorTokenNormalized,\n DimensionTokenNormalized,\n ShadowTokenNormalized,\n ShadowValueNormalized,\n} from '../types.js';\nimport { transformColor } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformDimension } from './dimension.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert shadow subvalue to CSS */\nexport function transformShadowLayer(\n value: ShadowValueNormalized,\n options: TransformCSSValueOptions & {\n colorValue: string;\n partialAliasOf?: Partial<Record<keyof typeof value, string>>;\n },\n): string | Record<string, string> {\n const { tokensSet, colorValue, partialAliasOf, transformAlias = defaultAliasTransform } = options;\n const offsetX = partialAliasOf?.offsetX\n ? transformAlias(tokensSet[partialAliasOf.offsetX]!)\n : transformDimension({ $value: value.offsetX } as DimensionTokenNormalized, options);\n const offsetY = partialAliasOf?.offsetY\n ? transformAlias(tokensSet[partialAliasOf.offsetY]!)\n : transformDimension({ $value: value.offsetY } as DimensionTokenNormalized, options);\n const blur = partialAliasOf?.blur\n ? transformAlias(tokensSet[partialAliasOf.blur]!)\n : transformDimension({ $value: value.blur } as DimensionTokenNormalized, options);\n const spread = partialAliasOf?.spread\n ? transformAlias(tokensSet[partialAliasOf.spread]!)\n : transformDimension({ $value: value.spread } as DimensionTokenNormalized, options);\n const inset = value?.inset === true ? 'inset' : undefined;\n\n return [inset, offsetX, offsetY, blur, spread, colorValue].filter(Boolean).join(' ');\n}\n\n/** Convert shadow value to CSS */\nexport function transformShadow(\n token: ShadowTokenNormalized,\n options: TransformCSSValueOptions,\n): string | Record<string, string> {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n const colors = token.$value.map((v, i) =>\n token.partialAliasOf?.[i]?.color\n ? transformAlias(tokensSet[token.partialAliasOf[i]!.color!]!)\n : transformColor({ $value: v.color } as ColorTokenNormalized, options),\n );\n const isHDR = colors.some((c) => typeof c === 'object');\n\n const formatShadow = (colorKey: string) =>\n token.$value\n .map((v, i) =>\n transformShadowLayer(v, {\n tokensSet,\n colorValue:\n typeof colors[i] === 'string'\n ? (colors[i] as string)\n : colors[i]![colorKey as keyof (typeof colors)[number]]!,\n partialAliasOf: token.partialAliasOf?.[i],\n transformAlias,\n }),\n )\n .join(', ');\n\n return !isHDR\n ? formatShadow('.')\n : {\n '.': formatShadow('.'),\n srgb: formatShadow('srgb'),\n p3: formatShadow('p3'),\n rec2020: formatShadow('rec2020'),\n };\n}\n","import type { StringTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert string value to CSS */\nexport function transformString(token: StringTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n // this seems like a useless function—because it is—but this is a placeholder\n // that can handle unexpected values in the future should any arise\n return String(token.$value);\n}\n","import type { CubicBezierTokenNormalized, DurationTokenNormalized, TransitionTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformCubicBezier } from './cubic-bezier.js';\nimport { transformDuration } from './duration.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert transition value to shorthand */\nexport function transformTransition(token: TransitionTokenNormalized, options: TransformCSSValueOptions) {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n const duration = token.partialAliasOf?.duration\n ? transformAlias(tokensSet[token.partialAliasOf.duration]!)\n : transformDuration({ $value: token.$value.duration } as DurationTokenNormalized, options);\n const delay = token.partialAliasOf?.delay\n ? transformAlias(tokensSet[token.partialAliasOf.delay]!)\n : transformDuration({ $value: token.$value.delay } as DurationTokenNormalized, options);\n const timingFunction = token.partialAliasOf?.timingFunction\n ? transformAlias(tokensSet[token.partialAliasOf.timingFunction]!)\n : transformCubicBezier({ $value: token.$value.timingFunction } as CubicBezierTokenNormalized, options);\n\n return `${duration} ${delay} ${timingFunction}`;\n}\n","import { kebabCase } from '../string.js';\nimport type {\n DimensionTokenNormalized,\n FontFamilyTokenNormalized,\n FontWeightTokenNormalized,\n NumberTokenNormalized,\n StringTokenNormalized,\n TokenNormalized,\n TypographyTokenNormalized,\n} from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformDimension } from './dimension.js';\nimport { transformFontFamily } from './font-family.js';\nimport { transformFontWeight } from './font-weight.js';\nimport { defaultAliasTransform } from './lib.js';\nimport { transformNumber } from './number.js';\nimport { transformString } from './string.js';\n\n/** Convert typography value to multiple CSS values */\nexport function transformTypography(token: TypographyTokenNormalized, options: TransformCSSValueOptions) {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n const output: Record<string, string> = {};\n for (const [property, subvalue] of Object.entries(token.$value)) {\n let transformedValue: string;\n const aliasedID = token.aliasChain?.[0] ?? token.partialAliasOf?.[property];\n if (aliasedID) {\n const resolvedToken = tokensSet[aliasedID] as TypographyTokenNormalized;\n transformedValue = transformAlias(\n // if resolving against a typography token, inject the property as well\n resolvedToken.$type === 'typography' ? ({ id: `${aliasedID}-${property}` } as TokenNormalized) : resolvedToken,\n );\n } else {\n switch (property) {\n case 'fontFamily': {\n transformedValue = transformFontFamily({ $value: subvalue } as FontFamilyTokenNormalized, options);\n break;\n }\n case 'fontSize':\n case 'letterSpacing': {\n transformedValue = transformDimension({ $value: subvalue } as DimensionTokenNormalized, options);\n break;\n }\n case 'fontWeight': {\n transformedValue = transformFontWeight({ $value: subvalue } as FontWeightTokenNormalized, options);\n break;\n }\n case 'lineHeight': {\n if (typeof subvalue === 'number') {\n transformedValue = transformNumber({ $value: subvalue } as NumberTokenNormalized, options);\n } else {\n transformedValue = transformDimension({ $value: subvalue } as DimensionTokenNormalized, options);\n }\n break;\n }\n default: {\n transformedValue = transformString({ $value: subvalue } as StringTokenNormalized, options);\n break;\n }\n }\n }\n output[kebabCase(property)] = transformedValue;\n }\n return output;\n}\n","import type { TokenNormalized } from '../types.js';\nimport { transformBoolean } from './boolean.js';\nimport { transformBorder } from './border.js';\nimport { transformColor } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformCubicBezier } from './cubic-bezier.js';\nimport { transformDimension } from './dimension.js';\nimport { transformDuration } from './duration.js';\nimport { transformFontFamily } from './font-family.js';\nimport { transformFontWeight } from './font-weight.js';\nimport { transformGradient } from './gradient.js';\nimport { transformLink } from './link.js';\nimport { transformNumber } from './number.js';\nimport { transformShadow } from './shadow.js';\nimport { transformString } from './string.js';\nimport { transformStrokeStyle } from './stroke-style.js';\nimport { transformTransition } from './transition.js';\nimport { transformTypography } from './typography.js';\n\nexport * from './boolean.js';\nexport * from './border.js';\nexport * from './color.js';\nexport * from './cubic-bezier.js';\nexport * from './dimension.js';\nexport * from './duration.js';\nexport * from './font-family.js';\nexport * from './font-weight.js';\nexport * from './gradient.js';\nexport * from './lib.js';\nexport * from './link.js';\nexport * from './number.js';\nexport * from './shadow.js';\nexport * from './string.js';\nexport * from './stroke-style.js';\nexport * from './transition.js';\nexport * from './typography.js';\n\n/** Main CSS Transform */\nexport function transformCSSValue<T extends TokenNormalized = TokenNormalized>(\n token: T,\n { mode, ...options }: { mode: keyof T['mode'] } & TransformCSSValueOptions,\n) {\n const selectedMode = token.mode[mode as keyof typeof token.mode];\n if (!selectedMode) {\n return;\n }\n const tokenWithModeValue: T = {\n id: token.id,\n $type: token.$type,\n // note: do NOT carry over aliasOf/partialAliasOf as that will result in incorrect values\n ...selectedMode,\n } as any;\n switch (tokenWithModeValue.$type) {\n case 'boolean': {\n return transformBoolean(tokenWithModeValue, options);\n }\n case 'border': {\n return transformBorder(tokenWithModeValue, options);\n }\n case 'color': {\n return transformColor(tokenWithModeValue, options);\n }\n case 'cubicBezier': {\n return transformCubicBezier(tokenWithModeValue, options);\n }\n case 'dimension': {\n return transformDimension(tokenWithModeValue, options);\n }\n case 'duration': {\n return transformDuration(tokenWithModeValue, options);\n }\n case 'fontFamily': {\n return transformFontFamily(tokenWithModeValue, options);\n }\n case 'fontWeight': {\n return transformFontWeight(tokenWithModeValue, options);\n }\n case 'gradient': {\n return transformGradient(tokenWithModeValue, options);\n }\n case 'link': {\n return transformLink(tokenWithModeValue, options);\n }\n case 'number': {\n return transformNumber(tokenWithModeValue, options);\n }\n case 'shadow': {\n return transformShadow(tokenWithModeValue, options);\n }\n case 'string': {\n return transformString(tokenWithModeValue, options);\n }\n case 'strokeStyle': {\n return transformStrokeStyle(tokenWithModeValue, options);\n }\n case 'transition': {\n return transformTransition(tokenWithModeValue, options);\n }\n case 'typography': {\n return transformTypography(tokenWithModeValue, options);\n }\n }\n}\n"],"mappings":";;;;;AAKA,SAAgB,sBAAsB,OAAwB;AAC5D,KAAI,CAAC,MACH,OAAM,IAAI,MAAM,kBAAkB;AAEpC,QAAO,OAAO,WAAW,MAAM,GAAG,CAAC;;;AAIrC,SAAgB,kBAAkB,EAAE,OAAO,WAAmE;AAC5G,SAAQ,OAAR;EACE,KAAK,aACH,QAAO;GAAC;GAAY;GAAS;GAAkB,CAC5C,KAAK,MAAM,WAAW,GAAG,QAAQ,GAAG,KAAK,EAAE,SAAS,MAAM,CAAC,CAAC,CAC5D,KAAK,IAAI;;;AAOlB,MAAM,aACJ;;;;;AAgBF,SAAgB,WAAW,MAAc,EAAE,QAAQ,UAAU,UAA6B,EAAE,EAAU;AACpG,KAAI,OAAO,SAAS,SAClB,OAAM,IAAI,MAAM,0CAA0C,OAAO;CAGnE,IAAI,WAAW,KAAK,MAAM,WAAW,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;AAC/D,KAAI,UAAU,CAAC,SAAS,WAAW,GAAG,OAAO,GAAG,CAC9C,YAAW,GAAG,OAAO,GAAG;CAE1B,MAAM,gBAAgB,KAAK,WAAW,mBAAmB;AACzD,QAAO,UAAU,OAAO,cAAc,KAAK;;;;;;AC/C7C,SAAgB,iBACd,OACA,EAAE,WAAW,iBAAiB,yBACtB;AACR,KAAI,MAAM,aAAa,GACrB,QAAO,eAAe,UAAU,MAAM,WAAW,IAAK;AAExD,QAAO,MAAM,WAAW,OAAO,MAAM;;;;;;AC2BvC,SAAgB,eACd,OACA,SAC8B;CAC9B,MAAM,EAAE,iBAAiB,uBAAuB,cAAc;AAC9D,KAAI,MAAM,aAAa,GACrB,QAAO,eAAe,UAAU,MAAM,WAAW,IAAK;CAGxD,MAAM,EACJ,YACA,YACA,QAAQ,MACN,OAAO,MAAM,WAAW,WAAW,WAAW,MAAM,OAAO,GAAG,MAAM;CACxE,MAAM,QAAQ,cAAc;EAAE;EAAY;EAAY;EAAO,CAAC;AAE9D,KAAI,CAAC,MACH,OAAM,IAAI,MAAM,uBAAuB,KAAK,UAAU,MAAM,OAAO,CAAC,kBAAkB;CAGxF,IAAIA,cAAwC;AAC5C,KAAI,QAAQ,OAAO,UACjB,eAAc,MAAM,UAAU,IAAI,aAAa;AAGjD,QAAO,YAAY,MAAM,GACrB,YAAY,MAAM,GAClB,WAAW;EAAE;EAAY;EAAY;EAAO,EAAE,OAAO,QAAQ,OAAO,MAAM;;AAGhF,MAAMC,aAA0E;CAC9E,KAAK,QAAQ,QAAQ;CACrB,KAAK,QAAQ,QAAQ;CACrB,KAAK,QAAQ,QAAQ;CACrB,KAAK,QAAQ,QAAQ;CACrB,OAAO,QAAQ,UAAU;CACzB,KAAK,QAAQ,QAAQ;CACrB,MAAM,QAAQ,SAAS;CACvB,OAAO,QAAQ,UAAU;CACzB,OAAO,QAAQ,UAAU;CACzB,OAAO,QAAQ,UAAU;CACzB,IAAI,QAAQ,OAAO;CACnB,UAAU,QAAQ,aAAa;CAC/B,SAAS,QAAQ,YAAY;CAC7B,KAAK,QAAQ,QAAQ;CACrB,OAAO,QAAQ,UAAU;CACzB,OAAO,QAAQ,UAAU;CAC1B;AAED,MAAa,iBAAiB;CAC5B,IAAI,MAAM,EAAE;CACZ,IAAI,MAAM,EAAE;CACZ,IAAI,MAAM,EAAE;CACZ,IAAI,MAAM,EAAE;CACb;;;;;;;AAUD,SAAS,WAAW,QAAwC,aAAoB,QAAe,IAAI;AACjG,KAAI,EAAE,OAAO,cAAc,eACzB,OAAM,IAAI,MACR,uBAAuB,OAAO,WAAW,sBAAsB,OAAO,KAAK,cAAc,CAAC,KAAK,KAAK,GACrG;CAEH,MAAM,kBAAkB,cAAc,OAAO,eAAe;CAC5D,IAAI,aAAa;AAGjB,KAAI,eAAe,SAAS,eAAe,QACzC,cAAa;UACJ,eAAe,QACxB,cAAa;CAEf,IAAI,OAAO,WAAW,iBAAiB,QAAQ,OAAO,WAAW,CAAC,YAAY,CAAC;CAC/E,IAAI,KAAK,WAAW,iBAAiB,QAAQ,MAAM,WAAW,CAAC,YAAY,CAAC;CAC5E,IAAI,UAAU,WAAW,iBAAiB,QAAQ,WAAW,WAAW,CAAC,YAAY,CAAC;AACtF,KAAI,OAAO,UAAU,UAAU;AAC7B,MAAI,CAAC,eAAe,OAClB,OAAM,IAAI,MAAM,sBAAsB,MAAM,sBAAsB,OAAO,KAAK,eAAe,CAAC,KAAK,KAAK,GAAG;AAE7G,SAAO,WAAW,MAAM,MAAM;AAC9B,OAAK,WAAW,IAAI,MAAM;AAC1B,YAAU,WAAW,SAAS,MAAM;;AAEtC,QAAO;EACL,KAAK,UAAU,YAAY;EAC3B,MAAM,UAAU,KAAK;EACrB,IAAI,UAAU,GAAG;EACjB,SAAS,UAAU,QAAQ;EAC5B;;;AAIH,SAAgB,WAAoC,OAAU,QAAe,IAAO;AAClF,KAAI,UAAU,YACZ,QAAO;CAET,MAAM,WAAW,EAAE,GAAG,OAAO;AAC7B,MAAK,MAAM,CAAC,GAAG,MAAM,OAAO,QAAQ,MAAM,EAAE;AAC1C,MAAI,OAAO,MAAM,YAAY,MAAM,OACjC;AAEF,WAAS,KAAgB,eAAe,OAAO,EAAE;;AAEnD,QAAO;;;;;;AChJT,SAAgB,mBAAmB,OAAiC,SAA2C;CAC7G,MAAM,EAAE,WAAW,iBAAiB,0BAA0B;AAC9D,KAAI,MAAM,aAAa,GACrB,QAAO,eAAe,UAAU,MAAM,WAAW,IAAK;AAGxD,QAAO,MAAM,OAAO,UAAU,IAAI,MAAM,GAAG,MAAM,OAAO,QAAQ,MAAM,OAAO;;;;;;ACN/E,SAAgB,qBAAqB,OAAmC,SAA2C;CACjH,MAAM,EAAE,WAAW,iBAAiB,0BAA0B;AAC9D,KAAI,MAAM,aAAa,GACrB,QAAO,eAAe,UAAU,MAAM,WAAW,IAAK;AAExD,QAAO,OAAO,MAAM,WAAW,WAAW,MAAM,SAAS;;;;;;ACI3D,SAAgB,gBAAgB,OAA8B,SAAmC;CAC/F,MAAM,EAAE,WAAW,iBAAiB,0BAA0B;AAC9D,KAAI,MAAM,aAAa,GACrB,QAAO,eAAe,UAAU,MAAM,WAAW,IAAK;CAGxD,MAAM,QAAQ,MAAM,gBAAgB,QAChC,eAAe,UAAU,MAAM,eAAe,OAAQ,GACtD,mBAAmB,EAAE,QAAQ,MAAM,OAAO,OAAO,EAA8B,QAAQ;CAC3F,MAAM,QAAQ,MAAM,gBAAgB,QAChC,eAAe,UAAU,MAAM,eAAe,OAAQ,GACtD,eAAe,EAAE,QAAQ,MAAM,OAAO,OAAO,EAA0B,QAAQ;CACnF,MAAM,QAAQ,MAAM,gBAAgB,QAChC,eAAe,UAAU,MAAM,eAAe,OAAQ,GACtD,qBAAqB,EAAE,QAAQ,MAAM,OAAO,OAAO,EAAgC,QAAQ;CAE/F,MAAM,gBAAgB,aACpB;EAAC;EAAO;EAAO,OAAO,UAAU,WAAW,QAAQ,MAAM;EAAgC,CAAC,KAAK,IAAI;AAErG,QAAO,OAAO,UAAU,YAAYC,cAAY,MAAM,GAAG,GACrD,aAAa,IAAI,GACjB;EACE,KAAK,aAAa,IAAI;EACtB,MAAM,aAAa,OAAO;EAC1B,IAAI,aAAa,KAAK;EACtB,SAAS,aAAa,UAAU;EACjC;;;;;;ACnCP,SAAgB,qBAAqB,OAAmC,SAA2C;CACjH,MAAM,EAAE,WAAW,iBAAiB,0BAA0B;AAC9D,KAAI,MAAM,aAAa,GACrB,QAAO,eAAe,UAAU,MAAM,WAAW,IAAK;AAExD,QAAO,gBAAgB,MAAM,OAC1B,KAAK,GAAG,MAAO,MAAM,iBAAiB,KAAK,eAAe,UAAU,MAAM,eAAe,IAAK,GAAG,EAAG,CACpG,KAAK,KAAK,CAAC;;;;;;ACPhB,SAAgB,kBAAkB,OAAgC,SAA2C;CAC3G,MAAM,EAAE,WAAW,iBAAiB,0BAA0B;AAC9D,KAAI,MAAM,aAAa,GACrB,QAAO,eAAe,UAAU,MAAM,WAAW,IAAK;AAGxD,QAAO,GAAG,MAAM,OAAO,QAAQ,MAAM,OAAO;;;;;ACP9C,MAAM,oBAAoB;AAE1B,SAAgB,oBAAoB,OAAkC,SAA2C;CAC/G,MAAM,EAAE,WAAW,iBAAiB,0BAA0B;AAC9D,KAAI,MAAM,aAAa,GACrB,QAAO,eAAe,UAAU,MAAM,WAAW,IAAK;AAExD,QAAO,MAAM,OAAO,KAAK,aAAc,kBAAkB,KAAK,SAAS,GAAG,WAAW,IAAI,SAAS,GAAI,CAAC,KAAK,KAAK;;;;;;ACNnH,SAAgB,oBAAoB,OAAkC,SAA2C;CAC/G,MAAM,EAAE,WAAW,iBAAiB,0BAA0B;AAC9D,KAAI,MAAM,aAAa,GACrB,QAAO,eAAe,UAAU,MAAM,WAAW,IAAK;AAExD,QAAO,OAAO,MAAM,OAAO;;;;;;ACJ7B,SAAgB,kBACd,OACA,SAC8B;CAC9B,MAAM,EAAE,WAAW,iBAAiB,0BAA0B;AAC9D,KAAI,MAAM,aAAa,GACrB,QAAO,eAAe,UAAU,MAAM,WAAW,IAAK;CAGxD,IAAI,QAAQ;CAEZ,MAAMC,SAA2C,EAAE;CACnD,MAAMC,YAAsB,EAAE;AAE9B,MAAK,IAAI,IAAI,GAAG,IAAI,MAAM,OAAO,QAAQ,KAAK;EAC5C,MAAM,EAAE,OAAO,aAAa,MAAM,OAAO;EACzC,MAAM,aAAa,MAAM,iBAAiB,IAAI,QAC1C,eAAe,UAAU,MAAM,eAAe,GAAI,OAAS,GAC3D,eAAe,EAAE,QAAQ,OAAO,EAA0B,QAAQ;AACtE,MAAI,OAAO,eAAe,SACxB,SAAQ;AAEV,SAAO,KAAK,WAAW;AACvB,YAAU,KACR,MAAM,iBAAiB,IAAI,WACvB,eAAe,UAAU,MAAM,eAAe,GAAI,UAAY,GAC9D,GAAG,MAAM,SAAS,GACvB;;CAGH,SAAS,WAAW,GAAW,WAAW,KAAK;AAC7C,SAAO,GAAG,OAAO,OAAO,OAAO,WAAW,OAAO,KAAK,OAAO,GAAI,UAA2C,GAAG,UAAU;;AAG3H,QAAO,CAAC,QACJ,MAAM,OAAO,KAAK,GAAG,MAAM,WAAW,GAAG,UAAU,GAAI,CAAC,CAAC,KAAK,KAAK,GACnE;EACE,KAAK,MAAM,OAAO,KAAK,GAAG,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,KAAK,KAAK;EAC9D,MAAM,MAAM,OAAO,KAAK,GAAG,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,KAAK,KAAK;EAClE,IAAI,MAAM,OAAO,KAAK,GAAG,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,KAAK,KAAK;EAC9D,SAAS,MAAM,OAAO,KAAK,GAAG,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,KAAK,KAAK;EACzE;;;;;;AC1CP,SAAgB,cAAc,OAA4B,SAA2C;CACnG,MAAM,EAAE,WAAW,iBAAiB,0BAA0B;AAC9D,KAAI,MAAM,aAAa,GACrB,QAAO,eAAe,UAAU,MAAM,WAAW,IAAK;AAExD,QAAO,QAAQ,MAAM,OAAO;;;;;;ACL9B,SAAgB,gBAAgB,OAA8B,SAA2C;CACvG,MAAM,EAAE,WAAW,iBAAiB,0BAA0B;AAC9D,KAAI,MAAM,aAAa,GACrB,QAAO,eAAe,UAAU,MAAM,WAAW,IAAK;AAExD,QAAO,OAAO,MAAM,OAAO;;;;;;ACE7B,SAAgB,qBACd,OACA,SAIiC;CACjC,MAAM,EAAE,WAAW,YAAY,gBAAgB,iBAAiB,0BAA0B;CAC1F,MAAM,UAAU,gBAAgB,UAC5B,eAAe,UAAU,eAAe,SAAU,GAClD,mBAAmB,EAAE,QAAQ,MAAM,SAAS,EAA8B,QAAQ;CACtF,MAAM,UAAU,gBAAgB,UAC5B,eAAe,UAAU,eAAe,SAAU,GAClD,mBAAmB,EAAE,QAAQ,MAAM,SAAS,EAA8B,QAAQ;CACtF,MAAM,OAAO,gBAAgB,OACzB,eAAe,UAAU,eAAe,MAAO,GAC/C,mBAAmB,EAAE,QAAQ,MAAM,MAAM,EAA8B,QAAQ;CACnF,MAAM,SAAS,gBAAgB,SAC3B,eAAe,UAAU,eAAe,QAAS,GACjD,mBAAmB,EAAE,QAAQ,MAAM,QAAQ,EAA8B,QAAQ;AAGrF,QAAO;EAFO,OAAO,UAAU,OAAO,UAAU;EAEjC;EAAS;EAAS;EAAM;EAAQ;EAAW,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;;;AAItF,SAAgB,gBACd,OACA,SACiC;CACjC,MAAM,EAAE,WAAW,iBAAiB,0BAA0B;AAC9D,KAAI,MAAM,aAAa,GACrB,QAAO,eAAe,UAAU,MAAM,WAAW,IAAK;CAExD,MAAM,SAAS,MAAM,OAAO,KAAK,GAAG,MAClC,MAAM,iBAAiB,IAAI,QACvB,eAAe,UAAU,MAAM,eAAe,GAAI,OAAS,GAC3D,eAAe,EAAE,QAAQ,EAAE,OAAO,EAA0B,QAAQ,CACzE;CACD,MAAM,QAAQ,OAAO,MAAM,MAAM,OAAO,MAAM,SAAS;CAEvD,MAAM,gBAAgB,aACpB,MAAM,OACH,KAAK,GAAG,MACP,qBAAqB,GAAG;EACtB;EACA,YACE,OAAO,OAAO,OAAO,WAChB,OAAO,KACR,OAAO,GAAI;EACjB,gBAAgB,MAAM,iBAAiB;EACvC;EACD,CAAC,CACH,CACA,KAAK,KAAK;AAEf,QAAO,CAAC,QACJ,aAAa,IAAI,GACjB;EACE,KAAK,aAAa,IAAI;EACtB,MAAM,aAAa,OAAO;EAC1B,IAAI,aAAa,KAAK;EACtB,SAAS,aAAa,UAAU;EACjC;;;;;;ACtEP,SAAgB,gBAAgB,OAA8B,SAA2C;CACvG,MAAM,EAAE,WAAW,iBAAiB,0BAA0B;AAC9D,KAAI,MAAM,aAAa,GACrB,QAAO,eAAe,UAAU,MAAM,WAAW,IAAK;AAIxD,QAAO,OAAO,MAAM,OAAO;;;;;;ACL7B,SAAgB,oBAAoB,OAAkC,SAAmC;CACvG,MAAM,EAAE,WAAW,iBAAiB,0BAA0B;AAC9D,KAAI,MAAM,aAAa,GACrB,QAAO,eAAe,UAAU,MAAM,WAAW,IAAK;AAaxD,QAAO,GAVU,MAAM,gBAAgB,WACnC,eAAe,UAAU,MAAM,eAAe,UAAW,GACzD,kBAAkB,EAAE,QAAQ,MAAM,OAAO,UAAU,EAA6B,QAAQ,CAQzE,GAPL,MAAM,gBAAgB,QAChC,eAAe,UAAU,MAAM,eAAe,OAAQ,GACtD,kBAAkB,EAAE,QAAQ,MAAM,OAAO,OAAO,EAA6B,QAAQ,CAK7D,GAJL,MAAM,gBAAgB,iBACzC,eAAe,UAAU,MAAM,eAAe,gBAAiB,GAC/D,qBAAqB,EAAE,QAAQ,MAAM,OAAO,gBAAgB,EAAgC,QAAQ;;;;;;ACF1G,SAAgB,oBAAoB,OAAkC,SAAmC;CACvG,MAAM,EAAE,WAAW,iBAAiB,0BAA0B;CAC9D,MAAMC,SAAiC,EAAE;AACzC,MAAK,MAAM,CAAC,UAAU,aAAa,OAAO,QAAQ,MAAM,OAAO,EAAE;EAC/D,IAAIC;EACJ,MAAM,YAAY,MAAM,aAAa,MAAM,MAAM,iBAAiB;AAClE,MAAI,WAAW;GACb,MAAM,gBAAgB,UAAU;AAChC,sBAAmB,eAEjB,cAAc,UAAU,eAAgB,EAAE,IAAI,GAAG,UAAU,GAAG,YAAY,GAAuB,cAClG;QAED,SAAQ,UAAR;GACE,KAAK;AACH,uBAAmB,oBAAoB,EAAE,QAAQ,UAAU,EAA+B,QAAQ;AAClG;GAEF,KAAK;GACL,KAAK;AACH,uBAAmB,mBAAmB,EAAE,QAAQ,UAAU,EAA8B,QAAQ;AAChG;GAEF,KAAK;AACH,uBAAmB,oBAAoB,EAAE,QAAQ,UAAU,EAA+B,QAAQ;AAClG;GAEF,KAAK;AACH,QAAI,OAAO,aAAa,SACtB,oBAAmB,gBAAgB,EAAE,QAAQ,UAAU,EAA2B,QAAQ;QAE1F,oBAAmB,mBAAmB,EAAE,QAAQ,UAAU,EAA8B,QAAQ;AAElG;GAEF;AACE,uBAAmB,gBAAgB,EAAE,QAAQ,UAAU,EAA2B,QAAQ;AAC1F;;AAIN,SAAO,UAAU,SAAS,IAAI;;AAEhC,QAAO;;;;;;ACxBT,SAAgB,kBACd,OACA,EAAE,MAAM,GAAG,WACX;CACA,MAAM,eAAe,MAAM,KAAK;AAChC,KAAI,CAAC,aACH;CAEF,MAAMC,qBAAwB;EAC5B,IAAI,MAAM;EACV,OAAO,MAAM;EAEb,GAAG;EACJ;AACD,SAAQ,mBAAmB,OAA3B;EACE,KAAK,UACH,QAAO,iBAAiB,oBAAoB,QAAQ;EAEtD,KAAK,SACH,QAAO,gBAAgB,oBAAoB,QAAQ;EAErD,KAAK,QACH,QAAO,eAAe,oBAAoB,QAAQ;EAEpD,KAAK,cACH,QAAO,qBAAqB,oBAAoB,QAAQ;EAE1D,KAAK,YACH,QAAO,mBAAmB,oBAAoB,QAAQ;EAExD,KAAK,WACH,QAAO,kBAAkB,oBAAoB,QAAQ;EAEvD,KAAK,aACH,QAAO,oBAAoB,oBAAoB,QAAQ;EAEzD,KAAK,aACH,QAAO,oBAAoB,oBAAoB,QAAQ;EAEzD,KAAK,WACH,QAAO,kBAAkB,oBAAoB,QAAQ;EAEvD,KAAK,OACH,QAAO,cAAc,oBAAoB,QAAQ;EAEnD,KAAK,SACH,QAAO,gBAAgB,oBAAoB,QAAQ;EAErD,KAAK,SACH,QAAO,gBAAgB,oBAAoB,QAAQ;EAErD,KAAK,SACH,QAAO,gBAAgB,oBAAoB,QAAQ;EAErD,KAAK,cACH,QAAO,qBAAqB,oBAAoB,QAAQ;EAE1D,KAAK,aACH,QAAO,oBAAoB,oBAAoB,QAAQ;EAEzD,KAAK,aACH,QAAO,oBAAoB,oBAAoB,QAAQ"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AliasToken, AliasValue, BooleanToken, BooleanTokenNormalized, BooleanValue, BorderToken, BorderTokenNormalized, BorderValue, BorderValueNormalized, ColorSpace, ColorToken, ColorTokenNormalized, ColorValue, ColorValueNormalized, CubicBezierToken, CubicBezierTokenNormalized, CubicBezierValue, DimensionToken, DimensionTokenNormalized, DimensionValue, DurationToken, DurationTokenNormalized, DurationValue, FontFamilyToken, FontFamilyTokenNormalized, FontFamilyValue, FontFamilyValueNormalized, FontWeightToken, FontWeightTokenNormalized, FontWeightValue, FontWeightValueNormalized, GradientStop, GradientStopNormalized, GradientToken, GradientTokenNormalized, GradientValue, GradientValueNormalized, Group, GroupCore, GroupOrToken, LinkToken, LinkTokenNormalized, LinkValue, ModeMap, NumberToken, NumberTokenNormalized, NumberValue, ShadowToken, ShadowTokenNormalized, ShadowValue, ShadowValueNormalized, StringToken, StringTokenNormalized, StringValue, StrokeStyleToken, StrokeStyleTokenNormalized, StrokeStyleValue, StrokeStyleValueExpanded, Token, TokenCore, TokenMode, TokenNormalized, TokenNormalizedCore, TokenNormalizedSet, TokensSet, TransitionToken, TransitionTokenNormalized, TransitionValue, TransitionValueNormalized, TypographyToken, TypographyTokenNormalized, TypographyValue, TypographyValueNormalized } from "./types-BOWDcBsq.js";
1
+ import { $ as StringTokenNormalized, A as FontWeightValue, B as GroupOrToken, C as DurationValue, D as FontFamilyValueNormalized, E as FontFamilyValue, F as GradientTokenNormalized, G as NumberToken, H as LinkTokenNormalized, I as GradientValue, J as ShadowToken, K as NumberTokenNormalized, L as GradientValueNormalized, M as GradientStop, N as GradientStopNormalized, O as FontWeightToken, P as GradientToken, Q as StringToken, R as Group, S as DurationTokenNormalized, T as FontFamilyTokenNormalized, U as LinkValue, V as LinkToken, W as ModeMap, X as ShadowValue, Y as ShadowTokenNormalized, Z as ShadowValueNormalized, _ as CubicBezierValue, _t as TypographyTokenNormalized, a as BooleanValue, at as Token, b as DimensionValue, c as BorderValue, ct as TokenNormalized, d as ColorToken, dt as TokensSet, et as StringValue, f as ColorTokenNormalized, ft as TransitionToken, g as CubicBezierTokenNormalized, gt as TypographyToken, h as CubicBezierToken, ht as TransitionValueNormalized, i as BooleanTokenNormalized, it as StrokeStyleValueExpanded, j as FontWeightValueNormalized, k as FontWeightTokenNormalized, l as BorderValueNormalized, lt as TokenNormalizedCore, m as ColorValueNormalized, mt as TransitionValue, n as AliasValue, nt as StrokeStyleTokenNormalized, o as BorderToken, ot as TokenCore, p as ColorValue, pt as TransitionTokenNormalized, q as NumberValue, r as BooleanToken, rt as StrokeStyleValue, s as BorderTokenNormalized, st as TokenMode, t as AliasToken, tt as StrokeStyleToken, u as ColorSpace, ut as TokenNormalizedSet, v as DimensionToken, vt as TypographyValue, w as FontFamilyToken, x as DurationToken, y as DimensionTokenNormalized, yt as TypographyValueNormalized, z as GroupCore } from "./types-DAuPY3qE.js";
2
2
  import "culori/css";
3
3
  import { Color } from "culori/fn";
4
4
 
@@ -32,7 +32,6 @@ interface ColorSpaceDefinition {
32
32
  }
33
33
  /** Complete list of CSS Module 4 Colorspaces */
34
34
  declare const COLORSPACE: Record<ColorSpace, ColorSpaceDefinition>;
35
- //# sourceMappingURL=color.d.ts.map
36
35
  //#endregion
37
36
  //#region src/id.d.ts
38
37
  /** Is this token an alias of another? */
@@ -48,7 +47,6 @@ declare function splitID(id: string): {
48
47
  local: string;
49
48
  group?: string;
50
49
  };
51
- //# sourceMappingURL=id.d.ts.map
52
50
  //#endregion
53
51
  //#region src/string.d.ts
54
52
  /** Pad string lengths */
@@ -57,7 +55,6 @@ declare function padStr(input: string, length: number, alignment?: 'left' | 'cen
57
55
  declare function pluralize<T = string>(count: number, singular: T, plural: T): T;
58
56
  /** Turn a string into kebab-case */
59
57
  declare function kebabCase(str: string): string;
60
- //# sourceMappingURL=string.d.ts.map
61
58
  //#endregion
62
59
  //#region src/transform.d.ts
63
60
  interface CustomTransformOptions {
@@ -68,8 +65,6 @@ interface CustomTransformOptions {
68
65
  declare function validateCustomTransform(value: unknown, {
69
66
  $type
70
67
  }: CustomTransformOptions): void;
71
- //# sourceMappingURL=transform.d.ts.map
72
-
73
68
  //#endregion
74
69
  export { AliasToken, AliasValue, BooleanToken, BooleanTokenNormalized, BooleanValue, BorderToken, BorderTokenNormalized, BorderValue, BorderValueNormalized, COLORSPACE, CSS_TO_CULORI, CULORI_TO_CSS, ColorSpace, ColorSpaceDefinition, ColorToken, ColorTokenNormalized, ColorValue, ColorValueNormalized, CubicBezierToken, CubicBezierTokenNormalized, CubicBezierValue, CustomTransformOptions, DimensionToken, DimensionTokenNormalized, DimensionValue, DurationToken, DurationTokenNormalized, DurationValue, FontFamilyToken, FontFamilyTokenNormalized, FontFamilyValue, FontFamilyValueNormalized, FontWeightToken, FontWeightTokenNormalized, FontWeightValue, FontWeightValueNormalized, GradientStop, GradientStopNormalized, GradientToken, GradientTokenNormalized, GradientValue, GradientValueNormalized, Group, GroupCore, GroupOrToken, LinkToken, LinkTokenNormalized, LinkValue, ModeMap, NumberToken, NumberTokenNormalized, NumberValue, ShadowToken, ShadowTokenNormalized, ShadowValue, ShadowValueNormalized, StringToken, StringTokenNormalized, StringValue, StrokeStyleToken, StrokeStyleTokenNormalized, StrokeStyleValue, StrokeStyleValueExpanded, Token, TokenCore, TokenMode, TokenNormalized, TokenNormalizedCore, TokenNormalizedSet, TokensSet, TransitionToken, TransitionTokenNormalized, TransitionValue, TransitionValueNormalized, TypographyToken, TypographyTokenNormalized, TypographyValue, TypographyValueNormalized, getTokenMatch, isAlias, kebabCase, makeAlias, padStr, parseAlias, parseColor, pluralize, splitID, tokenToCulori, validateCustomTransform };
75
70
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/color.ts","../src/id.ts","../src/string.ts","../src/transform.ts"],"sourcesContent":[],"mappings":";;;;;cAMa,eAAe,OAC1B,QACE,oKAkBF;cAoBW;EAxCA,SAAA,SAsCH,EAAA,KAAA;EAAA,SAAA,YAAA,EAAA,IAAA;EAAA,SApCN,GAAA,EAAA,KAAA;EAAK,SADP,GAAA,EAAA,KAAA;EAAO,SAmBP,GAAA,EAAA,KAAA;EAAU,SApBgB,SAAA,EAAA,OAAA;EAAM,SAAA,GAAA,EAAA,KAAA;EAwCrB,SAAA,KAAA,EAkBH,OAAA;EAGM,SAAA,KAAU,EAAA,OAAA;EAmEV,SAAA,KAAA,EAAa,OAAA;EAAA,SAAA,cAAA,EAAA,UAAA;EAAA,SAAQ,OAAA,EAAA,SAAA;EAAoB,SAAG,IAAA,EAAA,KAAA;EAAK,SAAA,aAAA,EAAA,MAAA;EA2DhD,SAAA,GAAA,EAAA,OAAA;EAKJ,SAAA,SAwHZ,EAAA,OAAA;EAAA,SAAA,SAAA,EAAA,OAAA;CAAA;;AAxHwB,iBAnIT,UAAA,CAmIS,KAAA,EAAA,MAAA,CAAA,EAnIkB,oBAmIlB;AAAM;iBAhEf,aAAA,QAAqB,uBAAuB;UA2D3C,oBAAA;;AC5LjB;AAKA;AASgB,cDmLH,UCnLY,EDmLA,MCnLA,CDmLO,UCnLP,EDmLmB,oBCnLnB,CAAA;AAKzB;;;;iBAnBgB,OAAA;;iBAKA,aAAA;;ADJH,iBCaG,SAAA,CDyBN,KAAA,EAAA,MAAA,CAAA,EAAA,MAAA;;AApCN,iBCgBY,UAAA,CDhBZ,KAAA,EAAA,MAAA,CAAA,EAAA,MAAA;;AAkBF,iBCac,OAAA,CDbd,EAAA,EAAA,MAAA,CAAA,EAAA;EAAU,KApBgB,EAAA,MAAA;EAAM,KAAA,CAAA,EAAA,MAAA;AAwClC,CAAA;AAqBA;;;;iBElEgB,MAAA;;iBAuBA,+CAA+C,WAAW,IAAI;;AFlBjE,iBEuBG,SAAA,CFeN,GAAA,EAAA,MAAA,CAAA,EAAA,MAAA;;;;UG5CO,sBAAA;;;;;AHMJ,iBGAG,uBAAA,CHsCN,KAAA,EAAA,OAAA,EAAA;EAAA;AAAA,CAAA,EGtCyD,sBHsCzD,CAAA,EAAA,IAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/color.ts","../src/id.ts","../src/string.ts","../src/transform.ts"],"sourcesContent":[],"mappings":";;;;;cAMa,eAAe,OAC1B,QACE,oKAkBF;cAoBW;EAxCA,SAAA,SAsCH,EAAA,KAAA;EApCN,SAAA,YAAA,EAAA,IAAA;EADF,SAAA,GAAA,EAAA,KAAA;EAmBA,SAAA,GAAA,EAAA,KAAA;EApB0B,SAAA,GAAA,EAAA,KAAA;EAAM,SAAA,SAAA,EAAA,OAAA;EAwCrB,SAAA,GAAA,EAAA,KAkBH;EAGM,SAAA,KAAU,EAAA,OAAA;EAmEV,SAAA,KAAA,EAAa,OAAA;EA2DZ,SAAA,KAAA,EAAA,OAAoB;EAKxB,SAAA,cAwHZ,EAAA,UAAA;EAxH+B,SAAA,OAAA,EAAA,SAAA;EAAY,SAAA,IAAA,EAAA,KAAA;EAAnB,SAAA,aAAA,EAAA,MAAA;EAAM,SAAA,GAAA,EAAA,OAAA;;;;ACjM/B;AAKgB,iBDyDA,UAAA,CCzDa,KAAA,EAAA,MAAA,CAAA,EDyDc,oBCzDd;AAS7B;AAKgB,iBD8GA,aAAA,CC9GU,KAAA,ED8GW,oBC9GX,CAAA,ED8GkC,KC9GlC,GAAA,SAAA;AAeV,UD0JC,oBAAA,CC1JM;;;;ACtCP,cFqMH,UErMS,EFqMG,MErMH,CFqMU,UErMV,EFqMsB,oBErMtB,CAAA;;;;iBDIN,OAAA;;iBAKA,aAAA;;ADJH,iBCaG,SAAA,CDyBN,KAAA,EAAA,MAAA,CAAA,EAAA,MAAA;;AArCR,iBCiBc,UAAA,CDjBd,KAAA,EAAA,MAAA,CAAA,EAAA,MAAA;;AAD0B,iBCiCZ,OAAA,CDjCY,EAAA,EAAA,MAAA,CAAA,EAAA;EAAM,KAAA,EAAA,MAAA;EAwCrB,KAAA,CAAA,EAAA,MAAA;AAqBb,CAAA;;;;iBElEgB,MAAA;;iBAuBA,+CAA+C,WAAW,IAAI;;AFlBjE,iBEuBG,SAAA,CFeN,GAAA,EAAA,MAAA,CAAA,EAAA,MAAA;;;UG5CO,sBAAA;;;;;AHMJ,iBGAG,uBAAA,CHsCN,KAAA,EAAA,OAAA,EAAA;EAAA;AAAA,CAAA,EGtCyD,sBHsCzD,CAAA,EAAA,IAAA"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { COLORSPACE, CSS_TO_CULORI, CULORI_TO_CSS, kebabCase, padStr, parseColor, pluralize, tokenToCulori } from "./string-BwN3ybNv.js";
1
+ import { a as CSS_TO_CULORI, c as tokenToCulori, i as COLORSPACE, n as padStr, o as CULORI_TO_CSS, r as pluralize, s as parseColor, t as kebabCase } from "./string-DEXitV6J.js";
2
2
  import wcmatch from "wildcard-match";
3
3
 
4
4
  //#region src/id.ts
@@ -39,10 +39,9 @@ function validateCustomTransform(value, { $type }) {
39
39
  if (value) {
40
40
  if (typeof value !== "string" && typeof value !== "object" || Array.isArray(value)) throw new Error(`transform(): expected string or Object of strings, received ${Array.isArray(value) ? "Array" : typeof value}`);
41
41
  switch ($type) {
42
- case "typography": {
42
+ case "typography":
43
43
  if (typeof value !== "object") throw new Error("transform(): typography tokens must be an object of keys");
44
44
  break;
45
- }
46
45
  }
47
46
  }
48
47
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["value: string","tokenId: string","globPatterns: string[]","input: string","id: string","value: unknown"],"sources":["../src/id.ts","../src/transform.ts"],"sourcesContent":["import wcmatch from 'wildcard-match';\n\nconst ALIAS_RE = /^\\{([^}]+)\\}$/;\n\n/** Is this token an alias of another? */\nexport function isAlias(value: string): boolean {\n return ALIAS_RE.test(value);\n}\n\n/** Same as isTokenMatch but returns the matching pattern */\nexport function getTokenMatch(tokenId: string, globPatterns: string[]): string | undefined {\n for (const pattern of globPatterns) {\n if (wcmatch(pattern)(tokenId)) {\n return pattern;\n }\n }\n}\n\n/** Make an alias */\nexport function makeAlias(input: string): string {\n return input.replace(/^\\{?([^}]+)\\}?$/, '{$1}');\n}\n\n/** Parse an alias */\nexport function parseAlias(input: string): string {\n // TODO: deprecate in future\n if (input.includes('#')) {\n throw new Error(\n 'Mode aliases (# character) are no longer supported as of v0.6.0. Alias the root token instead, and apply modes in plugins.',\n );\n }\n const match = input.match(ALIAS_RE);\n if (!match) {\n return input;\n }\n return match[1] ?? match[0];\n}\n\n/** split a token ID into a local ID and group ID */\nexport function splitID(id: string): { local: string; group?: string } {\n const lastSeparatorI = id.lastIndexOf('.');\n if (lastSeparatorI === -1) {\n return { local: id };\n }\n return {\n local: id.substring(lastSeparatorI + 1),\n group: id.substring(0, lastSeparatorI),\n };\n}\n","export interface CustomTransformOptions {\n /** Token $type */\n $type: string;\n}\n\n/** Give a user pertinent feedback if they override a transform incorrectly */\nexport function validateCustomTransform(value: unknown, { $type }: CustomTransformOptions) {\n if (value) {\n if ((typeof value !== 'string' && typeof value !== 'object') || Array.isArray(value)) {\n throw new Error(\n `transform(): expected string or Object of strings, received ${Array.isArray(value) ? 'Array' : typeof value}`,\n );\n }\n switch ($type) {\n case 'typography': {\n if (typeof value !== 'object') {\n throw new Error('transform(): typography tokens must be an object of keys');\n }\n break;\n }\n }\n }\n}\n"],"mappings":";;;;AAEA,MAAM,WAAW;;AAGjB,SAAgB,QAAQA,OAAwB;AAC9C,QAAO,SAAS,KAAK,MAAM;AAC5B;;AAGD,SAAgB,cAAcC,SAAiBC,cAA4C;AACzF,MAAK,MAAM,WAAW,aACpB,KAAI,QAAQ,QAAQ,CAAC,QAAQ,CAC3B,QAAO;AAGZ;;AAGD,SAAgB,UAAUC,OAAuB;AAC/C,QAAO,MAAM,QAAQ,mBAAmB,OAAO;AAChD;;AAGD,SAAgB,WAAWA,OAAuB;AAEhD,KAAI,MAAM,SAAS,IAAI,CACrB,OAAM,IAAI,MACR;CAGJ,MAAM,QAAQ,MAAM,MAAM,SAAS;AACnC,MAAK,MACH,QAAO;AAET,QAAO,MAAM,MAAM,MAAM;AAC1B;;AAGD,SAAgB,QAAQC,IAA+C;CACrE,MAAM,iBAAiB,GAAG,YAAY,IAAI;AAC1C,KAAI,mBAAmB,GACrB,QAAO,EAAE,OAAO,GAAI;AAEtB,QAAO;EACL,OAAO,GAAG,UAAU,iBAAiB,EAAE;EACvC,OAAO,GAAG,UAAU,GAAG,eAAe;CACvC;AACF;;;;;AC1CD,SAAgB,wBAAwBC,OAAgB,EAAE,OAA+B,EAAE;AACzF,KAAI,OAAO;AACT,aAAY,UAAU,mBAAmB,UAAU,YAAa,MAAM,QAAQ,MAAM,CAClF,OAAM,IAAI,MACR,CAAC,4DAA4D,EAAE,MAAM,QAAQ,MAAM,GAAG,iBAAiB,OAAO;AAGlH,UAAQ,OAAR;GACE,KAAK,cAAc;AACjB,eAAW,UAAU,SACnB,OAAM,IAAI,MAAM;AAElB;GACD;EACF;CACF;AACF"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/id.ts","../src/transform.ts"],"sourcesContent":["import wcmatch from 'wildcard-match';\n\nconst ALIAS_RE = /^\\{([^}]+)\\}$/;\n\n/** Is this token an alias of another? */\nexport function isAlias(value: string): boolean {\n return ALIAS_RE.test(value);\n}\n\n/** Same as isTokenMatch but returns the matching pattern */\nexport function getTokenMatch(tokenId: string, globPatterns: string[]): string | undefined {\n for (const pattern of globPatterns) {\n if (wcmatch(pattern)(tokenId)) {\n return pattern;\n }\n }\n}\n\n/** Make an alias */\nexport function makeAlias(input: string): string {\n return input.replace(/^\\{?([^}]+)\\}?$/, '{$1}');\n}\n\n/** Parse an alias */\nexport function parseAlias(input: string): string {\n // TODO: deprecate in future\n if (input.includes('#')) {\n throw new Error(\n 'Mode aliases (# character) are no longer supported as of v0.6.0. Alias the root token instead, and apply modes in plugins.',\n );\n }\n const match = input.match(ALIAS_RE);\n if (!match) {\n return input;\n }\n return match[1] ?? match[0];\n}\n\n/** split a token ID into a local ID and group ID */\nexport function splitID(id: string): { local: string; group?: string } {\n const lastSeparatorI = id.lastIndexOf('.');\n if (lastSeparatorI === -1) {\n return { local: id };\n }\n return {\n local: id.substring(lastSeparatorI + 1),\n group: id.substring(0, lastSeparatorI),\n };\n}\n","export interface CustomTransformOptions {\n /** Token $type */\n $type: string;\n}\n\n/** Give a user pertinent feedback if they override a transform incorrectly */\nexport function validateCustomTransform(value: unknown, { $type }: CustomTransformOptions) {\n if (value) {\n if ((typeof value !== 'string' && typeof value !== 'object') || Array.isArray(value)) {\n throw new Error(\n `transform(): expected string or Object of strings, received ${Array.isArray(value) ? 'Array' : typeof value}`,\n );\n }\n switch ($type) {\n case 'typography': {\n if (typeof value !== 'object') {\n throw new Error('transform(): typography tokens must be an object of keys');\n }\n break;\n }\n }\n }\n}\n"],"mappings":";;;;AAEA,MAAM,WAAW;;AAGjB,SAAgB,QAAQ,OAAwB;AAC9C,QAAO,SAAS,KAAK,MAAM;;;AAI7B,SAAgB,cAAc,SAAiB,cAA4C;AACzF,MAAK,MAAM,WAAW,aACpB,KAAI,QAAQ,QAAQ,CAAC,QAAQ,CAC3B,QAAO;;;AAMb,SAAgB,UAAU,OAAuB;AAC/C,QAAO,MAAM,QAAQ,mBAAmB,OAAO;;;AAIjD,SAAgB,WAAW,OAAuB;AAEhD,KAAI,MAAM,SAAS,IAAI,CACrB,OAAM,IAAI,MACR,6HACD;CAEH,MAAM,QAAQ,MAAM,MAAM,SAAS;AACnC,KAAI,CAAC,MACH,QAAO;AAET,QAAO,MAAM,MAAM,MAAM;;;AAI3B,SAAgB,QAAQ,IAA+C;CACrE,MAAM,iBAAiB,GAAG,YAAY,IAAI;AAC1C,KAAI,mBAAmB,GACrB,QAAO,EAAE,OAAO,IAAI;AAEtB,QAAO;EACL,OAAO,GAAG,UAAU,iBAAiB,EAAE;EACvC,OAAO,GAAG,UAAU,GAAG,eAAe;EACvC;;;;;;ACzCH,SAAgB,wBAAwB,OAAgB,EAAE,SAAiC;AACzF,KAAI,OAAO;AACT,MAAK,OAAO,UAAU,YAAY,OAAO,UAAU,YAAa,MAAM,QAAQ,MAAM,CAClF,OAAM,IAAI,MACR,+DAA+D,MAAM,QAAQ,MAAM,GAAG,UAAU,OAAO,QACxG;AAEH,UAAQ,OAAR;GACE,KAAK;AACH,QAAI,OAAO,UAAU,SACnB,OAAM,IAAI,MAAM,2DAA2D;AAE7E"}
package/dist/js.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { TokenNormalized } from "./types-BOWDcBsq.js";
1
+ import { ct as TokenNormalized } from "./types-DAuPY3qE.js";
2
2
 
3
3
  //#region src/js/index.d.ts
4
4
  interface TransformJSValueOptions {
@@ -16,8 +16,6 @@ declare function transformJSValue<T extends TokenNormalized>(token: T, {
16
16
  indent,
17
17
  startingIndent
18
18
  }: TransformJSValueOptions): string | undefined;
19
- //# sourceMappingURL=index.d.ts.map
20
-
21
19
  //#endregion
22
20
  export { TransformJSValueOptions, transformJSValue };
23
21
  //# sourceMappingURL=js.d.ts.map
package/dist/js.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"js.d.ts","names":[],"sources":["../src/js/index.ts"],"sourcesContent":[],"mappings":";;;UAEiB,uBAAA;;EAAA;EAWD,MAAA,CAAA,EAAA,MAAA;EAAgB;EAAA,cAAW,CAAA,EAAA,MAAA;;;;;AAEC,iBAF5B,gBAE4B,CAAA,UAFD,eAEC,CAAA,CAAA,KAAA,EADnC,CACmC,EAAA;EAAA,IAAA;EAAA,MAAA;EAAA;AAAA,CAAA,EAAA,uBAAA,CAAA,EAAA,MAAA,GAAA,SAAA;AAAuB"}
1
+ {"version":3,"file":"js.d.ts","names":[],"sources":["../src/js/index.ts"],"sourcesContent":[],"mappings":";;;UAEiB,uBAAA;;EAAA;EAWD,MAAA,CAAA,EAAA,MAAA;EAA2B;EAClC,cAAA,CAAA,EAAA,MAAA;;;;;AAC0D,iBAFnD,gBAEmD,CAAA,UAFxB,eAEwB,CAAA,CAAA,KAAA,EAD1D,CAC0D,EAAA;EAAA,IAAA;EAAA,MAAA;EAAA;AAAA,CAAA,EAAvB,uBAAuB,CAAA,EAAA,MAAA,GAAA,SAAA"}
package/dist/js.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"js.js","names":["token: T"],"sources":["../src/js/index.ts"],"sourcesContent":["import type { TokenNormalized } from '../types.js';\n\nexport interface TransformJSValueOptions {\n mode: string;\n /** indent space count */\n indent?: number;\n /** initial indent level */\n startingIndent?: number;\n}\n\n/**\n * Convert token value to a JS string via acorn/astring.\n */\nexport function transformJSValue<T extends TokenNormalized>(\n token: T,\n { mode, indent = 2, startingIndent = 0 }: TransformJSValueOptions,\n) {\n if (!(mode in token.mode)) {\n return;\n }\n const indentStart = startingIndent > 0 ? ' '.repeat(startingIndent ?? 2) : '';\n\n // note: since tokens are JSON-serializable to begin with, using\n // JSON.stringify generates the same output as an AST parser/generator would\n // but faster and without the added overhead (even acorn/astring leave object\n // keys quoted).\n\n // TODO: use @biomejs/js-api when it’s stable for pretty formatting\n\n return JSON.stringify(token.mode[mode]!.$value, undefined, indent).replace(/\\n/g, `\\n${indentStart}`);\n}\n"],"mappings":";;;;AAaA,SAAgB,iBACdA,OACA,EAAE,MAAM,SAAS,GAAG,iBAAiB,GAA4B,EACjE;AACA,OAAM,QAAQ,MAAM,MAClB;CAEF,MAAM,cAAc,iBAAiB,IAAI,IAAI,OAAO,kBAAkB,EAAE,GAAG;AAS3E,QAAO,KAAK,UAAU,MAAM,KAAK,MAAO,gBAAmB,OAAO,CAAC,QAAQ,OAAO,CAAC,EAAE,EAAE,aAAa,CAAC;AACtG"}
1
+ {"version":3,"file":"js.js","names":[],"sources":["../src/js/index.ts"],"sourcesContent":["import type { TokenNormalized } from '../types.js';\n\nexport interface TransformJSValueOptions {\n mode: string;\n /** indent space count */\n indent?: number;\n /** initial indent level */\n startingIndent?: number;\n}\n\n/**\n * Convert token value to a JS string via acorn/astring.\n */\nexport function transformJSValue<T extends TokenNormalized>(\n token: T,\n { mode, indent = 2, startingIndent = 0 }: TransformJSValueOptions,\n) {\n if (!(mode in token.mode)) {\n return;\n }\n const indentStart = startingIndent > 0 ? ' '.repeat(startingIndent ?? 2) : '';\n\n // note: since tokens are JSON-serializable to begin with, using\n // JSON.stringify generates the same output as an AST parser/generator would\n // but faster and without the added overhead (even acorn/astring leave object\n // keys quoted).\n\n // TODO: use @biomejs/js-api when it’s stable for pretty formatting\n\n return JSON.stringify(token.mode[mode]!.$value, undefined, indent).replace(/\\n/g, `\\n${indentStart}`);\n}\n"],"mappings":";;;;AAaA,SAAgB,iBACd,OACA,EAAE,MAAM,SAAS,GAAG,iBAAiB,KACrC;AACA,KAAI,EAAE,QAAQ,MAAM,MAClB;CAEF,MAAM,cAAc,iBAAiB,IAAI,IAAI,OAAO,kBAAkB,EAAE,GAAG;AAS3E,QAAO,KAAK,UAAU,MAAM,KAAK,MAAO,QAAQ,QAAW,OAAO,CAAC,QAAQ,OAAO,KAAK,cAAc"}
@@ -57,14 +57,13 @@ function parseColor(color) {
57
57
  case "p3":
58
58
  case "prophoto":
59
59
  case "lrgb":
60
- case "rgb": {
60
+ case "rgb":
61
61
  components = [
62
62
  result.r,
63
63
  result.g,
64
64
  result.b
65
65
  ];
66
66
  break;
67
- }
68
67
  case "hsl": {
69
68
  const maxS = COLORSPACE[colorSpace].ranges[1]?.[1] ?? 1;
70
69
  const maxL = COLORSPACE[colorSpace].ranges[2]?.[1] ?? 1;
@@ -87,40 +86,36 @@ function parseColor(color) {
87
86
  }
88
87
  case "lab":
89
88
  case "lab65":
90
- case "oklab": {
89
+ case "oklab":
91
90
  components = [
92
91
  result.l,
93
92
  result.a,
94
93
  result.b
95
94
  ];
96
95
  break;
97
- }
98
96
  case "lch":
99
- case "oklch": {
97
+ case "oklch":
100
98
  components = [
101
99
  result.l,
102
100
  result.c,
103
101
  result.h ?? 0
104
102
  ];
105
103
  break;
106
- }
107
- case "okhsv": {
104
+ case "okhsv":
108
105
  components = [
109
106
  result.h ?? 0,
110
107
  result.s,
111
108
  result.v
112
109
  ];
113
110
  break;
114
- }
115
111
  case "xyz50":
116
- case "xyz65": {
112
+ case "xyz65":
117
113
  components = [
118
114
  result.x,
119
115
  result.y,
120
116
  result.z
121
117
  ];
122
118
  break;
123
- }
124
119
  }
125
120
  const value = {
126
121
  colorSpace,
@@ -176,9 +171,8 @@ function tokenToCulori(value) {
176
171
  case "lab-d65":
177
172
  case "oklab": {
178
173
  const [l, a, b] = value.components;
179
- const mode = value.colorSpace === "lab-d65" ? "lab65" : value.colorSpace;
180
174
  return {
181
- mode,
175
+ mode: value.colorSpace === "lab-d65" ? "lab65" : value.colorSpace,
182
176
  l,
183
177
  a,
184
178
  b,
@@ -350,5 +344,5 @@ function kebabCase(str) {
350
344
  }
351
345
 
352
346
  //#endregion
353
- export { COLORSPACE, CSS_TO_CULORI, CULORI_TO_CSS, kebabCase, padStr, parseColor, pluralize, tokenToCulori };
354
- //# sourceMappingURL=string-BwN3ybNv.js.map
347
+ export { CSS_TO_CULORI as a, tokenToCulori as c, COLORSPACE as i, padStr as n, CULORI_TO_CSS as o, pluralize as r, parseColor as s, kebabCase as t };
348
+ //# sourceMappingURL=string-DEXitV6J.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-DEXitV6J.js","names":["CULORI_TO_CSS: Record<\n Extract<\n Color['mode'],\n | 'a98'\n | 'lab'\n | 'lab65'\n | 'lch'\n | 'oklab'\n | 'oklch'\n | 'okhsv'\n | 'hsl'\n | 'hwb'\n | 'lrgb'\n | 'p3'\n | 'prophoto'\n | 'rec2020'\n | 'rgb'\n | 'xyz50'\n | 'xyz65'\n >,\n ColorSpace\n>","components: [number, number, number]","value: ColorValueNormalized","COLORSPACE: Record<ColorSpace, ColorSpaceDefinition>"],"sources":["../src/color.ts","../src/string.ts"],"sourcesContent":["import 'culori/css';\nimport { type Color, formatHex, parse } from 'culori/fn';\nimport type { ColorSpace, ColorValueNormalized } from './types.js';\n\nconst HEX_RE = /^#?([0-9a-f]{8}|[0-9a-f]{6}|[0-9a-f]{4}|[0-9a-f]{3})$/i;\n\nexport const CULORI_TO_CSS: Record<\n Extract<\n Color['mode'],\n | 'a98'\n | 'lab'\n | 'lab65'\n | 'lch'\n | 'oklab'\n | 'oklch'\n | 'okhsv'\n | 'hsl'\n | 'hwb'\n | 'lrgb'\n | 'p3'\n | 'prophoto'\n | 'rec2020'\n | 'rgb'\n | 'xyz50'\n | 'xyz65'\n >,\n ColorSpace\n> = {\n a98: 'a98-rgb',\n hsl: 'hsl',\n hwb: 'hwb',\n lab: 'lab',\n lab65: 'lab-d65',\n lch: 'lch',\n lrgb: 'srgb-linear',\n oklab: 'oklab',\n oklch: 'oklch',\n okhsv: 'okhsv',\n p3: 'display-p3',\n prophoto: 'prophoto-rgb',\n rec2020: 'rec2020',\n rgb: 'srgb',\n xyz50: 'xyz-d50',\n xyz65: 'xyz-d65',\n} as const;\n\nexport const CSS_TO_CULORI = {\n 'a98-rgb': 'a98',\n 'display-p3': 'p3',\n hsl: 'hsl',\n hwb: 'hwb',\n lab: 'lab',\n 'lab-d65': 'lab65',\n lch: 'lch',\n oklab: 'oklab',\n oklch: 'oklch',\n okhsv: 'okhsv',\n 'prophoto-rgb': 'prophoto',\n rec2020: 'rec2020',\n srgb: 'rgb',\n 'srgb-linear': 'lrgb',\n xyz: 'xyz65',\n 'xyz-d50': 'xyz50',\n 'xyz-d65': 'xyz65',\n} as const;\n\n/** Parse any color */\nexport function parseColor(color: string): ColorValueNormalized {\n const result = parse(color);\n if (!result) {\n throw new Error(`Unable to parse color \"${color}\"`);\n }\n if (!(result.mode in CULORI_TO_CSS)) {\n throw new Error(`Unsupported color space: ${result.mode}`);\n }\n const colorSpace = CULORI_TO_CSS[result.mode as keyof typeof CULORI_TO_CSS]!;\n let components: [number, number, number] = [0, 0, 0];\n switch (result.mode) {\n case 'a98':\n case 'rec2020':\n case 'p3':\n case 'prophoto':\n case 'lrgb':\n case 'rgb': {\n components = [result.r, result.g, result.b];\n break;\n }\n case 'hsl': {\n const maxS = COLORSPACE[colorSpace].ranges[1]?.[1] ?? 1.0;\n const maxL = COLORSPACE[colorSpace].ranges[2]?.[1] ?? 1.0;\n components = [result.h ?? 0, result.s * maxS, result.l * maxL];\n break;\n }\n case 'hwb': {\n const maxW = COLORSPACE[colorSpace].ranges[1]?.[1] ?? 1.0;\n const maxB = COLORSPACE[colorSpace].ranges[2]?.[1] ?? 1.0;\n components = [result.h ?? 0, result.w * maxW, result.b * maxB];\n break;\n }\n case 'lab':\n case 'lab65':\n case 'oklab': {\n components = [result.l, result.a, result.b];\n break;\n }\n case 'lch':\n case 'oklch': {\n components = [result.l, result.c, result.h ?? 0];\n break;\n }\n case 'okhsv': {\n components = [result.h ?? 0, result.s, result.v];\n break;\n }\n case 'xyz50':\n case 'xyz65': {\n components = [result.x, result.y, result.z];\n break;\n }\n }\n const value: ColorValueNormalized = {\n colorSpace,\n components,\n alpha: result.alpha ?? 1,\n };\n if (HEX_RE.test(color)) {\n // Note: this intentionally does NOT include alpha; it’s already in alpha.\n // Always use formatHex (not formatHex8).\n value.hex = formatHex(result);\n }\n return value;\n}\n\n/** Convert a color token to a Culori color */\nexport function tokenToCulori(value: ColorValueNormalized): Color | undefined {\n switch (value.colorSpace) {\n case 'a98-rgb':\n case 'display-p3':\n case 'prophoto-rgb':\n case 'rec2020':\n case 'srgb':\n case 'srgb-linear': {\n const [r, g, b] = value.components;\n return {\n mode: CSS_TO_CULORI[value.colorSpace] || value.colorSpace,\n r,\n g,\n b,\n alpha: value.alpha,\n } as Color;\n }\n case 'hsl': {\n const [h, s, l] = value.components;\n const maxS = COLORSPACE[value.colorSpace].ranges[1]?.[1] ?? 1;\n const maxL = COLORSPACE[value.colorSpace].ranges[2]?.[1] ?? 1;\n return { mode: 'hsl', h, s: s / maxS, l: l / maxL, alpha: value.alpha };\n }\n case 'hwb': {\n const [h, w, b] = value.components;\n const maxW = COLORSPACE[value.colorSpace].ranges[1]?.[1] ?? 1;\n const maxB = COLORSPACE[value.colorSpace].ranges[2]?.[1] ?? 1;\n return { mode: 'hwb', h, w: w / maxW, b: b / maxB, alpha: value.alpha };\n }\n case 'lab':\n case 'lab-d65':\n case 'oklab': {\n const [l, a, b] = value.components;\n const mode = value.colorSpace === 'lab-d65' ? 'lab65' : value.colorSpace;\n return { mode, l, a, b, alpha: value.alpha };\n }\n case 'lch':\n case 'oklch': {\n const [l, c, h] = value.components;\n return { mode: value.colorSpace, l, c, h, alpha: value.alpha };\n }\n case 'okhsv': {\n const [h, s, v] = value.components;\n return { mode: value.colorSpace, h, s, v, alpha: value.alpha };\n }\n case 'xyz':\n case 'xyz-d50':\n case 'xyz-d65': {\n const [x, y, z] = value.components;\n return { mode: CSS_TO_CULORI[value.colorSpace], x, y, z, alpha: value.alpha };\n }\n default: {\n throw new Error(\n `Invalid colorSpace \"${value.colorSpace}\". Expected one of ${Object.keys(CSS_TO_CULORI).join(', ')}`,\n );\n }\n }\n}\n\nexport interface ColorSpaceDefinition {\n ranges: [min: number, max: number][];\n}\n\n/** Complete list of CSS Module 4 Colorspaces */\nexport const COLORSPACE: Record<ColorSpace, ColorSpaceDefinition> = {\n 'a98-rgb': {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n 'display-p3': {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n hsl: {\n ranges: [\n [0.0, 360.0],\n [0.0, 100.0],\n [0.0, 100.0],\n ],\n },\n hwb: {\n ranges: [\n [0.0, 360.0],\n [0.0, 100.0],\n [0.0, 100.0],\n ],\n },\n lab: {\n ranges: [\n [0.0, 100.0],\n [-125.0, 125.0],\n [-125.0, 125.0],\n ],\n },\n 'lab-d65': {\n ranges: [\n [0.0, 100.0],\n [-125.0, 125.0],\n [-125.0, 125.0],\n ],\n },\n lch: {\n ranges: [\n [0.0, 100.0],\n [0, 150.0],\n [0.0, 360.0],\n ],\n },\n oklab: {\n ranges: [\n [0.0, 1.0],\n [-0.4, 0.4],\n [-0.4, 0.4],\n ],\n },\n oklch: {\n ranges: [\n [0.0, 1.0],\n [0.0, 0.4],\n [0.0, 360.0],\n ],\n },\n okhsv: {\n ranges: [\n [0.0, 360.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n 'prophoto-rgb': {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n rec2020: {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n srgb: {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n 'srgb-linear': {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n 'xyz-d50': {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n xyz: {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n 'xyz-d65': {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n};\n","/** Pad string lengths */\nexport function padStr(input: string, length: number, alignment: 'left' | 'center' | 'right' = 'left'): string {\n const d =\n Math.min(length || 0, 1000) - // guard against NaNs and Infinity\n input.length;\n if (d > 0) {\n switch (alignment) {\n case 'left': {\n return `${input}${' '.repeat(d)}`;\n }\n case 'right': {\n return `${' '.repeat(d)}${input}`;\n }\n case 'center': {\n const left = Math.floor(d / 2);\n const right = d - left;\n return `${' '.repeat(left)}${input}${' '.repeat(right)}`;\n }\n }\n }\n return input;\n}\n\n/** Pluralize strings */\nexport function pluralize<T = string>(count: number, singular: T, plural: T): T {\n return count === 1 ? singular : plural;\n}\n\n/** Turn a string into kebab-case */\nexport function kebabCase(str: string): string {\n let output = '';\n for (const c of str.split('')) {\n if (c === '.') {\n output += '-';\n continue;\n }\n let isFirstUppercase = true;\n if (isFirstUppercase && /\\p{Uppercase_Letter}/u.test(c)) {\n output += `-${c.toLocaleLowerCase()}`;\n isFirstUppercase = false; // don’t break apart multiple consecutive uppercase letters\n continue;\n } else {\n isFirstUppercase = true; // reset\n }\n\n output += c;\n }\n return output;\n}\n"],"mappings":"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"}
@@ -396,8 +396,6 @@ interface TypographyValueNormalized {
396
396
  textTransform?: string;
397
397
  [key: string]: unknown;
398
398
  }
399
- //# sourceMappingURL=types.d.ts.map
400
-
401
399
  //#endregion
402
- export { AliasToken, AliasValue, BooleanToken, BooleanTokenNormalized, BooleanValue, BorderToken, BorderTokenNormalized, BorderValue, BorderValueNormalized, ColorSpace, ColorToken, ColorTokenNormalized, ColorValue, ColorValueNormalized, CubicBezierToken, CubicBezierTokenNormalized, CubicBezierValue, DimensionToken, DimensionTokenNormalized, DimensionValue, DurationToken, DurationTokenNormalized, DurationValue, FontFamilyToken, FontFamilyTokenNormalized, FontFamilyValue, FontFamilyValueNormalized, FontWeightToken, FontWeightTokenNormalized, FontWeightValue, FontWeightValueNormalized, GradientStop, GradientStopNormalized, GradientToken, GradientTokenNormalized, GradientValue, GradientValueNormalized, Group, GroupCore, GroupOrToken, LinkToken, LinkTokenNormalized, LinkValue, ModeMap, NumberToken, NumberTokenNormalized, NumberValue, ShadowToken, ShadowTokenNormalized, ShadowValue, ShadowValueNormalized, StringToken, StringTokenNormalized, StringValue, StrokeStyleToken, StrokeStyleTokenNormalized, StrokeStyleValue, StrokeStyleValueExpanded, Token, TokenCore, TokenMode, TokenNormalized, TokenNormalizedCore, TokenNormalizedSet, TokensSet, TransitionToken, TransitionTokenNormalized, TransitionValue, TransitionValueNormalized, TypographyToken, TypographyTokenNormalized, TypographyValue, TypographyValueNormalized };
403
- //# sourceMappingURL=types-BOWDcBsq.d.ts.map
400
+ export { StringTokenNormalized as $, FontWeightValue as A, GroupOrToken as B, DurationValue as C, FontFamilyValueNormalized as D, FontFamilyValue as E, GradientTokenNormalized as F, NumberToken as G, LinkTokenNormalized as H, GradientValue as I, ShadowToken as J, NumberTokenNormalized as K, GradientValueNormalized as L, GradientStop as M, GradientStopNormalized as N, FontWeightToken as O, GradientToken as P, StringToken as Q, Group as R, DurationTokenNormalized as S, FontFamilyTokenNormalized as T, LinkValue as U, LinkToken as V, ModeMap as W, ShadowValue as X, ShadowTokenNormalized as Y, ShadowValueNormalized as Z, CubicBezierValue as _, TypographyTokenNormalized as _t, BooleanValue as a, Token as at, DimensionValue as b, BorderValue as c, TokenNormalized as ct, ColorToken as d, TokensSet as dt, StringValue as et, ColorTokenNormalized as f, TransitionToken as ft, CubicBezierTokenNormalized as g, TypographyToken as gt, CubicBezierToken as h, TransitionValueNormalized as ht, BooleanTokenNormalized as i, StrokeStyleValueExpanded as it, FontWeightValueNormalized as j, FontWeightTokenNormalized as k, BorderValueNormalized as l, TokenNormalizedCore as lt, ColorValueNormalized as m, TransitionValue as mt, AliasValue as n, StrokeStyleTokenNormalized as nt, BorderToken as o, TokenCore as ot, ColorValue as p, TransitionTokenNormalized as pt, NumberValue as q, BooleanToken as r, StrokeStyleValue as rt, BorderTokenNormalized as s, TokenMode as st, AliasToken as t, StrokeStyleToken as tt, ColorSpace as u, TokenNormalizedSet as ut, DimensionToken as v, TypographyValue as vt, FontFamilyToken as w, DurationToken as x, DimensionTokenNormalized as y, TypographyValueNormalized as yt, GroupCore as z };
401
+ //# sourceMappingURL=types-DAuPY3qE.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-DAuPY3qE.d.ts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":";;;UAEiB,yBAAyB;;EAAzB,WAAA,CAAS,EAAA,MAAA,GAAA,OAAgB;EAM9B,WAAK,CAAA,EAHD,CAGC;;AAEb,KAFQ,KAAA,GACR,YACA,GAAA,WAAA,GACA,UADA,GAEA,gBAFA,GAGA,cAHA,GAIA,aAJA,GAKA,eALA,GAMA,eANA,GAOA,aAPA,GAQA,SARA,GASA,WATA,GAUA,WAVA,GAWA,WAXA,GAYA,eAZA,GAaA,eAbA,GAcA,gBAdA;AACA,KAeQ,SAAA,GAAY,MAfpB,CAAA,MAAA,EAemC,KAfnC,CAAA;AACA,KAiBQ,UAAA,GAjBR,MAAA;AACA,UAkBa,UAAA,SAAmB,SAlBhC,CAAA;EACA,KAAA,CAAA,EAAA,KAAA;EACA,MAAA,EAkBM,UAlBN;;;;;AAKA,UAmBa,YAAA,SAAqB,SAnBlC,CAAA;EACA,KAAA,EAAA,SAAA;EACA,MAAA,EAmBM,YAnBN,GAmBqB,UAnBrB;;AAEA,KAoBQ,YAAA,GApBR,OAAA;;AAEJ;AAGA;AAEiB,UAkBA,WAAA,SAAoB,SAlBD,CAAA;EAQnB,KAAA,EAAA,QAAa;EAEpB,MAAA,EAUA,WAVA,GAUc,UAVd;;AAF4B,UAerB,WAAA,CAfqB;EAAS,KAAA,EAgBtC,UAhBsC,GAgBzB,UAhByB;EAKnC,KAAA,EAYH,cAZe,GAYE,UAZF;EAKP,KAAA,EAQR,gBARoB,GAQD,UARC;;;;;AAKZ,UASA,UAAA,SAAmB,SATR,CAAA;EACnB,KAAA,EAAA,OAAA;EAAa,MAAA,EAUZ,UAVY,GAUC,UAVD;;AACI,KAYd,UAAA,GAZc,MAAA,GAAA;EACjB,UAAA,EAcS,UAdT;EAAmB,QAAA,CAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA;EAAU,UAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA;EAMrB,KAAA,CAAA,EAAA,MAAW;EAElB,GAAA,CAAA,EAAA,MAAA;CAAa;AAFa,UAgBnB,gBAAA,SAAyB,SAhBN,CAAA;EAAS,KAAA,EAAA,aAAA;EAKjC,MAAA,EAaF,gBAbY,GAaO,UAVD;AAQ5B;AAEU,KAGE,gBAAA,GAHF,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA;;;;AAGE,UAKK,cAAA,SAAuB,SALZ,CAAA;EAKX,KAAA,EAAA,WAAe;EAEtB,MAAA,EAAA,cAAA,GAAiB,UAAjB;;AAF8B,UAKvB,cAAA,CALuB;EAAS,KAAA,EAAA,MAAA;EAKhC,IAAA,EAAA,IAAA,GAAA,IAAc,GAAA,KAAA;AAQ/B;;;;AAAgD,UAA/B,aAAA,SAAsB,SAAS,CAAA;EAK/B,KAAA,EAAA,UAAa;EAQb,MAAA,EAXP,aAWqB,GAXL,UAWK;;AAEL,UAVT,aAAA,CAUS;EAFa,KAAA,EAAA,MAAA;EAAS,IAAA,EAAA,IAAA,GAAA,GAAA;AAKhD;AAEA;;;AAEY,UATK,aAAA,SAAsB,SAS3B,CAAA;EAAc,KAAA,EAAA,UAAA;EAAU,MAAA,EAP1B,aAO0B,GAPV,UAOU;AAMpC;AAEU,KAZE,aAAA,GAAgB,YAYlB,EAAA;AAAkB,UAVX,YAAA,CAUW;EAFa,KAAA,EAPhC,UAOgC,GAPnB,UAOmB;EAAS,QAAA,EANtC,WAMsC,GANxB,UAMwB;AAKlD;AAKA;;;AAAyC,UAVxB,eAAA,SAAwB,SAUA,CAAA;EAAS,KAAA,EAAA,YAAA;EAKtC,MAAA,EAbF,eAaiB,GAbC,UAaD;AAwB3B;AAEU,KApCE,eAAA,GAoCF,MAAA,GAAA,MAAA,EAAA;;;;AAGE,UAlCK,eAAA,SAAwB,SAkCpB,CAAA;EAKJ,KAAA,EAAA,YAAY;EAEnB,MAAA,EAvCA,eAuCA,GAvCkB,UAuClB;;AAF2B,KAlCzB,eAAA,GAkCyB,MAAA,GAAA,UAAA,GAAA,aAAA,GAAA,aAAA,GAAA,OAAA,GAAA,QAAA,GAAA,SAAA,GAAA,MAAA,GAAA,QAAA,GAAA,WAAA,GAAA,WAAA,GAAA,MAAA,GAAA,YAAA,GAAA,YAAA,GAAA,OAAA,GAAA,OAAA,GAAA,aAAA,GAAA,aAAA,GAAA,MAAA;;AAKrC;AAKA;AAEU,UAtBO,SAAA,SAAkB,SAsBzB,CAAA;EAAc,KAAA,EAAA,MAAA;EAFa,MAAA,EAlB3B,SAkB2B,GAlBf,UAkBe;;AAKzB,KApBA,SAAA,GAoBW,MAAA;AAKvB;;;AAA0C,UApBzB,WAAA,SAAoB,SAoBK,CAAA;EAAS,KAAA,EAAA,QAAA;EAKvC,MAAA,EAvBF,WAuBkB,GAvBJ,UAgCpB;AAEJ;AAQiB,KAvCL,WAAA,GAuCiB,MAAA;;;;AAAQ,UAlCpB,WAAA,SAAoB,SAkCA,CAAA;EAAS,KAAA,EAAA,QAAA;EAK7B,MAAA,EArCP,WAqCkB,GArCJ,UAqCI;;AACN,KAnCV,WAAA,GAmCU,MAAA;;;;AAEM,UAhCX,gBAAA,SAAyB,SAgCd,CAAA;EACnB,KAAA,EAAA,aAAA;EAAiB,MAAA,EA/BhB,gBA+BgB,GA/BG,UA+BH;;AACE,KA7BhB,gBAAA,GA6BgB,OAAA,GAAA,QAAA,GAAA,QAAA,GAAA,QAAA,GAAA,QAAA,GAAA,OAAA,GAAA,QAAA,GAAA,OAAA,GApBxB,wBAoBwB;AAAU,UAlBrB,wBAAA,CAkBqB;EAOrB,SAAA,EAAA,CAxBH,cAwBmB,GAxBF,UAwBE,CAAA,EAAA;EAEvB,OAAA,EAAA,OAAA,GAAA,MAAA,GAAA,QAAA;;;;AAGV;AACY,UAvBK,WAAA,SAAoB,SAuBzB,CAAA;EAAgB,KAAA,EAAA,QAAA;EACnB,MAAA,EAtBC,WAsBD,GAtBe,WAsBf,EAAA,GAtB+B,UAsB/B;;AACS,UApBD,WAAA,CAoBC;EAAmB,KAAA,EAnB5B,UAmB4B,GAnBf,UAmBe;EAAU,OAAA,EAlBpC,cAkBoC,GAlBnB,UAkBmB;EAM9B,OAAA,EAvBN,cAuBsB,GAvBL,UAuBK;EAEvB,IAAA,CAAA,EAxBD,cAwBC,GAxBgB,UAwBhB;EAAkB,MAAA,CAAA,EAvBjB,cAuBiB,GAvBA,UAuBA;EAFa,KAAA,CAAA,EAAA,OAAA;;AAKzC;;;AAEa,UArBI,eAAA,SAAwB,SAqB5B,CAAA;EAAiB,KAAA,EAAA,YAAA;EAWf,MAAA,EA9BL,eA8BK,GA9Ba,UA8Bb;;AACG,UA5BD,eAAA,CA4BC;EAAiB,QAAA,EA3BvB,aA2BuB,GA3BP,UA2BO;EACpB,KAAA,EA3BN,aA2BM,GA3BU,UA2BV;EAAiB,cAAA,EA1Bd,gBA0Bc,GA1BK,UA0BL;;;AAMhC;AAMA;AAAoB,UAhCH,eAAA,SAAwB,SAgCrB,CAAA;EAA6B,KAAA,EAAA,YAAA;EAAe,MAAA,EA9BtD,eA8BsD,GA9BpC,UA8BoC;;AAEpD,UA7BK,eAAA,CA6BU;EAGf,UAAA,CAAA,EA/BG,eA+BM,GA/BY,UA+BZ;EAAW,QAAA,CAAA,EA9BnB,cA8BmB,GA9BF,UA8BE;EAC9B,SAAA,CAAA,EAAA,MAAA;EADiD,WAAA,CAAA,EAAA,MAAA;EAIlC,uBAAA,CAAA,EAAA,MAAA;EAAC,eAAA,CAAA,EAAA,MAAA;EAGN,oBAAO,CAAA,EAAA,MAAA;EAAW,gBAAA,CAAA,EAAA,MAAA;EACb,oBAAA,CAAA,EAAA,MAAA;EAAV,kBAAA,CAAA,EAAA,MAAA;EACqB,mBAAA,CAAA,EAAA,MAAA;EAAV,qBAAA,CAAA,EAAA,MAAA;EAAS,UAAA,CAAA,EA5BZ,eA4BY,GA5BM,UA4BN;EAGV,aAAA,CAAA,EA9BC,cA8BkB,GA9BD,UA8BC;EAAe,UAAA,CAAA,EA7BpC,cA6BoC,GA7BnB,WA6BmB,GA7BL,UA6BK;EAC1C,cAAA,CAAA,EAAA,MAAA;EAEO,aAAA,CAAA,EAAA,MAAA;EAKN,CAAA,GAAA,EAAA,MAAA,CAAA,EAAA,OAAA;;AAWE,UA1CK,SAAA,CA0CL;EAAK,YAAA,CAAA,EAAA,MAAA;EAOL,KAAA,CAAA,EA/CF,KA+CE,CAAA,OAAe,CAAA;EACvB,WAAA,CAAA,EA/CY,MA+CZ,CAAA,MAAA,EAAA,OAAA,CAAA;;AAEA,KA9CQ,KAAA,GAAQ,SA8ChB,GAAA;EACA,CAAA,GAAA,EAAA,MAAA,CAAA,EA/C6C,YA+C7C,GA/C4D,SA+C5D;CACA;AACA,KA/CQ,YAAA,GAAe,KA+CvB,GA/C+B,KA+C/B;;AAEA,KA9CQ,SA8CR,CAAA,UA9C4B,eA8C5B,CAAA,GA9C+C,IA8C/C,CA7CF,CA6CE,EAAA,QAAA,GAAA,SAAA,GAAA,YAAA,GAAA,gBAAA,GAAA,QAAA,CAAA,GAAA;EACA,aAAA,EA3Ca,CA2Cb,CAAA,eAAA,CAAA,CAAA,QAAA,CAAA;CACA;AACA,KA1CQ,OA0CR,CAAA,UA1C0B,eA0C1B,CAAA,GAAA;EACA,GAAA,EA1CG,SA0CH,CA1Ca,CA0Cb,CAAA;EACA,CAAA,IAAA,EAAA,MAAA,CAAA,EA1Cc,SA0Cd,CA1CwB,CA0CxB,CAAA,GAAA,SAAA;CACA;AACA,UAzCa,mBAyCb,CAAA,cAzC+C,KAyC/C,CAAA,OAAA,CAAA,CAAA,CAAA;EACA,KAAA,EAzCK,KAyCL;EAAyB,YAAA,CAAA,EAAA,MAAA;EAEjB,WAAA,CAAA,EAzCI,MAyCJ,CAAkB,MAAA,EAAA,OAAkB,CAAA;EAC/B,WAAA,CAAA,EAAA,MAAA,GAAA,OAAuB;EAC9B,EAAA,EAAA,MAAA;EAEM,MAAA,EAAA;IAAR,GAAA,CAAA,EAAA,MAAA;IACS,IAAA,EAzCP,UAyCO;EAAe,CAAA;EAJgB;EAAmB,OAAA,CAAA,EAAA,MAAA;EAOlD;EACP,UAAA,CAAA,EAAA,MAAA,EAAA;EAC8B;EAAb,SAAA,CAAA,EAAA,MAAA,EAAA;EAAR,KAAA,EAAA;IACH,YAAA,CAAA,EAAA,MAAA;IAAR,WAAA,CAAA,EArCU,MAqCV,CAAA,MAAA,EAAA,OAAA,CAAA;IACS,KAAA,CAAA,EArCL,KAqCK;IAAc,EAAA,EAAA,MAAA;IAJgB;IAAmB,MAAA,EAAA,MAAA,EAAA;EAOjD,CAAA;;AAER,KAnCG,eAAA,GACR,sBAkCK,GAjCL,qBAiCK,GAhCL,oBAgCK,GA/BL,0BA+BK,GA9BL,wBA8BK,GA7BL,uBA6BK,GA5BL,yBA4BK,GA3BL,yBA2BK,GA1BL,uBA0BK,GAzBL,mBAyBK,GAxBL,qBAwBK,GAvBL,qBAuBK,GAtBL,qBAsBK,GArBL,0BAqBK,GApBL,yBAoBK,GAnBL,yBAmBK;AACA,KAlBG,kBAAA,GAAqB,MAkBxB,CAAA,MAAA,EAlBuC,eAkBvC,CAAA;AAAwB,UAjBhB,sBAAA,SAA+B,mBAiBf,CAAA,SAAA,CAAA,CAAA;EAGhB,MAAA,EAnBP,YAmBO;EACP,cAAA,CAAA,EAAA,KAAA;EACM,IAAA,EAnBR,OAmBQ,CAnBA,sBAmBA,CAAA;EAAR,aAAA,EAlBS,YAkBT,GAlBwB,UAkBxB;;AAEsB,UAjBb,qBAAA,SAA8B,mBAiBjB,CAAA,QAAA,CAAA,CAAA;EAJgB,MAAA,EAZpC,qBAYoC;EAAmB,cAAA,CAAA,EAX9C,OAW8C,CAXtC,MAWsC,CAAA,MAXzB,qBAWyB,EAAA,MAAA,CAAA,CAAA;EAOhD,IAAA,EAjBT,OAiBS,CAjBD,qBAuBF,CAAA;EAWF,aAAU,EAjCL,WAiCK,GAjCS,UAiCT;AAmBtB;AACU,UAlDO,qBAAA,CAkDP;EAEM,KAAA,EAnDP,oBAmDO;EAAR,KAAA,EAlDC,cAkDD;EACS,KAAA,EAlDR,wBAkDQ;;AAJmC,UA3CnC,oBAAA,SAA6B,mBA2CM,CAAA,OAAA,CAAA,CAAA;EAAmB,MAAA,EA1C7D,oBA0C6D;EAOtD,IAAA,EAhDT,OAgDS,CAhDD,oBAgD0B,CAAA;EAChC,cAAA,CAAA,EAAA,KAAA;EAEM,aAAA,EAjDC,UAiDD,GAjDc,UAiDd;;AACC,UA/CA,oBAAA,CA+CA;EAAiB;;;AAGlC;;EAGgB,UAAA,EA/CF,UA+CE;EAAR,QAAA,CAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA;EACS;EAAgB,UAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA;EAJgB;EAAmB,KAAA,EAAA,MAAA;EAOnD;EACP,GAAA,CAAA,EAAA,MAAA;;AAGF,KA5CI,UAAA,GA4CJ,SAAA,GAAA,YAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,SAAA,GAAA,KAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,cAAA,GAAA,SAAA,GAAA,aAAA,GAAA,MAAA,GAAA,KAAA,GAAA,SAAA,GAAA,SAAA;AACS,UA1BA,0BAAA,SAAmC,mBA0BnC,CAAA,aAAA,CAAA,CAAA;EAAkB,MAAA,EAzBzB,gBAyByB;EALgB,cAAA,CAAA,EAAA,CAAA,MAAA,GAAA,SAAA,EAAA,MAAA,GAAA,SAAA,EAAA,MAAA,GAAA,SAAA,EAAA,MAAA,GAAA,SAAA,CAAA;EAAmB,IAAA,EAlB9D,OAkB8D,CAlBtD,0BAkBsD,CAAA;EAQ1D,aAAA,EAzBK,gBAyBoB,GAzBD,UAyBC;AAErC;AAEU,UA1BO,wBAAA,SAAiC,mBA0BxC,CAAA,WAAA,CAAA,CAAA;EAGM,MAAA,EA5BN,cA4BM;EAAR,cAAA,CAAA,EAAA,KAAA;EACS,IAAA,EA3BT,OA2BS,CA3BD,wBA2BC,CAAA;EAAkB,aAAA,EA1BlB,cA0BkB,GA1BD,UA0BC;;AANmC,UAjBrD,uBAAA,SAAgC,mBAiBqB,CAAA,UAAA,CAAA,CAAA;EAS1D,MAAA,EAzBF,aAyBE;EAEK,cAAA,CAAA,EAAA,KAAA;EACP,IAAA,EA1BF,OA0BE,CA1BM,uBA0BN,CAAA;EAC8B,aAAA,EA1BvB,aA0BuB,GA1BP,UA0BO;;AAArB,UAvBF,yBAAA,SAAkC,mBAuBhC,CAAA,YAAA,CAAA,CAAA;EACH,MAAA,EAvBN,yBAuBM;EAAR,OAAA,CAAA,EAAA,MAAA;EACS,cAAA,CAAA,EAAA,KAAA;EAA0B,IAAA,EArBnC,OAqBmC,CArB3B,yBAqB2B,CAAA;EAJM,aAAA,EAhBhC,eAgBgC,GAhBd,UAgBc;;AAOrC,KApBA,yBAAA,GAoBuB,MAAG,EAAA;AAErB,UApBA,yBAAA,SAAkC,mBAqBtB,CAAA,YAAA,CAAA,CAAA;EAIZ,KAAA,EAAA,YAAA;EACP,MAAA,EAxBA,yBAwBA;EAEM,OAAA,CAAA,EAAA,MAAA;EAAR,cAAA,CAAA,EAAA,KAAA;EACS,IAAA,EAxBT,OAwBS,CAxBD,yBAwBC,CAAA;EAAY,aAAA,EAvBZ,eAuBY,GAvBM,UAuBN;;AAJmC,KAhBpD,yBAAA,GAgBoD,MAAA;AAO/C,UArBA,uBAAA,SAAgC,mBAqBV,CAAA,UAAA,CAAA,CAAA;EAC7B,MAAA,EArBA,uBAqBA;EAEM,cAAA,CAAA,EAtBG,OAsBH,CAtBW,MAsBX,CAAA,MAtBwB,sBAsBxB,EAAA,MAAA,CAAA,CAAA,EAAA;EAAR,IAAA,EArBA,OAqBA,CArBQ,uBAqBR,CAAA;EACS,aAAA,EArBA,uBAqBA,GArB0B,UAqB1B;;AAJ8B,KAdnC,uBAAA,GAA0B,sBAcS,EAAA;AAAmB,UAZjD,sBAAA,CAYiD;EAOjD,KAAA,EAlBR,oBAkB8B;EAC7B,QAAA,EAAA,MAAA;;AACiB,UAhBV,mBAAA,SAA4B,mBAgBlB,CAAA,MAAA,CAAA,CAAA;EAAR,MAAA,EAfT,SAeS;EACH,cAAA,CAAA,EAAA,KAAA;EAAR,IAAA,EAdA,OAcA,CAdQ,mBAcR,CAAA;EACS,aAAA,EAdA,SAcA,GAdY,UAcZ;;AAJ8B,UAP9B,qBAAA,SAA8B,mBAOA,CAAA,QAAA,CAAA,CAAA;EAAmB,MAAA,EANxD,WAMwD;EAOjD,cAAA,CAAA,EAAA,KAAA;EACR,IAAA,EAZD,OAYC,CAZO,qBAYP,CAAA;EACE,aAAA,EAZM,WAYN,GAZoB,UAYpB;;AAEH,UAXS,qBAAA,SAA8B,mBAWvC,CAAA,QAAA,CAAA,CAAA;EACE,MAAA,EAXA,qBAWA,EAAA;EAAc,cAAA,CAAA,EAVL,OAUK,CAVG,MAUH,CAAA,MAVgB,qBAUhB,EAAA,MAAA,CAAA,CAAA,EAAA;EAIP,IAAA,EAbT,OAaS,CAbD,qBAauB,CAAA;EAC7B,aAAA,EAbO,WAaP,GAbqB,UAarB;;AAEF,UAZS,qBAAA,CAYT;EACS,KAAA,EAZR,oBAYQ;EAAwB,OAAA,EAX9B,cAW8B;EAJM,OAAA,EANpC,cAMoC;EAAmB,IAAA,EAL1D,cAK0D;EAOjD,MAAA,EAXP,cAWO;EACP,KAAA,EAAA,OAAA;;AAEF,UAVS,qBAAA,SAA8B,mBAUvC,CAAA,QAAA,CAAA,CAAA;EACS,MAAA,EAVP,WAUO;EAAmB,cAAA,CAAA,EAAA,KAAA;EAJgB,IAAA,EAJ5C,OAI4C,CAJpC,qBAIoC,CAAA;EAAmB,aAAA,EAHtD,qBAGsD,GAH9B,UAG8B;AAOvE;AACU,UARO,0BAAA,SAAmC,mBAQ1C,CAAA,aAAA,CAAA,CAAA;EAC8B,MAAA,EAR9B,wBAQ8B;EAAb,cAAA,CAAA,EAAA,KAAA;EAAR,IAAA,EANX,OAMW,CANH,0BAMG,CAAA;EACH,aAAA,EANC,gBAMD,GANoB,UAMpB;;AACC,UAJA,yBAAA,SAAkC,mBAIlC,CAAA,YAAA,CAAA,CAAA;EAAkB,MAAA,EAHzB,yBAGyB;EAJgB,cAAA,CAAA,EAEhC,OAFgC,CAExB,MAFwB,CAAA,MAEX,yBAFW,EAAA,MAAA,CAAA,CAAA;EAAmB,IAAA,EAG9D,OAH8D,CAGtD,yBAHsD,CAAA;EAOrD,aAAA,EAHA,eAGyB,GAHP,UAGO;;AAEjC,UAFQ,yBAAA,CAER;EACS,QAAA,EAFN,aAEM;EAAgB,KAAA,EADzB,aACyB;EAGjB,cAAA,EAHC,gBAGyB;;AAExB,UAFF,yBAAA,SAAkC,mBAEhC,CAAA,YAAA,CAAA,CAAA;EACH,MAAA,EAFN,yBAEM;EAAR,cAAA,CAAA,EADW,MACX,CAAA,MAAA,EAAA,MAAA,CAAA;EACS,IAAA,EADT,OACS,CADD,yBACC,CAAA;EAAkB,aAAA,EAAlB,eAAkB,GAAA,UAAA;;AAJmC,UAOrD,yBAAA,CAPqD;EAOrD,UAAA,CAAA,EACF,eAD2B;EAC3B,QAAA,CAAA,EACF,cADE;EACF,SAAA,CAAA,EAAA,MAAA;EAWE,WAAA,CAAA,EAAA,MAAA;EACG,uBAAA,CAAA,EAAA,MAAA;EACH,eAAA,CAAA,EAAA,MAAA;EAAiB,oBAAA,CAAA,EAAA,MAAA;EAAW,gBAAA,CAAA,EAAA,MAAA;;;;;eAF5B;kBACG;eACH,iBAAiB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@terrazzo/token-tools",
3
- "version": "0.10.2",
3
+ "version": "0.10.5",
4
4
  "description": "Various utilities for token types",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -35,12 +35,12 @@
35
35
  "./package.json": "./package.json"
36
36
  },
37
37
  "dependencies": {
38
- "@humanwhocodes/momoa": "^3.3.8",
38
+ "@humanwhocodes/momoa": "^3.3.10",
39
39
  "culori": "^4.0.2",
40
40
  "wildcard-match": "^5.1.4"
41
41
  },
42
42
  "devDependencies": {
43
- "@types/culori": "^4.0.0"
43
+ "@types/culori": "^4.0.1"
44
44
  },
45
45
  "scripts": {
46
46
  "build": "rolldown -c && attw --profile esm-only --pack .",
@@ -1 +0,0 @@
1
- {"version":3,"file":"string-BwN3ybNv.js","names":["CULORI_TO_CSS: Record<\n Extract<\n Color['mode'],\n | 'a98'\n | 'lab'\n | 'lab65'\n | 'lch'\n | 'oklab'\n | 'oklch'\n | 'okhsv'\n | 'hsl'\n | 'hwb'\n | 'lrgb'\n | 'p3'\n | 'prophoto'\n | 'rec2020'\n | 'rgb'\n | 'xyz50'\n | 'xyz65'\n >,\n ColorSpace\n>","color: string","components: [number, number, number]","value: ColorValueNormalized","COLORSPACE: Record<ColorSpace, ColorSpaceDefinition>","input: string","length: number","alignment: 'left' | 'center' | 'right'","count: number","singular: T","plural: T","str: string"],"sources":["../src/color.ts","../src/string.ts"],"sourcesContent":["import 'culori/css';\nimport { type Color, formatHex, parse } from 'culori/fn';\nimport type { ColorSpace, ColorValueNormalized } from './types.js';\n\nconst HEX_RE = /^#?([0-9a-f]{8}|[0-9a-f]{6}|[0-9a-f]{4}|[0-9a-f]{3})$/i;\n\nexport const CULORI_TO_CSS: Record<\n Extract<\n Color['mode'],\n | 'a98'\n | 'lab'\n | 'lab65'\n | 'lch'\n | 'oklab'\n | 'oklch'\n | 'okhsv'\n | 'hsl'\n | 'hwb'\n | 'lrgb'\n | 'p3'\n | 'prophoto'\n | 'rec2020'\n | 'rgb'\n | 'xyz50'\n | 'xyz65'\n >,\n ColorSpace\n> = {\n a98: 'a98-rgb',\n hsl: 'hsl',\n hwb: 'hwb',\n lab: 'lab',\n lab65: 'lab-d65',\n lch: 'lch',\n lrgb: 'srgb-linear',\n oklab: 'oklab',\n oklch: 'oklch',\n okhsv: 'okhsv',\n p3: 'display-p3',\n prophoto: 'prophoto-rgb',\n rec2020: 'rec2020',\n rgb: 'srgb',\n xyz50: 'xyz-d50',\n xyz65: 'xyz-d65',\n} as const;\n\nexport const CSS_TO_CULORI = {\n 'a98-rgb': 'a98',\n 'display-p3': 'p3',\n hsl: 'hsl',\n hwb: 'hwb',\n lab: 'lab',\n 'lab-d65': 'lab65',\n lch: 'lch',\n oklab: 'oklab',\n oklch: 'oklch',\n okhsv: 'okhsv',\n 'prophoto-rgb': 'prophoto',\n rec2020: 'rec2020',\n srgb: 'rgb',\n 'srgb-linear': 'lrgb',\n xyz: 'xyz65',\n 'xyz-d50': 'xyz50',\n 'xyz-d65': 'xyz65',\n} as const;\n\n/** Parse any color */\nexport function parseColor(color: string): ColorValueNormalized {\n const result = parse(color);\n if (!result) {\n throw new Error(`Unable to parse color \"${color}\"`);\n }\n if (!(result.mode in CULORI_TO_CSS)) {\n throw new Error(`Unsupported color space: ${result.mode}`);\n }\n const colorSpace = CULORI_TO_CSS[result.mode as keyof typeof CULORI_TO_CSS]!;\n let components: [number, number, number] = [0, 0, 0];\n switch (result.mode) {\n case 'a98':\n case 'rec2020':\n case 'p3':\n case 'prophoto':\n case 'lrgb':\n case 'rgb': {\n components = [result.r, result.g, result.b];\n break;\n }\n case 'hsl': {\n const maxS = COLORSPACE[colorSpace].ranges[1]?.[1] ?? 1.0;\n const maxL = COLORSPACE[colorSpace].ranges[2]?.[1] ?? 1.0;\n components = [result.h ?? 0, result.s * maxS, result.l * maxL];\n break;\n }\n case 'hwb': {\n const maxW = COLORSPACE[colorSpace].ranges[1]?.[1] ?? 1.0;\n const maxB = COLORSPACE[colorSpace].ranges[2]?.[1] ?? 1.0;\n components = [result.h ?? 0, result.w * maxW, result.b * maxB];\n break;\n }\n case 'lab':\n case 'lab65':\n case 'oklab': {\n components = [result.l, result.a, result.b];\n break;\n }\n case 'lch':\n case 'oklch': {\n components = [result.l, result.c, result.h ?? 0];\n break;\n }\n case 'okhsv': {\n components = [result.h ?? 0, result.s, result.v];\n break;\n }\n case 'xyz50':\n case 'xyz65': {\n components = [result.x, result.y, result.z];\n break;\n }\n }\n const value: ColorValueNormalized = {\n colorSpace,\n components,\n alpha: result.alpha ?? 1,\n };\n if (HEX_RE.test(color)) {\n // Note: this intentionally does NOT include alpha; it’s already in alpha.\n // Always use formatHex (not formatHex8).\n value.hex = formatHex(result);\n }\n return value;\n}\n\n/** Convert a color token to a Culori color */\nexport function tokenToCulori(value: ColorValueNormalized): Color | undefined {\n switch (value.colorSpace) {\n case 'a98-rgb':\n case 'display-p3':\n case 'prophoto-rgb':\n case 'rec2020':\n case 'srgb':\n case 'srgb-linear': {\n const [r, g, b] = value.components;\n return {\n mode: CSS_TO_CULORI[value.colorSpace] || value.colorSpace,\n r,\n g,\n b,\n alpha: value.alpha,\n } as Color;\n }\n case 'hsl': {\n const [h, s, l] = value.components;\n const maxS = COLORSPACE[value.colorSpace].ranges[1]?.[1] ?? 1;\n const maxL = COLORSPACE[value.colorSpace].ranges[2]?.[1] ?? 1;\n return { mode: 'hsl', h, s: s / maxS, l: l / maxL, alpha: value.alpha };\n }\n case 'hwb': {\n const [h, w, b] = value.components;\n const maxW = COLORSPACE[value.colorSpace].ranges[1]?.[1] ?? 1;\n const maxB = COLORSPACE[value.colorSpace].ranges[2]?.[1] ?? 1;\n return { mode: 'hwb', h, w: w / maxW, b: b / maxB, alpha: value.alpha };\n }\n case 'lab':\n case 'lab-d65':\n case 'oklab': {\n const [l, a, b] = value.components;\n const mode = value.colorSpace === 'lab-d65' ? 'lab65' : value.colorSpace;\n return { mode, l, a, b, alpha: value.alpha };\n }\n case 'lch':\n case 'oklch': {\n const [l, c, h] = value.components;\n return { mode: value.colorSpace, l, c, h, alpha: value.alpha };\n }\n case 'okhsv': {\n const [h, s, v] = value.components;\n return { mode: value.colorSpace, h, s, v, alpha: value.alpha };\n }\n case 'xyz':\n case 'xyz-d50':\n case 'xyz-d65': {\n const [x, y, z] = value.components;\n return { mode: CSS_TO_CULORI[value.colorSpace], x, y, z, alpha: value.alpha };\n }\n default: {\n throw new Error(\n `Invalid colorSpace \"${value.colorSpace}\". Expected one of ${Object.keys(CSS_TO_CULORI).join(', ')}`,\n );\n }\n }\n}\n\nexport interface ColorSpaceDefinition {\n ranges: [min: number, max: number][];\n}\n\n/** Complete list of CSS Module 4 Colorspaces */\nexport const COLORSPACE: Record<ColorSpace, ColorSpaceDefinition> = {\n 'a98-rgb': {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n 'display-p3': {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n hsl: {\n ranges: [\n [0.0, 360.0],\n [0.0, 100.0],\n [0.0, 100.0],\n ],\n },\n hwb: {\n ranges: [\n [0.0, 360.0],\n [0.0, 100.0],\n [0.0, 100.0],\n ],\n },\n lab: {\n ranges: [\n [0.0, 100.0],\n [-125.0, 125.0],\n [-125.0, 125.0],\n ],\n },\n 'lab-d65': {\n ranges: [\n [0.0, 100.0],\n [-125.0, 125.0],\n [-125.0, 125.0],\n ],\n },\n lch: {\n ranges: [\n [0.0, 100.0],\n [0, 150.0],\n [0.0, 360.0],\n ],\n },\n oklab: {\n ranges: [\n [0.0, 1.0],\n [-0.4, 0.4],\n [-0.4, 0.4],\n ],\n },\n oklch: {\n ranges: [\n [0.0, 1.0],\n [0.0, 0.4],\n [0.0, 360.0],\n ],\n },\n okhsv: {\n ranges: [\n [0.0, 360.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n 'prophoto-rgb': {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n rec2020: {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n srgb: {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n 'srgb-linear': {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n 'xyz-d50': {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n xyz: {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n 'xyz-d65': {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n};\n","/** Pad string lengths */\nexport function padStr(input: string, length: number, alignment: 'left' | 'center' | 'right' = 'left'): string {\n const d =\n Math.min(length || 0, 1000) - // guard against NaNs and Infinity\n input.length;\n if (d > 0) {\n switch (alignment) {\n case 'left': {\n return `${input}${' '.repeat(d)}`;\n }\n case 'right': {\n return `${' '.repeat(d)}${input}`;\n }\n case 'center': {\n const left = Math.floor(d / 2);\n const right = d - left;\n return `${' '.repeat(left)}${input}${' '.repeat(right)}`;\n }\n }\n }\n return input;\n}\n\n/** Pluralize strings */\nexport function pluralize<T = string>(count: number, singular: T, plural: T): T {\n return count === 1 ? singular : plural;\n}\n\n/** Turn a string into kebab-case */\nexport function kebabCase(str: string): string {\n let output = '';\n for (const c of str.split('')) {\n if (c === '.') {\n output += '-';\n continue;\n }\n let isFirstUppercase = true;\n if (isFirstUppercase && /\\p{Uppercase_Letter}/u.test(c)) {\n output += `-${c.toLocaleLowerCase()}`;\n isFirstUppercase = false; // don’t break apart multiple consecutive uppercase letters\n continue;\n } else {\n isFirstUppercase = true; // reset\n }\n\n output += c;\n }\n return output;\n}\n"],"mappings":";;;;AAIA,MAAM,SAAS;AAEf,MAAaA,gBAqBT;CACF,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,OAAO;CACP,KAAK;CACL,MAAM;CACN,OAAO;CACP,OAAO;CACP,OAAO;CACP,IAAI;CACJ,UAAU;CACV,SAAS;CACT,KAAK;CACL,OAAO;CACP,OAAO;AACR;AAED,MAAa,gBAAgB;CAC3B,WAAW;CACX,cAAc;CACd,KAAK;CACL,KAAK;CACL,KAAK;CACL,WAAW;CACX,KAAK;CACL,OAAO;CACP,OAAO;CACP,OAAO;CACP,gBAAgB;CAChB,SAAS;CACT,MAAM;CACN,eAAe;CACf,KAAK;CACL,WAAW;CACX,WAAW;AACZ;;AAGD,SAAgB,WAAWC,OAAqC;CAC9D,MAAM,SAAS,MAAM,MAAM;AAC3B,MAAK,OACH,OAAM,IAAI,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;AAEpD,OAAM,OAAO,QAAQ,eACnB,OAAM,IAAI,MAAM,CAAC,yBAAyB,EAAE,OAAO,MAAM;CAE3D,MAAM,aAAa,cAAc,OAAO;CACxC,IAAIC,aAAuC;EAAC;EAAG;EAAG;CAAE;AACpD,SAAQ,OAAO,MAAf;EACE,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK,OAAO;AACV,gBAAa;IAAC,OAAO;IAAG,OAAO;IAAG,OAAO;GAAE;AAC3C;EACD;EACD,KAAK,OAAO;GACV,MAAM,OAAO,WAAW,YAAY,OAAO,KAAK,MAAM;GACtD,MAAM,OAAO,WAAW,YAAY,OAAO,KAAK,MAAM;AACtD,gBAAa;IAAC,OAAO,KAAK;IAAG,OAAO,IAAI;IAAM,OAAO,IAAI;GAAK;AAC9D;EACD;EACD,KAAK,OAAO;GACV,MAAM,OAAO,WAAW,YAAY,OAAO,KAAK,MAAM;GACtD,MAAM,OAAO,WAAW,YAAY,OAAO,KAAK,MAAM;AACtD,gBAAa;IAAC,OAAO,KAAK;IAAG,OAAO,IAAI;IAAM,OAAO,IAAI;GAAK;AAC9D;EACD;EACD,KAAK;EACL,KAAK;EACL,KAAK,SAAS;AACZ,gBAAa;IAAC,OAAO;IAAG,OAAO;IAAG,OAAO;GAAE;AAC3C;EACD;EACD,KAAK;EACL,KAAK,SAAS;AACZ,gBAAa;IAAC,OAAO;IAAG,OAAO;IAAG,OAAO,KAAK;GAAE;AAChD;EACD;EACD,KAAK,SAAS;AACZ,gBAAa;IAAC,OAAO,KAAK;IAAG,OAAO;IAAG,OAAO;GAAE;AAChD;EACD;EACD,KAAK;EACL,KAAK,SAAS;AACZ,gBAAa;IAAC,OAAO;IAAG,OAAO;IAAG,OAAO;GAAE;AAC3C;EACD;CACF;CACD,MAAMC,QAA8B;EAClC;EACA;EACA,OAAO,OAAO,SAAS;CACxB;AACD,KAAI,OAAO,KAAK,MAAM,CAGpB,OAAM,MAAM,UAAU,OAAO;AAE/B,QAAO;AACR;;AAGD,SAAgB,cAAcA,OAAgD;AAC5E,SAAQ,MAAM,YAAd;EACE,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK,eAAe;GAClB,MAAM,CAAC,GAAG,GAAG,EAAE,GAAG,MAAM;AACxB,UAAO;IACL,MAAM,cAAc,MAAM,eAAe,MAAM;IAC/C;IACA;IACA;IACA,OAAO,MAAM;GACd;EACF;EACD,KAAK,OAAO;GACV,MAAM,CAAC,GAAG,GAAG,EAAE,GAAG,MAAM;GACxB,MAAM,OAAO,WAAW,MAAM,YAAY,OAAO,KAAK,MAAM;GAC5D,MAAM,OAAO,WAAW,MAAM,YAAY,OAAO,KAAK,MAAM;AAC5D,UAAO;IAAE,MAAM;IAAO;IAAG,GAAG,IAAI;IAAM,GAAG,IAAI;IAAM,OAAO,MAAM;GAAO;EACxE;EACD,KAAK,OAAO;GACV,MAAM,CAAC,GAAG,GAAG,EAAE,GAAG,MAAM;GACxB,MAAM,OAAO,WAAW,MAAM,YAAY,OAAO,KAAK,MAAM;GAC5D,MAAM,OAAO,WAAW,MAAM,YAAY,OAAO,KAAK,MAAM;AAC5D,UAAO;IAAE,MAAM;IAAO;IAAG,GAAG,IAAI;IAAM,GAAG,IAAI;IAAM,OAAO,MAAM;GAAO;EACxE;EACD,KAAK;EACL,KAAK;EACL,KAAK,SAAS;GACZ,MAAM,CAAC,GAAG,GAAG,EAAE,GAAG,MAAM;GACxB,MAAM,OAAO,MAAM,eAAe,YAAY,UAAU,MAAM;AAC9D,UAAO;IAAE;IAAM;IAAG;IAAG;IAAG,OAAO,MAAM;GAAO;EAC7C;EACD,KAAK;EACL,KAAK,SAAS;GACZ,MAAM,CAAC,GAAG,GAAG,EAAE,GAAG,MAAM;AACxB,UAAO;IAAE,MAAM,MAAM;IAAY;IAAG;IAAG;IAAG,OAAO,MAAM;GAAO;EAC/D;EACD,KAAK,SAAS;GACZ,MAAM,CAAC,GAAG,GAAG,EAAE,GAAG,MAAM;AACxB,UAAO;IAAE,MAAM,MAAM;IAAY;IAAG;IAAG;IAAG,OAAO,MAAM;GAAO;EAC/D;EACD,KAAK;EACL,KAAK;EACL,KAAK,WAAW;GACd,MAAM,CAAC,GAAG,GAAG,EAAE,GAAG,MAAM;AACxB,UAAO;IAAE,MAAM,cAAc,MAAM;IAAa;IAAG;IAAG;IAAG,OAAO,MAAM;GAAO;EAC9E;EACD,QACE,OAAM,IAAI,MACR,CAAC,oBAAoB,EAAE,MAAM,WAAW,mBAAmB,EAAE,OAAO,KAAK,cAAc,CAAC,KAAK,KAAK,EAAE;CAGzG;AACF;;AAOD,MAAaC,aAAuD;CAClE,WAAW,EACT,QAAQ;EACN,CAAC,GAAK,CAAI;EACV,CAAC,GAAK,CAAI;EACV,CAAC,GAAK,CAAI;CACX,EACF;CACD,cAAc,EACZ,QAAQ;EACN,CAAC,GAAK,CAAI;EACV,CAAC,GAAK,CAAI;EACV,CAAC,GAAK,CAAI;CACX,EACF;CACD,KAAK,EACH,QAAQ;EACN,CAAC,GAAK,GAAM;EACZ,CAAC,GAAK,GAAM;EACZ,CAAC,GAAK,GAAM;CACb,EACF;CACD,KAAK,EACH,QAAQ;EACN,CAAC,GAAK,GAAM;EACZ,CAAC,GAAK,GAAM;EACZ,CAAC,GAAK,GAAM;CACb,EACF;CACD,KAAK,EACH,QAAQ;EACN,CAAC,GAAK,GAAM;EACZ,CAAC,MAAQ,GAAM;EACf,CAAC,MAAQ,GAAM;CAChB,EACF;CACD,WAAW,EACT,QAAQ;EACN,CAAC,GAAK,GAAM;EACZ,CAAC,MAAQ,GAAM;EACf,CAAC,MAAQ,GAAM;CAChB,EACF;CACD,KAAK,EACH,QAAQ;EACN,CAAC,GAAK,GAAM;EACZ,CAAC,GAAG,GAAM;EACV,CAAC,GAAK,GAAM;CACb,EACF;CACD,OAAO,EACL,QAAQ;EACN,CAAC,GAAK,CAAI;EACV,CAAC,KAAM,EAAI;EACX,CAAC,KAAM,EAAI;CACZ,EACF;CACD,OAAO,EACL,QAAQ;EACN,CAAC,GAAK,CAAI;EACV,CAAC,GAAK,EAAI;EACV,CAAC,GAAK,GAAM;CACb,EACF;CACD,OAAO,EACL,QAAQ;EACN,CAAC,GAAK,GAAM;EACZ,CAAC,GAAK,CAAI;EACV,CAAC,GAAK,CAAI;CACX,EACF;CACD,gBAAgB,EACd,QAAQ;EACN,CAAC,GAAK,CAAI;EACV,CAAC,GAAK,CAAI;EACV,CAAC,GAAK,CAAI;CACX,EACF;CACD,SAAS,EACP,QAAQ;EACN,CAAC,GAAK,CAAI;EACV,CAAC,GAAK,CAAI;EACV,CAAC,GAAK,CAAI;CACX,EACF;CACD,MAAM,EACJ,QAAQ;EACN,CAAC,GAAK,CAAI;EACV,CAAC,GAAK,CAAI;EACV,CAAC,GAAK,CAAI;CACX,EACF;CACD,eAAe,EACb,QAAQ;EACN,CAAC,GAAK,CAAI;EACV,CAAC,GAAK,CAAI;EACV,CAAC,GAAK,CAAI;CACX,EACF;CACD,WAAW,EACT,QAAQ;EACN,CAAC,GAAK,CAAI;EACV,CAAC,GAAK,CAAI;EACV,CAAC,GAAK,CAAI;CACX,EACF;CACD,KAAK,EACH,QAAQ;EACN,CAAC,GAAK,CAAI;EACV,CAAC,GAAK,CAAI;EACV,CAAC,GAAK,CAAI;CACX,EACF;CACD,WAAW,EACT,QAAQ;EACN,CAAC,GAAK,CAAI;EACV,CAAC,GAAK,CAAI;EACV,CAAC,GAAK,CAAI;CACX,EACF;AACF;;;;;AC7TD,SAAgB,OAAOC,OAAeC,QAAgBC,YAAyC,QAAgB;CAC7G,MAAM,IACJ,KAAK,IAAI,UAAU,GAAG,IAAK,GAC3B,MAAM;AACR,KAAI,IAAI,EACN,SAAQ,WAAR;EACE,KAAK,OACH,QAAO,GAAG,QAAQ,IAAI,OAAO,EAAE,EAAE;EAEnC,KAAK,QACH,QAAO,GAAG,IAAI,OAAO,EAAE,GAAG,OAAO;EAEnC,KAAK,UAAU;GACb,MAAM,OAAO,KAAK,MAAM,IAAI,EAAE;GAC9B,MAAM,QAAQ,IAAI;AAClB,UAAO,GAAG,IAAI,OAAO,KAAK,GAAG,QAAQ,IAAI,OAAO,MAAM,EAAE;EACzD;CACF;AAEH,QAAO;AACR;;AAGD,SAAgB,UAAsBC,OAAeC,UAAaC,QAAc;AAC9E,QAAO,UAAU,IAAI,WAAW;AACjC;;AAGD,SAAgB,UAAUC,KAAqB;CAC7C,IAAI,SAAS;AACb,MAAK,MAAM,KAAK,IAAI,MAAM,GAAG,EAAE;AAC7B,MAAI,MAAM,KAAK;AACb,aAAU;AACV;EACD;EACD,IAAI,mBAAmB;AACvB,MAAI,oBAAoB,wBAAwB,KAAK,EAAE,EAAE;AACvD,aAAU,CAAC,CAAC,EAAE,EAAE,mBAAmB,EAAE;AACrC,sBAAmB;AACnB;EACD,MACC,oBAAmB;AAGrB,YAAU;CACX;AACD,QAAO;AACR"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-BOWDcBsq.d.ts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":"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"}