@terrazzo/token-tools 0.0.8 → 0.0.9

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.
Files changed (76) hide show
  1. package/dist/color.d.ts +25 -0
  2. package/dist/color.js +145 -0
  3. package/dist/color.js.map +1 -0
  4. package/dist/css/boolean.d.ts +6 -0
  5. package/dist/css/boolean.js +12 -0
  6. package/dist/css/boolean.js.map +1 -0
  7. package/dist/css/border.d.ts +13 -0
  8. package/dist/css/border.js +30 -0
  9. package/dist/css/border.js.map +1 -0
  10. package/dist/css/color.d.ts +13 -0
  11. package/dist/css/color.js +27 -0
  12. package/dist/css/color.js.map +1 -0
  13. package/dist/css/cubic-bezier.d.ts +8 -0
  14. package/dist/css/cubic-bezier.js +11 -0
  15. package/dist/css/cubic-bezier.js.map +1 -0
  16. package/dist/css/dimension.d.ts +6 -0
  17. package/dist/css/dimension.js +12 -0
  18. package/dist/css/dimension.js.map +1 -0
  19. package/dist/css/duration.d.ts +6 -0
  20. package/dist/css/duration.js +12 -0
  21. package/dist/css/duration.js.map +1 -0
  22. package/dist/css/font-family.d.ts +7 -0
  23. package/dist/css/font-family.js +22 -0
  24. package/dist/css/font-family.js.map +1 -0
  25. package/dist/css/font-weight.d.ts +6 -0
  26. package/dist/css/font-weight.js +9 -0
  27. package/dist/css/font-weight.js.map +1 -0
  28. package/dist/css/gradient.d.ts +9 -0
  29. package/dist/css/gradient.js +24 -0
  30. package/dist/css/gradient.js.map +1 -0
  31. package/dist/css/index.d.ts +31 -0
  32. package/dist/css/index.js +106 -0
  33. package/dist/css/index.js.map +1 -0
  34. package/dist/css/lib.d.ts +24 -0
  35. package/dist/css/lib.js +36 -0
  36. package/dist/css/lib.js.map +1 -0
  37. package/dist/css/link.d.ts +6 -0
  38. package/dist/css/link.js +9 -0
  39. package/dist/css/link.js.map +1 -0
  40. package/dist/css/number.d.ts +6 -0
  41. package/dist/css/number.js +6 -0
  42. package/dist/css/number.js.map +1 -0
  43. package/dist/css/shadow.d.ts +14 -0
  44. package/dist/css/shadow.js +42 -0
  45. package/dist/css/shadow.js.map +1 -0
  46. package/dist/css/string.d.ts +6 -0
  47. package/dist/css/string.js +8 -0
  48. package/dist/css/string.js.map +1 -0
  49. package/dist/css/stroke-style.d.ts +7 -0
  50. package/dist/css/stroke-style.js +9 -0
  51. package/dist/css/stroke-style.js.map +1 -0
  52. package/dist/css/transition.d.ts +14 -0
  53. package/dist/css/transition.js +21 -0
  54. package/dist/css/transition.js.map +1 -0
  55. package/dist/css/typography.d.ts +7 -0
  56. package/dist/css/typography.js +38 -0
  57. package/dist/css/typography.js.map +1 -0
  58. package/dist/id.d.ts +18 -0
  59. package/dist/id.js +44 -0
  60. package/dist/id.js.map +1 -0
  61. package/dist/index.d.ts +5 -0
  62. package/dist/index.js +30 -0
  63. package/dist/index.js.map +1 -0
  64. package/dist/js/index.d.ts +12 -0
  65. package/dist/js/index.js +16 -0
  66. package/dist/js/index.js.map +1 -0
  67. package/dist/string.d.ts +4 -0
  68. package/dist/string.js +26 -0
  69. package/dist/string.js.map +1 -0
  70. package/dist/transform.d.ts +6 -0
  71. package/dist/transform.js +17 -0
  72. package/dist/transform.js.map +1 -0
  73. package/dist/types.d.ts +387 -0
  74. package/dist/types.js +2 -0
  75. package/dist/types.js.map +1 -0
  76. package/package.json +1 -1
@@ -0,0 +1,25 @@
1
+ import 'culori/css';
2
+ import { type Color } from 'culori/fn';
3
+ import type { ColorSpace, ColorTokenNormalized, ColorValueNormalized } from './types.js';
4
+ export declare const CULORI_TO_CSS: Record<Extract<Color['mode'], 'a98' | 'lab' | 'lch' | 'oklab' | 'oklch' | 'hsl' | 'hsv' | 'hwb' | 'lrgb' | 'p3' | 'prophoto' | 'rec2020' | 'rgb' | 'xyz50' | 'xyz65'>, ColorSpace>;
5
+ export declare const CSS_TO_CULORI: {
6
+ a98: string;
7
+ 'display-p3': string;
8
+ hsl: string;
9
+ hsv: string;
10
+ hwb: string;
11
+ lab: string;
12
+ lch: string;
13
+ oklab: string;
14
+ oklch: string;
15
+ 'prophoto-rgb': string;
16
+ rec2020: string;
17
+ srgb: string;
18
+ 'srgb-linear': string;
19
+ 'xyz-d50': string;
20
+ 'xyz-d65': string;
21
+ };
22
+ /** Parse any color */
23
+ export declare function parseColor(color: string): ColorValueNormalized;
24
+ /** Convert a color token to a Culori color */
25
+ export declare function tokenToCulori(token: ColorTokenNormalized): Color | undefined;
package/dist/color.js ADDED
@@ -0,0 +1,145 @@
1
+ import 'culori/css';
2
+ import { parse } from 'culori/fn';
3
+ export const CULORI_TO_CSS = {
4
+ a98: 'a98',
5
+ hsl: 'hsl',
6
+ hsv: 'hsv',
7
+ hwb: 'hwb',
8
+ lab: 'lab',
9
+ lch: 'lch',
10
+ lrgb: 'srgb-linear',
11
+ oklab: 'oklab',
12
+ oklch: 'oklch',
13
+ p3: 'display-p3',
14
+ prophoto: 'prophoto-rgb',
15
+ rec2020: 'rec2020',
16
+ rgb: 'srgb',
17
+ xyz50: 'xyz-d50',
18
+ xyz65: 'xyz-d65',
19
+ };
20
+ export const CSS_TO_CULORI = {
21
+ a98: 'a98',
22
+ 'display-p3': 'p3',
23
+ hsl: 'hsl',
24
+ hsv: 'hsv',
25
+ hwb: 'hwb',
26
+ lab: 'lab',
27
+ lch: 'lch',
28
+ oklab: 'oklab',
29
+ oklch: 'oklch',
30
+ 'prophoto-rgb': 'prophoto',
31
+ rec2020: 'rec2020',
32
+ srgb: 'rgb',
33
+ 'srgb-linear': 'lrgb',
34
+ 'xyz-d50': 'xyz50',
35
+ 'xyz-d65': 'xyz65',
36
+ };
37
+ /** Parse any color */
38
+ export function parseColor(color) {
39
+ const result = parse(color);
40
+ if (!result) {
41
+ throw new Error(`Unable to parse color "${color}"`);
42
+ }
43
+ if (!(result.mode in CULORI_TO_CSS)) {
44
+ throw new Error(`Unsupported color space: ${result.mode}`);
45
+ }
46
+ const colorSpace = CULORI_TO_CSS[result.mode];
47
+ let channels = [0, 0, 0];
48
+ switch (result.mode) {
49
+ case 'a98':
50
+ case 'rec2020':
51
+ case 'p3':
52
+ case 'prophoto':
53
+ case 'lrgb':
54
+ case 'rgb': {
55
+ channels = [result.r, result.g, result.b];
56
+ break;
57
+ }
58
+ case 'hsl': {
59
+ channels = [result.h ?? 0, result.s, result.l];
60
+ break;
61
+ }
62
+ case 'hsv': {
63
+ channels = [result.h ?? 0, result.s, result.v];
64
+ break;
65
+ }
66
+ case 'hwb': {
67
+ channels = [result.h ?? 0, result.w, result.b];
68
+ break;
69
+ }
70
+ case 'lab':
71
+ case 'oklab': {
72
+ channels = [result.l, result.a, result.b];
73
+ break;
74
+ }
75
+ case 'lch':
76
+ case 'oklch': {
77
+ channels = [result.l, result.c, result.h ?? 0];
78
+ break;
79
+ }
80
+ case 'xyz50':
81
+ case 'xyz65': {
82
+ channels = [result.x, result.y, result.z];
83
+ break;
84
+ }
85
+ }
86
+ return {
87
+ colorSpace,
88
+ channels,
89
+ alpha: result.alpha ?? 1,
90
+ };
91
+ }
92
+ /** Convert a color token to a Culori color */
93
+ export function tokenToCulori(token) {
94
+ if (token.$type !== 'color') {
95
+ return undefined;
96
+ }
97
+ switch (token.$value.colorSpace) {
98
+ case 'a98':
99
+ case 'display-p3':
100
+ case 'prophoto-rgb':
101
+ case 'rec2020':
102
+ case 'srgb':
103
+ case 'srgb-linear': {
104
+ const [r, g, b] = token.$value.channels;
105
+ return {
106
+ mode: CSS_TO_CULORI[token.$value.colorSpace] || token.$value.colorSpace,
107
+ r,
108
+ g,
109
+ b,
110
+ alpha: token.$value.alpha,
111
+ };
112
+ }
113
+ case 'hsl': {
114
+ const [h, s, l] = token.$value.channels;
115
+ return { mode: 'hsl', h, s, l, alpha: token.$value.alpha };
116
+ }
117
+ case 'hsv': {
118
+ const [h, s, v] = token.$value.channels;
119
+ return { mode: 'hsv', h, s, v, alpha: token.$value.alpha };
120
+ }
121
+ case 'hwb': {
122
+ const [h, w, b] = token.$value.channels;
123
+ return { mode: 'hwb', h, w, b, alpha: token.$value.alpha };
124
+ }
125
+ case 'lab':
126
+ case 'oklab': {
127
+ const [l, a, b] = token.$value.channels;
128
+ return { mode: token.$value.colorSpace, l, a, b, alpha: token.$value.alpha };
129
+ }
130
+ case 'lch':
131
+ case 'oklch': {
132
+ const [l, c, h] = token.$value.channels;
133
+ return { mode: token.$value.colorSpace, l, c, h, alpha: token.$value.alpha };
134
+ }
135
+ case 'xyz-d50': {
136
+ const [x, y, z] = token.$value.channels;
137
+ return { mode: 'xyz50', x, y, z, alpha: token.$value.alpha };
138
+ }
139
+ case 'xyz-d65': {
140
+ const [x, y, z] = token.$value.channels;
141
+ return { mode: 'xyz65', x, y, z, alpha: token.$value.alpha };
142
+ }
143
+ }
144
+ }
145
+ //# sourceMappingURL=color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.js","sourceRoot":"","sources":["../src/color.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { type IDGenerator } from './lib.js';
2
+ /** Convert boolean value to CSS string */
3
+ export declare function transformBooleanValue(value: boolean, { aliasOf, transformAlias }?: {
4
+ aliasOf?: string;
5
+ transformAlias?: IDGenerator;
6
+ }): string;
@@ -0,0 +1,12 @@
1
+ import { defaultAliasTransform } from './lib.js';
2
+ /** Convert boolean value to CSS string */
3
+ export function transformBooleanValue(value, { aliasOf, transformAlias = defaultAliasTransform } = {}) {
4
+ if (aliasOf) {
5
+ return transformAlias(aliasOf);
6
+ }
7
+ if (typeof value !== 'boolean') {
8
+ throw new Error(`Expected boolean, received ${typeof value} "${value}"`);
9
+ }
10
+ return value ? '1' : '0';
11
+ }
12
+ //# sourceMappingURL=boolean.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../src/css/boolean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEnE,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"}
@@ -0,0 +1,13 @@
1
+ import type { BorderValue } from '../types.js';
2
+ import { type IDGenerator } from './lib.js';
3
+ /** Convert border value to multiple CSS values */
4
+ export declare function transformBorderValue(value: BorderValue, { aliasOf, partialAliasOf, transformAlias, }: {
5
+ aliasOf?: string;
6
+ partialAliasOf?: Partial<Record<keyof typeof value, string>>;
7
+ transformAlias: IDGenerator;
8
+ }): string | {
9
+ '.': string;
10
+ srgb: string;
11
+ p3: string;
12
+ rec2020: string;
13
+ };
@@ -0,0 +1,30 @@
1
+ import { displayable } from 'culori';
2
+ import { transformColorValue } from './color.js';
3
+ import { transformDimensionValue } from './dimension.js';
4
+ import { defaultAliasTransform } from './lib.js';
5
+ import { transformStrokeStyleValue } from './stroke-style.js';
6
+ /** Convert border value to multiple CSS values */
7
+ export function transformBorderValue(value, { aliasOf, partialAliasOf, transformAlias = defaultAliasTransform, }) {
8
+ if (aliasOf) {
9
+ return transformAlias(aliasOf);
10
+ }
11
+ const width = partialAliasOf?.width
12
+ ? transformAlias(partialAliasOf.width)
13
+ : transformDimensionValue(value.width, { transformAlias });
14
+ const color = partialAliasOf?.color
15
+ ? transformAlias(partialAliasOf.color)
16
+ : transformColorValue(value.color, { transformAlias });
17
+ const style = partialAliasOf?.style
18
+ ? transformAlias(partialAliasOf.style)
19
+ : transformStrokeStyleValue(value.style, { transformAlias });
20
+ const formatBorder = (colorKey) => [width, style, typeof color === 'string' ? color : color[colorKey]].join(' ');
21
+ return typeof color === 'string' || displayable(color.p3)
22
+ ? formatBorder('.')
23
+ : {
24
+ '.': formatBorder('.'),
25
+ srgb: formatBorder('srgb'),
26
+ p3: formatBorder('p3'),
27
+ rec2020: formatBorder('rec2020'),
28
+ };
29
+ }
30
+ //# sourceMappingURL=border.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"border.js","sourceRoot":"","sources":["../../src/css/border.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAoB,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,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"}
@@ -0,0 +1,13 @@
1
+ import type { ColorValue } from '../types.js';
2
+ import { type IDGenerator } from './lib.js';
3
+ export type WideGamutColorValue = {
4
+ '.': string;
5
+ srgb: string;
6
+ p3: string;
7
+ rec2020: string;
8
+ };
9
+ /** Convert color value to CSS string */
10
+ export declare function transformColorValue(value: string | ColorValue, { aliasOf, transformAlias }?: {
11
+ aliasOf?: string;
12
+ transformAlias?: IDGenerator;
13
+ }): string | WideGamutColorValue;
@@ -0,0 +1,27 @@
1
+ import { displayable, formatCss, toGamut } from 'culori';
2
+ import { parseColor, tokenToCulori } from '../color.js';
3
+ import { defaultAliasTransform } from './lib.js';
4
+ /** Convert color value to CSS string */
5
+ export function transformColorValue(value, { aliasOf, transformAlias = defaultAliasTransform } = {}) {
6
+ if (aliasOf) {
7
+ return transformAlias(aliasOf);
8
+ }
9
+ const { colorSpace, channels, alpha = 1 } = typeof value === 'string' ? parseColor(value) : value;
10
+ const color = tokenToCulori({
11
+ $type: 'color',
12
+ $value: { colorSpace, channels, alpha },
13
+ mode: { '.': { $type: 'color', $value: { colorSpace, channels, alpha } } },
14
+ });
15
+ if (!color) {
16
+ throw new Error(`Can’t convert color ${JSON.stringify(value)} to Culori color`);
17
+ }
18
+ return displayable(color)
19
+ ? formatCss(color)
20
+ : {
21
+ '.': formatCss(color),
22
+ srgb: (typeof value === 'object' && value.hex) || formatCss(toGamut('rgb', 'oklch')(color)),
23
+ p3: formatCss(toGamut('p3', 'oklch')(color)),
24
+ rec2020: formatCss(toGamut('rec2020', 'oklch')(color)),
25
+ };
26
+ }
27
+ //# sourceMappingURL=color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.js","sourceRoot":"","sources":["../../src/css/color.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,EAAoB,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAInE,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,GAAG,CAAC,EAAE,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAClG,MAAM,KAAK,GAAG,aAAa,CAAC;QAC1B,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE;QACvC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;KACxC,CAAC,CAAC;IAEtC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAClF,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,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,CAAU,CAAC;YACpG,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CAAU,CAAC;YACrD,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,KAAK,CAAU,CAAC;SAChE,CAAC;AACR,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { CubicBezierValue } from '../types.js';
2
+ import { type IDGenerator } from './lib.js';
3
+ /** Convert cubicBezier value to CSS */
4
+ export declare function transformCubicBezierValue(value: CubicBezierValue, { aliasOf, partialAliasOf, transformAlias, }?: {
5
+ aliasOf?: string;
6
+ partialAliasOf?: [string | undefined, string | undefined, string | undefined, string | undefined];
7
+ transformAlias?: IDGenerator;
8
+ }): string;
@@ -0,0 +1,11 @@
1
+ import { defaultAliasTransform } from './lib.js';
2
+ /** Convert cubicBezier value to CSS */
3
+ export function transformCubicBezierValue(value, { aliasOf, partialAliasOf, transformAlias = defaultAliasTransform, } = {}) {
4
+ if (aliasOf) {
5
+ return transformAlias(aliasOf);
6
+ }
7
+ return `cubic-bezier(${value
8
+ .map((v, i) => (partialAliasOf?.[i] ? transformAlias(partialAliasOf[i]) : v))
9
+ .join(', ')})`;
10
+ }
11
+ //# sourceMappingURL=cubic-bezier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cubic-bezier.js","sourceRoot":"","sources":["../../src/css/cubic-bezier.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEnE,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"}
@@ -0,0 +1,6 @@
1
+ import { type IDGenerator } from './lib.js';
2
+ /** Convert dimension value to CSS */
3
+ export declare function transformDimensionValue(value: number | string, { aliasOf, transformAlias }?: {
4
+ aliasOf?: string;
5
+ transformAlias?: IDGenerator;
6
+ }): string;
@@ -0,0 +1,12 @@
1
+ import { defaultAliasTransform } from './lib.js';
2
+ /** Convert dimension value to CSS */
3
+ export function transformDimensionValue(value, { aliasOf, transformAlias = defaultAliasTransform } = {}) {
4
+ if (aliasOf) {
5
+ return transformAlias(aliasOf);
6
+ }
7
+ if (typeof value === 'number') {
8
+ return value === 0 ? '0' : `${value}px`;
9
+ }
10
+ return value === '0' || Number.parseFloat(value) === 0 ? '0' : value;
11
+ }
12
+ //# sourceMappingURL=dimension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dimension.js","sourceRoot":"","sources":["../../src/css/dimension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEnE,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,KAAK,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AACvE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { type IDGenerator } from './lib.js';
2
+ /** Convert duration value to CSS */
3
+ export declare function transformDurationValue(value: number | string, { aliasOf, transformAlias }?: {
4
+ aliasOf?: string;
5
+ transformAlias?: IDGenerator;
6
+ }): string;
@@ -0,0 +1,12 @@
1
+ import { defaultAliasTransform } from './lib.js';
2
+ /** Convert duration value to CSS */
3
+ export function transformDurationValue(value, { aliasOf, transformAlias = defaultAliasTransform } = {}) {
4
+ if (aliasOf) {
5
+ return transformAlias(aliasOf);
6
+ }
7
+ if (typeof value === 'number' || String(Number.parseFloat(value)) === value) {
8
+ return `${value}ms`;
9
+ }
10
+ return value;
11
+ }
12
+ //# sourceMappingURL=duration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duration.js","sourceRoot":"","sources":["../../src/css/duration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEnE,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"}
@@ -0,0 +1,7 @@
1
+ import { type IDGenerator } from './lib.js';
2
+ export declare const FONT_FAMILY_KEYWORDS: Set<string>;
3
+ export declare function transformFontFamilyValue(value: string | string[], { aliasOf, partialAliasOf, transformAlias, }?: {
4
+ aliasOf?: string;
5
+ partialAliasOf?: string[];
6
+ transformAlias?: IDGenerator;
7
+ }): string;
@@ -0,0 +1,22 @@
1
+ import { defaultAliasTransform } from './lib.js';
2
+ export const FONT_FAMILY_KEYWORDS = new Set([
3
+ 'sans-serif',
4
+ 'serif',
5
+ 'monospace',
6
+ 'system-ui',
7
+ 'ui-monospace',
8
+ '-apple-system',
9
+ ]);
10
+ export function transformFontFamilyValue(value, { aliasOf, partialAliasOf, transformAlias = defaultAliasTransform, } = {}) {
11
+ if (aliasOf) {
12
+ return transformAlias(aliasOf);
13
+ }
14
+ return (typeof value === 'string' ? [value] : value)
15
+ .map((fontName, i) => partialAliasOf?.[i]
16
+ ? transformAlias(partialAliasOf[i])
17
+ : FONT_FAMILY_KEYWORDS.has(fontName)
18
+ ? fontName
19
+ : `"${fontName}"`)
20
+ .join(', ');
21
+ }
22
+ //# sourceMappingURL=font-family.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"font-family.js","sourceRoot":"","sources":["../../src/css/font-family.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEnE,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"}
@@ -0,0 +1,6 @@
1
+ import { type IDGenerator } from './lib.js';
2
+ /** Convert fontWeight value to CSS */
3
+ export declare function transformFontWeightValue(value: number | string, { aliasOf, transformAlias }?: {
4
+ aliasOf?: string;
5
+ transformAlias?: IDGenerator;
6
+ }): string;
@@ -0,0 +1,9 @@
1
+ import { defaultAliasTransform } from './lib.js';
2
+ /** Convert fontWeight value to CSS */
3
+ export function transformFontWeightValue(value, { aliasOf, transformAlias = defaultAliasTransform } = {}) {
4
+ if (aliasOf) {
5
+ return transformAlias(aliasOf);
6
+ }
7
+ return String(value);
8
+ }
9
+ //# sourceMappingURL=font-weight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"font-weight.js","sourceRoot":"","sources":["../../src/css/font-weight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEnE,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"}
@@ -0,0 +1,9 @@
1
+ import type { GradientStopNormalized, GradientValueNormalized } from '../types';
2
+ import { type WideGamutColorValue } from './color.js';
3
+ import { type IDGenerator } from './lib.js';
4
+ /** Convert gradient value to CSS */
5
+ export declare function transformGradientValue(value: GradientValueNormalized, { aliasOf, partialAliasOf, transformAlias, }?: {
6
+ aliasOf?: string;
7
+ partialAliasOf?: Partial<Record<keyof GradientStopNormalized, string>>[];
8
+ transformAlias?: IDGenerator;
9
+ }): string | WideGamutColorValue;
@@ -0,0 +1,24 @@
1
+ import { transformColorValue } from './color.js';
2
+ import { defaultAliasTransform } from './lib.js';
3
+ /** Convert gradient value to CSS */
4
+ export function transformGradientValue(value, { aliasOf, partialAliasOf, transformAlias = defaultAliasTransform, } = {}) {
5
+ if (aliasOf) {
6
+ return transformAlias(aliasOf);
7
+ }
8
+ const colors = value.map(({ color }, i) => partialAliasOf?.[i]?.color ? transformAlias(partialAliasOf[i].color) : transformColorValue(color));
9
+ const positions = value.map(({ position }, i) => partialAliasOf?.[i]?.position ? transformAlias(String(partialAliasOf[i].position)) : `${100 * position}%`);
10
+ const isHDR = colors.some((c) => typeof c === 'object');
11
+ const formatStop = (index, colorKey = '.') => [
12
+ typeof colors[index] === 'string' ? colors[index] : colors[index][colorKey],
13
+ positions[index],
14
+ ].join(' ');
15
+ return !isHDR
16
+ ? value.map((_, i) => formatStop(i, positions[i])).join(', ')
17
+ : {
18
+ '.': value.map((_, i) => formatStop(i, '.')).join(', '),
19
+ srgb: value.map((_, i) => formatStop(i, 'srgb')).join(', '),
20
+ p3: value.map((_, i) => formatStop(i, 'p3')).join(', '),
21
+ rec2020: value.map((_, i) => formatStop(i, 'rec2020')).join(', '),
22
+ };
23
+ }
24
+ //# sourceMappingURL=gradient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gradient.js","sourceRoot":"","sources":["../../src/css/gradient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAA4B,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAoB,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEnE,oCAAoC;AACpC,MAAM,UAAU,sBAAsB,CACpC,KAA8B,EAC9B,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"}
@@ -0,0 +1,31 @@
1
+ import type { TokenNormalized } from '../types.js';
2
+ import type { IDGenerator } from './lib.js';
3
+ import { transformCubicBezierValue } from './cubic-bezier.js';
4
+ import { transformDurationValue } from './duration.js';
5
+ export * from './boolean.js';
6
+ export * from './border.js';
7
+ export * from './color.js';
8
+ export * from './cubic-bezier.js';
9
+ export * from './dimension.js';
10
+ export * from './duration.js';
11
+ export * from './font-family.js';
12
+ export * from './font-weight.js';
13
+ export * from './gradient.js';
14
+ export * from './lib.js';
15
+ export * from './link.js';
16
+ export * from './number.js';
17
+ export * from './shadow.js';
18
+ export * from './string.js';
19
+ export * from './stroke-style.js';
20
+ export * from './transition.js';
21
+ export * from './typography.js';
22
+ export interface TransformCSSValueOptions {
23
+ mode: string;
24
+ transformAlias: IDGenerator;
25
+ }
26
+ /** Main CSS Transform */
27
+ export declare function transformCSSValue<T extends TokenNormalized>(token: T, { mode, transformAlias }: TransformCSSValueOptions): string | Record<string, string> | import("./color.js").WideGamutColorValue | {
28
+ duration: ReturnType<typeof transformDurationValue>;
29
+ delay: ReturnType<typeof transformDurationValue>;
30
+ 'timing-function': ReturnType<typeof transformCubicBezierValue>;
31
+ } | undefined;
@@ -0,0 +1,106 @@
1
+ import { transformBooleanValue } from './boolean.js';
2
+ import { transformBorderValue } from './border.js';
3
+ import { transformColorValue } from './color.js';
4
+ import { transformCubicBezierValue } from './cubic-bezier.js';
5
+ import { transformDimensionValue } from './dimension.js';
6
+ import { transformDurationValue } from './duration.js';
7
+ import { transformFontFamilyValue } from './font-family.js';
8
+ import { transformFontWeightValue } from './font-weight.js';
9
+ import { transformGradientValue } from './gradient.js';
10
+ import { transformNumberValue } from './number.js';
11
+ import { transformLinkValue } from './link.js';
12
+ import { transformShadowValue } from './shadow.js';
13
+ import { transformStringValue } from './string.js';
14
+ import { transformTypographyValue } from './typography.js';
15
+ import { transformTransitionValue } from './transition.js';
16
+ import { transformStrokeStyleValue } from './stroke-style.js';
17
+ export * from './boolean.js';
18
+ export * from './border.js';
19
+ export * from './color.js';
20
+ export * from './cubic-bezier.js';
21
+ export * from './dimension.js';
22
+ export * from './duration.js';
23
+ export * from './font-family.js';
24
+ export * from './font-weight.js';
25
+ export * from './gradient.js';
26
+ export * from './lib.js';
27
+ export * from './link.js';
28
+ export * from './number.js';
29
+ export * from './shadow.js';
30
+ export * from './string.js';
31
+ export * from './stroke-style.js';
32
+ export * from './transition.js';
33
+ export * from './typography.js';
34
+ /** Main CSS Transform */
35
+ export function transformCSSValue(token, { mode, transformAlias }) {
36
+ if (!token.mode[mode]) {
37
+ return;
38
+ }
39
+ switch (token.$type) {
40
+ case 'boolean': {
41
+ const { $value, aliasOf } = token.mode[mode];
42
+ return transformBooleanValue($value, { aliasOf, transformAlias });
43
+ }
44
+ case 'border': {
45
+ const { $value, aliasOf, partialAliasOf } = token.mode[mode];
46
+ return transformBorderValue($value, { aliasOf, partialAliasOf, transformAlias });
47
+ }
48
+ case 'color': {
49
+ const { $value, aliasOf } = token.mode[mode];
50
+ return transformColorValue($value, { aliasOf, transformAlias });
51
+ }
52
+ case 'cubicBezier': {
53
+ const { $value, aliasOf, partialAliasOf } = token.mode[mode];
54
+ return transformCubicBezierValue($value, { aliasOf, partialAliasOf, transformAlias });
55
+ }
56
+ case 'dimension': {
57
+ const { $value, aliasOf } = token.mode[mode];
58
+ return transformDimensionValue($value, { aliasOf, transformAlias });
59
+ }
60
+ case 'duration': {
61
+ const { $value, aliasOf } = token.mode[mode];
62
+ return transformDurationValue($value, { aliasOf, transformAlias });
63
+ }
64
+ case 'fontFamily': {
65
+ const { $value, aliasOf, partialAliasOf } = token.mode[mode];
66
+ return transformFontFamilyValue($value, { aliasOf, partialAliasOf, transformAlias });
67
+ }
68
+ case 'fontWeight': {
69
+ const { $value, aliasOf } = token.mode[mode];
70
+ return transformFontWeightValue($value, { aliasOf, transformAlias });
71
+ }
72
+ case 'gradient': {
73
+ const { $value, aliasOf, partialAliasOf } = token.mode[mode];
74
+ return transformGradientValue($value, { aliasOf, partialAliasOf, transformAlias });
75
+ }
76
+ case 'link': {
77
+ const { $value, aliasOf } = token.mode[mode];
78
+ return transformLinkValue($value, { aliasOf, transformAlias });
79
+ }
80
+ case 'number': {
81
+ const { $value, aliasOf } = token.mode[mode];
82
+ return transformNumberValue($value, { aliasOf, transformAlias });
83
+ }
84
+ case 'shadow': {
85
+ const { $value, aliasOf, partialAliasOf } = token.mode[mode];
86
+ return transformShadowValue($value, { aliasOf, partialAliasOf, transformAlias });
87
+ }
88
+ case 'string': {
89
+ const { $value, aliasOf } = token.mode[mode];
90
+ return transformStringValue($value, { aliasOf, transformAlias });
91
+ }
92
+ case 'strokeStyle': {
93
+ const { $value, aliasOf } = token.mode[mode];
94
+ return transformStrokeStyleValue($value, { aliasOf, transformAlias });
95
+ }
96
+ case 'transition': {
97
+ const { $value, aliasOf, partialAliasOf } = token.mode[mode];
98
+ return transformTransitionValue($value, { aliasOf, partialAliasOf, transformAlias });
99
+ }
100
+ case 'typography': {
101
+ const { $value, aliasOf, partialAliasOf } = token.mode[mode];
102
+ return transformTypographyValue($value, { aliasOf, partialAliasOf, transformAlias });
103
+ }
104
+ }
105
+ }
106
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/css/index.ts"],"names":[],"mappings":"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"}