@terrazzo/token-tools 0.0.0 → 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.
- package/dist/css/index.d.ts +28 -17
- package/dist/css/index.js +92 -51
- package/dist/css/index.js.map +1 -1
- package/package.json +4 -2
- package/src/css/index.ts +139 -75
package/dist/css/index.d.ts
CHANGED
|
@@ -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 */
|
|
@@ -16,24 +23,27 @@ export interface BorderValue {
|
|
|
16
23
|
color: string | ColorValue;
|
|
17
24
|
style: string | StrokeStyleValue;
|
|
18
25
|
}
|
|
26
|
+
/** Generate shorthand CSS for select token types */
|
|
27
|
+
export declare function generateShorthand({ $type, localID }: {
|
|
28
|
+
$type: string;
|
|
29
|
+
localID: string;
|
|
30
|
+
}): string | undefined;
|
|
19
31
|
/** Convert border value to multiple CSS values */
|
|
20
|
-
export declare function transformBorderValue(value: BorderValue, { aliasOf, partialAliasOf, transformAlias, }
|
|
32
|
+
export declare function transformBorderValue(value: BorderValue, { aliasOf, partialAliasOf, transformAlias, }: {
|
|
21
33
|
aliasOf?: string;
|
|
22
34
|
partialAliasOf?: Partial<Record<keyof typeof value, string>>;
|
|
23
|
-
transformAlias
|
|
24
|
-
}): {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
35
|
+
transformAlias: IDGenerator;
|
|
36
|
+
}): string | {
|
|
37
|
+
'.': string;
|
|
38
|
+
srgb: string;
|
|
39
|
+
p3: string;
|
|
40
|
+
rec2020: string;
|
|
28
41
|
};
|
|
29
42
|
/** Convert color value to CSS string */
|
|
30
|
-
export declare function transformColorValue(value: string | ColorValue,
|
|
31
|
-
/** (optional) Clamp gamut to `srgb` or `p3` gamut (default: don’t clamp) */
|
|
32
|
-
{ aliasOf, gamut, transformAlias, }?: {
|
|
43
|
+
export declare function transformColorValue(value: string | ColorValue, { aliasOf, transformAlias }?: {
|
|
33
44
|
aliasOf?: string;
|
|
34
|
-
gamut?: 'srgb' | 'p3';
|
|
35
45
|
transformAlias?: IDGenerator;
|
|
36
|
-
}): string;
|
|
46
|
+
}): string | WideGamutColorValue;
|
|
37
47
|
export type CubicBézierValue = [string | number, string | number, string | number, string | number];
|
|
38
48
|
/** Convert cubicBezier value to CSS */
|
|
39
49
|
export declare function transformCubicBezierValue(value: CubicBézierValue, { aliasOf, partialAliasOf, transformAlias, }?: {
|
|
@@ -45,7 +55,7 @@ export declare function transformCubicBezierValue(value: CubicBézierValue, { al
|
|
|
45
55
|
export declare function transformCompositeAlias<T extends {}>(value: T, { aliasOf, transformAlias }: {
|
|
46
56
|
aliasOf: string;
|
|
47
57
|
transformAlias?: IDGenerator;
|
|
48
|
-
}): Record<
|
|
58
|
+
}): Record<string, string>;
|
|
49
59
|
export type DimensionValue = string;
|
|
50
60
|
/** Convert dimension value to CSS */
|
|
51
61
|
export declare function transformDimensionValue(value: number | string, { aliasOf, transformAlias }?: {
|
|
@@ -78,7 +88,7 @@ export declare function transformGradientValue(value: GradientStop[], { aliasOf,
|
|
|
78
88
|
aliasOf?: string;
|
|
79
89
|
partialAliasOf?: Partial<Record<keyof GradientStop, string>>[];
|
|
80
90
|
transformAlias?: IDGenerator;
|
|
81
|
-
}): string;
|
|
91
|
+
}): string | WideGamutColorValue;
|
|
82
92
|
export interface ShadowLayer {
|
|
83
93
|
color: ColorValue;
|
|
84
94
|
offsetX: string;
|
|
@@ -97,16 +107,17 @@ export declare function transformNumberValue(value: number, { aliasOf, transform
|
|
|
97
107
|
transformAlias?: IDGenerator;
|
|
98
108
|
}): string;
|
|
99
109
|
/** Convert shadow subvalue to CSS */
|
|
100
|
-
export declare function transformShadowLayer(value: ShadowLayer, { partialAliasOf, transformAlias, }
|
|
110
|
+
export declare function transformShadowLayer(value: ShadowLayer, { color, partialAliasOf, transformAlias, }: {
|
|
111
|
+
color: string;
|
|
101
112
|
partialAliasOf?: Partial<Record<keyof ShadowLayer, string>>;
|
|
102
113
|
transformAlias?: IDGenerator;
|
|
103
|
-
}): string
|
|
114
|
+
}): string | Record<string, string>;
|
|
104
115
|
/** Convert shadow value to CSS */
|
|
105
116
|
export declare function transformShadowValue(value: ShadowLayer[], { aliasOf, partialAliasOf, transformAlias, }?: {
|
|
106
117
|
aliasOf?: string;
|
|
107
118
|
partialAliasOf?: Partial<Record<keyof ShadowLayer, string>>[];
|
|
108
119
|
transformAlias?: IDGenerator;
|
|
109
|
-
}): string
|
|
120
|
+
}): string | Record<string, string>;
|
|
110
121
|
/** Convert string value to CSS */
|
|
111
122
|
export declare function transformStringValue(value: string | number | boolean, { aliasOf, transformAlias }?: {
|
|
112
123
|
aliasOf?: string;
|
|
@@ -134,7 +145,7 @@ export declare function transformTransitionValue(value: TransitionValue, { alias
|
|
|
134
145
|
}): {
|
|
135
146
|
duration: ReturnType<typeof transformDurationValue>;
|
|
136
147
|
delay: ReturnType<typeof transformDurationValue>;
|
|
137
|
-
|
|
148
|
+
'timing-function': ReturnType<typeof transformCubicBezierValue>;
|
|
138
149
|
};
|
|
139
150
|
/** Convert typography value to multiple CSS values */
|
|
140
151
|
export declare function transformTypographyValue(value: Record<string, string | string[]>, { aliasOf, partialAliasOf, transformAlias, }?: {
|
package/dist/css/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { formatCss,
|
|
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)})`;
|
|
@@ -12,32 +12,49 @@ export function transformBooleanValue(value, { aliasOf, transformAlias = default
|
|
|
12
12
|
}
|
|
13
13
|
return value ? '1' : '0';
|
|
14
14
|
}
|
|
15
|
+
/** Generate shorthand CSS for select token types */
|
|
16
|
+
export function generateShorthand({ $type, localID }) {
|
|
17
|
+
switch ($type) {
|
|
18
|
+
case 'transition': {
|
|
19
|
+
return ['duration', 'delay', 'timing-function']
|
|
20
|
+
.map((p) => makeCSSVar(`${localID}-${p}`, { wrapVar: true }))
|
|
21
|
+
.join(' ');
|
|
22
|
+
}
|
|
23
|
+
// note: "typography" is not set in shorthand because it can often unset values unintentionally.
|
|
24
|
+
// @see https://developer.mozilla.org/en-US/docs/Web/CSS/font
|
|
25
|
+
}
|
|
26
|
+
}
|
|
15
27
|
/** Convert border value to multiple CSS values */
|
|
16
|
-
export function transformBorderValue(value, { aliasOf, partialAliasOf, transformAlias = defaultAliasTransform, }
|
|
28
|
+
export function transformBorderValue(value, { aliasOf, partialAliasOf, transformAlias = defaultAliasTransform, }) {
|
|
17
29
|
if (aliasOf) {
|
|
18
|
-
return
|
|
30
|
+
return transformAlias(aliasOf);
|
|
19
31
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
+
};
|
|
31
50
|
}
|
|
32
51
|
/** Convert color value to CSS string */
|
|
33
|
-
export function transformColorValue(value,
|
|
34
|
-
/** (optional) Clamp gamut to `srgb` or `p3` gamut (default: don’t clamp) */
|
|
35
|
-
{ aliasOf, gamut, transformAlias = defaultAliasTransform, } = {}) {
|
|
52
|
+
export function transformColorValue(value, { aliasOf, transformAlias = defaultAliasTransform } = {}) {
|
|
36
53
|
if (aliasOf) {
|
|
37
54
|
return transformAlias(aliasOf);
|
|
38
55
|
}
|
|
39
56
|
const { colorSpace, channels, alpha } = typeof value === 'string' ? parseColor(value) : value;
|
|
40
|
-
|
|
57
|
+
const color = { mode: CSS_TO_CULORI[colorSpace], alpha };
|
|
41
58
|
switch (color.mode) {
|
|
42
59
|
case 'a98':
|
|
43
60
|
case 'rec2020':
|
|
@@ -90,13 +107,14 @@ export function transformColorValue(value,
|
|
|
90
107
|
break;
|
|
91
108
|
}
|
|
92
109
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
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
|
+
};
|
|
100
118
|
}
|
|
101
119
|
/** Convert cubicBezier value to CSS */
|
|
102
120
|
export function transformCubicBezierValue(value, { aliasOf, partialAliasOf, transformAlias = defaultAliasTransform, } = {}) {
|
|
@@ -167,12 +185,21 @@ export function transformGradientValue(value, { aliasOf, partialAliasOf, transfo
|
|
|
167
185
|
if (aliasOf) {
|
|
168
186
|
return transformAlias(aliasOf);
|
|
169
187
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
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
|
+
};
|
|
176
203
|
}
|
|
177
204
|
/** Convert link value to CSS */
|
|
178
205
|
export function transformLinkValue(value, { aliasOf, transformAlias = defaultAliasTransform } = {}) {
|
|
@@ -186,31 +213,42 @@ export function transformNumberValue(value, { aliasOf, transformAlias = defaultA
|
|
|
186
213
|
return aliasOf ? transformAlias(aliasOf) : String(value);
|
|
187
214
|
}
|
|
188
215
|
/** Convert shadow subvalue to CSS */
|
|
189
|
-
export function transformShadowLayer(value, { partialAliasOf, transformAlias = defaultAliasTransform, }
|
|
190
|
-
|
|
191
|
-
partialAliasOf
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
partialAliasOf
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
partialAliasOf
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
partialAliasOf
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
partialAliasOf?.color ? transformAlias(partialAliasOf.color) : transformColorValue(value.color, { transformAlias }),
|
|
204
|
-
].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(' ');
|
|
205
230
|
}
|
|
206
231
|
/** Convert shadow value to CSS */
|
|
207
232
|
export function transformShadowValue(value, { aliasOf, partialAliasOf, transformAlias = defaultAliasTransform, } = {}) {
|
|
208
233
|
if (aliasOf) {
|
|
209
234
|
return transformAlias(aliasOf);
|
|
210
235
|
}
|
|
211
|
-
|
|
212
|
-
|
|
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
|
+
}))
|
|
213
248
|
.join(', ');
|
|
249
|
+
return !isHDR
|
|
250
|
+
? formatShadow('.')
|
|
251
|
+
: { '.': formatShadow('.'), srgb: formatShadow('srgb'), p3: formatShadow('p3'), rec2020: formatShadow('rec2020') };
|
|
214
252
|
}
|
|
215
253
|
/** Convert string value to CSS */
|
|
216
254
|
export function transformStringValue(value, { aliasOf, transformAlias = defaultAliasTransform } = {}) {
|
|
@@ -237,7 +275,7 @@ export function transformTransitionValue(value, { aliasOf, partialAliasOf, trans
|
|
|
237
275
|
delay: partialAliasOf?.delay
|
|
238
276
|
? transformAlias(partialAliasOf.delay)
|
|
239
277
|
: transformDurationValue(value.delay, { transformAlias }),
|
|
240
|
-
|
|
278
|
+
'timing-function': partialAliasOf?.timingFunction
|
|
241
279
|
? transformAlias(partialAliasOf.timingFunction)
|
|
242
280
|
: transformCubicBezierValue(value.timingFunction, { transformAlias }),
|
|
243
281
|
};
|
|
@@ -280,7 +318,10 @@ const CSS_VAR_RE = /(?:(\p{Uppercase_Letter}?\p{Lowercase_Letter}+|\p{Uppercase_
|
|
|
280
318
|
* Code by @dfrankland
|
|
281
319
|
*/
|
|
282
320
|
export function makeCSSVar(name, { prefix, wrapVar = false } = {}) {
|
|
283
|
-
|
|
321
|
+
let property = name.split(CSS_VAR_RE).filter(Boolean).join('-');
|
|
322
|
+
if (prefix && !property.startsWith(`${prefix}-`)) {
|
|
323
|
+
property = `${prefix}-${property}`;
|
|
324
|
+
}
|
|
284
325
|
const finalProperty = `--${property}`.toLocaleLowerCase();
|
|
285
326
|
return wrapVar ? `var(${finalProperty})` : finalProperty;
|
|
286
327
|
}
|
package/dist/css/index.js.map
CHANGED
|
@@ -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":"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"}
|
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.
|
|
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,
|
|
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
|
-
|
|
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
|
|
|
@@ -29,10 +35,22 @@ export interface BorderValue {
|
|
|
29
35
|
style: string | StrokeStyleValue;
|
|
30
36
|
}
|
|
31
37
|
|
|
38
|
+
/** Generate shorthand CSS for select token types */
|
|
39
|
+
export function generateShorthand({ $type, localID }: { $type: string; localID: string }): string | undefined {
|
|
40
|
+
switch ($type) {
|
|
41
|
+
case 'transition': {
|
|
42
|
+
return ['duration', 'delay', 'timing-function']
|
|
43
|
+
.map((p) => makeCSSVar(`${localID}-${p}`, { wrapVar: true }))
|
|
44
|
+
.join(' ');
|
|
45
|
+
}
|
|
46
|
+
// note: "typography" is not set in shorthand because it can often unset values unintentionally.
|
|
47
|
+
// @see https://developer.mozilla.org/en-US/docs/Web/CSS/font
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
32
51
|
/** Convert border value to multiple CSS values */
|
|
33
52
|
export function transformBorderValue(
|
|
34
53
|
value: BorderValue,
|
|
35
|
-
|
|
36
54
|
{
|
|
37
55
|
aliasOf,
|
|
38
56
|
partialAliasOf,
|
|
@@ -40,49 +58,47 @@ export function transformBorderValue(
|
|
|
40
58
|
}: {
|
|
41
59
|
aliasOf?: string;
|
|
42
60
|
partialAliasOf?: Partial<Record<keyof typeof value, string>>;
|
|
43
|
-
transformAlias
|
|
44
|
-
}
|
|
45
|
-
)
|
|
46
|
-
width: ReturnType<typeof transformDimensionValue>;
|
|
47
|
-
color: ReturnType<typeof transformColorValue>;
|
|
48
|
-
style: ReturnType<typeof transformStrokeStyleValue>;
|
|
49
|
-
} {
|
|
61
|
+
transformAlias: IDGenerator;
|
|
62
|
+
},
|
|
63
|
+
) {
|
|
50
64
|
if (aliasOf) {
|
|
51
|
-
return
|
|
65
|
+
return transformAlias(aliasOf);
|
|
52
66
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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
|
+
};
|
|
64
89
|
}
|
|
65
90
|
|
|
66
91
|
/** Convert color value to CSS string */
|
|
67
92
|
export function transformColorValue(
|
|
68
93
|
value: string | ColorValue,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
aliasOf,
|
|
72
|
-
gamut,
|
|
73
|
-
transformAlias = defaultAliasTransform,
|
|
74
|
-
}: {
|
|
75
|
-
aliasOf?: string;
|
|
76
|
-
gamut?: 'srgb' | 'p3';
|
|
77
|
-
transformAlias?: IDGenerator;
|
|
78
|
-
} = {},
|
|
79
|
-
): string {
|
|
94
|
+
{ aliasOf, transformAlias = defaultAliasTransform }: { aliasOf?: string; transformAlias?: IDGenerator } = {},
|
|
95
|
+
): string | WideGamutColorValue {
|
|
80
96
|
if (aliasOf) {
|
|
81
97
|
return transformAlias(aliasOf);
|
|
82
98
|
}
|
|
83
99
|
|
|
84
100
|
const { colorSpace, channels, alpha } = typeof value === 'string' ? parseColor(value) : value;
|
|
85
|
-
|
|
101
|
+
const color = { mode: CSS_TO_CULORI[colorSpace], alpha } as Color;
|
|
86
102
|
switch (color.mode) {
|
|
87
103
|
case 'a98':
|
|
88
104
|
case 'rec2020':
|
|
@@ -135,12 +151,15 @@ export function transformColorValue(
|
|
|
135
151
|
break;
|
|
136
152
|
}
|
|
137
153
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
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
|
+
};
|
|
144
163
|
}
|
|
145
164
|
|
|
146
165
|
export type CubicBézierValue = [string | number, string | number, string | number, string | number];
|
|
@@ -170,7 +189,7 @@ export function transformCubicBezierValue(
|
|
|
170
189
|
export function transformCompositeAlias<T extends {}>(
|
|
171
190
|
value: T,
|
|
172
191
|
{ aliasOf, transformAlias = defaultAliasTransform }: { aliasOf: string; transformAlias?: IDGenerator },
|
|
173
|
-
): Record<
|
|
192
|
+
): Record<string, string> {
|
|
174
193
|
const output: Record<string, string> = {};
|
|
175
194
|
for (const key in value) {
|
|
176
195
|
output[kebabCase(key)] = transformAlias(`${aliasOf}-${key}`);
|
|
@@ -269,18 +288,31 @@ export function transformGradientValue(
|
|
|
269
288
|
partialAliasOf?: Partial<Record<keyof GradientStop, string>>[];
|
|
270
289
|
transformAlias?: IDGenerator;
|
|
271
290
|
} = {},
|
|
272
|
-
): string {
|
|
291
|
+
): string | WideGamutColorValue {
|
|
273
292
|
if (aliasOf) {
|
|
274
293
|
return transformAlias(aliasOf);
|
|
275
294
|
}
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
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
|
+
};
|
|
284
316
|
}
|
|
285
317
|
|
|
286
318
|
export interface ShadowLayer {
|
|
@@ -314,25 +346,29 @@ export function transformNumberValue(
|
|
|
314
346
|
export function transformShadowLayer(
|
|
315
347
|
value: ShadowLayer,
|
|
316
348
|
{
|
|
349
|
+
color,
|
|
317
350
|
partialAliasOf,
|
|
318
351
|
transformAlias = defaultAliasTransform,
|
|
319
|
-
}: {
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
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(' ');
|
|
336
372
|
}
|
|
337
373
|
|
|
338
374
|
/** Convert shadow value to CSS */
|
|
@@ -347,13 +383,34 @@ export function transformShadowValue(
|
|
|
347
383
|
partialAliasOf?: Partial<Record<keyof ShadowLayer, string>>[];
|
|
348
384
|
transformAlias?: IDGenerator;
|
|
349
385
|
} = {},
|
|
350
|
-
): string {
|
|
386
|
+
): string | Record<string, string> {
|
|
351
387
|
if (aliasOf) {
|
|
352
388
|
return transformAlias(aliasOf);
|
|
353
389
|
}
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
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') };
|
|
357
414
|
}
|
|
358
415
|
|
|
359
416
|
/** Convert string value to CSS */
|
|
@@ -409,10 +466,14 @@ export function transformTransitionValue(
|
|
|
409
466
|
): {
|
|
410
467
|
duration: ReturnType<typeof transformDurationValue>;
|
|
411
468
|
delay: ReturnType<typeof transformDurationValue>;
|
|
412
|
-
|
|
469
|
+
'timing-function': ReturnType<typeof transformCubicBezierValue>;
|
|
413
470
|
} {
|
|
414
471
|
if (aliasOf) {
|
|
415
|
-
return transformCompositeAlias(value, { aliasOf, transformAlias })
|
|
472
|
+
return transformCompositeAlias(value, { aliasOf, transformAlias }) as {
|
|
473
|
+
duration: ReturnType<typeof transformDurationValue>;
|
|
474
|
+
delay: ReturnType<typeof transformDurationValue>;
|
|
475
|
+
'timing-function': ReturnType<typeof transformCubicBezierValue>;
|
|
476
|
+
};
|
|
416
477
|
}
|
|
417
478
|
return {
|
|
418
479
|
duration: partialAliasOf?.duration
|
|
@@ -421,7 +482,7 @@ export function transformTransitionValue(
|
|
|
421
482
|
delay: partialAliasOf?.delay
|
|
422
483
|
? transformAlias(partialAliasOf.delay)
|
|
423
484
|
: transformDurationValue(value.delay, { transformAlias }),
|
|
424
|
-
|
|
485
|
+
'timing-function': partialAliasOf?.timingFunction
|
|
425
486
|
? transformAlias(partialAliasOf.timingFunction)
|
|
426
487
|
: transformCubicBezierValue(value.timingFunction, { transformAlias }),
|
|
427
488
|
};
|
|
@@ -481,7 +542,10 @@ export interface MakeCSSVarOptions {
|
|
|
481
542
|
* Code by @dfrankland
|
|
482
543
|
*/
|
|
483
544
|
export function makeCSSVar(name: string, { prefix, wrapVar = false }: MakeCSSVarOptions = {}): string {
|
|
484
|
-
|
|
545
|
+
let property = name.split(CSS_VAR_RE).filter(Boolean).join('-');
|
|
546
|
+
if (prefix && !property.startsWith(`${prefix}-`)) {
|
|
547
|
+
property = `${prefix}-${property}`;
|
|
548
|
+
}
|
|
485
549
|
const finalProperty = `--${property}`.toLocaleLowerCase();
|
|
486
550
|
return wrapVar ? `var(${finalProperty})` : finalProperty;
|
|
487
551
|
}
|