@terrazzo/token-tools 0.10.3 → 2.0.0-alpha.1

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,70 @@
1
1
  # @terrazzo/token-tools
2
2
 
3
+ ## 2.0.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#530](https://github.com/terrazzoapp/terrazzo/pull/530) [`370ed7b`](https://github.com/terrazzoapp/terrazzo/commit/370ed7b0f578a64824124145d7f4936536b37bb3) Thanks [@drwpow](https://github.com/drwpow)! - ⚠️ Breaking change; DTCG 2nd Editors draft format will throw errors by default. This means converting all colors and dimensions to the new object format.
8
+
9
+ Though this is a breaking change in default behavior, you can opt back into the old behavior by adjusting your config’s lint settings. See https://terrazzo.app/docs/cli/lint/.
10
+
11
+ List of changes:
12
+ - **color**: `channels` is invalid; `components` is required (“channels” was never part of the spec; this just deprecates an in-progress draft that was briefly supported)
13
+ - **dimension**: object notation (`{ value: 16, unit: 'px' }`) required.
14
+ - **dimension**: `0` is no longer automatically expanded to`{ value: 0, unit: 'px' }`.
15
+ - **duration**: object notation (`{ value: 100, unit: 'ms' }`) required.
16
+ - **dimension**: `{ $value: 0 }` no longer allowed.
17
+ - **typography**: `fontFamily`, `fontSize`, `fontWeight`, `lineHeight`, and `letterSpacing` are all required at a minimum (additional properties are still allowed).
18
+
19
+ - [#530](https://github.com/terrazzoapp/terrazzo/pull/530) [`370ed7b`](https://github.com/terrazzoapp/terrazzo/commit/370ed7b0f578a64824124145d7f4936536b37bb3) Thanks [@drwpow](https://github.com/drwpow)! - Soft deprecate core/required-typography-properties in favor of core/valid-typography
20
+
21
+ - [#530](https://github.com/terrazzoapp/terrazzo/pull/530) [`370ed7b`](https://github.com/terrazzoapp/terrazzo/commit/370ed7b0f578a64824124145d7f4936536b37bb3) Thanks [@drwpow](https://github.com/drwpow)! - ⚠️ Minor breaking change: the transform() API now returns the Momoa node as the 1st parameter. The 2nd parameter is now an object with more context. Lastly, it requires returning a momoa node, rather than raw JSON.
22
+
23
+ ```diff
24
+ + import * as momoa from "@humanwhocodes/momoa";
25
+
26
+ transform: {
27
+ - color(json, path, node) {
28
+ + color(node, { path, filename }) {
29
+ + const json = momoa.evaluate(node);
30
+ - return json;
31
+ + return momoa.parse(json);
32
+ }
33
+ ```
34
+
35
+ This should result in a little less work overall. For example, instead of writing `if (typeof json === 'object' && !Array.isArray(json))` that could be shortened to `if (node.type === 'Object')`, among many other such advantages. You can call `evaluate()` manually if you’re more used to working with the raw JSON instead. Similarly, you can call `parse()` if you’re working with
36
+
37
+ - [#530](https://github.com/terrazzoapp/terrazzo/pull/530) [`370ed7b`](https://github.com/terrazzoapp/terrazzo/commit/370ed7b0f578a64824124145d7f4936536b37bb3) Thanks [@drwpow](https://github.com/drwpow)! - ⚠️ Breaking change: lint on plugins no longer runs on individual files, rather, the full set once merged.
38
+
39
+ If your lint plugin is not using the `src` context value, no changes are needed. If it is, you’ll need to instead read from the `sources` array, and look up sources with a token’s `source.loc` filename manually. This change was because lint rules now run on all files in one pass, essentially.
40
+
41
+ - [#530](https://github.com/terrazzoapp/terrazzo/pull/530) [`370ed7b`](https://github.com/terrazzoapp/terrazzo/commit/370ed7b0f578a64824124145d7f4936536b37bb3) Thanks [@drwpow](https://github.com/drwpow)! - ⚠️ [Plugin API] Minor breaking change: token.originalValue may be undefined for tokens created with $ref. This shouldn’t affect any tokens or plugins not using $refs. But going forward this value will be missing if the token was created dynamically via $ref.
42
+
43
+ - [#530](https://github.com/terrazzoapp/terrazzo/pull/530) [`370ed7b`](https://github.com/terrazzoapp/terrazzo/commit/370ed7b0f578a64824124145d7f4936536b37bb3) Thanks [@drwpow](https://github.com/drwpow)! - Minor breaking change: build() and buildEnd() plugin hooks are now executed in parallel. The other hooks are still executed sequentially.
44
+
45
+ - [#530](https://github.com/terrazzoapp/terrazzo/pull/530) [`370ed7b`](https://github.com/terrazzoapp/terrazzo/commit/370ed7b0f578a64824124145d7f4936536b37bb3) Thanks [@drwpow](https://github.com/drwpow)! - ⚠️ Breaking change: the following token types have more strict requirements about all properties being present:
46
+ - Border
47
+ - Transition
48
+ - Typography
49
+
50
+ These behaviors may be opted out individually by adjusting the new lint rules ([see documentation](https://terrazzo.app/docs/cli/lint/)).
51
+
52
+ ### Patch Changes
53
+
54
+ - [#530](https://github.com/terrazzoapp/terrazzo/pull/530) [`370ed7b`](https://github.com/terrazzoapp/terrazzo/commit/370ed7b0f578a64824124145d7f4936536b37bb3) Thanks [@drwpow](https://github.com/drwpow)! - Fix bug where border tokens’ partial aliases would sometimes refer to themselves
55
+
56
+ - [#530](https://github.com/terrazzoapp/terrazzo/pull/530) [`370ed7b`](https://github.com/terrazzoapp/terrazzo/commit/370ed7b0f578a64824124145d7f4936536b37bb3) Thanks [@drwpow](https://github.com/drwpow)! - Fix bug of lint warning of rules turned off being unused
57
+
58
+ - [#530](https://github.com/terrazzoapp/terrazzo/pull/530) [`370ed7b`](https://github.com/terrazzoapp/terrazzo/commit/370ed7b0f578a64824124145d7f4936536b37bb3) Thanks [@drwpow](https://github.com/drwpow)! - Validation moved to lint rules, which means token validation can be individually configured, and optionally extended.
59
+
60
+ - [#530](https://github.com/terrazzoapp/terrazzo/pull/530) [`370ed7b`](https://github.com/terrazzoapp/terrazzo/commit/370ed7b0f578a64824124145d7f4936536b37bb3) Thanks [@drwpow](https://github.com/drwpow)! - Add first class support for JSON $refs, both remote and local.
61
+
62
+ Under-the-hood this transforms DTCG aliase to JSON $refs, so they’re interchangeable.
63
+
64
+ - [#530](https://github.com/terrazzoapp/terrazzo/pull/530) [`370ed7b`](https://github.com/terrazzoapp/terrazzo/commit/370ed7b0f578a64824124145d7f4936536b37bb3) Thanks [@drwpow](https://github.com/drwpow)! - Bugfix: fix strokeStyle partialAliasOf
65
+
66
+ - [#530](https://github.com/terrazzoapp/terrazzo/pull/530) [`370ed7b`](https://github.com/terrazzoapp/terrazzo/commit/370ed7b0f578a64824124145d7f4936536b37bb3) Thanks [@drwpow](https://github.com/drwpow)! - Add missing $deprecated property to group types
67
+
3
68
  ## 0.10.3
4
69
 
5
70
  ### 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 { BooleanTokenNormalized, BorderTokenNormalized, ColorTokenNormalized, CubicBezierTokenNormalized, DimensionTokenNormalized, DurationTokenNormalized, FontFamilyTokenNormalized, FontWeightTokenNormalized, GradientTokenNormalized, LinkTokenNormalized, NumberTokenNormalized, ShadowTokenNormalized, ShadowValueNormalized, StringTokenNormalized, StrokeStyleTokenNormalized, TokenNormalized, TokenNormalizedSet, TransitionTokenNormalized, TypographyTokenNormalized } from "./types-CoqP_8W1.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 { CSS_TO_CULORI, kebabCase, parseColor, tokenToCulori } from "./string-D3-qmBT2.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,
@@ -316,28 +315,23 @@ function transformTypography(token, options) {
316
315
  const resolvedToken = tokensSet[aliasedID];
317
316
  transformedValue = transformAlias(resolvedToken.$type === "typography" ? { id: `${aliasedID}-${property}` } : resolvedToken);
318
317
  } else switch (property) {
319
- case "fontFamily": {
318
+ case "fontFamily":
320
319
  transformedValue = transformFontFamily({ $value: subvalue }, options);
321
320
  break;
322
- }
323
321
  case "fontSize":
324
- case "letterSpacing": {
322
+ case "letterSpacing":
325
323
  transformedValue = transformDimension({ $value: subvalue }, options);
326
324
  break;
327
- }
328
- case "fontWeight": {
325
+ case "fontWeight":
329
326
  transformedValue = transformFontWeight({ $value: subvalue }, options);
330
327
  break;
331
- }
332
- case "lineHeight": {
328
+ case "lineHeight":
333
329
  if (typeof subvalue === "number") transformedValue = transformNumber({ $value: subvalue }, options);
334
330
  else transformedValue = transformDimension({ $value: subvalue }, options);
335
331
  break;
336
- }
337
- default: {
332
+ default:
338
333
  transformedValue = transformString({ $value: subvalue }, options);
339
334
  break;
340
- }
341
335
  }
342
336
  output[kebabCase(property)] = transformedValue;
343
337
  }
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":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,10 @@
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 { 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, GroupNormalized, 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-CoqP_8W1.js";
2
2
  import "culori/css";
3
3
  import { Color } from "culori/fn";
4
4
 
5
+ //#region src/border.d.ts
6
+ declare const BORDER_REQUIRED_PROPERTIES: readonly ["color", "width", "style"];
7
+ //#endregion
5
8
  //#region src/color.d.ts
6
9
  declare const CULORI_TO_CSS: Record<Extract<Color['mode'], 'a98' | 'lab' | 'lab65' | 'lch' | 'oklab' | 'oklch' | 'okhsv' | 'hsl' | 'hwb' | 'lrgb' | 'p3' | 'prophoto' | 'rec2020' | 'rgb' | 'xyz50' | 'xyz65'>, ColorSpace>;
7
10
  declare const CSS_TO_CULORI: {
@@ -32,7 +35,32 @@ interface ColorSpaceDefinition {
32
35
  }
33
36
  /** Complete list of CSS Module 4 Colorspaces */
34
37
  declare const COLORSPACE: Record<ColorSpace, ColorSpaceDefinition>;
35
- //# sourceMappingURL=color.d.ts.map
38
+ //#endregion
39
+ //#region src/font-weight.d.ts
40
+ /** Mapping of valid names to numeric weights */
41
+ declare const FONT_WEIGHTS: {
42
+ thin: number;
43
+ hairline: number;
44
+ 'extra-light': number;
45
+ 'ultra-light': number;
46
+ light: number;
47
+ normal: number;
48
+ regular: number;
49
+ book: number;
50
+ medium: number;
51
+ 'semi-bold': number;
52
+ 'demi-bold': number;
53
+ bold: number;
54
+ 'extra-bold': number;
55
+ 'ultra-bold': number;
56
+ black: number;
57
+ heavy: number;
58
+ 'extra-black': number;
59
+ 'ultra-black': number;
60
+ };
61
+ //#endregion
62
+ //#region src/gradient.d.ts
63
+ declare const GRADIENT_REQUIRED_STOP_PROPERTIES: readonly ["color", "position"];
36
64
  //#endregion
37
65
  //#region src/id.d.ts
38
66
  /** Is this token an alias of another? */
@@ -48,7 +76,9 @@ declare function splitID(id: string): {
48
76
  local: string;
49
77
  group?: string;
50
78
  };
51
- //# sourceMappingURL=id.d.ts.map
79
+ //#endregion
80
+ //#region src/shadow.d.ts
81
+ declare const SHADOW_REQUIRED_PROPERTIES: readonly ["color", "offsetX", "offsetY", "blur", "spread"];
52
82
  //#endregion
53
83
  //#region src/string.d.ts
54
84
  /** Pad string lengths */
@@ -57,7 +87,11 @@ declare function padStr(input: string, length: number, alignment?: 'left' | 'cen
57
87
  declare function pluralize<T = string>(count: number, singular: T, plural: T): T;
58
88
  /** Turn a string into kebab-case */
59
89
  declare function kebabCase(str: string): string;
60
- //# sourceMappingURL=string.d.ts.map
90
+ //#endregion
91
+ //#region src/stroke-style.d.ts
92
+ declare const STROKE_STYLE_STRING_VALUES: readonly ["solid", "dashed", "dotted", "double", "groove", "ridge", "outset", "inset"];
93
+ declare const STROKE_STYLE_OBJECT_REQUIRED_PROPERTIES: readonly ["dashArray", "lineCap"];
94
+ declare const STROKE_STYLE_LINE_CAP_VALUES: readonly ["round", "butt", "square"];
61
95
  //#endregion
62
96
  //#region src/transform.d.ts
63
97
  interface CustomTransformOptions {
@@ -68,8 +102,12 @@ interface CustomTransformOptions {
68
102
  declare function validateCustomTransform(value: unknown, {
69
103
  $type
70
104
  }: CustomTransformOptions): void;
71
- //# sourceMappingURL=transform.d.ts.map
72
-
73
105
  //#endregion
74
- 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 };
106
+ //#region src/transition.d.ts
107
+ declare const TRANSITION_REQUIRED_PROPERTIES: readonly ["duration", "delay", "timingFunction"];
108
+ //#endregion
109
+ //#region src/typography.d.ts
110
+ declare const TYPOGRAPHY_REQUIRED_PROPERTIES: readonly ["fontFamily", "fontSize", "fontWeight", "letterSpacing", "lineHeight"];
111
+ //#endregion
112
+ export { AliasToken, AliasValue, BORDER_REQUIRED_PROPERTIES, 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, FONT_WEIGHTS, FontFamilyToken, FontFamilyTokenNormalized, FontFamilyValue, FontFamilyValueNormalized, FontWeightToken, FontWeightTokenNormalized, FontWeightValue, FontWeightValueNormalized, GRADIENT_REQUIRED_STOP_PROPERTIES, GradientStop, GradientStopNormalized, GradientToken, GradientTokenNormalized, GradientValue, GradientValueNormalized, Group, GroupCore, GroupNormalized, GroupOrToken, LinkToken, LinkTokenNormalized, LinkValue, ModeMap, NumberToken, NumberTokenNormalized, NumberValue, SHADOW_REQUIRED_PROPERTIES, STROKE_STYLE_LINE_CAP_VALUES, STROKE_STYLE_OBJECT_REQUIRED_PROPERTIES, STROKE_STYLE_STRING_VALUES, ShadowToken, ShadowTokenNormalized, ShadowValue, ShadowValueNormalized, StringToken, StringTokenNormalized, StringValue, StrokeStyleToken, StrokeStyleTokenNormalized, StrokeStyleValue, StrokeStyleValueExpanded, TRANSITION_REQUIRED_PROPERTIES, TYPOGRAPHY_REQUIRED_PROPERTIES, 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
113
  //# 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/border.ts","../src/color.ts","../src/font-weight.ts","../src/gradient.ts","../src/id.ts","../src/shadow.ts","../src/string.ts","../src/stroke-style.ts","../src/transform.ts","../src/transition.ts","../src/typography.ts"],"sourcesContent":[],"mappings":";;;;;cAAa;;;cCMA,eAAe,OAC1B,QACE,oKAkBF;cAoBW;ED9CA,SAAA,SAAA,EAAA,KAAA;;;;ECMA,SAAA,GAAA,EAAA,KAsCH;EAAA,SAAA,SAAA,EAAA,OAAA;WApCN,GAAA,EAAA,KAAA;WADF,KAAA,EAAA,OAAA;WAmBA,KAAA,EAAA,OAAA;WApB0B,KAAA,EAAA,OAAA;EAAM,SAAA,cAAA,EAAA,UAAA;EAwCrB,SAAA,OAkBH,EAAA,SAAA;EAGM,SAAA,IAAU,EAAA,KAAA;EAmEV,SAAA,aAAa,EAAA,MAAA;EAAA,SAAA,GAAA,EAAA,OAAA;WAAQ,SAAA,EAAA,OAAA;WAAuB,SAAA,EAAA,OAAA;CAAK;AA2DjE;AAKa,iBAnIG,UAAA,CA2Pf,KAAA,EAAA,MAAA,CAAA,EA3P0C,oBA2P1C;;AAxH+B,iBAhEhB,aAAA,CAgEgB,KAAA,EAhEK,oBAgEL,CAAA,EAhE4B,KAgE5B,GAAA,SAAA;AAAY,UAL3B,oBAAA,CAK2B;QAAnB,EAAA,CAAA,GAAA,EAAA,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,EAAA;;;cAAZ,YAAY,OAAO,YAAY;;;;cCrM/B;;;;EFDA,aAAA,EAAA,MAAA;;;;ECMA,IAAA,EAAA,MAAA;EAsCH,MAAA,EAAA,MAAA;aApCN,EAAA,MAAA;aADF,EAAA,MAAA;MAmBA,EAAA,MAAA;cApB0B,EAAA,MAAA;EAAM,YAAA,EAAA,MAAA;EAwCrB,KAAA,EAAA,MAAA;EAqBG,KAAA,EAAA,MAAU;EAmEV,aAAA,EAAA,MAAa;EAAA,aAAA,EAAA,MAAA;;;;cEtIhB;;;;iBCKG,OAAA;;iBAKA,aAAA;;AJVH,iBImBG,SAAA,CJnB8D,KAAA,EAAA,MAAA,CAAA,EAAA,MAAA;;iBIwB9D,UAAA;;AHlBH,iBGiCG,OAAA,CHKN,EAAA,EAAA,MAAA,CAAA,EAAA;EAAA,KAAA,EAAA,MAAA;OApCN,CAAA,EAAA,MAAA;;;;cIRS;;;;iBCCG,MAAA;;iBAuBA,+CAA+C,WAAW,IAAI;;ANxBjE,iBM6BG,SAAA,CN7B8D,GAAA,EAAA,MAAA,CAAA,EAAA,MAAA;;;cOAjE;cAWA;cAEA;;;UCbI,sBAAA;;;;;ARAJ,iBQMG,uBAAA,CRN8D,KAAA,EAAA,OAAA,EAAA;EAAA;AAAA,CAAA,EQMX,sBRNW,CAAA,EAAA,IAAA;;;cSAjE;;;cCAA"}