@terrazzo/token-tools 2.0.0-beta.1 → 2.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/dist/color-DoUasWha.d.ts +13 -0
- package/dist/color-DoUasWha.d.ts.map +1 -0
- package/dist/css.d.ts +8 -11
- package/dist/css.d.ts.map +1 -1
- package/dist/css.js +21 -64
- package/dist/css.js.map +1 -1
- package/dist/index.d.ts +3 -35
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/js.d.ts +1 -1
- package/dist/js.d.ts.map +1 -1
- package/dist/string-BKbTpl-t.js +94 -0
- package/dist/string-BKbTpl-t.js.map +1 -0
- package/dist/{types-DpPbXNdS.d.ts → types-Cwbw-_yP.d.ts} +2 -3
- package/dist/types-Cwbw-_yP.d.ts.map +1 -0
- package/package.json +2 -5
- package/dist/string-BIhoe-L2.js +0 -348
- package/dist/string-BIhoe-L2.js.map +0 -1
- package/dist/types-DpPbXNdS.d.ts.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -49,6 +49,8 @@
|
|
|
49
49
|
|
|
50
50
|
These behaviors may be opted out individually by adjusting the new lint rules ([see documentation](https://terrazzo.app/docs/linting/)).
|
|
51
51
|
|
|
52
|
+
- ⚠️ Breaking change: Replace Culori with [Color.js](https://colorjs.io) for color parsing, a more performant and CSS spec-compliant color science library. This means some color utilities will have different output.
|
|
53
|
+
|
|
52
54
|
### Patch Changes
|
|
53
55
|
|
|
54
56
|
- [#530](https://github.com/terrazzoapp/terrazzo/pull/530) [`370ed7b`](https://github.com/terrazzoapp/terrazzo/commit/370ed7b0f578a64824124145d7f4936536b37bb3) Thanks [@drwpow](https://github.com/drwpow)! - Fix bug where border tokens’ partial aliases would sometimes refer to themselves
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { m as ColorValueNormalized, u as ColorSpace$1 } from "./types-Cwbw-_yP.js";
|
|
2
|
+
import { ColorConstructor, ColorSpace, PlainColorObject } from "colorjs.io/fn";
|
|
3
|
+
|
|
4
|
+
//#region src/color.d.ts
|
|
5
|
+
/** Complete list of CSS Module 4 color spaces */
|
|
6
|
+
declare const COLOR_SPACE: Record<ColorSpace$1, ColorSpace>;
|
|
7
|
+
/** Parse any color */
|
|
8
|
+
declare function parseColor(color: string): ColorValueNormalized;
|
|
9
|
+
/** Convert a color token to a Color.js color */
|
|
10
|
+
declare function tokenToColor(value: ColorValueNormalized): ColorConstructor & PlainColorObject;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { parseColor as n, tokenToColor as r, COLOR_SPACE as t };
|
|
13
|
+
//# sourceMappingURL=color-DoUasWha.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color-DoUasWha.d.ts","names":[],"sources":["../src/color.ts"],"mappings":";;;;;cA4Ba,WAAA,EAAa,MAAA,CAAO,YAAA,EAAY,UAAA;AAA7C;AAAA,iBA8BgB,UAAA,CAAW,KAAA,WAAgB,oBAAA;;iBAc3B,YAAA,CAAa,KAAA,EAAO,oBAAA,GAAuB,gBAAA,GAAmB,gBAAA"}
|
package/dist/css.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { F as GradientTokenNormalized, Q as ShadowValueNormalized, S as DurationTokenNormalized, St as TypographyTokenNormalized, T as FontFamilyTokenNormalized, U as LinkTokenNormalized, X as ShadowTokenNormalized, dt as TokenNormalizedSet, et as StringTokenNormalized, f as ColorTokenNormalized, g as CubicBezierTokenNormalized, i as BooleanTokenNormalized, k as FontWeightTokenNormalized, lt as TokenNormalized, q as NumberTokenNormalized, rt as StrokeStyleTokenNormalized, s as BorderTokenNormalized, vt as TransitionTokenNormalized, y as DimensionTokenNormalized } from "./types-
|
|
2
|
-
import
|
|
1
|
+
import { F as GradientTokenNormalized, Q as ShadowValueNormalized, S as DurationTokenNormalized, St as TypographyTokenNormalized, T as FontFamilyTokenNormalized, U as LinkTokenNormalized, X as ShadowTokenNormalized, dt as TokenNormalizedSet, et as StringTokenNormalized, f as ColorTokenNormalized, g as CubicBezierTokenNormalized, i as BooleanTokenNormalized, k as FontWeightTokenNormalized, lt as TokenNormalized, q as NumberTokenNormalized, rt as StrokeStyleTokenNormalized, s as BorderTokenNormalized, vt as TransitionTokenNormalized, y as DimensionTokenNormalized } from "./types-Cwbw-_yP.js";
|
|
2
|
+
import "./color-DoUasWha.js";
|
|
3
3
|
|
|
4
4
|
//#region src/css/lib.d.ts
|
|
5
5
|
/** Function that generates a var(…) statement */
|
|
@@ -38,8 +38,7 @@ interface TransformCSSValueOptions {
|
|
|
38
38
|
transformAlias?: IDGenerator;
|
|
39
39
|
/** Options for color tokens */
|
|
40
40
|
color?: {
|
|
41
|
-
/** Output legacy hex-6 and hex-8 */
|
|
42
|
-
legacyHex?: boolean;
|
|
41
|
+
/** Output legacy hex-6 and hex-8 */legacyHex?: boolean;
|
|
43
42
|
/**
|
|
44
43
|
* Color depth
|
|
45
44
|
* @see https://en.wikipedia.org/wiki/Color_depth
|
|
@@ -58,14 +57,12 @@ type WideGamutColorValue = {
|
|
|
58
57
|
/** Convert color value to CSS string */
|
|
59
58
|
declare function transformColor(token: ColorTokenNormalized, options: TransformCSSValueOptions): string | WideGamutColorValue;
|
|
60
59
|
declare const DEPTH_ROUNDING: {
|
|
61
|
-
24:
|
|
62
|
-
30:
|
|
63
|
-
36:
|
|
64
|
-
48:
|
|
60
|
+
24: number;
|
|
61
|
+
30: number;
|
|
62
|
+
36: number;
|
|
63
|
+
48: number;
|
|
65
64
|
};
|
|
66
65
|
type Depth = keyof typeof DEPTH_ROUNDING | 'unlimited';
|
|
67
|
-
/** Round color to certain depth. */
|
|
68
|
-
declare function roundColor<T extends Color = Color>(color: T, depth?: Depth): T;
|
|
69
66
|
//#endregion
|
|
70
67
|
//#region src/css/boolean.d.ts
|
|
71
68
|
/** Convert boolean value to CSS string */
|
|
@@ -143,5 +140,5 @@ declare function transformTypography(token: TypographyTokenNormalized, options:
|
|
|
143
140
|
/** Main CSS Transform */
|
|
144
141
|
declare function transformCSSValue<T extends TokenNormalized = TokenNormalized>(token: T, options: TransformCSSValueOptions): string | WideGamutColorValue | Record<string, string>;
|
|
145
142
|
//#endregion
|
|
146
|
-
export { DEPTH_ROUNDING, Depth, IDGenerator, MakeCSSVarOptions, WideGamutColorValue, defaultAliasTransform, generateShorthand, makeCSSVar,
|
|
143
|
+
export { DEPTH_ROUNDING, Depth, IDGenerator, MakeCSSVarOptions, WideGamutColorValue, defaultAliasTransform, generateShorthand, makeCSSVar, transformBoolean, transformBorder, transformCSSValue, transformColor, transformCubicBezier, transformDimension, transformDuration, transformFontFamily, transformFontWeight, transformGradient, transformLink, transformNumber, transformShadow, transformShadowLayer, transformString, transformStrokeStyle, transformTransition, transformTypography };
|
|
147
144
|
//# sourceMappingURL=css.d.ts.map
|
package/dist/css.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css.d.ts","names":[],"sources":["../src/css/lib.ts","../src/css/css-types.ts","../src/css/color.ts","../src/css/boolean.ts","../src/css/border.ts","../src/css/cubic-bezier.ts","../src/css/dimension.ts","../src/css/duration.ts","../src/css/font-family.ts","../src/css/font-weight.ts","../src/css/gradient.ts","../src/css/link.ts","../src/css/number.ts","../src/css/shadow.ts","../src/css/string.ts","../src/css/stroke-style.ts","../src/css/transition.ts","../src/css/typography.ts","../src/css/index.ts"],"
|
|
1
|
+
{"version":3,"file":"css.d.ts","names":[],"sources":["../src/css/lib.ts","../src/css/css-types.ts","../src/css/color.ts","../src/css/boolean.ts","../src/css/border.ts","../src/css/cubic-bezier.ts","../src/css/dimension.ts","../src/css/duration.ts","../src/css/font-family.ts","../src/css/font-weight.ts","../src/css/gradient.ts","../src/css/link.ts","../src/css/number.ts","../src/css/shadow.ts","../src/css/string.ts","../src/css/stroke-style.ts","../src/css/transition.ts","../src/css/typography.ts","../src/css/index.ts"],"mappings":";;;;;KAGY,WAAA,KAAgB,eAAA,KAAoB,KAAA,EAAO,CAAA;AAAA,iBAEvC,qBAAA,CAAsB,KAAA,EAAO,eAAA;AAF7C;AAAA,iBAUgB,iBAAA,CAAA;EAAoB,KAAA;EAAO;AAAA;EAAa,KAAA,EAAO,eAAA;EAAiB,OAAA;AAAA;AAAA,UAiC/D,iBAAA;EA3CsC;EA6CrD,MAAA;EA7CsD;;AAExD;;EAgDE,OAAA;AAAA;;AAxCF;;;iBA+CgB,UAAA,CAAW,IAAA;EAAgB,MAAA;EAAQ;AAAA,IAAmB,iBAAA;;;UCzDrD,wBAAA;;EAEf,SAAA,EAAW,kBAAA;EACX,cAAA,GAAiB,WAAA;EDHI;ECKrB,KAAA;IDLsB,oCCOpB,SAAA;IDPmD;;;;ICYnD,KAAA;EAAA;AAAA;;;KCTQ,mBAAA;EACV,GAAA;EACA,IAAA;EACA,EAAA;EACA,OAAA;AAAA;;iBAIc,cAAA,CACd,KAAA,EAAO,oBAAA,EACP,OAAA,EAAS,wBAAA,YACC,mBAAA;AAAA,cAwBC,cAAA;;;;;;KAOD,KAAA,gBAAqB,cAAA;;;;iBC3CjB,gBAAA,CACd,KAAA,EAAO,sBAAA;EACL,SAAA;EAAW;AAAA,GAA0C,wBAAA;;;;iBCQzC,eAAA,CAAgB,KAAA,EAAO,qBAAA,EAAuB,OAAA,EAAS,wBAAA;;;;;;;;;iBCVvD,oBAAA,CAAqB,KAAA,EAAO,0BAAA,EAA4B,OAAA,EAAS,wBAAA;;;;iBCAjE,kBAAA,CAAmB,KAAA,EAAO,wBAAA,EAA0B,OAAA,EAAS,wBAAA;;;;iBCA7D,iBAAA,CAAkB,KAAA,EAAO,uBAAA,EAAyB,OAAA,EAAS,wBAAA;;;iBCC3D,mBAAA,CAAoB,KAAA,EAAO,yBAAA,EAA2B,OAAA,EAAS,wBAAA;;;;iBCD/D,mBAAA,CAAoB,KAAA,EAAO,yBAAA,EAA2B,OAAA,EAAS,wBAAA;;;;iBCC/D,iBAAA,CACd,KAAA,EAAO,uBAAA,EACP,OAAA,EAAS,wBAAA,YACC,mBAAA;;;;iBCJI,aAAA,CAAc,KAAA,EAAO,mBAAA,EAAqB,OAAA,EAAS,wBAAA;;;;iBCAnD,eAAA,CAAgB,KAAA,EAAO,qBAAA,EAAuB,OAAA,EAAS,wBAAA;;;;iBCOvD,oBAAA,CACd,KAAA,EAAO,qBAAA,EACP,OAAA,EAAS,wBAAA;EACP,UAAA;EACA,cAAA,GAAiB,OAAA,CAAQ,MAAA,cAAoB,KAAA;AAAA,aAErC,MAAA;;iBAoBI,eAAA,CACd,KAAA,EAAO,qBAAA,EACP,OAAA,EAAS,wBAAA,YACC,MAAA;;;;iBCpCI,eAAA,CAAgB,KAAA,EAAO,qBAAA,EAAuB,OAAA,EAAS,wBAAA;;;;iBCAvD,oBAAA,CAAqB,KAAA,EAAO,0BAAA,EAA4B,OAAA,EAAS,wBAAA;;;;iBCEjE,mBAAA,CAAoB,KAAA,EAAO,yBAAA,EAA2B,OAAA,EAAS,wBAAA;;;;iBCY/D,mBAAA,CAAoB,KAAA,EAAO,yBAAA,EAA2B,OAAA,EAAS,wBAAA,GAAwB,MAAA;;;AjBNvG;AAAA,iBkByBgB,iBAAA,WAA4B,eAAA,GAAkB,eAAA,CAAA,CAC5D,KAAA,EAAO,CAAA,EACP,OAAA,EAAS,wBAAA,YAAwB,mBAAA,GAAA,MAAA"}
|
package/dist/css.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { a as
|
|
2
|
-
import {
|
|
3
|
-
import { displayable as displayable$1 } from "culori";
|
|
1
|
+
import { a as parseColor, o as tokenToColor, t as kebabCase } from "./string-BKbTpl-t.js";
|
|
2
|
+
import { inGamut, parse, serialize, to } from "colorjs.io/fn";
|
|
4
3
|
|
|
5
4
|
//#region src/css/lib.ts
|
|
6
5
|
function defaultAliasTransform(token) {
|
|
@@ -63,82 +62,40 @@ function transformColor(token, options) {
|
|
|
63
62
|
const firstAlias = token.aliasChain?.[0];
|
|
64
63
|
if (firstAlias && tokensSet[firstAlias]) return transformAlias(tokensSet[firstAlias]);
|
|
65
64
|
const { colorSpace, components, alpha = 1 } = typeof token.$value === "string" ? parseColor(token.$value) : token.$value;
|
|
66
|
-
const color =
|
|
65
|
+
const color = tokenToColor({
|
|
67
66
|
colorSpace,
|
|
68
67
|
components,
|
|
69
68
|
alpha
|
|
70
69
|
});
|
|
71
70
|
if (!color) throw new Error(`Can’t convert color ${JSON.stringify(token.$value)} to Culori color`);
|
|
72
|
-
|
|
73
|
-
if (options.color?.legacyHex) formatColor = color.alpha !== 1 ? formatHex8 : formatHex;
|
|
74
|
-
return displayable(color) ? formatColor(color) : downsample({
|
|
71
|
+
return inGamut(color, "srgb") ? serialize(color, { format: options.color?.legacyHex ? "hex" : void 0 }) : downsample({
|
|
75
72
|
colorSpace,
|
|
76
73
|
components,
|
|
77
74
|
alpha
|
|
78
75
|
}, color, options.color?.depth);
|
|
79
76
|
}
|
|
80
|
-
const converters = {
|
|
81
|
-
a98: useMode(modeA98),
|
|
82
|
-
hsl: useMode(modeHsl),
|
|
83
|
-
hwb: useMode(modeHwb),
|
|
84
|
-
lab: useMode(modeLab),
|
|
85
|
-
lab65: useMode(modeLab65),
|
|
86
|
-
lch: useMode(modeLch),
|
|
87
|
-
lrgb: useMode(modeLrgb),
|
|
88
|
-
oklab: useMode(modeOklab),
|
|
89
|
-
oklch: useMode(modeOklch),
|
|
90
|
-
okhsv: useMode(modeOkhsv),
|
|
91
|
-
p3: useMode(modeP3),
|
|
92
|
-
prophoto: useMode(modeProphoto),
|
|
93
|
-
rec2020: useMode(modeRec2020),
|
|
94
|
-
rgb: useMode(modeRgb),
|
|
95
|
-
xyz50: useMode(modeXyz50),
|
|
96
|
-
xyz65: useMode(modeXyz65)
|
|
97
|
-
};
|
|
98
77
|
const DEPTH_ROUNDING = {
|
|
99
|
-
24:
|
|
100
|
-
30:
|
|
101
|
-
36:
|
|
102
|
-
48:
|
|
78
|
+
24: 4,
|
|
79
|
+
30: 4,
|
|
80
|
+
36: 5,
|
|
81
|
+
48: 6
|
|
103
82
|
};
|
|
104
83
|
/**
|
|
105
|
-
* Downsample color to
|
|
106
|
-
* Note: because Culori tends to convert to RGB color spaces to ensure the operation,
|
|
107
|
-
* we have to do an additional step of converting back. So we’re not really converting;
|
|
108
|
-
* we’re just preserving the original colorspace.
|
|
84
|
+
* Downsample color to srgb, display-p3, and rec2020 color spaces.
|
|
109
85
|
*/
|
|
110
|
-
function downsample($value,
|
|
111
|
-
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
-
if (
|
|
115
|
-
|
|
116
|
-
let srgb = converters[conversionSpace](toGamut("rgb", gamutSpace)(culoriColor));
|
|
117
|
-
let p3 = converters[conversionSpace](toGamut("p3", gamutSpace)(culoriColor));
|
|
118
|
-
let rec2020 = converters[conversionSpace](toGamut("rec2020", gamutSpace)(culoriColor));
|
|
119
|
-
if (typeof depth === "number") {
|
|
120
|
-
if (!DEPTH_ROUNDING[depth]) throw new Error(`Invalid bit depth: ${depth}. Supported values: ${Object.keys(DEPTH_ROUNDING).join(", ")}`);
|
|
121
|
-
srgb = roundColor(srgb, depth);
|
|
122
|
-
p3 = roundColor(p3, depth);
|
|
123
|
-
rec2020 = roundColor(rec2020, depth);
|
|
124
|
-
}
|
|
86
|
+
function downsample($value, color, depth = 30) {
|
|
87
|
+
const srgb = to(color, $value.colorSpace, { inGamut: { space: "srgb" } });
|
|
88
|
+
const p3 = to(color, $value.colorSpace, { inGamut: { space: "p3" } });
|
|
89
|
+
const rec2020 = to(color, $value.colorSpace, { inGamut: { space: "rec2020" } });
|
|
90
|
+
if (typeof depth === "number" && !DEPTH_ROUNDING[depth]) throw new Error(`Invalid bit depth: ${depth}. Supported values: ${Object.keys(DEPTH_ROUNDING).join(", ")}`);
|
|
91
|
+
const precision = DEPTH_ROUNDING[depth] || void 0;
|
|
125
92
|
return {
|
|
126
|
-
".":
|
|
127
|
-
srgb:
|
|
128
|
-
p3:
|
|
129
|
-
rec2020:
|
|
93
|
+
".": serialize(color, { precision }),
|
|
94
|
+
srgb: serialize(srgb, { precision }),
|
|
95
|
+
p3: serialize(p3, { precision }),
|
|
96
|
+
rec2020: serialize(rec2020, { precision })
|
|
130
97
|
};
|
|
131
98
|
}
|
|
132
|
-
/** Round color to certain depth. */
|
|
133
|
-
function roundColor(color, depth = 30) {
|
|
134
|
-
if (depth === "unlimited") return color;
|
|
135
|
-
const newColor = { ...color };
|
|
136
|
-
for (const [k, v] of Object.entries(color)) {
|
|
137
|
-
if (typeof v !== "number" || k === "mode") continue;
|
|
138
|
-
newColor[k] = DEPTH_ROUNDING[depth](v);
|
|
139
|
-
}
|
|
140
|
-
return newColor;
|
|
141
|
-
}
|
|
142
99
|
|
|
143
100
|
//#endregion
|
|
144
101
|
//#region src/css/dimension.ts
|
|
@@ -172,7 +129,7 @@ function transformBorder(token, options) {
|
|
|
172
129
|
style,
|
|
173
130
|
typeof color === "string" ? color : color[colorKey]
|
|
174
131
|
].join(" ");
|
|
175
|
-
return typeof color === "string" ||
|
|
132
|
+
return typeof color === "string" || inGamut(parse(color.p3), "display-p3") ? formatBorder(".") : {
|
|
176
133
|
".": formatBorder("."),
|
|
177
134
|
srgb: formatBorder("srgb"),
|
|
178
135
|
p3: formatBorder("p3"),
|
|
@@ -380,5 +337,5 @@ function transformCSSValue(token, options) {
|
|
|
380
337
|
}
|
|
381
338
|
|
|
382
339
|
//#endregion
|
|
383
|
-
export { DEPTH_ROUNDING, defaultAliasTransform, generateShorthand, makeCSSVar,
|
|
340
|
+
export { DEPTH_ROUNDING, defaultAliasTransform, generateShorthand, makeCSSVar, transformBoolean, transformBorder, transformCSSValue, transformColor, transformCubicBezier, transformDimension, transformDuration, transformFontFamily, transformFontWeight, transformGradient, transformLink, transformNumber, transformShadow, transformShadowLayer, transformString, transformStrokeStyle, transformTransition, transformTypography };
|
|
384
341
|
//# sourceMappingURL=css.js.map
|
package/dist/css.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css.js","names":["displayable"],"sources":["../src/css/lib.ts","../src/css/boolean.ts","../src/css/color.ts","../src/css/dimension.ts","../src/css/stroke-style.ts","../src/css/border.ts","../src/css/cubic-bezier.ts","../src/css/duration.ts","../src/css/font-family.ts","../src/css/font-weight.ts","../src/css/gradient.ts","../src/css/link.ts","../src/css/number.ts","../src/css/shadow.ts","../src/css/string.ts","../src/css/transition.ts","../src/css/typography.ts","../src/css/index.ts"],"sourcesContent":["import type { TokenNormalized } from '../types.js';\n\n/** Function that generates a var(…) statement */\nexport type IDGenerator<T = TokenNormalized> = (token: T) => string;\n\nexport function defaultAliasTransform(token: TokenNormalized) {\n if (!token) {\n throw new Error('Undefined token');\n }\n return `var(${makeCSSVar(token.id)})`;\n}\n\n/** Generate shorthand CSS for select token types */\nexport function generateShorthand({ token, localID }: { token: TokenNormalized; localID: string }): string | undefined {\n switch (token.$type) {\n case 'transition': {\n return ['duration', 'delay', 'timing-function']\n .map((p) => makeCSSVar(`${localID}-${p}`, { wrapVar: true }))\n .join(' ');\n }\n case 'typography': {\n const typeVar = (name: string) => makeCSSVar(`${localID}-${name}`, { wrapVar: true });\n // Note: typography tokens should have both of these properties, but this is just being defensive\n if ('font-size' in token.$value && 'font-family' in token.$value) {\n let output = '';\n for (const prop of ['font-style', 'font-variant', 'font-weight']) {\n if (prop in token.$value) {\n output += ` ${typeVar(prop)}`;\n }\n }\n let fontSizeVar = typeVar('font-size');\n if ('line-height' in token.$value) {\n fontSizeVar += `/${typeVar('line-height')}`;\n }\n output += ` ${fontSizeVar}`;\n output += ` ${typeVar('font-family')}`;\n return output.trim();\n }\n break;\n }\n }\n}\n\nconst CSS_VAR_RE =\n /(?:(\\p{Uppercase_Letter}?[\\p{Lowercase_Letter}\\p{Number}]+|[\\p{Uppercase_Letter}\\p{Number}]+|[\\u{80}-\\u{10FFFF}\\p{Number}]+)|.)/u;\n\nexport interface MakeCSSVarOptions {\n /** Prefix with string */\n prefix?: string;\n /**\n * Wrap with `var(…)`\n * @default false\n */\n wrapVar?: boolean;\n}\n\n/**\n * Generate a valid CSS variable from any string\n * Code by @dfrankland\n */\nexport function makeCSSVar(name: string, { prefix, wrapVar = false }: MakeCSSVarOptions = {}): string {\n if (typeof name !== 'string') {\n throw new Error(`makeCSSVar() Expected string, received ${name}`);\n }\n\n let property = name.split(CSS_VAR_RE).filter(Boolean).join('-');\n if (prefix && !property.startsWith(`${prefix}-`)) {\n property = `${prefix}-${property}`;\n }\n const finalProperty = `--${property}`.toLocaleLowerCase();\n return wrapVar ? `var(${finalProperty})` : finalProperty;\n}\n","import type { BooleanTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert boolean value to CSS string */\nexport function transformBoolean(\n token: BooleanTokenNormalized,\n { tokensSet, transformAlias = defaultAliasTransform }: TransformCSSValueOptions,\n): string {\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return token.$value === true ? '1' : '0';\n}\n","import {\n type Color,\n displayable,\n formatCss,\n formatHex,\n formatHex8,\n modeA98,\n modeHsl,\n modeHwb,\n modeLab,\n modeLab65,\n modeLch,\n modeLrgb,\n modeOkhsv,\n modeOklab,\n modeOklch,\n modeP3,\n modeProphoto,\n modeRec2020,\n modeRgb,\n modeXyz50,\n modeXyz65,\n round,\n toGamut,\n useMode,\n} from 'culori/fn';\nimport { CSS_TO_CULORI, type CULORI_TO_CSS, parseColor, tokenToCulori } from '../color.js';\nimport type { ColorTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\nexport type WideGamutColorValue = {\n '.': string;\n srgb: string;\n p3: string;\n rec2020: string;\n};\n\n/** Convert color value to CSS string */\nexport function transformColor(\n token: ColorTokenNormalized,\n options: TransformCSSValueOptions,\n): string | WideGamutColorValue {\n const { transformAlias = defaultAliasTransform, tokensSet } = options;\n\n const firstAlias = token.aliasChain?.[0];\n if (firstAlias && tokensSet[firstAlias]) {\n return transformAlias(tokensSet[firstAlias]);\n }\n\n const {\n colorSpace,\n components,\n alpha = 1,\n } = typeof token.$value === 'string' ? parseColor(token.$value) : token.$value;\n const color = tokenToCulori({ colorSpace, components, alpha });\n\n if (!color) {\n throw new Error(`Can’t convert color ${JSON.stringify(token.$value)} to Culori color`);\n }\n\n let formatColor: (color: Color) => string = formatCss;\n if (options.color?.legacyHex) {\n formatColor = color.alpha !== 1 ? formatHex8 : formatHex;\n }\n\n return displayable(color)\n ? formatColor(color)\n : downsample({ colorSpace, components, alpha }, color, options.color?.depth);\n}\n\nconst converters: Record<keyof typeof CULORI_TO_CSS, (color: Color) => Color> = {\n a98: useMode(modeA98),\n hsl: useMode(modeHsl),\n hwb: useMode(modeHwb),\n lab: useMode(modeLab),\n lab65: useMode(modeLab65),\n lch: useMode(modeLch),\n lrgb: useMode(modeLrgb),\n oklab: useMode(modeOklab),\n oklch: useMode(modeOklch),\n okhsv: useMode(modeOkhsv),\n p3: useMode(modeP3),\n prophoto: useMode(modeProphoto),\n rec2020: useMode(modeRec2020),\n rgb: useMode(modeRgb),\n xyz50: useMode(modeXyz50),\n xyz65: useMode(modeXyz65),\n};\n\nexport const DEPTH_ROUNDING = {\n 24: round(4), // 24-bit almost fits into 3 decimal places, but not quite\n 30: round(4),\n 36: round(5),\n 48: round(6),\n};\n\nexport type Depth = keyof typeof DEPTH_ROUNDING | 'unlimited';\n\n/**\n * Downsample color to sRGB/Display P3/Rec2020 colorspaces.\n * Note: because Culori tends to convert to RGB color spaces to ensure the operation,\n * we have to do an additional step of converting back. So we’re not really converting;\n * we’re just preserving the original colorspace.\n */\nfunction downsample($value: ColorTokenNormalized['$value'], culoriColor: Color, depth: Depth = 30) {\n if (!($value.colorSpace in CSS_TO_CULORI)) {\n throw new Error(\n `Invalid colorSpace \"${$value.colorSpace}\". Expected one of: ${Object.keys(CSS_TO_CULORI).join(', ')}`,\n );\n }\n const conversionSpace = CSS_TO_CULORI[$value.colorSpace] || 'oklab';\n let gamutSpace = conversionSpace;\n // bugfix. \"lab\" and \"oklab\" have a bug in Culori\n // https://github.com/Evercoder/culori/issues/261\n if (gamutSpace === 'lab' || gamutSpace === 'lab65') {\n gamutSpace = 'lch';\n } else if (gamutSpace === 'oklab') {\n gamutSpace = 'oklch';\n }\n let srgb = converters[conversionSpace](toGamut('rgb', gamutSpace)(culoriColor));\n let p3 = converters[conversionSpace](toGamut('p3', gamutSpace)(culoriColor));\n let rec2020 = converters[conversionSpace](toGamut('rec2020', gamutSpace)(culoriColor));\n if (typeof depth === 'number') {\n if (!DEPTH_ROUNDING[depth]) {\n throw new Error(`Invalid bit depth: ${depth}. Supported values: ${Object.keys(DEPTH_ROUNDING).join(', ')}`);\n }\n srgb = roundColor(srgb, depth);\n p3 = roundColor(p3, depth);\n rec2020 = roundColor(rec2020, depth);\n }\n return {\n '.': formatCss(culoriColor),\n srgb: formatCss(srgb),\n p3: formatCss(p3),\n rec2020: formatCss(rec2020),\n };\n}\n\n/** Round color to certain depth. */\nexport function roundColor<T extends Color = Color>(color: T, depth: Depth = 30): T {\n if (depth === 'unlimited') {\n return color;\n }\n const newColor = { ...color };\n for (const [k, v] of Object.entries(color)) {\n if (typeof v !== 'number' || k === 'mode') {\n continue;\n }\n newColor[k as keyof T] = DEPTH_ROUNDING[depth](v) as T[keyof T];\n }\n return newColor;\n}\n","import type { DimensionTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert dimension value to CSS */\nexport function transformDimension(token: DimensionTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n return token.$value.value === 0 ? '0' : `${token.$value.value}${token.$value.unit}`;\n}\n","import type { StrokeStyleTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert strokeStyle value to CSS */\nexport function transformStrokeStyle(token: StrokeStyleTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return typeof token.$value === 'string' ? token.$value : 'dashed'; // CSS doesn’t have `dash-array`; it’s just \"dashed\"\n}\n","import { displayable } from 'culori';\nimport type {\n BorderTokenNormalized,\n ColorTokenNormalized,\n DimensionTokenNormalized,\n StrokeStyleTokenNormalized,\n} from '../types.js';\nimport { transformColor } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformDimension } from './dimension.js';\nimport { defaultAliasTransform } from './lib.js';\nimport { transformStrokeStyle } from './stroke-style.js';\n\n/** Convert border value to multiple CSS values */\nexport function transformBorder(token: BorderTokenNormalized, options: TransformCSSValueOptions) {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n const width = token.partialAliasOf?.width\n ? transformAlias(tokensSet[token.partialAliasOf.width]!)\n : transformDimension({ $value: token.$value.width } as DimensionTokenNormalized, options);\n const color = token.partialAliasOf?.color\n ? transformAlias(tokensSet[token.partialAliasOf.color]!)\n : transformColor({ $value: token.$value.color } as ColorTokenNormalized, options);\n const style = token.partialAliasOf?.style\n ? transformAlias(tokensSet[token.partialAliasOf.style]!)\n : transformStrokeStyle({ $value: token.$value.style } as StrokeStyleTokenNormalized, options);\n\n const formatBorder = (colorKey: string) =>\n [width, style, typeof color === 'string' ? color : color[colorKey as keyof typeof color]].join(' ');\n\n return typeof color === 'string' || displayable(color.p3)\n ? formatBorder('.')\n : {\n '.': formatBorder('.'),\n srgb: formatBorder('srgb'),\n p3: formatBorder('p3'),\n rec2020: formatBorder('rec2020'),\n };\n}\n","import type { CubicBezierTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert cubicBezier value to CSS */\nexport function transformCubicBezier(token: CubicBezierTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return `cubic-bezier(${token.$value\n .map((v, i) => (token.partialAliasOf?.[i] ? transformAlias(tokensSet[token.partialAliasOf[i]]!) : v))\n .join(', ')})`;\n}\n","import type { DurationTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert duration value to CSS */\nexport function transformDuration(token: DurationTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n return `${token.$value.value}${token.$value.unit}`;\n}\n","import type { FontFamilyTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\nconst FONT_NAME_KEYWORD = /^[a-z-]+$/;\n\nexport function transformFontFamily(token: FontFamilyTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return token.$value.map((fontName) => (FONT_NAME_KEYWORD.test(fontName) ? fontName : `\"${fontName}\"`)).join(', ');\n}\n","import type { FontWeightTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert fontWeight value to CSS */\nexport function transformFontWeight(token: FontWeightTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return String(token.$value);\n}\n","import type { ColorTokenNormalized, GradientTokenNormalized } from '../types.js';\nimport { transformColor, type WideGamutColorValue } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert gradient value to CSS */\nexport function transformGradient(\n token: GradientTokenNormalized,\n options: TransformCSSValueOptions,\n): string | WideGamutColorValue {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n let isHDR = false;\n\n const colors: (string | WideGamutColorValue)[] = [];\n const positions: string[] = [];\n\n for (let i = 0; i < token.$value.length; i++) {\n const { color, position } = token.$value[i]!;\n const colorValue = token.partialAliasOf?.[i]?.color\n ? transformAlias(tokensSet[token.partialAliasOf[i]!.color!]!)\n : transformColor({ $value: color } as ColorTokenNormalized, options);\n if (typeof colorValue !== 'string') {\n isHDR = true;\n }\n colors.push(colorValue);\n positions.push(\n token.partialAliasOf?.[i]?.position\n ? transformAlias(tokensSet[token.partialAliasOf[i]!.position!]!)\n : `${100 * position}%`,\n );\n }\n\n function formatStop(i: number, colorKey = '.') {\n return `${typeof colors[i] === 'string' ? colors[i] : colors[i]![colorKey as keyof (typeof colors)[number]]} ${positions[i]}`;\n }\n\n return !isHDR\n ? token.$value.map((_, i) => formatStop(i, positions[i]!)).join(', ')\n : {\n '.': token.$value.map((_, i) => formatStop(i, '.')).join(', '),\n srgb: token.$value.map((_, i) => formatStop(i, 'srgb')).join(', '),\n p3: token.$value.map((_, i) => formatStop(i, 'p3')).join(', '),\n rec2020: token.$value.map((_, i) => formatStop(i, 'rec2020')).join(', '),\n };\n}\n","import type { LinkTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert link value to CSS */\nexport function transformLink(token: LinkTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return `url(\"${token.$value}\")`;\n}\n","import type { NumberTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert number value to CSS */\nexport function transformNumber(token: NumberTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return String(token.$value);\n}\n","import type {\n ColorTokenNormalized,\n DimensionTokenNormalized,\n ShadowTokenNormalized,\n ShadowValueNormalized,\n} from '../types.js';\nimport { transformColor } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformDimension } from './dimension.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert shadow subvalue to CSS */\nexport function transformShadowLayer(\n value: ShadowValueNormalized,\n options: TransformCSSValueOptions & {\n colorValue: string;\n partialAliasOf?: Partial<Record<keyof typeof value, string>>;\n },\n): string | Record<string, string> {\n const { tokensSet, colorValue, partialAliasOf, transformAlias = defaultAliasTransform } = options;\n const offsetX = partialAliasOf?.offsetX\n ? transformAlias(tokensSet[partialAliasOf.offsetX]!)\n : transformDimension({ $value: value.offsetX } as DimensionTokenNormalized, options);\n const offsetY = partialAliasOf?.offsetY\n ? transformAlias(tokensSet[partialAliasOf.offsetY]!)\n : transformDimension({ $value: value.offsetY } as DimensionTokenNormalized, options);\n const blur = partialAliasOf?.blur\n ? transformAlias(tokensSet[partialAliasOf.blur]!)\n : transformDimension({ $value: value.blur } as DimensionTokenNormalized, options);\n const spread = partialAliasOf?.spread\n ? transformAlias(tokensSet[partialAliasOf.spread]!)\n : transformDimension({ $value: value.spread } as DimensionTokenNormalized, options);\n const inset = value?.inset === true ? 'inset' : undefined;\n\n return [inset, offsetX, offsetY, blur, spread, colorValue].filter(Boolean).join(' ');\n}\n\n/** Convert shadow value to CSS */\nexport function transformShadow(\n token: ShadowTokenNormalized,\n options: TransformCSSValueOptions,\n): string | Record<string, string> {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n const colors = token.$value.map((v, i) =>\n token.partialAliasOf?.[i]?.color\n ? transformAlias(tokensSet[token.partialAliasOf[i]!.color!]!)\n : transformColor({ $value: v.color } as ColorTokenNormalized, options),\n );\n const isHDR = colors.some((c) => typeof c === 'object');\n\n const formatShadow = (colorKey: string) =>\n token.$value\n .map((v, i) =>\n transformShadowLayer(v, {\n tokensSet,\n colorValue:\n typeof colors[i] === 'string'\n ? (colors[i] as string)\n : colors[i]![colorKey as keyof (typeof colors)[number]]!,\n partialAliasOf: token.partialAliasOf?.[i],\n transformAlias,\n }),\n )\n .join(', ');\n\n return !isHDR\n ? formatShadow('.')\n : {\n '.': formatShadow('.'),\n srgb: formatShadow('srgb'),\n p3: formatShadow('p3'),\n rec2020: formatShadow('rec2020'),\n };\n}\n","import type { StringTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert string value to CSS */\nexport function transformString(token: StringTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n // this seems like a useless function—because it is—but this is a placeholder\n // that can handle unexpected values in the future should any arise\n return String(token.$value);\n}\n","import type { CubicBezierTokenNormalized, DurationTokenNormalized, TransitionTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformCubicBezier } from './cubic-bezier.js';\nimport { transformDuration } from './duration.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert transition value to shorthand */\nexport function transformTransition(token: TransitionTokenNormalized, options: TransformCSSValueOptions) {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n const duration = token.partialAliasOf?.duration\n ? transformAlias(tokensSet[token.partialAliasOf.duration]!)\n : transformDuration({ $value: token.$value.duration } as DurationTokenNormalized, options);\n const delay = token.partialAliasOf?.delay\n ? transformAlias(tokensSet[token.partialAliasOf.delay]!)\n : transformDuration({ $value: token.$value.delay } as DurationTokenNormalized, options);\n const timingFunction = token.partialAliasOf?.timingFunction\n ? transformAlias(tokensSet[token.partialAliasOf.timingFunction]!)\n : transformCubicBezier({ $value: token.$value.timingFunction } as CubicBezierTokenNormalized, options);\n\n return `${duration} ${delay} ${timingFunction}`;\n}\n","import { kebabCase } from '../string.js';\nimport type {\n DimensionTokenNormalized,\n FontFamilyTokenNormalized,\n FontWeightTokenNormalized,\n NumberTokenNormalized,\n StringTokenNormalized,\n TokenNormalized,\n TypographyTokenNormalized,\n} from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformDimension } from './dimension.js';\nimport { transformFontFamily } from './font-family.js';\nimport { transformFontWeight } from './font-weight.js';\nimport { defaultAliasTransform } from './lib.js';\nimport { transformNumber } from './number.js';\nimport { transformString } from './string.js';\n\n/** Convert typography value to multiple CSS values */\nexport function transformTypography(token: TypographyTokenNormalized, options: TransformCSSValueOptions) {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n const output: Record<string, string> = {};\n for (const [property, subvalue] of Object.entries(token.$value)) {\n let transformedValue: string;\n const aliasedID = token.aliasChain?.[0] ?? token.partialAliasOf?.[property];\n if (aliasedID) {\n const resolvedToken = tokensSet[aliasedID] as TypographyTokenNormalized;\n transformedValue = transformAlias(\n // if resolving against a typography token, inject the property as well\n resolvedToken.$type === 'typography' ? ({ id: `${aliasedID}-${property}` } as TokenNormalized) : resolvedToken,\n );\n } else {\n switch (property) {\n case 'fontFamily': {\n transformedValue = transformFontFamily({ $value: subvalue } as FontFamilyTokenNormalized, options);\n break;\n }\n case 'fontSize':\n case 'letterSpacing': {\n transformedValue = transformDimension({ $value: subvalue } as DimensionTokenNormalized, options);\n break;\n }\n case 'fontWeight': {\n transformedValue = transformFontWeight({ $value: subvalue } as FontWeightTokenNormalized, options);\n break;\n }\n case 'lineHeight': {\n if (typeof subvalue === 'number') {\n transformedValue = transformNumber({ $value: subvalue } as NumberTokenNormalized, options);\n } else {\n transformedValue = transformDimension({ $value: subvalue } as DimensionTokenNormalized, options);\n }\n break;\n }\n default: {\n // For other typography properties, dimensions are the only other likely token type\n if (subvalue && typeof subvalue === 'object' && 'value' in subvalue) {\n transformedValue = transformDimension({ $value: subvalue } as DimensionTokenNormalized, options);\n } else if (typeof subvalue === 'number') {\n // number is technically allowed for things like `paragraph-spacing: 0`\n transformedValue = transformNumber({ $value: subvalue } as NumberTokenNormalized, options);\n } else {\n transformedValue = transformString({ $value: subvalue } as StringTokenNormalized, options);\n }\n break;\n }\n }\n }\n output[kebabCase(property)] = transformedValue;\n }\n return output;\n}\n","import type { TokenNormalized } from '../types.js';\nimport { transformBoolean } from './boolean.js';\nimport { transformBorder } from './border.js';\nimport { transformColor } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformCubicBezier } from './cubic-bezier.js';\nimport { transformDimension } from './dimension.js';\nimport { transformDuration } from './duration.js';\nimport { transformFontFamily } from './font-family.js';\nimport { transformFontWeight } from './font-weight.js';\nimport { transformGradient } from './gradient.js';\nimport { transformLink } from './link.js';\nimport { transformNumber } from './number.js';\nimport { transformShadow } from './shadow.js';\nimport { transformString } from './string.js';\nimport { transformStrokeStyle } from './stroke-style.js';\nimport { transformTransition } from './transition.js';\nimport { transformTypography } from './typography.js';\n\nexport * from './boolean.js';\nexport * from './border.js';\nexport * from './color.js';\nexport * from './cubic-bezier.js';\nexport * from './dimension.js';\nexport * from './duration.js';\nexport * from './font-family.js';\nexport * from './font-weight.js';\nexport * from './gradient.js';\nexport * from './lib.js';\nexport * from './link.js';\nexport * from './number.js';\nexport * from './shadow.js';\nexport * from './string.js';\nexport * from './stroke-style.js';\nexport * from './transition.js';\nexport * from './typography.js';\n\n/** Main CSS Transform */\nexport function transformCSSValue<T extends TokenNormalized = TokenNormalized>(\n token: T,\n options: TransformCSSValueOptions,\n) {\n switch (token.$type) {\n case 'boolean': {\n return transformBoolean(token, options);\n }\n case 'border': {\n return transformBorder(token, options);\n }\n case 'color': {\n return transformColor(token, options);\n }\n case 'cubicBezier': {\n return transformCubicBezier(token, options);\n }\n case 'dimension': {\n return transformDimension(token, options);\n }\n case 'duration': {\n return transformDuration(token, options);\n }\n case 'fontFamily': {\n return transformFontFamily(token, options);\n }\n case 'fontWeight': {\n return transformFontWeight(token, options);\n }\n case 'gradient': {\n return transformGradient(token, options);\n }\n case 'link': {\n return transformLink(token, options);\n }\n case 'number': {\n return transformNumber(token, options);\n }\n case 'shadow': {\n return transformShadow(token, options);\n }\n case 'string': {\n return transformString(token, options);\n }\n case 'strokeStyle': {\n return transformStrokeStyle(token, options);\n }\n case 'transition': {\n return transformTransition(token, options);\n }\n case 'typography': {\n return transformTypography(token, options);\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"css.js","names":["convert"],"sources":["../src/css/lib.ts","../src/css/boolean.ts","../src/css/color.ts","../src/css/dimension.ts","../src/css/stroke-style.ts","../src/css/border.ts","../src/css/cubic-bezier.ts","../src/css/duration.ts","../src/css/font-family.ts","../src/css/font-weight.ts","../src/css/gradient.ts","../src/css/link.ts","../src/css/number.ts","../src/css/shadow.ts","../src/css/string.ts","../src/css/transition.ts","../src/css/typography.ts","../src/css/index.ts"],"sourcesContent":["import type { TokenNormalized } from '../types.js';\n\n/** Function that generates a var(…) statement */\nexport type IDGenerator<T = TokenNormalized> = (token: T) => string;\n\nexport function defaultAliasTransform(token: TokenNormalized) {\n if (!token) {\n throw new Error('Undefined token');\n }\n return `var(${makeCSSVar(token.id)})`;\n}\n\n/** Generate shorthand CSS for select token types */\nexport function generateShorthand({ token, localID }: { token: TokenNormalized; localID: string }): string | undefined {\n switch (token.$type) {\n case 'transition': {\n return ['duration', 'delay', 'timing-function']\n .map((p) => makeCSSVar(`${localID}-${p}`, { wrapVar: true }))\n .join(' ');\n }\n case 'typography': {\n const typeVar = (name: string) => makeCSSVar(`${localID}-${name}`, { wrapVar: true });\n // Note: typography tokens should have both of these properties, but this is just being defensive\n if ('font-size' in token.$value && 'font-family' in token.$value) {\n let output = '';\n for (const prop of ['font-style', 'font-variant', 'font-weight']) {\n if (prop in token.$value) {\n output += ` ${typeVar(prop)}`;\n }\n }\n let fontSizeVar = typeVar('font-size');\n if ('line-height' in token.$value) {\n fontSizeVar += `/${typeVar('line-height')}`;\n }\n output += ` ${fontSizeVar}`;\n output += ` ${typeVar('font-family')}`;\n return output.trim();\n }\n break;\n }\n }\n}\n\nconst CSS_VAR_RE =\n /(?:(\\p{Uppercase_Letter}?[\\p{Lowercase_Letter}\\p{Number}]+|[\\p{Uppercase_Letter}\\p{Number}]+|[\\u{80}-\\u{10FFFF}\\p{Number}]+)|.)/u;\n\nexport interface MakeCSSVarOptions {\n /** Prefix with string */\n prefix?: string;\n /**\n * Wrap with `var(…)`\n * @default false\n */\n wrapVar?: boolean;\n}\n\n/**\n * Generate a valid CSS variable from any string\n * Code by @dfrankland\n */\nexport function makeCSSVar(name: string, { prefix, wrapVar = false }: MakeCSSVarOptions = {}): string {\n if (typeof name !== 'string') {\n throw new Error(`makeCSSVar() Expected string, received ${name}`);\n }\n\n let property = name.split(CSS_VAR_RE).filter(Boolean).join('-');\n if (prefix && !property.startsWith(`${prefix}-`)) {\n property = `${prefix}-${property}`;\n }\n const finalProperty = `--${property}`.toLocaleLowerCase();\n return wrapVar ? `var(${finalProperty})` : finalProperty;\n}\n","import type { BooleanTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert boolean value to CSS string */\nexport function transformBoolean(\n token: BooleanTokenNormalized,\n { tokensSet, transformAlias = defaultAliasTransform }: TransformCSSValueOptions,\n): string {\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return token.$value === true ? '1' : '0';\n}\n","import { type ColorConstructor, to as convert, inGamut, serialize } from 'colorjs.io/fn';\nimport { parseColor, tokenToColor } from '../color.js';\nimport type { ColorTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\nexport type WideGamutColorValue = {\n '.': string;\n srgb: string;\n p3: string;\n rec2020: string;\n};\n\n/** Convert color value to CSS string */\nexport function transformColor(\n token: ColorTokenNormalized,\n options: TransformCSSValueOptions,\n): string | WideGamutColorValue {\n const { transformAlias = defaultAliasTransform, tokensSet } = options;\n\n const firstAlias = token.aliasChain?.[0];\n if (firstAlias && tokensSet[firstAlias]) {\n return transformAlias(tokensSet[firstAlias]);\n }\n\n const {\n colorSpace,\n components,\n alpha = 1,\n } = typeof token.$value === 'string' ? parseColor(token.$value) : token.$value;\n const color = tokenToColor({ colorSpace, components, alpha });\n\n if (!color) {\n throw new Error(`Can’t convert color ${JSON.stringify(token.$value)} to Culori color`);\n }\n\n return inGamut(color, 'srgb')\n ? serialize(color, { format: options.color?.legacyHex ? 'hex' : undefined })\n : downsample({ colorSpace, components, alpha }, color, options.color?.depth);\n}\n\nexport const DEPTH_ROUNDING = {\n 24: 4, // 24-bit almost fits into 3 decimal places, but not quite\n 30: 4,\n 36: 5,\n 48: 6,\n};\n\nexport type Depth = keyof typeof DEPTH_ROUNDING | 'unlimited';\n\n/**\n * Downsample color to srgb, display-p3, and rec2020 color spaces.\n */\nfunction downsample($value: ColorTokenNormalized['$value'], color: ColorConstructor, depth: Depth = 30) {\n const srgb = convert(color, $value.colorSpace, { inGamut: { space: 'srgb' } });\n const p3 = convert(color, $value.colorSpace, { inGamut: { space: 'p3' } });\n const rec2020 = convert(color, $value.colorSpace, { inGamut: { space: 'rec2020' } });\n if (typeof depth === 'number' && !DEPTH_ROUNDING[depth]) {\n throw new Error(`Invalid bit depth: ${depth}. Supported values: ${Object.keys(DEPTH_ROUNDING).join(', ')}`);\n }\n const precision = DEPTH_ROUNDING[depth as keyof typeof DEPTH_ROUNDING] || undefined;\n return {\n '.': serialize(color, { precision }),\n srgb: serialize(srgb, { precision }),\n p3: serialize(p3, { precision }),\n rec2020: serialize(rec2020, { precision }),\n };\n}\n","import type { DimensionTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert dimension value to CSS */\nexport function transformDimension(token: DimensionTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n return token.$value.value === 0 ? '0' : `${token.$value.value}${token.$value.unit}`;\n}\n","import type { StrokeStyleTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert strokeStyle value to CSS */\nexport function transformStrokeStyle(token: StrokeStyleTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return typeof token.$value === 'string' ? token.$value : 'dashed'; // CSS doesn’t have `dash-array`; it’s just \"dashed\"\n}\n","import { inGamut, parse } from 'colorjs.io/fn';\nimport '../color.js'; // load Color.js side-effects\nimport type {\n BorderTokenNormalized,\n ColorTokenNormalized,\n DimensionTokenNormalized,\n StrokeStyleTokenNormalized,\n} from '../types.js';\nimport { transformColor } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformDimension } from './dimension.js';\nimport { defaultAliasTransform } from './lib.js';\nimport { transformStrokeStyle } from './stroke-style.js';\n\n/** Convert border value to multiple CSS values */\nexport function transformBorder(token: BorderTokenNormalized, options: TransformCSSValueOptions) {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n const width = token.partialAliasOf?.width\n ? transformAlias(tokensSet[token.partialAliasOf.width]!)\n : transformDimension({ $value: token.$value.width } as DimensionTokenNormalized, options);\n const color = token.partialAliasOf?.color\n ? transformAlias(tokensSet[token.partialAliasOf.color]!)\n : transformColor({ $value: token.$value.color } as ColorTokenNormalized, options);\n const style = token.partialAliasOf?.style\n ? transformAlias(tokensSet[token.partialAliasOf.style]!)\n : transformStrokeStyle({ $value: token.$value.style } as StrokeStyleTokenNormalized, options);\n\n const formatBorder = (colorKey: string) =>\n [width, style, typeof color === 'string' ? color : color[colorKey as keyof typeof color]].join(' ');\n\n // Note: ../color.js has already loaded color spaces as side effects so we don’t need to load those again\n return typeof color === 'string' || inGamut(parse(color.p3), 'display-p3')\n ? formatBorder('.')\n : {\n '.': formatBorder('.'),\n srgb: formatBorder('srgb'),\n p3: formatBorder('p3'),\n rec2020: formatBorder('rec2020'),\n };\n}\n","import type { CubicBezierTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert cubicBezier value to CSS */\nexport function transformCubicBezier(token: CubicBezierTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return `cubic-bezier(${token.$value\n .map((v, i) => (token.partialAliasOf?.[i] ? transformAlias(tokensSet[token.partialAliasOf[i]]!) : v))\n .join(', ')})`;\n}\n","import type { DurationTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert duration value to CSS */\nexport function transformDuration(token: DurationTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n return `${token.$value.value}${token.$value.unit}`;\n}\n","import type { FontFamilyTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\nconst FONT_NAME_KEYWORD = /^[a-z-]+$/;\n\nexport function transformFontFamily(token: FontFamilyTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return token.$value.map((fontName) => (FONT_NAME_KEYWORD.test(fontName) ? fontName : `\"${fontName}\"`)).join(', ');\n}\n","import type { FontWeightTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert fontWeight value to CSS */\nexport function transformFontWeight(token: FontWeightTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return String(token.$value);\n}\n","import type { ColorTokenNormalized, GradientTokenNormalized } from '../types.js';\nimport { transformColor, type WideGamutColorValue } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert gradient value to CSS */\nexport function transformGradient(\n token: GradientTokenNormalized,\n options: TransformCSSValueOptions,\n): string | WideGamutColorValue {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n let isHDR = false;\n\n const colors: (string | WideGamutColorValue)[] = [];\n const positions: string[] = [];\n\n for (let i = 0; i < token.$value.length; i++) {\n const { color, position } = token.$value[i]!;\n const colorValue = token.partialAliasOf?.[i]?.color\n ? transformAlias(tokensSet[token.partialAliasOf[i]!.color!]!)\n : transformColor({ $value: color } as ColorTokenNormalized, options);\n if (typeof colorValue !== 'string') {\n isHDR = true;\n }\n colors.push(colorValue);\n positions.push(\n token.partialAliasOf?.[i]?.position\n ? transformAlias(tokensSet[token.partialAliasOf[i]!.position!]!)\n : `${100 * position}%`,\n );\n }\n\n function formatStop(i: number, colorKey = '.') {\n return `${typeof colors[i] === 'string' ? colors[i] : colors[i]![colorKey as keyof (typeof colors)[number]]} ${positions[i]}`;\n }\n\n return !isHDR\n ? token.$value.map((_, i) => formatStop(i, positions[i]!)).join(', ')\n : {\n '.': token.$value.map((_, i) => formatStop(i, '.')).join(', '),\n srgb: token.$value.map((_, i) => formatStop(i, 'srgb')).join(', '),\n p3: token.$value.map((_, i) => formatStop(i, 'p3')).join(', '),\n rec2020: token.$value.map((_, i) => formatStop(i, 'rec2020')).join(', '),\n };\n}\n","import type { LinkTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert link value to CSS */\nexport function transformLink(token: LinkTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return `url(\"${token.$value}\")`;\n}\n","import type { NumberTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert number value to CSS */\nexport function transformNumber(token: NumberTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return String(token.$value);\n}\n","import type {\n ColorTokenNormalized,\n DimensionTokenNormalized,\n ShadowTokenNormalized,\n ShadowValueNormalized,\n} from '../types.js';\nimport { transformColor } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformDimension } from './dimension.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert shadow subvalue to CSS */\nexport function transformShadowLayer(\n value: ShadowValueNormalized,\n options: TransformCSSValueOptions & {\n colorValue: string;\n partialAliasOf?: Partial<Record<keyof typeof value, string>>;\n },\n): string | Record<string, string> {\n const { tokensSet, colorValue, partialAliasOf, transformAlias = defaultAliasTransform } = options;\n const offsetX = partialAliasOf?.offsetX\n ? transformAlias(tokensSet[partialAliasOf.offsetX]!)\n : transformDimension({ $value: value.offsetX } as DimensionTokenNormalized, options);\n const offsetY = partialAliasOf?.offsetY\n ? transformAlias(tokensSet[partialAliasOf.offsetY]!)\n : transformDimension({ $value: value.offsetY } as DimensionTokenNormalized, options);\n const blur = partialAliasOf?.blur\n ? transformAlias(tokensSet[partialAliasOf.blur]!)\n : transformDimension({ $value: value.blur } as DimensionTokenNormalized, options);\n const spread = partialAliasOf?.spread\n ? transformAlias(tokensSet[partialAliasOf.spread]!)\n : transformDimension({ $value: value.spread } as DimensionTokenNormalized, options);\n const inset = value?.inset === true ? 'inset' : undefined;\n\n return [inset, offsetX, offsetY, blur, spread, colorValue].filter(Boolean).join(' ');\n}\n\n/** Convert shadow value to CSS */\nexport function transformShadow(\n token: ShadowTokenNormalized,\n options: TransformCSSValueOptions,\n): string | Record<string, string> {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n const colors = token.$value.map((v, i) =>\n token.partialAliasOf?.[i]?.color\n ? transformAlias(tokensSet[token.partialAliasOf[i]!.color!]!)\n : transformColor({ $value: v.color } as ColorTokenNormalized, options),\n );\n const isHDR = colors.some((c) => typeof c === 'object');\n\n const formatShadow = (colorKey: string) =>\n token.$value\n .map((v, i) =>\n transformShadowLayer(v, {\n tokensSet,\n colorValue:\n typeof colors[i] === 'string'\n ? (colors[i] as string)\n : colors[i]![colorKey as keyof (typeof colors)[number]]!,\n partialAliasOf: token.partialAliasOf?.[i],\n transformAlias,\n }),\n )\n .join(', ');\n\n return !isHDR\n ? formatShadow('.')\n : {\n '.': formatShadow('.'),\n srgb: formatShadow('srgb'),\n p3: formatShadow('p3'),\n rec2020: formatShadow('rec2020'),\n };\n}\n","import type { StringTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert string value to CSS */\nexport function transformString(token: StringTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n // this seems like a useless function—because it is—but this is a placeholder\n // that can handle unexpected values in the future should any arise\n return String(token.$value);\n}\n","import type { CubicBezierTokenNormalized, DurationTokenNormalized, TransitionTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformCubicBezier } from './cubic-bezier.js';\nimport { transformDuration } from './duration.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert transition value to shorthand */\nexport function transformTransition(token: TransitionTokenNormalized, options: TransformCSSValueOptions) {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n const duration = token.partialAliasOf?.duration\n ? transformAlias(tokensSet[token.partialAliasOf.duration]!)\n : transformDuration({ $value: token.$value.duration } as DurationTokenNormalized, options);\n const delay = token.partialAliasOf?.delay\n ? transformAlias(tokensSet[token.partialAliasOf.delay]!)\n : transformDuration({ $value: token.$value.delay } as DurationTokenNormalized, options);\n const timingFunction = token.partialAliasOf?.timingFunction\n ? transformAlias(tokensSet[token.partialAliasOf.timingFunction]!)\n : transformCubicBezier({ $value: token.$value.timingFunction } as CubicBezierTokenNormalized, options);\n\n return `${duration} ${delay} ${timingFunction}`;\n}\n","import { kebabCase } from '../string.js';\nimport type {\n DimensionTokenNormalized,\n FontFamilyTokenNormalized,\n FontWeightTokenNormalized,\n NumberTokenNormalized,\n StringTokenNormalized,\n TokenNormalized,\n TypographyTokenNormalized,\n} from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformDimension } from './dimension.js';\nimport { transformFontFamily } from './font-family.js';\nimport { transformFontWeight } from './font-weight.js';\nimport { defaultAliasTransform } from './lib.js';\nimport { transformNumber } from './number.js';\nimport { transformString } from './string.js';\n\n/** Convert typography value to multiple CSS values */\nexport function transformTypography(token: TypographyTokenNormalized, options: TransformCSSValueOptions) {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n const output: Record<string, string> = {};\n for (const [property, subvalue] of Object.entries(token.$value)) {\n let transformedValue: string;\n const aliasedID = token.aliasChain?.[0] ?? token.partialAliasOf?.[property];\n if (aliasedID) {\n const resolvedToken = tokensSet[aliasedID] as TypographyTokenNormalized;\n transformedValue = transformAlias(\n // if resolving against a typography token, inject the property as well\n resolvedToken.$type === 'typography' ? ({ id: `${aliasedID}-${property}` } as TokenNormalized) : resolvedToken,\n );\n } else {\n switch (property) {\n case 'fontFamily': {\n transformedValue = transformFontFamily({ $value: subvalue } as FontFamilyTokenNormalized, options);\n break;\n }\n case 'fontSize':\n case 'letterSpacing': {\n transformedValue = transformDimension({ $value: subvalue } as DimensionTokenNormalized, options);\n break;\n }\n case 'fontWeight': {\n transformedValue = transformFontWeight({ $value: subvalue } as FontWeightTokenNormalized, options);\n break;\n }\n case 'lineHeight': {\n if (typeof subvalue === 'number') {\n transformedValue = transformNumber({ $value: subvalue } as NumberTokenNormalized, options);\n } else {\n transformedValue = transformDimension({ $value: subvalue } as DimensionTokenNormalized, options);\n }\n break;\n }\n default: {\n // For other typography properties, dimensions are the only other likely token type\n if (subvalue && typeof subvalue === 'object' && 'value' in subvalue) {\n transformedValue = transformDimension({ $value: subvalue } as DimensionTokenNormalized, options);\n } else if (typeof subvalue === 'number') {\n // number is technically allowed for things like `paragraph-spacing: 0`\n transformedValue = transformNumber({ $value: subvalue } as NumberTokenNormalized, options);\n } else {\n transformedValue = transformString({ $value: subvalue } as StringTokenNormalized, options);\n }\n break;\n }\n }\n }\n output[kebabCase(property)] = transformedValue;\n }\n return output;\n}\n","import type { TokenNormalized } from '../types.js';\nimport { transformBoolean } from './boolean.js';\nimport { transformBorder } from './border.js';\nimport { transformColor } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformCubicBezier } from './cubic-bezier.js';\nimport { transformDimension } from './dimension.js';\nimport { transformDuration } from './duration.js';\nimport { transformFontFamily } from './font-family.js';\nimport { transformFontWeight } from './font-weight.js';\nimport { transformGradient } from './gradient.js';\nimport { transformLink } from './link.js';\nimport { transformNumber } from './number.js';\nimport { transformShadow } from './shadow.js';\nimport { transformString } from './string.js';\nimport { transformStrokeStyle } from './stroke-style.js';\nimport { transformTransition } from './transition.js';\nimport { transformTypography } from './typography.js';\n\nexport * from './boolean.js';\nexport * from './border.js';\nexport * from './color.js';\nexport * from './cubic-bezier.js';\nexport * from './dimension.js';\nexport * from './duration.js';\nexport * from './font-family.js';\nexport * from './font-weight.js';\nexport * from './gradient.js';\nexport * from './lib.js';\nexport * from './link.js';\nexport * from './number.js';\nexport * from './shadow.js';\nexport * from './string.js';\nexport * from './stroke-style.js';\nexport * from './transition.js';\nexport * from './typography.js';\n\n/** Main CSS Transform */\nexport function transformCSSValue<T extends TokenNormalized = TokenNormalized>(\n token: T,\n options: TransformCSSValueOptions,\n) {\n switch (token.$type) {\n case 'boolean': {\n return transformBoolean(token, options);\n }\n case 'border': {\n return transformBorder(token, options);\n }\n case 'color': {\n return transformColor(token, options);\n }\n case 'cubicBezier': {\n return transformCubicBezier(token, options);\n }\n case 'dimension': {\n return transformDimension(token, options);\n }\n case 'duration': {\n return transformDuration(token, options);\n }\n case 'fontFamily': {\n return transformFontFamily(token, options);\n }\n case 'fontWeight': {\n return transformFontWeight(token, options);\n }\n case 'gradient': {\n return transformGradient(token, options);\n }\n case 'link': {\n return transformLink(token, options);\n }\n case 'number': {\n return transformNumber(token, options);\n }\n case 'shadow': {\n return transformShadow(token, options);\n }\n case 'string': {\n return transformString(token, options);\n }\n case 'strokeStyle': {\n return transformStrokeStyle(token, options);\n }\n case 'transition': {\n return transformTransition(token, options);\n }\n case 'typography': {\n return transformTypography(token, options);\n }\n }\n}\n"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,41 +1,9 @@
|
|
|
1
|
-
import { $ as StringToken, A as FontWeightValue, B as GroupNormalized, C as DurationValue, Ct as TypographyValue, D as FontFamilyValueNormalized, E as FontFamilyValue, F as GradientTokenNormalized, G as ModeMap, H as LinkToken, I as GradientValue, J as NumberValue, K as NumberToken, L as GradientValueNormalized, M as GradientStop, N as GradientStopNormalized, O as FontWeightToken, P as GradientToken, Q as ShadowValueNormalized, R as Group, S as DurationTokenNormalized, St as TypographyTokenNormalized, T as FontFamilyTokenNormalized, U as LinkTokenNormalized, V as GroupOrToken, W as LinkValue, X as ShadowTokenNormalized, Y as ShadowToken, Z as ShadowValue, _ as CubicBezierValue, _t as TransitionToken, a as BooleanValue, at as StrokeStyleValueExpanded, b as DimensionValue, bt as TransitionValueNormalized, c as BorderValue, ct as TokenMode, d as ColorToken, dt as TokenNormalizedSet, et as StringTokenNormalized, f as ColorTokenNormalized, ft as TokenTransformed, g as CubicBezierTokenNormalized, gt as TokensSet, h as CubicBezierToken, ht as TokenTransformedSingleValue, i as BooleanTokenNormalized, it as StrokeStyleValue, j as FontWeightValueNormalized, k as FontWeightTokenNormalized, l as BorderValueNormalized, lt as TokenNormalized, m as ColorValueNormalized, mt as TokenTransformedMultiValue, n as AliasValue, nt as StrokeStyleToken, o as BorderToken, ot as Token, p as ColorValue, pt as TokenTransformedBase, q as NumberTokenNormalized, r as BooleanToken, rt as StrokeStyleTokenNormalized, s as BorderTokenNormalized, st as TokenCore, t as AliasToken, tt as StringValue, u as ColorSpace, ut as TokenNormalizedCore, v as DimensionToken, vt as TransitionTokenNormalized, w as FontFamilyToken, wt as TypographyValueNormalized, x as DurationToken, xt as TypographyToken, y as DimensionTokenNormalized, yt as TransitionValue, z as GroupCore } from "./types-
|
|
2
|
-
import "
|
|
3
|
-
import { Color } from "culori/fn";
|
|
1
|
+
import { $ as StringToken, A as FontWeightValue, B as GroupNormalized, C as DurationValue, Ct as TypographyValue, D as FontFamilyValueNormalized, E as FontFamilyValue, F as GradientTokenNormalized, G as ModeMap, H as LinkToken, I as GradientValue, J as NumberValue, K as NumberToken, L as GradientValueNormalized, M as GradientStop, N as GradientStopNormalized, O as FontWeightToken, P as GradientToken, Q as ShadowValueNormalized, R as Group, S as DurationTokenNormalized, St as TypographyTokenNormalized, T as FontFamilyTokenNormalized, U as LinkTokenNormalized, V as GroupOrToken, W as LinkValue, X as ShadowTokenNormalized, Y as ShadowToken, Z as ShadowValue, _ as CubicBezierValue, _t as TransitionToken, a as BooleanValue, at as StrokeStyleValueExpanded, b as DimensionValue, bt as TransitionValueNormalized, c as BorderValue, ct as TokenMode, d as ColorToken, dt as TokenNormalizedSet, et as StringTokenNormalized, f as ColorTokenNormalized, ft as TokenTransformed, g as CubicBezierTokenNormalized, gt as TokensSet, h as CubicBezierToken, ht as TokenTransformedSingleValue, i as BooleanTokenNormalized, it as StrokeStyleValue, j as FontWeightValueNormalized, k as FontWeightTokenNormalized, l as BorderValueNormalized, lt as TokenNormalized, m as ColorValueNormalized, mt as TokenTransformedMultiValue, n as AliasValue, nt as StrokeStyleToken, o as BorderToken, ot as Token, p as ColorValue, pt as TokenTransformedBase, q as NumberTokenNormalized, r as BooleanToken, rt as StrokeStyleTokenNormalized, s as BorderTokenNormalized, st as TokenCore, t as AliasToken, tt as StringValue, u as ColorSpace, ut as TokenNormalizedCore, v as DimensionToken, vt as TransitionTokenNormalized, w as FontFamilyToken, wt as TypographyValueNormalized, x as DurationToken, xt as TypographyToken, y as DimensionTokenNormalized, yt as TransitionValue, z as GroupCore } from "./types-Cwbw-_yP.js";
|
|
2
|
+
import { n as parseColor, r as tokenToColor, t as COLOR_SPACE } from "./color-DoUasWha.js";
|
|
4
3
|
|
|
5
4
|
//#region src/border.d.ts
|
|
6
5
|
declare const BORDER_REQUIRED_PROPERTIES: readonly ["color", "width", "style"];
|
|
7
6
|
//#endregion
|
|
8
|
-
//#region src/color.d.ts
|
|
9
|
-
declare const CULORI_TO_CSS: Record<Extract<Color['mode'], 'a98' | 'lab' | 'lab65' | 'lch' | 'oklab' | 'oklch' | 'okhsv' | 'hsl' | 'hwb' | 'lrgb' | 'p3' | 'prophoto' | 'rec2020' | 'rgb' | 'xyz50' | 'xyz65'>, ColorSpace>;
|
|
10
|
-
declare const CSS_TO_CULORI: {
|
|
11
|
-
readonly 'a98-rgb': "a98";
|
|
12
|
-
readonly 'display-p3': "p3";
|
|
13
|
-
readonly hsl: "hsl";
|
|
14
|
-
readonly hwb: "hwb";
|
|
15
|
-
readonly lab: "lab";
|
|
16
|
-
readonly 'lab-d65': "lab65";
|
|
17
|
-
readonly lch: "lch";
|
|
18
|
-
readonly oklab: "oklab";
|
|
19
|
-
readonly oklch: "oklch";
|
|
20
|
-
readonly okhsv: "okhsv";
|
|
21
|
-
readonly 'prophoto-rgb': "prophoto";
|
|
22
|
-
readonly rec2020: "rec2020";
|
|
23
|
-
readonly srgb: "rgb";
|
|
24
|
-
readonly 'srgb-linear': "lrgb";
|
|
25
|
-
readonly xyz: "xyz65";
|
|
26
|
-
readonly 'xyz-d50': "xyz50";
|
|
27
|
-
readonly 'xyz-d65': "xyz65";
|
|
28
|
-
};
|
|
29
|
-
/** Parse any color */
|
|
30
|
-
declare function parseColor(color: string): ColorValueNormalized;
|
|
31
|
-
/** Convert a color token to a Culori color */
|
|
32
|
-
declare function tokenToCulori(value: ColorValueNormalized): Color | undefined;
|
|
33
|
-
interface ColorSpaceDefinition {
|
|
34
|
-
ranges: [min: number, max: number][];
|
|
35
|
-
}
|
|
36
|
-
/** Complete list of CSS Module 4 Colorspaces */
|
|
37
|
-
declare const COLORSPACE: Record<ColorSpace, ColorSpaceDefinition>;
|
|
38
|
-
//#endregion
|
|
39
7
|
//#region src/font-weight.d.ts
|
|
40
8
|
/** Mapping of valid names to numeric weights */
|
|
41
9
|
declare const FONT_WEIGHTS: {
|
|
@@ -109,5 +77,5 @@ declare const TRANSITION_REQUIRED_PROPERTIES: readonly ["duration", "delay", "ti
|
|
|
109
77
|
//#region src/typography.d.ts
|
|
110
78
|
declare const TYPOGRAPHY_REQUIRED_PROPERTIES: readonly ["fontFamily", "fontSize", "fontWeight", "letterSpacing", "lineHeight"];
|
|
111
79
|
//#endregion
|
|
112
|
-
export { AliasToken, AliasValue, BORDER_REQUIRED_PROPERTIES, BooleanToken, BooleanTokenNormalized, BooleanValue, BorderToken, BorderTokenNormalized, BorderValue, BorderValueNormalized,
|
|
80
|
+
export { AliasToken, AliasValue, BORDER_REQUIRED_PROPERTIES, BooleanToken, BooleanTokenNormalized, BooleanValue, BorderToken, BorderTokenNormalized, BorderValue, BorderValueNormalized, COLOR_SPACE, ColorSpace, ColorToken, ColorTokenNormalized, ColorValue, ColorValueNormalized, CubicBezierToken, CubicBezierTokenNormalized, CubicBezierValue, CustomTransformOptions, DimensionToken, DimensionTokenNormalized, DimensionValue, DurationToken, DurationTokenNormalized, DurationValue, FONT_WEIGHTS, FontFamilyToken, FontFamilyTokenNormalized, FontFamilyValue, FontFamilyValueNormalized, FontWeightToken, FontWeightTokenNormalized, FontWeightValue, FontWeightValueNormalized, GRADIENT_REQUIRED_STOP_PROPERTIES, GradientStop, GradientStopNormalized, GradientToken, GradientTokenNormalized, GradientValue, GradientValueNormalized, Group, GroupCore, GroupNormalized, GroupOrToken, LinkToken, LinkTokenNormalized, LinkValue, ModeMap, NumberToken, NumberTokenNormalized, NumberValue, SHADOW_REQUIRED_PROPERTIES, STROKE_STYLE_LINE_CAP_VALUES, STROKE_STYLE_OBJECT_REQUIRED_PROPERTIES, STROKE_STYLE_STRING_VALUES, ShadowToken, ShadowTokenNormalized, ShadowValue, ShadowValueNormalized, StringToken, StringTokenNormalized, StringValue, StrokeStyleToken, StrokeStyleTokenNormalized, StrokeStyleValue, StrokeStyleValueExpanded, TRANSITION_REQUIRED_PROPERTIES, TYPOGRAPHY_REQUIRED_PROPERTIES, Token, TokenCore, TokenMode, TokenNormalized, TokenNormalizedCore, TokenNormalizedSet, TokenTransformed, TokenTransformedBase, TokenTransformedMultiValue, TokenTransformedSingleValue, TokensSet, TransitionToken, TransitionTokenNormalized, TransitionValue, TransitionValueNormalized, TypographyToken, TypographyTokenNormalized, TypographyValue, TypographyValueNormalized, getTokenMatch, isAlias, kebabCase, makeAlias, padStr, parseAlias, parseColor, pluralize, splitID, tokenToColor, validateCustomTransform };
|
|
113
81
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/border.ts","../src/
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/border.ts","../src/font-weight.ts","../src/gradient.ts","../src/id.ts","../src/shadow.ts","../src/string.ts","../src/stroke-style.ts","../src/transform.ts","../src/transition.ts","../src/typography.ts"],"mappings":";;;;cAAa,0BAAA;;;;cCCA,YAAA;;;;;;;;;;;;;;;;;;;;;;cCDA,iCAAA;;;;iBCKG,OAAA,CAAQ,KAAA;;iBAKR,aAAA,CAAc,OAAA,UAAiB,YAAA;AHV/C;AAAA,iBGmBgB,SAAA,CAAU,KAAA;;iBAKV,UAAA,CAAW,KAAA;;iBAeX,OAAA,CAAQ,EAAA;EAAe,KAAA;EAAe,KAAA;AAAA;;;cCvCzC,0BAAA;;;;iBCCG,MAAA,CAAO,KAAA,UAAe,MAAA,UAAgB,SAAA;;iBAuBtC,SAAA,YAAA,CAAsB,KAAA,UAAe,QAAA,EAAU,CAAA,EAAG,MAAA,EAAQ,CAAA,GAAI,CAAA;ALxB9E;AAAA,iBK6BgB,SAAA,CAAU,GAAA;;;cC7Bb,0BAAA;AAAA,cAWA,uCAAA;AAAA,cAEA,4BAAA;;;UCbI,sBAAA;;EAEf,KAAA;AAAA;APFF;AAAA,iBOMgB,uBAAA,CAAwB,KAAA;EAAkB;AAAA,GAAS,sBAAA;;;cCNtD,8BAAA;;;cCAA,8BAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as
|
|
1
|
+
import { a as parseColor, i as COLOR_SPACE, n as padStr, o as tokenToColor, r as pluralize, t as kebabCase } from "./string-BKbTpl-t.js";
|
|
2
2
|
import wcmatch from "wildcard-match";
|
|
3
3
|
|
|
4
4
|
//#region src/border.ts
|
|
@@ -130,5 +130,5 @@ const TYPOGRAPHY_REQUIRED_PROPERTIES = [
|
|
|
130
130
|
];
|
|
131
131
|
|
|
132
132
|
//#endregion
|
|
133
|
-
export { BORDER_REQUIRED_PROPERTIES,
|
|
133
|
+
export { BORDER_REQUIRED_PROPERTIES, COLOR_SPACE, FONT_WEIGHTS, GRADIENT_REQUIRED_STOP_PROPERTIES, SHADOW_REQUIRED_PROPERTIES, STROKE_STYLE_LINE_CAP_VALUES, STROKE_STYLE_OBJECT_REQUIRED_PROPERTIES, STROKE_STYLE_STRING_VALUES, TRANSITION_REQUIRED_PROPERTIES, TYPOGRAPHY_REQUIRED_PROPERTIES, getTokenMatch, isAlias, kebabCase, makeAlias, padStr, parseAlias, parseColor, pluralize, splitID, tokenToColor, validateCustomTransform };
|
|
134
134
|
//# sourceMappingURL=index.js.map
|
package/dist/js.d.ts
CHANGED
package/dist/js.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js.d.ts","names":[],"sources":["../src/js/index.ts"],"
|
|
1
|
+
{"version":3,"file":"js.d.ts","names":[],"sources":["../src/js/index.ts"],"mappings":";;;UAEiB,uBAAA;EACf,IAAA;EADe;EAGf,MAAA;;EAEA,cAAA;AAAA;;;;;iBAOc,gBAAA,WAA2B,eAAA,CAAA,CACzC,KAAA,EAAO,CAAA;EACL,MAAA;EAAY;AAAA,GAAsB,uBAAA"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { A98RGB, ColorSpace, HSL, HWB, LCH, Lab, Lab_D65, OKLCH, OKLab, Okhsv, P3, ProPhoto, REC_2020, XYZ_D50, XYZ_D65, inGamut, parse, sRGB, sRGB_Linear, serialize } from "colorjs.io/fn";
|
|
2
|
+
|
|
3
|
+
//#region src/color.ts
|
|
4
|
+
/** Complete list of CSS Module 4 color spaces */
|
|
5
|
+
const COLOR_SPACE = {
|
|
6
|
+
"a98-rgb": A98RGB,
|
|
7
|
+
"display-p3": P3,
|
|
8
|
+
hsl: HSL,
|
|
9
|
+
hwb: HWB,
|
|
10
|
+
lab: Lab,
|
|
11
|
+
"lab-d65": Lab_D65,
|
|
12
|
+
lch: LCH,
|
|
13
|
+
okhsv: Okhsv,
|
|
14
|
+
oklab: OKLab,
|
|
15
|
+
oklch: OKLCH,
|
|
16
|
+
"prophoto-rgb": ProPhoto,
|
|
17
|
+
rec2020: REC_2020,
|
|
18
|
+
srgb: sRGB,
|
|
19
|
+
"srgb-linear": sRGB_Linear,
|
|
20
|
+
xyz: XYZ_D65,
|
|
21
|
+
"xyz-d50": XYZ_D50,
|
|
22
|
+
"xyz-d65": XYZ_D65
|
|
23
|
+
};
|
|
24
|
+
const COLOR_ID_TO_SPACE = {};
|
|
25
|
+
for (const s of Object.values(COLOR_SPACE)) {
|
|
26
|
+
ColorSpace.register(s);
|
|
27
|
+
COLOR_ID_TO_SPACE[s.id] = s;
|
|
28
|
+
for (const alias of s.aliases ?? []) COLOR_ID_TO_SPACE[alias] = s;
|
|
29
|
+
}
|
|
30
|
+
/** Parse any color */
|
|
31
|
+
function parseColor(color) {
|
|
32
|
+
const result = parse(color);
|
|
33
|
+
const value = {
|
|
34
|
+
colorSpace: COLOR_ID_TO_SPACE[result.spaceId].cssId,
|
|
35
|
+
components: result.coords,
|
|
36
|
+
alpha: result.alpha ?? 1
|
|
37
|
+
};
|
|
38
|
+
if (!inGamut(result, "srgb")) value.hex = serialize(result, { format: "hex" });
|
|
39
|
+
return value;
|
|
40
|
+
}
|
|
41
|
+
/** Convert a color token to a Color.js color */
|
|
42
|
+
function tokenToColor(value) {
|
|
43
|
+
const space = COLOR_SPACE[value.colorSpace];
|
|
44
|
+
if (!space) throw new Error(`Invalid color space "${value.colorSpace}".`);
|
|
45
|
+
return {
|
|
46
|
+
spaceId: space.id,
|
|
47
|
+
space,
|
|
48
|
+
coords: value.components,
|
|
49
|
+
alpha: value.alpha
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
//#endregion
|
|
54
|
+
//#region src/string.ts
|
|
55
|
+
/** Pad string lengths */
|
|
56
|
+
function padStr(input, length, alignment = "left") {
|
|
57
|
+
const d = Math.min(length || 0, 1e3) - input.length;
|
|
58
|
+
if (d > 0) switch (alignment) {
|
|
59
|
+
case "left": return `${input}${" ".repeat(d)}`;
|
|
60
|
+
case "right": return `${" ".repeat(d)}${input}`;
|
|
61
|
+
case "center": {
|
|
62
|
+
const left = Math.floor(d / 2);
|
|
63
|
+
const right = d - left;
|
|
64
|
+
return `${" ".repeat(left)}${input}${" ".repeat(right)}`;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return input;
|
|
68
|
+
}
|
|
69
|
+
/** Pluralize strings */
|
|
70
|
+
function pluralize(count, singular, plural) {
|
|
71
|
+
return count === 1 ? singular : plural;
|
|
72
|
+
}
|
|
73
|
+
/** Turn a string into kebab-case */
|
|
74
|
+
function kebabCase(str) {
|
|
75
|
+
let output = "";
|
|
76
|
+
for (const c of str.split("")) {
|
|
77
|
+
if (c === ".") {
|
|
78
|
+
output += "-";
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
let isFirstUppercase = true;
|
|
82
|
+
if (isFirstUppercase && /\p{Uppercase_Letter}/u.test(c)) {
|
|
83
|
+
output += `-${c.toLocaleLowerCase()}`;
|
|
84
|
+
isFirstUppercase = false;
|
|
85
|
+
continue;
|
|
86
|
+
} else isFirstUppercase = true;
|
|
87
|
+
output += c;
|
|
88
|
+
}
|
|
89
|
+
return output;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
//#endregion
|
|
93
|
+
export { parseColor as a, COLOR_SPACE as i, padStr as n, tokenToColor as o, pluralize as r, kebabCase as t };
|
|
94
|
+
//# sourceMappingURL=string-BKbTpl-t.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string-BKbTpl-t.js","names":[],"sources":["../src/color.ts","../src/string.ts"],"sourcesContent":["import {\n A98RGB,\n type ColorConstructor,\n ColorSpace as ColorJS,\n type Coords,\n HSL,\n HWB,\n inGamut,\n Lab,\n Lab_D65,\n LCH,\n OKLab,\n OKLCH,\n Okhsv,\n P3,\n type PlainColorObject,\n ProPhoto,\n parse,\n REC_2020,\n serialize,\n sRGB,\n sRGB_Linear,\n XYZ_D50,\n XYZ_D65,\n} from 'colorjs.io/fn';\nimport type { ColorSpace, ColorValueNormalized } from './types.js';\n\n/** Complete list of CSS Module 4 color spaces */\nexport const COLOR_SPACE: Record<ColorSpace, ColorJS> = {\n 'a98-rgb': A98RGB,\n 'display-p3': P3,\n hsl: HSL,\n hwb: HWB,\n lab: Lab,\n 'lab-d65': Lab_D65,\n lch: LCH,\n okhsv: Okhsv,\n oklab: OKLab,\n oklch: OKLCH,\n 'prophoto-rgb': ProPhoto,\n rec2020: REC_2020,\n srgb: sRGB,\n 'srgb-linear': sRGB_Linear,\n xyz: XYZ_D65,\n 'xyz-d50': XYZ_D50,\n 'xyz-d65': XYZ_D65,\n};\n\nconst COLOR_ID_TO_SPACE: Record<string, ColorJS> = {};\nfor (const s of Object.values(COLOR_SPACE)) {\n ColorJS.register(s);\n COLOR_ID_TO_SPACE[s.id] = s;\n for (const alias of s.aliases ?? []) {\n COLOR_ID_TO_SPACE[alias] = s;\n }\n}\n\n/** Parse any color */\nexport function parseColor(color: string): ColorValueNormalized {\n const result = parse(color);\n const value: ColorValueNormalized = {\n colorSpace: COLOR_ID_TO_SPACE[result.spaceId]!.cssId as ColorSpace,\n components: result.coords,\n alpha: result.alpha ?? 1,\n };\n if (!inGamut(result, 'srgb')) {\n value.hex = serialize(result, { format: 'hex' });\n }\n return value;\n}\n\n/** Convert a color token to a Color.js color */\nexport function tokenToColor(value: ColorValueNormalized): ColorConstructor & PlainColorObject {\n const space = COLOR_SPACE[value.colorSpace];\n if (!space) {\n throw new Error(`Invalid color space \"${value.colorSpace}\".`);\n }\n return {\n spaceId: space.id,\n space: space,\n coords: value.components as Coords,\n alpha: value.alpha,\n };\n}\n","/** Pad string lengths */\nexport function padStr(input: string, length: number, alignment: 'left' | 'center' | 'right' = 'left'): string {\n const d =\n Math.min(length || 0, 1000) - // guard against NaNs and Infinity\n input.length;\n if (d > 0) {\n switch (alignment) {\n case 'left': {\n return `${input}${' '.repeat(d)}`;\n }\n case 'right': {\n return `${' '.repeat(d)}${input}`;\n }\n case 'center': {\n const left = Math.floor(d / 2);\n const right = d - left;\n return `${' '.repeat(left)}${input}${' '.repeat(right)}`;\n }\n }\n }\n return input;\n}\n\n/** Pluralize strings */\nexport function pluralize<T = string>(count: number, singular: T, plural: T): T {\n return count === 1 ? singular : plural;\n}\n\n/** Turn a string into kebab-case */\nexport function kebabCase(str: string): string {\n let output = '';\n for (const c of str.split('')) {\n if (c === '.') {\n output += '-';\n continue;\n }\n let isFirstUppercase = true;\n if (isFirstUppercase && /\\p{Uppercase_Letter}/u.test(c)) {\n output += `-${c.toLocaleLowerCase()}`;\n isFirstUppercase = false; // don’t break apart multiple consecutive uppercase letters\n continue;\n } else {\n isFirstUppercase = true; // reset\n }\n\n output += c;\n }\n return output;\n}\n"],"mappings":";;;;AA4BA,MAAa,cAA2C;CACtD,WAAW;CACX,cAAc;CACd,KAAK;CACL,KAAK;CACL,KAAK;CACL,WAAW;CACX,KAAK;CACL,OAAO;CACP,OAAO;CACP,OAAO;CACP,gBAAgB;CAChB,SAAS;CACT,MAAM;CACN,eAAe;CACf,KAAK;CACL,WAAW;CACX,WAAW;CACZ;AAED,MAAM,oBAA6C,EAAE;AACrD,KAAK,MAAM,KAAK,OAAO,OAAO,YAAY,EAAE;AAC1C,YAAQ,SAAS,EAAE;AACnB,mBAAkB,EAAE,MAAM;AAC1B,MAAK,MAAM,SAAS,EAAE,WAAW,EAAE,CACjC,mBAAkB,SAAS;;;AAK/B,SAAgB,WAAW,OAAqC;CAC9D,MAAM,SAAS,MAAM,MAAM;CAC3B,MAAM,QAA8B;EAClC,YAAY,kBAAkB,OAAO,SAAU;EAC/C,YAAY,OAAO;EACnB,OAAO,OAAO,SAAS;EACxB;AACD,KAAI,CAAC,QAAQ,QAAQ,OAAO,CAC1B,OAAM,MAAM,UAAU,QAAQ,EAAE,QAAQ,OAAO,CAAC;AAElD,QAAO;;;AAIT,SAAgB,aAAa,OAAkE;CAC7F,MAAM,QAAQ,YAAY,MAAM;AAChC,KAAI,CAAC,MACH,OAAM,IAAI,MAAM,wBAAwB,MAAM,WAAW,IAAI;AAE/D,QAAO;EACL,SAAS,MAAM;EACR;EACP,QAAQ,MAAM;EACd,OAAO,MAAM;EACd;;;;;;ACjFH,SAAgB,OAAO,OAAe,QAAgB,YAAyC,QAAgB;CAC7G,MAAM,IACJ,KAAK,IAAI,UAAU,GAAG,IAAK,GAC3B,MAAM;AACR,KAAI,IAAI,EACN,SAAQ,WAAR;EACE,KAAK,OACH,QAAO,GAAG,QAAQ,IAAI,OAAO,EAAE;EAEjC,KAAK,QACH,QAAO,GAAG,IAAI,OAAO,EAAE,GAAG;EAE5B,KAAK,UAAU;GACb,MAAM,OAAO,KAAK,MAAM,IAAI,EAAE;GAC9B,MAAM,QAAQ,IAAI;AAClB,UAAO,GAAG,IAAI,OAAO,KAAK,GAAG,QAAQ,IAAI,OAAO,MAAM;;;AAI5D,QAAO;;;AAIT,SAAgB,UAAsB,OAAe,UAAa,QAAc;AAC9E,QAAO,UAAU,IAAI,WAAW;;;AAIlC,SAAgB,UAAU,KAAqB;CAC7C,IAAI,SAAS;AACb,MAAK,MAAM,KAAK,IAAI,MAAM,GAAG,EAAE;AAC7B,MAAI,MAAM,KAAK;AACb,aAAU;AACV;;EAEF,IAAI,mBAAmB;AACvB,MAAI,oBAAoB,wBAAwB,KAAK,EAAE,EAAE;AACvD,aAAU,IAAI,EAAE,mBAAmB;AACnC,sBAAmB;AACnB;QAEA,oBAAmB;AAGrB,YAAU;;AAEZ,QAAO"}
|
|
@@ -231,8 +231,7 @@ interface TokenNormalizedCore<$type extends Token['$type']> {
|
|
|
231
231
|
id: string;
|
|
232
232
|
/** Originating token location */
|
|
233
233
|
source: {
|
|
234
|
-
/** @deprecated use filename instead */
|
|
235
|
-
loc?: string;
|
|
234
|
+
/** @deprecated use filename instead */loc?: string;
|
|
236
235
|
filename: string | undefined;
|
|
237
236
|
node: momoa.ObjectNode;
|
|
238
237
|
};
|
|
@@ -484,4 +483,4 @@ interface TokenTransformedMultiValue extends TokenTransformedBase {
|
|
|
484
483
|
type TokenTransformed = TokenTransformedSingleValue | TokenTransformedMultiValue;
|
|
485
484
|
//#endregion
|
|
486
485
|
export { StringToken as $, FontWeightValue as A, GroupNormalized as B, DurationValue as C, TypographyValue as Ct, FontFamilyValueNormalized as D, FontFamilyValue as E, GradientTokenNormalized as F, ModeMap as G, LinkToken as H, GradientValue as I, NumberValue as J, NumberToken as K, GradientValueNormalized as L, GradientStop as M, GradientStopNormalized as N, FontWeightToken as O, GradientToken as P, ShadowValueNormalized as Q, Group as R, DurationTokenNormalized as S, TypographyTokenNormalized as St, FontFamilyTokenNormalized as T, LinkTokenNormalized as U, GroupOrToken as V, LinkValue as W, ShadowTokenNormalized as X, ShadowToken as Y, ShadowValue as Z, CubicBezierValue as _, TransitionToken as _t, BooleanValue as a, StrokeStyleValueExpanded as at, DimensionValue as b, TransitionValueNormalized as bt, BorderValue as c, TokenMode as ct, ColorToken as d, TokenNormalizedSet as dt, StringTokenNormalized as et, ColorTokenNormalized as f, TokenTransformed as ft, CubicBezierTokenNormalized as g, TokensSet as gt, CubicBezierToken as h, TokenTransformedSingleValue as ht, BooleanTokenNormalized as i, StrokeStyleValue as it, FontWeightValueNormalized as j, FontWeightTokenNormalized as k, BorderValueNormalized as l, TokenNormalized as lt, ColorValueNormalized as m, TokenTransformedMultiValue as mt, AliasValue as n, StrokeStyleToken as nt, BorderToken as o, Token as ot, ColorValue as p, TokenTransformedBase as pt, NumberTokenNormalized as q, BooleanToken as r, StrokeStyleTokenNormalized as rt, BorderTokenNormalized as s, TokenCore as st, AliasToken as t, StringValue as tt, ColorSpace as u, TokenNormalizedCore as ut, DimensionToken as v, TransitionTokenNormalized as vt, FontFamilyToken as w, TypographyValueNormalized as wt, DurationToken as x, TypographyToken as xt, DimensionTokenNormalized as y, TransitionValue as yt, GroupCore as z };
|
|
487
|
-
//# sourceMappingURL=types-
|
|
486
|
+
//# sourceMappingURL=types-Cwbw-_yP.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-Cwbw-_yP.d.ts","names":[],"sources":["../src/types.ts"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@terrazzo/token-tools",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.3",
|
|
4
4
|
"description": "Various utilities for token types",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -36,12 +36,9 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@humanwhocodes/momoa": "^3.3.10",
|
|
39
|
-
"
|
|
39
|
+
"colorjs.io": "^0.6.1",
|
|
40
40
|
"wildcard-match": "^5.1.4"
|
|
41
41
|
},
|
|
42
|
-
"devDependencies": {
|
|
43
|
-
"@types/culori": "^4.0.1"
|
|
44
|
-
},
|
|
45
42
|
"scripts": {
|
|
46
43
|
"build": "rolldown -c && attw --profile esm-only --pack .",
|
|
47
44
|
"dev": "rolldown -w -c",
|
package/dist/string-BIhoe-L2.js
DELETED
|
@@ -1,348 +0,0 @@
|
|
|
1
|
-
import "culori/css";
|
|
2
|
-
import { formatHex, parse } from "culori/fn";
|
|
3
|
-
|
|
4
|
-
//#region src/color.ts
|
|
5
|
-
const HEX_RE = /^#?([0-9a-f]{8}|[0-9a-f]{6}|[0-9a-f]{4}|[0-9a-f]{3})$/i;
|
|
6
|
-
const CULORI_TO_CSS = {
|
|
7
|
-
a98: "a98-rgb",
|
|
8
|
-
hsl: "hsl",
|
|
9
|
-
hwb: "hwb",
|
|
10
|
-
lab: "lab",
|
|
11
|
-
lab65: "lab-d65",
|
|
12
|
-
lch: "lch",
|
|
13
|
-
lrgb: "srgb-linear",
|
|
14
|
-
oklab: "oklab",
|
|
15
|
-
oklch: "oklch",
|
|
16
|
-
okhsv: "okhsv",
|
|
17
|
-
p3: "display-p3",
|
|
18
|
-
prophoto: "prophoto-rgb",
|
|
19
|
-
rec2020: "rec2020",
|
|
20
|
-
rgb: "srgb",
|
|
21
|
-
xyz50: "xyz-d50",
|
|
22
|
-
xyz65: "xyz-d65"
|
|
23
|
-
};
|
|
24
|
-
const CSS_TO_CULORI = {
|
|
25
|
-
"a98-rgb": "a98",
|
|
26
|
-
"display-p3": "p3",
|
|
27
|
-
hsl: "hsl",
|
|
28
|
-
hwb: "hwb",
|
|
29
|
-
lab: "lab",
|
|
30
|
-
"lab-d65": "lab65",
|
|
31
|
-
lch: "lch",
|
|
32
|
-
oklab: "oklab",
|
|
33
|
-
oklch: "oklch",
|
|
34
|
-
okhsv: "okhsv",
|
|
35
|
-
"prophoto-rgb": "prophoto",
|
|
36
|
-
rec2020: "rec2020",
|
|
37
|
-
srgb: "rgb",
|
|
38
|
-
"srgb-linear": "lrgb",
|
|
39
|
-
xyz: "xyz65",
|
|
40
|
-
"xyz-d50": "xyz50",
|
|
41
|
-
"xyz-d65": "xyz65"
|
|
42
|
-
};
|
|
43
|
-
/** Parse any color */
|
|
44
|
-
function parseColor(color) {
|
|
45
|
-
const result = parse(color);
|
|
46
|
-
if (!result) throw new Error(`Unable to parse color "${color}"`);
|
|
47
|
-
if (!(result.mode in CULORI_TO_CSS)) throw new Error(`Unsupported color space: ${result.mode}`);
|
|
48
|
-
const colorSpace = CULORI_TO_CSS[result.mode];
|
|
49
|
-
let components = [
|
|
50
|
-
0,
|
|
51
|
-
0,
|
|
52
|
-
0
|
|
53
|
-
];
|
|
54
|
-
switch (result.mode) {
|
|
55
|
-
case "a98":
|
|
56
|
-
case "rec2020":
|
|
57
|
-
case "p3":
|
|
58
|
-
case "prophoto":
|
|
59
|
-
case "lrgb":
|
|
60
|
-
case "rgb":
|
|
61
|
-
components = [
|
|
62
|
-
result.r,
|
|
63
|
-
result.g,
|
|
64
|
-
result.b
|
|
65
|
-
];
|
|
66
|
-
break;
|
|
67
|
-
case "hsl": {
|
|
68
|
-
const maxS = COLORSPACE[colorSpace].ranges[1]?.[1] ?? 1;
|
|
69
|
-
const maxL = COLORSPACE[colorSpace].ranges[2]?.[1] ?? 1;
|
|
70
|
-
components = [
|
|
71
|
-
result.h ?? 0,
|
|
72
|
-
result.s * maxS,
|
|
73
|
-
result.l * maxL
|
|
74
|
-
];
|
|
75
|
-
break;
|
|
76
|
-
}
|
|
77
|
-
case "hwb": {
|
|
78
|
-
const maxW = COLORSPACE[colorSpace].ranges[1]?.[1] ?? 1;
|
|
79
|
-
const maxB = COLORSPACE[colorSpace].ranges[2]?.[1] ?? 1;
|
|
80
|
-
components = [
|
|
81
|
-
result.h ?? 0,
|
|
82
|
-
result.w * maxW,
|
|
83
|
-
result.b * maxB
|
|
84
|
-
];
|
|
85
|
-
break;
|
|
86
|
-
}
|
|
87
|
-
case "lab":
|
|
88
|
-
case "lab65":
|
|
89
|
-
case "oklab":
|
|
90
|
-
components = [
|
|
91
|
-
result.l,
|
|
92
|
-
result.a,
|
|
93
|
-
result.b
|
|
94
|
-
];
|
|
95
|
-
break;
|
|
96
|
-
case "lch":
|
|
97
|
-
case "oklch":
|
|
98
|
-
components = [
|
|
99
|
-
result.l,
|
|
100
|
-
result.c,
|
|
101
|
-
result.h ?? 0
|
|
102
|
-
];
|
|
103
|
-
break;
|
|
104
|
-
case "okhsv":
|
|
105
|
-
components = [
|
|
106
|
-
result.h ?? 0,
|
|
107
|
-
result.s,
|
|
108
|
-
result.v
|
|
109
|
-
];
|
|
110
|
-
break;
|
|
111
|
-
case "xyz50":
|
|
112
|
-
case "xyz65":
|
|
113
|
-
components = [
|
|
114
|
-
result.x,
|
|
115
|
-
result.y,
|
|
116
|
-
result.z
|
|
117
|
-
];
|
|
118
|
-
break;
|
|
119
|
-
}
|
|
120
|
-
const value = {
|
|
121
|
-
colorSpace,
|
|
122
|
-
components,
|
|
123
|
-
alpha: result.alpha ?? 1
|
|
124
|
-
};
|
|
125
|
-
if (HEX_RE.test(color)) value.hex = formatHex(result);
|
|
126
|
-
return value;
|
|
127
|
-
}
|
|
128
|
-
/** Convert a color token to a Culori color */
|
|
129
|
-
function tokenToCulori(value) {
|
|
130
|
-
switch (value.colorSpace) {
|
|
131
|
-
case "a98-rgb":
|
|
132
|
-
case "display-p3":
|
|
133
|
-
case "prophoto-rgb":
|
|
134
|
-
case "rec2020":
|
|
135
|
-
case "srgb":
|
|
136
|
-
case "srgb-linear": {
|
|
137
|
-
const [r, g, b] = value.components;
|
|
138
|
-
return {
|
|
139
|
-
mode: CSS_TO_CULORI[value.colorSpace] || value.colorSpace,
|
|
140
|
-
r,
|
|
141
|
-
g,
|
|
142
|
-
b,
|
|
143
|
-
alpha: value.alpha
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
|
-
case "hsl": {
|
|
147
|
-
const [h, s, l] = value.components;
|
|
148
|
-
const maxS = COLORSPACE[value.colorSpace].ranges[1]?.[1] ?? 1;
|
|
149
|
-
const maxL = COLORSPACE[value.colorSpace].ranges[2]?.[1] ?? 1;
|
|
150
|
-
return {
|
|
151
|
-
mode: "hsl",
|
|
152
|
-
h,
|
|
153
|
-
s: s / maxS,
|
|
154
|
-
l: l / maxL,
|
|
155
|
-
alpha: value.alpha
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
|
-
case "hwb": {
|
|
159
|
-
const [h, w, b] = value.components;
|
|
160
|
-
const maxW = COLORSPACE[value.colorSpace].ranges[1]?.[1] ?? 1;
|
|
161
|
-
const maxB = COLORSPACE[value.colorSpace].ranges[2]?.[1] ?? 1;
|
|
162
|
-
return {
|
|
163
|
-
mode: "hwb",
|
|
164
|
-
h,
|
|
165
|
-
w: w / maxW,
|
|
166
|
-
b: b / maxB,
|
|
167
|
-
alpha: value.alpha
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
case "lab":
|
|
171
|
-
case "lab-d65":
|
|
172
|
-
case "oklab": {
|
|
173
|
-
const [l = 0, a = 0, b = 0] = value.components;
|
|
174
|
-
return {
|
|
175
|
-
mode: value.colorSpace === "lab-d65" ? "lab65" : value.colorSpace,
|
|
176
|
-
l,
|
|
177
|
-
a,
|
|
178
|
-
b,
|
|
179
|
-
alpha: value.alpha
|
|
180
|
-
};
|
|
181
|
-
}
|
|
182
|
-
case "lch":
|
|
183
|
-
case "oklch": {
|
|
184
|
-
const [l, c, h] = value.components;
|
|
185
|
-
return {
|
|
186
|
-
mode: value.colorSpace,
|
|
187
|
-
l,
|
|
188
|
-
c,
|
|
189
|
-
h,
|
|
190
|
-
alpha: value.alpha
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
|
-
case "okhsv": {
|
|
194
|
-
const [h, s, v] = value.components;
|
|
195
|
-
return {
|
|
196
|
-
mode: value.colorSpace,
|
|
197
|
-
h,
|
|
198
|
-
s,
|
|
199
|
-
v,
|
|
200
|
-
alpha: value.alpha
|
|
201
|
-
};
|
|
202
|
-
}
|
|
203
|
-
case "xyz":
|
|
204
|
-
case "xyz-d50":
|
|
205
|
-
case "xyz-d65": {
|
|
206
|
-
const [x, y, z] = value.components;
|
|
207
|
-
return {
|
|
208
|
-
mode: CSS_TO_CULORI[value.colorSpace],
|
|
209
|
-
x,
|
|
210
|
-
y,
|
|
211
|
-
z,
|
|
212
|
-
alpha: value.alpha
|
|
213
|
-
};
|
|
214
|
-
}
|
|
215
|
-
default: throw new Error(`Invalid colorSpace "${value.colorSpace}". Expected one of ${Object.keys(CSS_TO_CULORI).join(", ")}`);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
/** Complete list of CSS Module 4 Colorspaces */
|
|
219
|
-
const COLORSPACE = {
|
|
220
|
-
"a98-rgb": { ranges: [
|
|
221
|
-
[0, 1],
|
|
222
|
-
[0, 1],
|
|
223
|
-
[0, 1]
|
|
224
|
-
] },
|
|
225
|
-
"display-p3": { ranges: [
|
|
226
|
-
[0, 1],
|
|
227
|
-
[0, 1],
|
|
228
|
-
[0, 1]
|
|
229
|
-
] },
|
|
230
|
-
hsl: { ranges: [
|
|
231
|
-
[0, 360],
|
|
232
|
-
[0, 100],
|
|
233
|
-
[0, 100]
|
|
234
|
-
] },
|
|
235
|
-
hwb: { ranges: [
|
|
236
|
-
[0, 360],
|
|
237
|
-
[0, 100],
|
|
238
|
-
[0, 100]
|
|
239
|
-
] },
|
|
240
|
-
lab: { ranges: [
|
|
241
|
-
[0, 100],
|
|
242
|
-
[-125, 125],
|
|
243
|
-
[-125, 125]
|
|
244
|
-
] },
|
|
245
|
-
"lab-d65": { ranges: [
|
|
246
|
-
[0, 100],
|
|
247
|
-
[-125, 125],
|
|
248
|
-
[-125, 125]
|
|
249
|
-
] },
|
|
250
|
-
lch: { ranges: [
|
|
251
|
-
[0, 100],
|
|
252
|
-
[0, 150],
|
|
253
|
-
[0, 360]
|
|
254
|
-
] },
|
|
255
|
-
oklab: { ranges: [
|
|
256
|
-
[0, 1],
|
|
257
|
-
[-.4, .4],
|
|
258
|
-
[-.4, .4]
|
|
259
|
-
] },
|
|
260
|
-
oklch: { ranges: [
|
|
261
|
-
[0, 1],
|
|
262
|
-
[0, .4],
|
|
263
|
-
[0, 360]
|
|
264
|
-
] },
|
|
265
|
-
okhsv: { ranges: [
|
|
266
|
-
[0, 360],
|
|
267
|
-
[0, 1],
|
|
268
|
-
[0, 1]
|
|
269
|
-
] },
|
|
270
|
-
"prophoto-rgb": { ranges: [
|
|
271
|
-
[0, 1],
|
|
272
|
-
[0, 1],
|
|
273
|
-
[0, 1]
|
|
274
|
-
] },
|
|
275
|
-
rec2020: { ranges: [
|
|
276
|
-
[0, 1],
|
|
277
|
-
[0, 1],
|
|
278
|
-
[0, 1]
|
|
279
|
-
] },
|
|
280
|
-
srgb: { ranges: [
|
|
281
|
-
[0, 1],
|
|
282
|
-
[0, 1],
|
|
283
|
-
[0, 1]
|
|
284
|
-
] },
|
|
285
|
-
"srgb-linear": { ranges: [
|
|
286
|
-
[0, 1],
|
|
287
|
-
[0, 1],
|
|
288
|
-
[0, 1]
|
|
289
|
-
] },
|
|
290
|
-
"xyz-d50": { ranges: [
|
|
291
|
-
[0, 1],
|
|
292
|
-
[0, 1],
|
|
293
|
-
[0, 1]
|
|
294
|
-
] },
|
|
295
|
-
xyz: { ranges: [
|
|
296
|
-
[0, 1],
|
|
297
|
-
[0, 1],
|
|
298
|
-
[0, 1]
|
|
299
|
-
] },
|
|
300
|
-
"xyz-d65": { ranges: [
|
|
301
|
-
[0, 1],
|
|
302
|
-
[0, 1],
|
|
303
|
-
[0, 1]
|
|
304
|
-
] }
|
|
305
|
-
};
|
|
306
|
-
|
|
307
|
-
//#endregion
|
|
308
|
-
//#region src/string.ts
|
|
309
|
-
/** Pad string lengths */
|
|
310
|
-
function padStr(input, length, alignment = "left") {
|
|
311
|
-
const d = Math.min(length || 0, 1e3) - input.length;
|
|
312
|
-
if (d > 0) switch (alignment) {
|
|
313
|
-
case "left": return `${input}${" ".repeat(d)}`;
|
|
314
|
-
case "right": return `${" ".repeat(d)}${input}`;
|
|
315
|
-
case "center": {
|
|
316
|
-
const left = Math.floor(d / 2);
|
|
317
|
-
const right = d - left;
|
|
318
|
-
return `${" ".repeat(left)}${input}${" ".repeat(right)}`;
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
return input;
|
|
322
|
-
}
|
|
323
|
-
/** Pluralize strings */
|
|
324
|
-
function pluralize(count, singular, plural) {
|
|
325
|
-
return count === 1 ? singular : plural;
|
|
326
|
-
}
|
|
327
|
-
/** Turn a string into kebab-case */
|
|
328
|
-
function kebabCase(str) {
|
|
329
|
-
let output = "";
|
|
330
|
-
for (const c of str.split("")) {
|
|
331
|
-
if (c === ".") {
|
|
332
|
-
output += "-";
|
|
333
|
-
continue;
|
|
334
|
-
}
|
|
335
|
-
let isFirstUppercase = true;
|
|
336
|
-
if (isFirstUppercase && /\p{Uppercase_Letter}/u.test(c)) {
|
|
337
|
-
output += `-${c.toLocaleLowerCase()}`;
|
|
338
|
-
isFirstUppercase = false;
|
|
339
|
-
continue;
|
|
340
|
-
} else isFirstUppercase = true;
|
|
341
|
-
output += c;
|
|
342
|
-
}
|
|
343
|
-
return output;
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
//#endregion
|
|
347
|
-
export { CSS_TO_CULORI as a, tokenToCulori as c, COLORSPACE as i, padStr as n, CULORI_TO_CSS as o, pluralize as r, parseColor as s, kebabCase as t };
|
|
348
|
-
//# sourceMappingURL=string-BIhoe-L2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"string-BIhoe-L2.js","names":[],"sources":["../src/color.ts","../src/string.ts"],"sourcesContent":["import 'culori/css';\nimport { type Color, formatHex, parse } from 'culori/fn';\nimport type { ColorSpace, ColorValueNormalized } from './types.js';\n\nconst HEX_RE = /^#?([0-9a-f]{8}|[0-9a-f]{6}|[0-9a-f]{4}|[0-9a-f]{3})$/i;\n\nexport const CULORI_TO_CSS: Record<\n Extract<\n Color['mode'],\n | 'a98'\n | 'lab'\n | 'lab65'\n | 'lch'\n | 'oklab'\n | 'oklch'\n | 'okhsv'\n | 'hsl'\n | 'hwb'\n | 'lrgb'\n | 'p3'\n | 'prophoto'\n | 'rec2020'\n | 'rgb'\n | 'xyz50'\n | 'xyz65'\n >,\n ColorSpace\n> = {\n a98: 'a98-rgb',\n hsl: 'hsl',\n hwb: 'hwb',\n lab: 'lab',\n lab65: 'lab-d65',\n lch: 'lch',\n lrgb: 'srgb-linear',\n oklab: 'oklab',\n oklch: 'oklch',\n okhsv: 'okhsv',\n p3: 'display-p3',\n prophoto: 'prophoto-rgb',\n rec2020: 'rec2020',\n rgb: 'srgb',\n xyz50: 'xyz-d50',\n xyz65: 'xyz-d65',\n} as const;\n\nexport const CSS_TO_CULORI = {\n 'a98-rgb': 'a98',\n 'display-p3': 'p3',\n hsl: 'hsl',\n hwb: 'hwb',\n lab: 'lab',\n 'lab-d65': 'lab65',\n lch: 'lch',\n oklab: 'oklab',\n oklch: 'oklch',\n okhsv: 'okhsv',\n 'prophoto-rgb': 'prophoto',\n rec2020: 'rec2020',\n srgb: 'rgb',\n 'srgb-linear': 'lrgb',\n xyz: 'xyz65',\n 'xyz-d50': 'xyz50',\n 'xyz-d65': 'xyz65',\n} as const;\n\n/** Parse any color */\nexport function parseColor(color: string): ColorValueNormalized {\n const result = parse(color);\n if (!result) {\n throw new Error(`Unable to parse color \"${color}\"`);\n }\n if (!(result.mode in CULORI_TO_CSS)) {\n throw new Error(`Unsupported color space: ${result.mode}`);\n }\n const colorSpace = CULORI_TO_CSS[result.mode as keyof typeof CULORI_TO_CSS]!;\n let components: [number, number, number] = [0, 0, 0];\n switch (result.mode) {\n case 'a98':\n case 'rec2020':\n case 'p3':\n case 'prophoto':\n case 'lrgb':\n case 'rgb': {\n components = [result.r, result.g, result.b];\n break;\n }\n case 'hsl': {\n const maxS = COLORSPACE[colorSpace].ranges[1]?.[1] ?? 1.0;\n const maxL = COLORSPACE[colorSpace].ranges[2]?.[1] ?? 1.0;\n components = [result.h ?? 0, result.s * maxS, result.l * maxL];\n break;\n }\n case 'hwb': {\n const maxW = COLORSPACE[colorSpace].ranges[1]?.[1] ?? 1.0;\n const maxB = COLORSPACE[colorSpace].ranges[2]?.[1] ?? 1.0;\n components = [result.h ?? 0, result.w * maxW, result.b * maxB];\n break;\n }\n case 'lab':\n case 'lab65':\n case 'oklab': {\n components = [result.l, result.a, result.b];\n break;\n }\n case 'lch':\n case 'oklch': {\n components = [result.l, result.c, result.h ?? 0];\n break;\n }\n case 'okhsv': {\n components = [result.h ?? 0, result.s, result.v];\n break;\n }\n case 'xyz50':\n case 'xyz65': {\n components = [result.x, result.y, result.z];\n break;\n }\n }\n const value: ColorValueNormalized = {\n colorSpace,\n components,\n alpha: result.alpha ?? 1,\n };\n if (HEX_RE.test(color)) {\n // Note: this intentionally does NOT include alpha; it’s already in alpha.\n // Always use formatHex (not formatHex8).\n value.hex = formatHex(result);\n }\n return value;\n}\n\n/** Convert a color token to a Culori color */\nexport function tokenToCulori(value: ColorValueNormalized): Color | undefined {\n switch (value.colorSpace) {\n case 'a98-rgb':\n case 'display-p3':\n case 'prophoto-rgb':\n case 'rec2020':\n case 'srgb':\n case 'srgb-linear': {\n const [r, g, b] = value.components;\n return {\n mode: CSS_TO_CULORI[value.colorSpace] || value.colorSpace,\n r,\n g,\n b,\n alpha: value.alpha,\n } as Color;\n }\n case 'hsl': {\n const [h, s, l] = value.components;\n const maxS = COLORSPACE[value.colorSpace].ranges[1]?.[1] ?? 1;\n const maxL = COLORSPACE[value.colorSpace].ranges[2]?.[1] ?? 1;\n return { mode: 'hsl', h: h!, s: s! / maxS, l: l! / maxL, alpha: value.alpha };\n }\n case 'hwb': {\n const [h, w, b] = value.components;\n const maxW = COLORSPACE[value.colorSpace].ranges[1]?.[1] ?? 1;\n const maxB = COLORSPACE[value.colorSpace].ranges[2]?.[1] ?? 1;\n return { mode: 'hwb', h: h!, w: w! / maxW, b: b! / maxB, alpha: value.alpha };\n }\n case 'lab':\n case 'lab-d65':\n case 'oklab': {\n const [l = 0, a = 0, b = 0] = value.components;\n const mode = value.colorSpace === 'lab-d65' ? 'lab65' : value.colorSpace;\n return { mode, l: l!, a: a!, b: b!, alpha: value.alpha };\n }\n case 'lch':\n case 'oklch': {\n const [l, c, h] = value.components;\n return { mode: value.colorSpace, l: l!, c: c!, h: h!, alpha: value.alpha };\n }\n case 'okhsv': {\n const [h, s, v] = value.components;\n return { mode: value.colorSpace, h: h!, s: s!, v: v!, alpha: value.alpha };\n }\n case 'xyz':\n case 'xyz-d50':\n case 'xyz-d65': {\n const [x, y, z] = value.components;\n return { mode: CSS_TO_CULORI[value.colorSpace], x: x!, y: y!, z: z!, alpha: value.alpha };\n }\n default: {\n throw new Error(\n `Invalid colorSpace \"${value.colorSpace}\". Expected one of ${Object.keys(CSS_TO_CULORI).join(', ')}`,\n );\n }\n }\n}\n\nexport interface ColorSpaceDefinition {\n ranges: [min: number, max: number][];\n}\n\n/** Complete list of CSS Module 4 Colorspaces */\nexport const COLORSPACE: Record<ColorSpace, ColorSpaceDefinition> = {\n 'a98-rgb': {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n 'display-p3': {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n hsl: {\n ranges: [\n [0.0, 360.0],\n [0.0, 100.0],\n [0.0, 100.0],\n ],\n },\n hwb: {\n ranges: [\n [0.0, 360.0],\n [0.0, 100.0],\n [0.0, 100.0],\n ],\n },\n lab: {\n ranges: [\n [0.0, 100.0],\n [-125.0, 125.0],\n [-125.0, 125.0],\n ],\n },\n 'lab-d65': {\n ranges: [\n [0.0, 100.0],\n [-125.0, 125.0],\n [-125.0, 125.0],\n ],\n },\n lch: {\n ranges: [\n [0.0, 100.0],\n [0, 150.0],\n [0.0, 360.0],\n ],\n },\n oklab: {\n ranges: [\n [0.0, 1.0],\n [-0.4, 0.4],\n [-0.4, 0.4],\n ],\n },\n oklch: {\n ranges: [\n [0.0, 1.0],\n [0.0, 0.4],\n [0.0, 360.0],\n ],\n },\n okhsv: {\n ranges: [\n [0.0, 360.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n 'prophoto-rgb': {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n rec2020: {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n srgb: {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n 'srgb-linear': {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n 'xyz-d50': {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n xyz: {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n 'xyz-d65': {\n ranges: [\n [0.0, 1.0],\n [0.0, 1.0],\n [0.0, 1.0],\n ],\n },\n};\n","/** Pad string lengths */\nexport function padStr(input: string, length: number, alignment: 'left' | 'center' | 'right' = 'left'): string {\n const d =\n Math.min(length || 0, 1000) - // guard against NaNs and Infinity\n input.length;\n if (d > 0) {\n switch (alignment) {\n case 'left': {\n return `${input}${' '.repeat(d)}`;\n }\n case 'right': {\n return `${' '.repeat(d)}${input}`;\n }\n case 'center': {\n const left = Math.floor(d / 2);\n const right = d - left;\n return `${' '.repeat(left)}${input}${' '.repeat(right)}`;\n }\n }\n }\n return input;\n}\n\n/** Pluralize strings */\nexport function pluralize<T = string>(count: number, singular: T, plural: T): T {\n return count === 1 ? singular : plural;\n}\n\n/** Turn a string into kebab-case */\nexport function kebabCase(str: string): string {\n let output = '';\n for (const c of str.split('')) {\n if (c === '.') {\n output += '-';\n continue;\n }\n let isFirstUppercase = true;\n if (isFirstUppercase && /\\p{Uppercase_Letter}/u.test(c)) {\n output += `-${c.toLocaleLowerCase()}`;\n isFirstUppercase = false; // don’t break apart multiple consecutive uppercase letters\n continue;\n } else {\n isFirstUppercase = true; // reset\n }\n\n output += c;\n }\n return output;\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types-DpPbXNdS.d.ts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":"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"}
|