@terrazzo/token-tools 0.0.1 → 0.0.2

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.
@@ -4,6 +4,13 @@ export type ColorValue = string | {
4
4
  colorSpace: string;
5
5
  channels: [number, number, number];
6
6
  alpha: number;
7
+ hex?: string;
8
+ };
9
+ export type WideGamutColorValue = {
10
+ '.': string;
11
+ srgb: string;
12
+ p3: string;
13
+ rec2020: string;
7
14
  };
8
15
  export declare const defaultAliasTransform: (id: string) => string;
9
16
  /** Convert boolean value to CSS string */
@@ -26,19 +33,17 @@ export declare function transformBorderValue(value: BorderValue, { aliasOf, part
26
33
  aliasOf?: string;
27
34
  partialAliasOf?: Partial<Record<keyof typeof value, string>>;
28
35
  transformAlias: IDGenerator;
29
- }): {
30
- width: ReturnType<typeof transformDimensionValue>;
31
- color: ReturnType<typeof transformColorValue>;
32
- style: ReturnType<typeof transformStrokeStyleValue>;
36
+ }): string | {
37
+ '.': string;
38
+ srgb: string;
39
+ p3: string;
40
+ rec2020: string;
33
41
  };
34
42
  /** Convert color value to CSS string */
35
- export declare function transformColorValue(value: string | ColorValue,
36
- /** (optional) Clamp gamut to `srgb` or `p3` gamut (default: don’t clamp) */
37
- { aliasOf, gamut, transformAlias, }?: {
43
+ export declare function transformColorValue(value: string | ColorValue, { aliasOf, transformAlias }?: {
38
44
  aliasOf?: string;
39
- gamut?: 'srgb' | 'p3';
40
45
  transformAlias?: IDGenerator;
41
- }): string;
46
+ }): string | WideGamutColorValue;
42
47
  export type CubicBézierValue = [string | number, string | number, string | number, string | number];
43
48
  /** Convert cubicBezier value to CSS */
44
49
  export declare function transformCubicBezierValue(value: CubicBézierValue, { aliasOf, partialAliasOf, transformAlias, }?: {
@@ -83,7 +88,7 @@ export declare function transformGradientValue(value: GradientStop[], { aliasOf,
83
88
  aliasOf?: string;
84
89
  partialAliasOf?: Partial<Record<keyof GradientStop, string>>[];
85
90
  transformAlias?: IDGenerator;
86
- }): string;
91
+ }): string | WideGamutColorValue;
87
92
  export interface ShadowLayer {
88
93
  color: ColorValue;
89
94
  offsetX: string;
@@ -102,16 +107,17 @@ export declare function transformNumberValue(value: number, { aliasOf, transform
102
107
  transformAlias?: IDGenerator;
103
108
  }): string;
104
109
  /** Convert shadow subvalue to CSS */
105
- export declare function transformShadowLayer(value: ShadowLayer, { partialAliasOf, transformAlias, }?: {
110
+ export declare function transformShadowLayer(value: ShadowLayer, { color, partialAliasOf, transformAlias, }: {
111
+ color: string;
106
112
  partialAliasOf?: Partial<Record<keyof ShadowLayer, string>>;
107
113
  transformAlias?: IDGenerator;
108
- }): string;
114
+ }): string | Record<string, string>;
109
115
  /** Convert shadow value to CSS */
110
116
  export declare function transformShadowValue(value: ShadowLayer[], { aliasOf, partialAliasOf, transformAlias, }?: {
111
117
  aliasOf?: string;
112
118
  partialAliasOf?: Partial<Record<keyof ShadowLayer, string>>[];
113
119
  transformAlias?: IDGenerator;
114
- }): string;
120
+ }): string | Record<string, string>;
115
121
  /** Convert string value to CSS */
116
122
  export declare function transformStringValue(value: string | number | boolean, { aliasOf, transformAlias }?: {
117
123
  aliasOf?: string;
package/dist/css/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { formatCss, clampChroma } from 'culori';
1
+ import { clampChroma, formatCss, displayable } from 'culori';
2
2
  import { kebabCase } from 'scule';
3
3
  import { CSS_TO_CULORI, parseColor } from '../color.js';
4
4
  export const defaultAliasTransform = (id) => `var(${makeCSSVar(id)})`;
@@ -15,9 +15,6 @@ export function transformBooleanValue(value, { aliasOf, transformAlias = default
15
15
  /** Generate shorthand CSS for select token types */
16
16
  export function generateShorthand({ $type, localID }) {
17
17
  switch ($type) {
18
- case 'border': {
19
- return ['width', 'style', 'color'].map((p) => makeCSSVar(`${localID}-${p}`, { wrapVar: true })).join(' ');
20
- }
21
18
  case 'transition': {
22
19
  return ['duration', 'delay', 'timing-function']
23
20
  .map((p) => makeCSSVar(`${localID}-${p}`, { wrapVar: true }))
@@ -30,29 +27,34 @@ export function generateShorthand({ $type, localID }) {
30
27
  /** Convert border value to multiple CSS values */
31
28
  export function transformBorderValue(value, { aliasOf, partialAliasOf, transformAlias = defaultAliasTransform, }) {
32
29
  if (aliasOf) {
33
- return transformCompositeAlias(value, { aliasOf, transformAlias });
30
+ return transformAlias(aliasOf);
34
31
  }
35
- return {
36
- width: partialAliasOf?.width
37
- ? transformAlias(partialAliasOf.width)
38
- : transformDimensionValue(value.width, { transformAlias }),
39
- color: partialAliasOf?.color
40
- ? transformAlias(partialAliasOf.color)
41
- : transformColorValue(value.color, { transformAlias }),
42
- style: partialAliasOf?.style
43
- ? transformAlias(partialAliasOf.style)
44
- : transformStrokeStyleValue(value.style, { transformAlias }),
45
- };
32
+ const width = partialAliasOf?.width
33
+ ? transformAlias(partialAliasOf.width)
34
+ : transformDimensionValue(value.width, { transformAlias });
35
+ const color = partialAliasOf?.color
36
+ ? transformAlias(partialAliasOf.color)
37
+ : transformColorValue(value.color, { transformAlias });
38
+ const style = partialAliasOf?.style
39
+ ? transformAlias(partialAliasOf.style)
40
+ : transformStrokeStyleValue(value.style, { transformAlias });
41
+ const formatBorder = (colorKey) => [width, style, typeof color === 'string' ? color : color[colorKey]].join(' ');
42
+ return typeof color === 'string' || displayable(color.p3)
43
+ ? formatBorder('.')
44
+ : {
45
+ '.': formatBorder('.'),
46
+ srgb: formatBorder('srgb'),
47
+ p3: formatBorder('p3'),
48
+ rec2020: formatBorder('rec2020'),
49
+ };
46
50
  }
47
51
  /** Convert color value to CSS string */
48
- export function transformColorValue(value,
49
- /** (optional) Clamp gamut to `srgb` or `p3` gamut (default: don’t clamp) */
50
- { aliasOf, gamut, transformAlias = defaultAliasTransform, } = {}) {
52
+ export function transformColorValue(value, { aliasOf, transformAlias = defaultAliasTransform } = {}) {
51
53
  if (aliasOf) {
52
54
  return transformAlias(aliasOf);
53
55
  }
54
56
  const { colorSpace, channels, alpha } = typeof value === 'string' ? parseColor(value) : value;
55
- let color = { mode: CSS_TO_CULORI[colorSpace], alpha };
57
+ const color = { mode: CSS_TO_CULORI[colorSpace], alpha };
56
58
  switch (color.mode) {
57
59
  case 'a98':
58
60
  case 'rec2020':
@@ -105,13 +107,14 @@ export function transformColorValue(value,
105
107
  break;
106
108
  }
107
109
  }
108
- if (gamut === 'srgb') {
109
- color = clampChroma(color, color.mode, 'rgb');
110
- }
111
- else if (gamut === 'p3') {
112
- color = clampChroma(color, color.mode, 'p3');
113
- }
114
- return formatCss(color);
110
+ return displayable(color)
111
+ ? formatCss(color)
112
+ : {
113
+ '.': formatCss(color),
114
+ srgb: (typeof value === 'object' && value.hex) || formatCss(clampChroma(color, color.mode, 'rgb')),
115
+ p3: formatCss(clampChroma(color, color.mode, 'p3')),
116
+ rec2020: formatCss(clampChroma(color, color.mode, 'rec2020')),
117
+ };
115
118
  }
116
119
  /** Convert cubicBezier value to CSS */
117
120
  export function transformCubicBezierValue(value, { aliasOf, partialAliasOf, transformAlias = defaultAliasTransform, } = {}) {
@@ -182,12 +185,21 @@ export function transformGradientValue(value, { aliasOf, partialAliasOf, transfo
182
185
  if (aliasOf) {
183
186
  return transformAlias(aliasOf);
184
187
  }
185
- return value
186
- .map(({ color, position }, i) => [
187
- partialAliasOf?.[i]?.color ? transformAlias(partialAliasOf[i].color) : transformColorValue(color),
188
- partialAliasOf?.[i]?.position ? transformAlias(String(partialAliasOf[i].position)) : `${100 * position}%`,
189
- ].join(' '))
190
- .join(', ');
188
+ const colors = value.map(({ color }, i) => partialAliasOf?.[i]?.color ? transformAlias(partialAliasOf[i].color) : transformColorValue(color));
189
+ const positions = value.map(({ position }, i) => partialAliasOf?.[i]?.position ? transformAlias(String(partialAliasOf[i].position)) : `${100 * position}%`);
190
+ const isHDR = colors.some((c) => typeof c === 'object');
191
+ const formatStop = (index, colorKey = '.') => [
192
+ typeof colors[index] === 'string' ? colors[index] : colors[index][colorKey],
193
+ positions[index],
194
+ ].join(' ');
195
+ return !isHDR
196
+ ? value.map((_, i) => formatStop(i, positions[i])).join(', ')
197
+ : {
198
+ '.': value.map((_, i) => formatStop(i, '.')).join(', '),
199
+ srgb: value.map((_, i) => formatStop(i, 'srgb')).join(', '),
200
+ p3: value.map((_, i) => formatStop(i, 'p3')).join(', '),
201
+ rec2020: value.map((_, i) => formatStop(i, 'rec2020')).join(', '),
202
+ };
191
203
  }
192
204
  /** Convert link value to CSS */
193
205
  export function transformLinkValue(value, { aliasOf, transformAlias = defaultAliasTransform } = {}) {
@@ -201,31 +213,42 @@ export function transformNumberValue(value, { aliasOf, transformAlias = defaultA
201
213
  return aliasOf ? transformAlias(aliasOf) : String(value);
202
214
  }
203
215
  /** Convert shadow subvalue to CSS */
204
- export function transformShadowLayer(value, { partialAliasOf, transformAlias = defaultAliasTransform, } = {}) {
205
- return [
206
- partialAliasOf?.offsetX
207
- ? transformAlias(partialAliasOf.offsetX)
208
- : transformDimensionValue(value.offsetX, { transformAlias }),
209
- partialAliasOf?.offsetY
210
- ? transformAlias(partialAliasOf.offsetY)
211
- : transformDimensionValue(value.offsetY, { transformAlias }),
212
- partialAliasOf?.blur
213
- ? transformAlias(partialAliasOf.blur)
214
- : transformDimensionValue(value.blur, { transformAlias }),
215
- partialAliasOf?.spread
216
- ? transformAlias(partialAliasOf.spread)
217
- : transformDimensionValue(value.spread, { transformAlias }),
218
- partialAliasOf?.color ? transformAlias(partialAliasOf.color) : transformColorValue(value.color, { transformAlias }),
219
- ].join(' ');
216
+ export function transformShadowLayer(value, { color, partialAliasOf, transformAlias = defaultAliasTransform, }) {
217
+ const offsetX = partialAliasOf?.offsetX
218
+ ? transformAlias(partialAliasOf.offsetX)
219
+ : transformDimensionValue(value.offsetX, { transformAlias });
220
+ const offsetY = partialAliasOf?.offsetY
221
+ ? transformAlias(partialAliasOf.offsetY)
222
+ : transformDimensionValue(value.offsetY, { transformAlias });
223
+ const blur = partialAliasOf?.blur
224
+ ? transformAlias(partialAliasOf.blur)
225
+ : transformDimensionValue(value.blur, { transformAlias });
226
+ const spread = partialAliasOf?.spread
227
+ ? transformAlias(partialAliasOf.spread)
228
+ : transformDimensionValue(value.spread, { transformAlias });
229
+ return [offsetX, offsetY, blur, spread, color].join(' ');
220
230
  }
221
231
  /** Convert shadow value to CSS */
222
232
  export function transformShadowValue(value, { aliasOf, partialAliasOf, transformAlias = defaultAliasTransform, } = {}) {
223
233
  if (aliasOf) {
224
234
  return transformAlias(aliasOf);
225
235
  }
226
- return value
227
- .map((v, i) => transformShadowLayer(v, { partialAliasOf: partialAliasOf?.[i], transformAlias }))
236
+ const colors = value.map(({ color }, i) => partialAliasOf?.[i]?.color
237
+ ? transformAlias(partialAliasOf[i].color)
238
+ : transformColorValue(color, { transformAlias }));
239
+ const isHDR = colors.some((c) => typeof c === 'object');
240
+ const formatShadow = (colorKey) => value
241
+ .map((v, i) => transformShadowLayer(v, {
242
+ color: typeof colors[i] === 'string'
243
+ ? colors[i]
244
+ : colors[i][colorKey],
245
+ partialAliasOf: partialAliasOf?.[i],
246
+ transformAlias,
247
+ }))
228
248
  .join(', ');
249
+ return !isHDR
250
+ ? formatShadow('.')
251
+ : { '.': formatShadow('.'), srgb: formatShadow('srgb'), p3: formatShadow('p3'), rec2020: formatShadow('rec2020') };
229
252
  }
230
253
  /** Convert string value to CSS */
231
254
  export function transformStringValue(value, { aliasOf, transformAlias = defaultAliasTransform } = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/css/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/css/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,SAAS,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAaxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,OAAO,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC;AAE9E,0CAA0C;AAC1C,MAAM,UAAU,qBAAqB,CACnC,KAAc,EACd,EAAE,OAAO,EAAE,cAAc,GAAG,qBAAqB,KAAyD,EAAE;IAE5G,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AAC3B,CAAC;AAQD,oDAAoD;AACpD,MAAM,UAAU,iBAAiB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAsC;IACtF,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,iBAAiB,CAAC;iBAC5C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC5D,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;QACD,gGAAgG;QAChG,6DAA6D;IAC/D,CAAC;AACH,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,oBAAoB,CAClC,KAAkB,EAClB,EACE,OAAO,EACP,cAAc,EACd,cAAc,GAAG,qBAAqB,GAKvC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,KAAK,GAAG,cAAc,EAAE,KAAK;QACjC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC;QACtC,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,cAAc,EAAE,KAAK;QACjC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC;QACtC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,cAAc,EAAE,KAAK;QACjC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC;QACtC,CAAC,CAAC,yBAAyB,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IAE/D,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAE,EAAE,CACxC,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAA8B,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEtG,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC;QACnB,CAAC,CAAC;YACE,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC;YACtB,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC;YAC1B,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC;YACtB,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC;SACjC,CAAC;AACR,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,mBAAmB,CACjC,KAA0B,EAC1B,EAAE,OAAO,EAAE,cAAc,GAAG,qBAAqB,KAAyD,EAAE;IAE5G,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9F,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,KAAK,EAAW,CAAC;IAClE,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,KAAK,CAAC;QACX,KAAK,SAAS,CAAC;QACf,KAAK,IAAI,CAAC;QACV,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM;QACR,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM;QACR,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM;QACR,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM;QACR,CAAC;QACD,KAAK,KAAK,CAAC;QACX,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM;QACR,CAAC;QACD,KAAK,KAAK,CAAC;QACX,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM;QACR,CAAC;QACD,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC,KAAK,CAAC;QACvB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;QAClB,CAAC,CAAC;YACE,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC;YACrB,IAAI,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAClG,EAAE,EAAE,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACnD,OAAO,EAAE,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SAC9D,CAAC;AACR,CAAC;AAID,uCAAuC;AACvC,MAAM,UAAU,yBAAyB,CACvC,KAAuB,EACvB,EACE,OAAO,EACP,cAAc,EACd,cAAc,GAAG,qBAAqB,MAKpC,EAAE;IAEN,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,gBAAgB,KAAK;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7E,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACnB,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,uBAAuB,CACrC,KAAQ,EACR,EAAE,OAAO,EAAE,cAAc,GAAG,qBAAqB,EAAqD;IAEtG,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,GAAG,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,MAAiC,CAAC;AAC3C,CAAC;AAID,qCAAqC;AACrC,MAAM,UAAU,uBAAuB,CACrC,KAAsB,EACtB,EAAE,OAAO,EAAE,cAAc,GAAG,qBAAqB,KAAyD,EAAE;IAE5G,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAID,oCAAoC;AACpC,MAAM,UAAU,sBAAsB,CACpC,KAAsB,EACtB,EAAE,OAAO,EAAE,cAAc,GAAG,qBAAqB,KAAyD,EAAE;IAE5G,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QAC5E,OAAO,GAAG,KAAK,IAAI,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IAC1C,YAAY;IACZ,OAAO;IACP,WAAW;IACX,WAAW;IACX,cAAc;IACd,eAAe;CAChB,CAAC,CAAC;AAEH,MAAM,UAAU,wBAAwB,CACtC,KAAwB,EACxB,EACE,OAAO,EACP,cAAc,EACd,cAAc,GAAG,qBAAqB,MAC2C,EAAE;IAErF,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;SACjD,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CACnB,cAAc,EAAE,CAAC,CAAC,CAAC;QACjB,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC;QACpC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClC,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,IAAI,QAAQ,GAAG,CACtB;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,wBAAwB,CACtC,KAAsB,EACtB,EAAE,OAAO,EAAE,cAAc,GAAG,qBAAqB,KAAyD,EAAE;IAE5G,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAOD,oCAAoC;AACpC,MAAM,UAAU,sBAAsB,CACpC,KAAqB,EACrB,EACE,OAAO,EACP,cAAc,EACd,cAAc,GAAG,qBAAqB,MAKpC,EAAE;IAEN,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CACxC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,KAAe,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAC7G,CAAC;IACF,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAC9C,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,QAAQ,GAAG,CAC3G,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,QAAQ,GAAG,GAAG,EAAE,EAAE,CACnD;QACE,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC,QAAyC,CAAC;QAC7G,SAAS,CAAC,KAAK,CAAE;KAClB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEd,OAAO,CAAC,KAAK;QACX,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9D,CAAC,CAAC;YACE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACvD,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3D,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACvD,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SAClE,CAAC;AACR,CAAC;AAUD,gCAAgC;AAChC,MAAM,UAAU,kBAAkB,CAChC,KAAa,EACb,EAAE,OAAO,EAAE,cAAc,GAAG,qBAAqB,KAAyD,EAAE;IAE5G,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,QAAQ,KAAK,IAAI,CAAC;AAC3B,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,oBAAoB,CAClC,KAAa,EACb,EAAE,OAAO,EAAE,cAAc,GAAG,qBAAqB,KAAyD,EAAE;IAE5G,OAAO,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,oBAAoB,CAClC,KAAkB,EAClB,EACE,KAAK,EACL,cAAc,EACd,cAAc,GAAG,qBAAqB,GAKvC;IAED,MAAM,OAAO,GAAG,cAAc,EAAE,OAAO;QACrC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC;QACxC,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,cAAc,EAAE,OAAO;QACrC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC;QACxC,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,cAAc,EAAE,IAAI;QAC/B,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC;QACrC,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,cAAc,EAAE,MAAM;QACnC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC;QACvC,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IAE9D,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,oBAAoB,CAClC,KAAoB,EACpB,EACE,OAAO,EACP,cAAc,EACd,cAAc,GAAG,qBAAqB,MAKpC,EAAE;IAEN,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CACxC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK;QACxB,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,KAAM,CAAC;QAC3C,CAAC,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,CACnD,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IAExD,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAE,EAAE,CACxC,KAAK;SACF,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACZ,oBAAoB,CAAC,CAAC,EAAE;QACtB,KAAK,EACH,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ;YAC3B,CAAC,CAAE,MAAM,CAAC,CAAC,CAAY;YACvB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,QAAyC,CAAE;QAC5D,cAAc,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;QACnC,cAAc;KACf,CAAC,CACH;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhB,OAAO,CAAC,KAAK;QACX,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC;QACnB,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;AACvH,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,oBAAoB,CAClC,KAAgC,EAChC,EAAE,OAAO,EAAE,cAAc,GAAG,qBAAqB,KAAyD,EAAE;IAE5G,6EAA6E;IAC7E,mEAAmE;IACnE,OAAO,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AAaD,uCAAuC;AACvC,MAAM,UAAU,yBAAyB,CACvC,KAAgC,EAChC,EAAE,OAAO,EAAE,cAAc,GAAG,qBAAqB,KAAyD,EAAE;IAE5G,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,oDAAoD;AAC3G,CAAC;AAQD,sDAAsD;AACtD,MAAM,UAAU,wBAAwB,CACtC,KAAsB,EACtB,EACE,OAAO,EACP,cAAc,EACd,cAAc,GAAG,qBAAqB,MAKpC,EAAE;IAMN,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,uBAAuB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,CAIhE,CAAC;IACJ,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,cAAc,EAAE,QAAQ;YAChC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC;YACzC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,CAAC;QAC9D,KAAK,EAAE,cAAc,EAAE,KAAK;YAC1B,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC;YACtC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC;QAC3D,iBAAiB,EAAE,cAAc,EAAE,cAAc;YAC/C,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,cAAc,CAAC;YAC/C,CAAC,CAAC,yBAAyB,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,cAAc,EAAE,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,wBAAwB,CACtC,KAAwC,EACxC,EACE,OAAO,EACP,cAAc,EACd,cAAc,GAAG,qBAAqB,MACqE,EAAE;IAE/G,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,uBAAuB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,IAAI,gBAAwB,CAAC;QAC7B,IAAI,cAAc,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,gBAAgB,GAAG,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAE,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,QAAQ,QAAQ,EAAE,CAAC;gBACjB,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,gBAAgB,GAAG,wBAAwB,CAAC,QAAoB,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;oBACtF,MAAM;gBACR,CAAC;gBACD,KAAK,UAAU,CAAC;gBAChB,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,gBAAgB,GAAG,wBAAwB,CAAC,QAAkB,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;oBACpF,MAAM;gBACR,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACR,gBAAgB,GAAG,oBAAoB,CAAC,QAAkB,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;oBAChF,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,gBAAgB,CAAC;IACjD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,GACd,8GAA8G,CAAC;AASjH;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,EAAE,MAAM,EAAE,OAAO,GAAG,KAAK,KAAwB,EAAE;IAC1F,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChE,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,QAAQ,GAAG,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC;IACrC,CAAC;IACD,MAAM,aAAa,GAAG,KAAK,QAAQ,EAAE,CAAC,iBAAiB,EAAE,CAAC;IAC1D,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,aAAa,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC;AAC3D,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@terrazzo/token-tools",
3
3
  "description": "Various utilities for token types",
4
- "version": "0.0.1",
4
+ "version": "0.0.2",
5
5
  "author": {
6
6
  "name": "Drew Powers",
7
7
  "email": "drew@pow.rs"
@@ -31,11 +31,13 @@
31
31
  "./*": "./*"
32
32
  },
33
33
  "dependencies": {
34
- "@types/culori": "^2.1.0",
35
34
  "culori": "^4.0.1",
36
35
  "scule": "^1.3.0",
37
36
  "wildcard-match": "^5.1.3"
38
37
  },
38
+ "devDependencies": {
39
+ "@types/culori": "^2.1.0"
40
+ },
39
41
  "scripts": {
40
42
  "build": "pnpm run build:clean && pnpm run build:ts && pnpm run build:license",
41
43
  "build:clean": "del dist",
package/src/css/index.ts CHANGED
@@ -1,11 +1,17 @@
1
- import { type Color, formatCss, clampChroma } from 'culori';
1
+ import { clampChroma, type Color, formatCss, displayable } from 'culori';
2
2
  import { kebabCase } from 'scule';
3
3
  import { CSS_TO_CULORI, parseColor } from '../color.js';
4
4
 
5
5
  /** Function that generates a var(…) statement */
6
6
  export type IDGenerator = (id: string) => string;
7
7
 
8
- export type ColorValue = string | { colorSpace: string; channels: [number, number, number]; alpha: number };
8
+ // note: this is the lowest-level package, so this type has to be redeclared
9
+ // here rather than create a circular dep with @terrazzo/parser
10
+ export type ColorValue =
11
+ | string
12
+ | { colorSpace: string; channels: [number, number, number]; alpha: number; hex?: string };
13
+
14
+ export type WideGamutColorValue = { '.': string; srgb: string; p3: string; rec2020: string };
9
15
 
10
16
  export const defaultAliasTransform = (id: string) => `var(${makeCSSVar(id)})`;
11
17
 
@@ -32,9 +38,6 @@ export interface BorderValue {
32
38
  /** Generate shorthand CSS for select token types */
33
39
  export function generateShorthand({ $type, localID }: { $type: string; localID: string }): string | undefined {
34
40
  switch ($type) {
35
- case 'border': {
36
- return ['width', 'style', 'color'].map((p) => makeCSSVar(`${localID}-${p}`, { wrapVar: true })).join(' ');
37
- }
38
41
  case 'transition': {
39
42
  return ['duration', 'delay', 'timing-function']
40
43
  .map((p) => makeCSSVar(`${localID}-${p}`, { wrapVar: true }))
@@ -57,51 +60,45 @@ export function transformBorderValue(
57
60
  partialAliasOf?: Partial<Record<keyof typeof value, string>>;
58
61
  transformAlias: IDGenerator;
59
62
  },
60
- ): {
61
- width: ReturnType<typeof transformDimensionValue>;
62
- color: ReturnType<typeof transformColorValue>;
63
- style: ReturnType<typeof transformStrokeStyleValue>;
64
- } {
63
+ ) {
65
64
  if (aliasOf) {
66
- return transformCompositeAlias(value, { aliasOf, transformAlias }) as {
67
- width: ReturnType<typeof transformDimensionValue>;
68
- color: ReturnType<typeof transformColorValue>;
69
- style: ReturnType<typeof transformStrokeStyleValue>;
70
- };
65
+ return transformAlias(aliasOf);
71
66
  }
72
- return {
73
- width: partialAliasOf?.width
74
- ? transformAlias(partialAliasOf.width)
75
- : transformDimensionValue(value.width, { transformAlias }),
76
- color: partialAliasOf?.color
77
- ? transformAlias(partialAliasOf.color)
78
- : transformColorValue(value.color, { transformAlias }),
79
- style: partialAliasOf?.style
80
- ? transformAlias(partialAliasOf.style)
81
- : transformStrokeStyleValue(value.style, { transformAlias }),
82
- };
67
+
68
+ const width = partialAliasOf?.width
69
+ ? transformAlias(partialAliasOf.width)
70
+ : transformDimensionValue(value.width, { transformAlias });
71
+ const color = partialAliasOf?.color
72
+ ? transformAlias(partialAliasOf.color)
73
+ : transformColorValue(value.color, { transformAlias });
74
+ const style = partialAliasOf?.style
75
+ ? transformAlias(partialAliasOf.style)
76
+ : transformStrokeStyleValue(value.style, { transformAlias });
77
+
78
+ const formatBorder = (colorKey: string) =>
79
+ [width, style, typeof color === 'string' ? color : color[colorKey as keyof typeof color]].join(' ');
80
+
81
+ return typeof color === 'string' || displayable(color.p3)
82
+ ? formatBorder('.')
83
+ : {
84
+ '.': formatBorder('.'),
85
+ srgb: formatBorder('srgb'),
86
+ p3: formatBorder('p3'),
87
+ rec2020: formatBorder('rec2020'),
88
+ };
83
89
  }
84
90
 
85
91
  /** Convert color value to CSS string */
86
92
  export function transformColorValue(
87
93
  value: string | ColorValue,
88
- /** (optional) Clamp gamut to `srgb` or `p3` gamut (default: don’t clamp) */
89
- {
90
- aliasOf,
91
- gamut,
92
- transformAlias = defaultAliasTransform,
93
- }: {
94
- aliasOf?: string;
95
- gamut?: 'srgb' | 'p3';
96
- transformAlias?: IDGenerator;
97
- } = {},
98
- ): string {
94
+ { aliasOf, transformAlias = defaultAliasTransform }: { aliasOf?: string; transformAlias?: IDGenerator } = {},
95
+ ): string | WideGamutColorValue {
99
96
  if (aliasOf) {
100
97
  return transformAlias(aliasOf);
101
98
  }
102
99
 
103
100
  const { colorSpace, channels, alpha } = typeof value === 'string' ? parseColor(value) : value;
104
- let color = { mode: CSS_TO_CULORI[colorSpace], alpha } as Color;
101
+ const color = { mode: CSS_TO_CULORI[colorSpace], alpha } as Color;
105
102
  switch (color.mode) {
106
103
  case 'a98':
107
104
  case 'rec2020':
@@ -154,12 +151,15 @@ export function transformColorValue(
154
151
  break;
155
152
  }
156
153
  }
157
- if (gamut === 'srgb') {
158
- color = clampChroma(color, color.mode, 'rgb');
159
- } else if (gamut === 'p3') {
160
- color = clampChroma(color, color.mode, 'p3');
161
- }
162
- return formatCss(color);
154
+
155
+ return displayable(color)
156
+ ? formatCss(color)
157
+ : {
158
+ '.': formatCss(color),
159
+ srgb: (typeof value === 'object' && value.hex) || formatCss(clampChroma(color, color.mode, 'rgb')),
160
+ p3: formatCss(clampChroma(color, color.mode, 'p3')),
161
+ rec2020: formatCss(clampChroma(color, color.mode, 'rec2020')),
162
+ };
163
163
  }
164
164
 
165
165
  export type CubicBézierValue = [string | number, string | number, string | number, string | number];
@@ -288,18 +288,31 @@ export function transformGradientValue(
288
288
  partialAliasOf?: Partial<Record<keyof GradientStop, string>>[];
289
289
  transformAlias?: IDGenerator;
290
290
  } = {},
291
- ): string {
291
+ ): string | WideGamutColorValue {
292
292
  if (aliasOf) {
293
293
  return transformAlias(aliasOf);
294
294
  }
295
- return value
296
- .map(({ color, position }, i) =>
297
- [
298
- partialAliasOf?.[i]?.color ? transformAlias(partialAliasOf[i]!.color as string) : transformColorValue(color),
299
- partialAliasOf?.[i]?.position ? transformAlias(String(partialAliasOf[i]!.position)) : `${100 * position}%`,
300
- ].join(' '),
301
- )
302
- .join(', ');
295
+ const colors = value.map(({ color }, i) =>
296
+ partialAliasOf?.[i]?.color ? transformAlias(partialAliasOf[i]!.color as string) : transformColorValue(color),
297
+ );
298
+ const positions = value.map(({ position }, i) =>
299
+ partialAliasOf?.[i]?.position ? transformAlias(String(partialAliasOf[i]!.position)) : `${100 * position}%`,
300
+ );
301
+ const isHDR = colors.some((c) => typeof c === 'object');
302
+ const formatStop = (index: number, colorKey = '.') =>
303
+ [
304
+ typeof colors[index] === 'string' ? colors[index] : colors[index]![colorKey as keyof (typeof colors)[number]],
305
+ positions[index]!,
306
+ ].join(' ');
307
+
308
+ return !isHDR
309
+ ? value.map((_, i) => formatStop(i, positions[i]!)).join(', ')
310
+ : {
311
+ '.': value.map((_, i) => formatStop(i, '.')).join(', '),
312
+ srgb: value.map((_, i) => formatStop(i, 'srgb')).join(', '),
313
+ p3: value.map((_, i) => formatStop(i, 'p3')).join(', '),
314
+ rec2020: value.map((_, i) => formatStop(i, 'rec2020')).join(', '),
315
+ };
303
316
  }
304
317
 
305
318
  export interface ShadowLayer {
@@ -333,25 +346,29 @@ export function transformNumberValue(
333
346
  export function transformShadowLayer(
334
347
  value: ShadowLayer,
335
348
  {
349
+ color,
336
350
  partialAliasOf,
337
351
  transformAlias = defaultAliasTransform,
338
- }: { partialAliasOf?: Partial<Record<keyof ShadowLayer, string>>; transformAlias?: IDGenerator } = {},
339
- ): string {
340
- return [
341
- partialAliasOf?.offsetX
342
- ? transformAlias(partialAliasOf.offsetX)
343
- : transformDimensionValue(value.offsetX, { transformAlias }),
344
- partialAliasOf?.offsetY
345
- ? transformAlias(partialAliasOf.offsetY)
346
- : transformDimensionValue(value.offsetY, { transformAlias }),
347
- partialAliasOf?.blur
348
- ? transformAlias(partialAliasOf.blur)
349
- : transformDimensionValue(value.blur, { transformAlias }),
350
- partialAliasOf?.spread
351
- ? transformAlias(partialAliasOf.spread)
352
- : transformDimensionValue(value.spread, { transformAlias }),
353
- partialAliasOf?.color ? transformAlias(partialAliasOf.color) : transformColorValue(value.color, { transformAlias }),
354
- ].join(' ');
352
+ }: {
353
+ color: string;
354
+ partialAliasOf?: Partial<Record<keyof ShadowLayer, string>>;
355
+ transformAlias?: IDGenerator;
356
+ },
357
+ ): string | Record<string, string> {
358
+ const offsetX = partialAliasOf?.offsetX
359
+ ? transformAlias(partialAliasOf.offsetX)
360
+ : transformDimensionValue(value.offsetX, { transformAlias });
361
+ const offsetY = partialAliasOf?.offsetY
362
+ ? transformAlias(partialAliasOf.offsetY)
363
+ : transformDimensionValue(value.offsetY, { transformAlias });
364
+ const blur = partialAliasOf?.blur
365
+ ? transformAlias(partialAliasOf.blur)
366
+ : transformDimensionValue(value.blur, { transformAlias });
367
+ const spread = partialAliasOf?.spread
368
+ ? transformAlias(partialAliasOf.spread)
369
+ : transformDimensionValue(value.spread, { transformAlias });
370
+
371
+ return [offsetX, offsetY, blur, spread, color].join(' ');
355
372
  }
356
373
 
357
374
  /** Convert shadow value to CSS */
@@ -366,13 +383,34 @@ export function transformShadowValue(
366
383
  partialAliasOf?: Partial<Record<keyof ShadowLayer, string>>[];
367
384
  transformAlias?: IDGenerator;
368
385
  } = {},
369
- ): string {
386
+ ): string | Record<string, string> {
370
387
  if (aliasOf) {
371
388
  return transformAlias(aliasOf);
372
389
  }
373
- return value
374
- .map((v, i) => transformShadowLayer(v, { partialAliasOf: partialAliasOf?.[i], transformAlias }))
375
- .join(', ');
390
+ const colors = value.map(({ color }, i) =>
391
+ partialAliasOf?.[i]?.color
392
+ ? transformAlias(partialAliasOf[i]!.color!)
393
+ : transformColorValue(color, { transformAlias }),
394
+ );
395
+ const isHDR = colors.some((c) => typeof c === 'object');
396
+
397
+ const formatShadow = (colorKey: string) =>
398
+ value
399
+ .map((v, i) =>
400
+ transformShadowLayer(v, {
401
+ color:
402
+ typeof colors[i] === 'string'
403
+ ? (colors[i] as string)
404
+ : colors[i]![colorKey as keyof (typeof colors)[number]]!,
405
+ partialAliasOf: partialAliasOf?.[i],
406
+ transformAlias,
407
+ }),
408
+ )
409
+ .join(', ');
410
+
411
+ return !isHDR
412
+ ? formatShadow('.')
413
+ : { '.': formatShadow('.'), srgb: formatShadow('srgb'), p3: formatShadow('p3'), rec2020: formatShadow('rec2020') };
376
414
  }
377
415
 
378
416
  /** Convert string value to CSS */