@terrazzo/token-tools 0.10.3 → 2.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css.d.ts +1 -22
- package/dist/css.d.ts.map +1 -1
- package/dist/css.js +7 -13
- package/dist/css.js.map +1 -1
- package/dist/index.d.ts +45 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +86 -4
- package/dist/index.js.map +1 -1
- package/dist/js.d.ts +1 -3
- package/dist/js.d.ts.map +1 -1
- package/dist/js.js.map +1 -1
- package/dist/{string-BwN3ybNv.js → string-D3-qmBT2.js} +8 -14
- package/dist/string-D3-qmBT2.js.map +1 -0
- package/dist/{types-BOWDcBsq.d.ts → types-CoqP_8W1.d.ts} +97 -73
- package/dist/types-CoqP_8W1.d.ts.map +1 -0
- package/package.json +3 -3
- package/dist/string-BwN3ybNv.js.map +0 -1
- package/dist/types-BOWDcBsq.d.ts.map +0 -1
package/dist/css.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BooleanTokenNormalized, BorderTokenNormalized, ColorTokenNormalized, CubicBezierTokenNormalized, DimensionTokenNormalized, DurationTokenNormalized, FontFamilyTokenNormalized, FontWeightTokenNormalized, GradientTokenNormalized, LinkTokenNormalized, NumberTokenNormalized, ShadowTokenNormalized, ShadowValueNormalized, StringTokenNormalized, StrokeStyleTokenNormalized, TokenNormalized, TokenNormalizedSet, TransitionTokenNormalized, TypographyTokenNormalized } from "./types-
|
|
1
|
+
import { BooleanTokenNormalized, BorderTokenNormalized, ColorTokenNormalized, CubicBezierTokenNormalized, DimensionTokenNormalized, DurationTokenNormalized, FontFamilyTokenNormalized, FontWeightTokenNormalized, GradientTokenNormalized, LinkTokenNormalized, NumberTokenNormalized, ShadowTokenNormalized, ShadowValueNormalized, StringTokenNormalized, StrokeStyleTokenNormalized, TokenNormalized, TokenNormalizedSet, TransitionTokenNormalized, TypographyTokenNormalized } from "./types-CoqP_8W1.js";
|
|
2
2
|
import { Color } from "culori/fn";
|
|
3
3
|
|
|
4
4
|
//#region src/css/lib.d.ts
|
|
@@ -30,7 +30,6 @@ declare function makeCSSVar(name: string, {
|
|
|
30
30
|
prefix,
|
|
31
31
|
wrapVar
|
|
32
32
|
}?: MakeCSSVarOptions): string;
|
|
33
|
-
//# sourceMappingURL=lib.d.ts.map
|
|
34
33
|
//#endregion
|
|
35
34
|
//#region src/css/css-types.d.ts
|
|
36
35
|
interface TransformCSSValueOptions {
|
|
@@ -48,7 +47,6 @@ interface TransformCSSValueOptions {
|
|
|
48
47
|
depth?: 24 | 30 | 36 | 48 | 'unlimited';
|
|
49
48
|
};
|
|
50
49
|
}
|
|
51
|
-
//# sourceMappingURL=css-types.d.ts.map
|
|
52
50
|
//#endregion
|
|
53
51
|
//#region src/css/color.d.ts
|
|
54
52
|
type WideGamutColorValue = {
|
|
@@ -68,7 +66,6 @@ declare const DEPTH_ROUNDING: {
|
|
|
68
66
|
type Depth = keyof typeof DEPTH_ROUNDING | 'unlimited';
|
|
69
67
|
/** Round color to certain depth. */
|
|
70
68
|
declare function roundColor<T extends Color = Color>(color: T, depth?: Depth): T;
|
|
71
|
-
//# sourceMappingURL=color.d.ts.map
|
|
72
69
|
//#endregion
|
|
73
70
|
//#region src/css/boolean.d.ts
|
|
74
71
|
/** Convert boolean value to CSS string */
|
|
@@ -76,7 +73,6 @@ declare function transformBoolean(token: BooleanTokenNormalized, {
|
|
|
76
73
|
tokensSet,
|
|
77
74
|
transformAlias
|
|
78
75
|
}: TransformCSSValueOptions): string;
|
|
79
|
-
//# sourceMappingURL=boolean.d.ts.map
|
|
80
76
|
//#endregion
|
|
81
77
|
//#region src/css/border.d.ts
|
|
82
78
|
/** Convert border value to multiple CSS values */
|
|
@@ -86,46 +82,37 @@ declare function transformBorder(token: BorderTokenNormalized, options: Transfor
|
|
|
86
82
|
p3: string;
|
|
87
83
|
rec2020: string;
|
|
88
84
|
};
|
|
89
|
-
//# sourceMappingURL=border.d.ts.map
|
|
90
85
|
//#endregion
|
|
91
86
|
//#region src/css/cubic-bezier.d.ts
|
|
92
87
|
/** Convert cubicBezier value to CSS */
|
|
93
88
|
declare function transformCubicBezier(token: CubicBezierTokenNormalized, options: TransformCSSValueOptions): string;
|
|
94
|
-
//# sourceMappingURL=cubic-bezier.d.ts.map
|
|
95
89
|
//#endregion
|
|
96
90
|
//#region src/css/dimension.d.ts
|
|
97
91
|
/** Convert dimension value to CSS */
|
|
98
92
|
declare function transformDimension(token: DimensionTokenNormalized, options: TransformCSSValueOptions): string;
|
|
99
|
-
//# sourceMappingURL=dimension.d.ts.map
|
|
100
93
|
//#endregion
|
|
101
94
|
//#region src/css/duration.d.ts
|
|
102
95
|
/** Convert duration value to CSS */
|
|
103
96
|
declare function transformDuration(token: DurationTokenNormalized, options: TransformCSSValueOptions): string;
|
|
104
|
-
//# sourceMappingURL=duration.d.ts.map
|
|
105
97
|
//#endregion
|
|
106
98
|
//#region src/css/font-family.d.ts
|
|
107
99
|
declare function transformFontFamily(token: FontFamilyTokenNormalized, options: TransformCSSValueOptions): string;
|
|
108
|
-
//# sourceMappingURL=font-family.d.ts.map
|
|
109
100
|
//#endregion
|
|
110
101
|
//#region src/css/font-weight.d.ts
|
|
111
102
|
/** Convert fontWeight value to CSS */
|
|
112
103
|
declare function transformFontWeight(token: FontWeightTokenNormalized, options: TransformCSSValueOptions): string;
|
|
113
|
-
//# sourceMappingURL=font-weight.d.ts.map
|
|
114
104
|
//#endregion
|
|
115
105
|
//#region src/css/gradient.d.ts
|
|
116
106
|
/** Convert gradient value to CSS */
|
|
117
107
|
declare function transformGradient(token: GradientTokenNormalized, options: TransformCSSValueOptions): string | WideGamutColorValue;
|
|
118
|
-
//# sourceMappingURL=gradient.d.ts.map
|
|
119
108
|
//#endregion
|
|
120
109
|
//#region src/css/link.d.ts
|
|
121
110
|
/** Convert link value to CSS */
|
|
122
111
|
declare function transformLink(token: LinkTokenNormalized, options: TransformCSSValueOptions): string;
|
|
123
|
-
//# sourceMappingURL=link.d.ts.map
|
|
124
112
|
//#endregion
|
|
125
113
|
//#region src/css/number.d.ts
|
|
126
114
|
/** Convert number value to CSS */
|
|
127
115
|
declare function transformNumber(token: NumberTokenNormalized, options: TransformCSSValueOptions): string;
|
|
128
|
-
//# sourceMappingURL=number.d.ts.map
|
|
129
116
|
//#endregion
|
|
130
117
|
//#region src/css/shadow.d.ts
|
|
131
118
|
/** Convert shadow subvalue to CSS */
|
|
@@ -135,28 +122,22 @@ declare function transformShadowLayer(value: ShadowValueNormalized, options: Tra
|
|
|
135
122
|
}): string | Record<string, string>;
|
|
136
123
|
/** Convert shadow value to CSS */
|
|
137
124
|
declare function transformShadow(token: ShadowTokenNormalized, options: TransformCSSValueOptions): string | Record<string, string>;
|
|
138
|
-
//# sourceMappingURL=shadow.d.ts.map
|
|
139
125
|
//#endregion
|
|
140
126
|
//#region src/css/string.d.ts
|
|
141
127
|
/** Convert string value to CSS */
|
|
142
128
|
declare function transformString(token: StringTokenNormalized, options: TransformCSSValueOptions): string;
|
|
143
|
-
//# sourceMappingURL=string.d.ts.map
|
|
144
129
|
//#endregion
|
|
145
130
|
//#region src/css/stroke-style.d.ts
|
|
146
131
|
/** Convert strokeStyle value to CSS */
|
|
147
132
|
declare function transformStrokeStyle(token: StrokeStyleTokenNormalized, options: TransformCSSValueOptions): string;
|
|
148
|
-
//# sourceMappingURL=stroke-style.d.ts.map
|
|
149
133
|
//#endregion
|
|
150
134
|
//#region src/css/transition.d.ts
|
|
151
135
|
/** Convert transition value to shorthand */
|
|
152
136
|
declare function transformTransition(token: TransitionTokenNormalized, options: TransformCSSValueOptions): string;
|
|
153
|
-
//# sourceMappingURL=transition.d.ts.map
|
|
154
137
|
//#endregion
|
|
155
138
|
//#region src/css/typography.d.ts
|
|
156
139
|
/** Convert typography value to multiple CSS values */
|
|
157
140
|
declare function transformTypography(token: TypographyTokenNormalized, options: TransformCSSValueOptions): Record<string, string>;
|
|
158
|
-
//# sourceMappingURL=typography.d.ts.map
|
|
159
|
-
|
|
160
141
|
//#endregion
|
|
161
142
|
//#region src/css/index.d.ts
|
|
162
143
|
/** Main CSS Transform */
|
|
@@ -166,8 +147,6 @@ declare function transformCSSValue<T extends TokenNormalized = TokenNormalized>(
|
|
|
166
147
|
}: {
|
|
167
148
|
mode: keyof T['mode'];
|
|
168
149
|
} & TransformCSSValueOptions): string | WideGamutColorValue | Record<string, string> | undefined;
|
|
169
|
-
//# sourceMappingURL=index.d.ts.map
|
|
170
|
-
|
|
171
150
|
//#endregion
|
|
172
151
|
export { DEPTH_ROUNDING, Depth, IDGenerator, MakeCSSVarOptions, WideGamutColorValue, defaultAliasTransform, generateShorthand, makeCSSVar, roundColor, transformBoolean, transformBorder, transformCSSValue, transformColor, transformCubicBezier, transformDimension, transformDuration, transformFontFamily, transformFontWeight, transformGradient, transformLink, transformNumber, transformShadow, transformShadowLayer, transformString, transformStrokeStyle, transformTransition, transformTypography };
|
|
173
152
|
//# sourceMappingURL=css.d.ts.map
|
package/dist/css.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css.d.ts","names":[],"sources":["../src/css/lib.ts","../src/css/css-types.ts","../src/css/color.ts","../src/css/boolean.ts","../src/css/border.ts","../src/css/cubic-bezier.ts","../src/css/dimension.ts","../src/css/duration.ts","../src/css/font-family.ts","../src/css/font-weight.ts","../src/css/gradient.ts","../src/css/link.ts","../src/css/number.ts","../src/css/shadow.ts","../src/css/string.ts","../src/css/stroke-style.ts","../src/css/transition.ts","../src/css/typography.ts","../src/css/index.ts"],"sourcesContent":[],"mappings":";;;;;KAGY,gBAAgB,2BAA2B;iBAEvC,qBAAA,QAA6B;AAF7C;AAAuB,iBAUP,iBAAA,CAVO;EAAA,KAAA;EAAA;
|
|
1
|
+
{"version":3,"file":"css.d.ts","names":[],"sources":["../src/css/lib.ts","../src/css/css-types.ts","../src/css/color.ts","../src/css/boolean.ts","../src/css/border.ts","../src/css/cubic-bezier.ts","../src/css/dimension.ts","../src/css/duration.ts","../src/css/font-family.ts","../src/css/font-weight.ts","../src/css/gradient.ts","../src/css/link.ts","../src/css/number.ts","../src/css/shadow.ts","../src/css/string.ts","../src/css/stroke-style.ts","../src/css/transition.ts","../src/css/typography.ts","../src/css/index.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/css.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CSS_TO_CULORI, kebabCase, parseColor, tokenToCulori } from "./string-
|
|
1
|
+
import { CSS_TO_CULORI, kebabCase, parseColor, tokenToCulori } from "./string-D3-qmBT2.js";
|
|
2
2
|
import { displayable, formatCss, formatHex, formatHex8, modeA98, modeHsl, modeHwb, modeLab, modeLab65, modeLch, modeLrgb, modeOkhsv, modeOklab, modeOklch, modeP3, modeProphoto, modeRec2020, modeRgb, modeXyz50, modeXyz65, round, toGamut, useMode } from "culori/fn";
|
|
3
3
|
import { displayable as displayable$1 } from "culori";
|
|
4
4
|
|
|
@@ -252,9 +252,8 @@ function transformShadowLayer(value, options) {
|
|
|
252
252
|
const offsetY = partialAliasOf?.offsetY ? transformAlias(tokensSet[partialAliasOf.offsetY]) : transformDimension({ $value: value.offsetY }, options);
|
|
253
253
|
const blur = partialAliasOf?.blur ? transformAlias(tokensSet[partialAliasOf.blur]) : transformDimension({ $value: value.blur }, options);
|
|
254
254
|
const spread = partialAliasOf?.spread ? transformAlias(tokensSet[partialAliasOf.spread]) : transformDimension({ $value: value.spread }, options);
|
|
255
|
-
const inset = value?.inset === true ? "inset" : void 0;
|
|
256
255
|
return [
|
|
257
|
-
inset,
|
|
256
|
+
value?.inset === true ? "inset" : void 0,
|
|
258
257
|
offsetX,
|
|
259
258
|
offsetY,
|
|
260
259
|
blur,
|
|
@@ -316,28 +315,23 @@ function transformTypography(token, options) {
|
|
|
316
315
|
const resolvedToken = tokensSet[aliasedID];
|
|
317
316
|
transformedValue = transformAlias(resolvedToken.$type === "typography" ? { id: `${aliasedID}-${property}` } : resolvedToken);
|
|
318
317
|
} else switch (property) {
|
|
319
|
-
case "fontFamily":
|
|
318
|
+
case "fontFamily":
|
|
320
319
|
transformedValue = transformFontFamily({ $value: subvalue }, options);
|
|
321
320
|
break;
|
|
322
|
-
}
|
|
323
321
|
case "fontSize":
|
|
324
|
-
case "letterSpacing":
|
|
322
|
+
case "letterSpacing":
|
|
325
323
|
transformedValue = transformDimension({ $value: subvalue }, options);
|
|
326
324
|
break;
|
|
327
|
-
|
|
328
|
-
case "fontWeight": {
|
|
325
|
+
case "fontWeight":
|
|
329
326
|
transformedValue = transformFontWeight({ $value: subvalue }, options);
|
|
330
327
|
break;
|
|
331
|
-
|
|
332
|
-
case "lineHeight": {
|
|
328
|
+
case "lineHeight":
|
|
333
329
|
if (typeof subvalue === "number") transformedValue = transformNumber({ $value: subvalue }, options);
|
|
334
330
|
else transformedValue = transformDimension({ $value: subvalue }, options);
|
|
335
331
|
break;
|
|
336
|
-
|
|
337
|
-
default: {
|
|
332
|
+
default:
|
|
338
333
|
transformedValue = transformString({ $value: subvalue }, options);
|
|
339
334
|
break;
|
|
340
|
-
}
|
|
341
335
|
}
|
|
342
336
|
output[kebabCase(property)] = transformedValue;
|
|
343
337
|
}
|
package/dist/css.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css.js","names":["token: TokenNormalized","name: string","token: BooleanTokenNormalized","token: ColorTokenNormalized","options: TransformCSSValueOptions","formatColor: (color: Color) => string","converters: Record<keyof typeof CULORI_TO_CSS, (color: Color) => Color>","$value: ColorTokenNormalized['$value']","culoriColor: Color","depth: Depth","color: T","token: DimensionTokenNormalized","options: TransformCSSValueOptions","token: StrokeStyleTokenNormalized","options: TransformCSSValueOptions","token: BorderTokenNormalized","options: TransformCSSValueOptions","colorKey: string","token: CubicBezierTokenNormalized","options: TransformCSSValueOptions","token: DurationTokenNormalized","options: TransformCSSValueOptions","token: FontFamilyTokenNormalized","options: TransformCSSValueOptions","token: FontWeightTokenNormalized","options: TransformCSSValueOptions","token: GradientTokenNormalized","options: TransformCSSValueOptions","colors: (string | WideGamutColorValue)[]","positions: string[]","i: number","token: LinkTokenNormalized","options: TransformCSSValueOptions","token: NumberTokenNormalized","options: TransformCSSValueOptions","value: ShadowValueNormalized","options: TransformCSSValueOptions & {\n colorValue: string;\n partialAliasOf?: Partial<Record<keyof typeof value, string>>;\n }","token: ShadowTokenNormalized","options: TransformCSSValueOptions","colorKey: string","token: StringTokenNormalized","options: TransformCSSValueOptions","token: TransitionTokenNormalized","options: TransformCSSValueOptions","token: TypographyTokenNormalized","options: TransformCSSValueOptions","output: Record<string, string>","transformedValue: string","token: T","tokenWithModeValue: T"],"sources":["../src/css/lib.ts","../src/css/boolean.ts","../src/css/color.ts","../src/css/dimension.ts","../src/css/stroke-style.ts","../src/css/border.ts","../src/css/cubic-bezier.ts","../src/css/duration.ts","../src/css/font-family.ts","../src/css/font-weight.ts","../src/css/gradient.ts","../src/css/link.ts","../src/css/number.ts","../src/css/shadow.ts","../src/css/string.ts","../src/css/transition.ts","../src/css/typography.ts","../src/css/index.ts"],"sourcesContent":["import type { TokenNormalized } from '../types.js';\n\n/** Function that generates a var(…) statement */\nexport type IDGenerator<T = TokenNormalized> = (token: T) => string;\n\nexport function defaultAliasTransform(token: TokenNormalized) {\n if (!token) {\n throw new Error('Undefined token');\n }\n return `var(${makeCSSVar(token.id)})`;\n}\n\n/** Generate shorthand CSS for select token types */\nexport function generateShorthand({ $type, localID }: { $type: string; localID: string }): string | undefined {\n switch ($type) {\n case 'transition': {\n return ['duration', 'delay', 'timing-function']\n .map((p) => makeCSSVar(`${localID}-${p}`, { wrapVar: true }))\n .join(' ');\n }\n // note: \"typography\" is not set in shorthand because it can often unset values unintentionally.\n // @see https://developer.mozilla.org/en-US/docs/Web/CSS/font\n }\n}\n\nconst CSS_VAR_RE =\n /(?:(\\p{Uppercase_Letter}?[\\p{Lowercase_Letter}\\p{Number}]+|[\\p{Uppercase_Letter}\\p{Number}]+|[\\u{80}-\\u{10FFFF}\\p{Number}]+)|.)/u;\n\nexport interface MakeCSSVarOptions {\n /** Prefix with string */\n prefix?: string;\n /**\n * Wrap with `var(…)`\n * @default false\n */\n wrapVar?: boolean;\n}\n\n/**\n * Generate a valid CSS variable from any string\n * Code by @dfrankland\n */\nexport function makeCSSVar(name: string, { prefix, wrapVar = false }: MakeCSSVarOptions = {}): string {\n if (typeof name !== 'string') {\n throw new Error(`makeCSSVar() Expected string, received ${name}`);\n }\n\n let property = name.split(CSS_VAR_RE).filter(Boolean).join('-');\n if (prefix && !property.startsWith(`${prefix}-`)) {\n property = `${prefix}-${property}`;\n }\n const finalProperty = `--${property}`.toLocaleLowerCase();\n return wrapVar ? `var(${finalProperty})` : finalProperty;\n}\n","import type { BooleanTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert boolean value to CSS string */\nexport function transformBoolean(\n token: BooleanTokenNormalized,\n { tokensSet, transformAlias = defaultAliasTransform }: TransformCSSValueOptions,\n): string {\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return token.$value === true ? '1' : '0';\n}\n","import {\n type Color,\n displayable,\n formatCss,\n formatHex,\n formatHex8,\n modeA98,\n modeHsl,\n modeHwb,\n modeLab,\n modeLab65,\n modeLch,\n modeLrgb,\n modeOkhsv,\n modeOklab,\n modeOklch,\n modeP3,\n modeProphoto,\n modeRec2020,\n modeRgb,\n modeXyz50,\n modeXyz65,\n round,\n toGamut,\n useMode,\n} from 'culori/fn';\nimport { CSS_TO_CULORI, type CULORI_TO_CSS, parseColor, tokenToCulori } from '../color.js';\nimport type { ColorTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\nexport type WideGamutColorValue = {\n '.': string;\n srgb: string;\n p3: string;\n rec2020: string;\n};\n\n/** Convert color value to CSS string */\nexport function transformColor(\n token: ColorTokenNormalized,\n options: TransformCSSValueOptions,\n): string | WideGamutColorValue {\n const { transformAlias = defaultAliasTransform, tokensSet } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n const {\n colorSpace,\n components,\n alpha = 1,\n } = typeof token.$value === 'string' ? parseColor(token.$value) : token.$value;\n const color = tokenToCulori({ colorSpace, components, alpha });\n\n if (!color) {\n throw new Error(`Can’t convert color ${JSON.stringify(token.$value)} to Culori color`);\n }\n\n let formatColor: (color: Color) => string = formatCss;\n if (options.color?.legacyHex) {\n formatColor = color.alpha !== 1 ? formatHex8 : formatHex;\n }\n\n return displayable(color)\n ? formatColor(color)\n : downsample({ colorSpace, components, alpha }, color, options.color?.depth);\n}\n\nconst converters: Record<keyof typeof CULORI_TO_CSS, (color: Color) => Color> = {\n a98: useMode(modeA98),\n hsl: useMode(modeHsl),\n hwb: useMode(modeHwb),\n lab: useMode(modeLab),\n lab65: useMode(modeLab65),\n lch: useMode(modeLch),\n lrgb: useMode(modeLrgb),\n oklab: useMode(modeOklab),\n oklch: useMode(modeOklch),\n okhsv: useMode(modeOkhsv),\n p3: useMode(modeP3),\n prophoto: useMode(modeProphoto),\n rec2020: useMode(modeRec2020),\n rgb: useMode(modeRgb),\n xyz50: useMode(modeXyz50),\n xyz65: useMode(modeXyz65),\n};\n\nexport const DEPTH_ROUNDING = {\n 24: round(4), // 24-bit almost fits into 3 decimal places, but not quite\n 30: round(4),\n 36: round(5),\n 48: round(6),\n};\n\nexport type Depth = keyof typeof DEPTH_ROUNDING | 'unlimited';\n\n/**\n * Downsample color to sRGB/Display P3/Rec2020 colorspaces.\n * Note: because Culori tends to convert to RGB color spaces to ensure the operation,\n * we have to do an additional step of converting back. So we’re not really converting;\n * we’re just preserving the original colorspace.\n */\nfunction downsample($value: ColorTokenNormalized['$value'], culoriColor: Color, depth: Depth = 30) {\n if (!($value.colorSpace in CSS_TO_CULORI)) {\n throw new Error(\n `Invalid colorSpace \"${$value.colorSpace}\". Expected one of: ${Object.keys(CSS_TO_CULORI).join(', ')}`,\n );\n }\n const conversionSpace = CSS_TO_CULORI[$value.colorSpace] || 'oklab';\n let gamutSpace = conversionSpace;\n // bugfix. \"lab\" and \"oklab\" have a bug in Culori\n // https://github.com/Evercoder/culori/issues/261\n if (gamutSpace === 'lab' || gamutSpace === 'lab65') {\n gamutSpace = 'lch';\n } else if (gamutSpace === 'oklab') {\n gamutSpace = 'oklch';\n }\n let srgb = converters[conversionSpace](toGamut('rgb', gamutSpace)(culoriColor));\n let p3 = converters[conversionSpace](toGamut('p3', gamutSpace)(culoriColor));\n let rec2020 = converters[conversionSpace](toGamut('rec2020', gamutSpace)(culoriColor));\n if (typeof depth === 'number') {\n if (!DEPTH_ROUNDING[depth]) {\n throw new Error(`Invalid bit depth: ${depth}. Supported values: ${Object.keys(DEPTH_ROUNDING).join(', ')}`);\n }\n srgb = roundColor(srgb, depth);\n p3 = roundColor(p3, depth);\n rec2020 = roundColor(rec2020, depth);\n }\n return {\n '.': formatCss(culoriColor),\n srgb: formatCss(srgb),\n p3: formatCss(p3),\n rec2020: formatCss(rec2020),\n };\n}\n\n/** Round color to certain depth. */\nexport function roundColor<T extends Color = Color>(color: T, depth: Depth = 30): T {\n if (depth === 'unlimited') {\n return color;\n }\n const newColor = { ...color };\n for (const [k, v] of Object.entries(color)) {\n if (typeof v !== 'number' || k === 'mode') {\n continue;\n }\n newColor[k as keyof T] = DEPTH_ROUNDING[depth](v) as T[keyof T];\n }\n return newColor;\n}\n","import type { DimensionTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert dimension value to CSS */\nexport function transformDimension(token: DimensionTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n return token.$value.value === 0 ? '0' : `${token.$value.value}${token.$value.unit}`;\n}\n","import type { StrokeStyleTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert strokeStyle value to CSS */\nexport function transformStrokeStyle(token: StrokeStyleTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return typeof token.$value === 'string' ? token.$value : 'dashed'; // CSS doesn’t have `dash-array`; it’s just \"dashed\"\n}\n","import { displayable } from 'culori';\nimport type {\n BorderTokenNormalized,\n ColorTokenNormalized,\n DimensionTokenNormalized,\n StrokeStyleTokenNormalized,\n} from '../types.js';\nimport { transformColor } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformDimension } from './dimension.js';\nimport { defaultAliasTransform } from './lib.js';\nimport { transformStrokeStyle } from './stroke-style.js';\n\n/** Convert border value to multiple CSS values */\nexport function transformBorder(token: BorderTokenNormalized, options: TransformCSSValueOptions) {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n const width = token.partialAliasOf?.width\n ? transformAlias(tokensSet[token.partialAliasOf.width]!)\n : transformDimension({ $value: token.$value.width } as DimensionTokenNormalized, options);\n const color = token.partialAliasOf?.color\n ? transformAlias(tokensSet[token.partialAliasOf.color]!)\n : transformColor({ $value: token.$value.color } as ColorTokenNormalized, options);\n const style = token.partialAliasOf?.style\n ? transformAlias(tokensSet[token.partialAliasOf.style]!)\n : transformStrokeStyle({ $value: token.$value.style } as StrokeStyleTokenNormalized, options);\n\n const formatBorder = (colorKey: string) =>\n [width, style, typeof color === 'string' ? color : color[colorKey as keyof typeof color]].join(' ');\n\n return typeof color === 'string' || displayable(color.p3)\n ? formatBorder('.')\n : {\n '.': formatBorder('.'),\n srgb: formatBorder('srgb'),\n p3: formatBorder('p3'),\n rec2020: formatBorder('rec2020'),\n };\n}\n","import type { CubicBezierTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert cubicBezier value to CSS */\nexport function transformCubicBezier(token: CubicBezierTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return `cubic-bezier(${token.$value\n .map((v, i) => (token.partialAliasOf?.[i] ? transformAlias(tokensSet[token.partialAliasOf[i]]!) : v))\n .join(', ')})`;\n}\n","import type { DurationTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert duration value to CSS */\nexport function transformDuration(token: DurationTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n return `${token.$value.value}${token.$value.unit}`;\n}\n","import type { FontFamilyTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\nconst FONT_NAME_KEYWORD = /^[a-z-]+$/;\n\nexport function transformFontFamily(token: FontFamilyTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return token.$value.map((fontName) => (FONT_NAME_KEYWORD.test(fontName) ? fontName : `\"${fontName}\"`)).join(', ');\n}\n","import type { FontWeightTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert fontWeight value to CSS */\nexport function transformFontWeight(token: FontWeightTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return String(token.$value);\n}\n","import type { ColorTokenNormalized, GradientTokenNormalized } from '../types.js';\nimport { transformColor, type WideGamutColorValue } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert gradient value to CSS */\nexport function transformGradient(\n token: GradientTokenNormalized,\n options: TransformCSSValueOptions,\n): string | WideGamutColorValue {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n let isHDR = false;\n\n const colors: (string | WideGamutColorValue)[] = [];\n const positions: string[] = [];\n\n for (let i = 0; i < token.$value.length; i++) {\n const { color, position } = token.$value[i]!;\n const colorValue = token.partialAliasOf?.[i]?.color\n ? transformAlias(tokensSet[token.partialAliasOf[i]!.color!]!)\n : transformColor({ $value: color } as ColorTokenNormalized, options);\n if (typeof colorValue !== 'string') {\n isHDR = true;\n }\n colors.push(colorValue);\n positions.push(\n token.partialAliasOf?.[i]?.position\n ? transformAlias(tokensSet[token.partialAliasOf[i]!.position!]!)\n : `${100 * position}%`,\n );\n }\n\n function formatStop(i: number, colorKey = '.') {\n return `${typeof colors[i] === 'string' ? colors[i] : colors[i]![colorKey as keyof (typeof colors)[number]]} ${positions[i]}`;\n }\n\n return !isHDR\n ? token.$value.map((_, i) => formatStop(i, positions[i]!)).join(', ')\n : {\n '.': token.$value.map((_, i) => formatStop(i, '.')).join(', '),\n srgb: token.$value.map((_, i) => formatStop(i, 'srgb')).join(', '),\n p3: token.$value.map((_, i) => formatStop(i, 'p3')).join(', '),\n rec2020: token.$value.map((_, i) => formatStop(i, 'rec2020')).join(', '),\n };\n}\n","import type { LinkTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert link value to CSS */\nexport function transformLink(token: LinkTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return `url(\"${token.$value}\")`;\n}\n","import type { NumberTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert number value to CSS */\nexport function transformNumber(token: NumberTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return String(token.$value);\n}\n","import type {\n ColorTokenNormalized,\n DimensionTokenNormalized,\n ShadowTokenNormalized,\n ShadowValueNormalized,\n} from '../types.js';\nimport { transformColor } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformDimension } from './dimension.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert shadow subvalue to CSS */\nexport function transformShadowLayer(\n value: ShadowValueNormalized,\n options: TransformCSSValueOptions & {\n colorValue: string;\n partialAliasOf?: Partial<Record<keyof typeof value, string>>;\n },\n): string | Record<string, string> {\n const { tokensSet, colorValue, partialAliasOf, transformAlias = defaultAliasTransform } = options;\n const offsetX = partialAliasOf?.offsetX\n ? transformAlias(tokensSet[partialAliasOf.offsetX]!)\n : transformDimension({ $value: value.offsetX } as DimensionTokenNormalized, options);\n const offsetY = partialAliasOf?.offsetY\n ? transformAlias(tokensSet[partialAliasOf.offsetY]!)\n : transformDimension({ $value: value.offsetY } as DimensionTokenNormalized, options);\n const blur = partialAliasOf?.blur\n ? transformAlias(tokensSet[partialAliasOf.blur]!)\n : transformDimension({ $value: value.blur } as DimensionTokenNormalized, options);\n const spread = partialAliasOf?.spread\n ? transformAlias(tokensSet[partialAliasOf.spread]!)\n : transformDimension({ $value: value.spread } as DimensionTokenNormalized, options);\n const inset = value?.inset === true ? 'inset' : undefined;\n\n return [inset, offsetX, offsetY, blur, spread, colorValue].filter(Boolean).join(' ');\n}\n\n/** Convert shadow value to CSS */\nexport function transformShadow(\n token: ShadowTokenNormalized,\n options: TransformCSSValueOptions,\n): string | Record<string, string> {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n const colors = token.$value.map((v, i) =>\n token.partialAliasOf?.[i]?.color\n ? transformAlias(tokensSet[token.partialAliasOf[i]!.color!]!)\n : transformColor({ $value: v.color } as ColorTokenNormalized, options),\n );\n const isHDR = colors.some((c) => typeof c === 'object');\n\n const formatShadow = (colorKey: string) =>\n token.$value\n .map((v, i) =>\n transformShadowLayer(v, {\n tokensSet,\n colorValue:\n typeof colors[i] === 'string'\n ? (colors[i] as string)\n : colors[i]![colorKey as keyof (typeof colors)[number]]!,\n partialAliasOf: token.partialAliasOf?.[i],\n transformAlias,\n }),\n )\n .join(', ');\n\n return !isHDR\n ? formatShadow('.')\n : {\n '.': formatShadow('.'),\n srgb: formatShadow('srgb'),\n p3: formatShadow('p3'),\n rec2020: formatShadow('rec2020'),\n };\n}\n","import type { StringTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert string value to CSS */\nexport function transformString(token: StringTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n // this seems like a useless function—because it is—but this is a placeholder\n // that can handle unexpected values in the future should any arise\n return String(token.$value);\n}\n","import type { CubicBezierTokenNormalized, DurationTokenNormalized, TransitionTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformCubicBezier } from './cubic-bezier.js';\nimport { transformDuration } from './duration.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert transition value to shorthand */\nexport function transformTransition(token: TransitionTokenNormalized, options: TransformCSSValueOptions) {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n const duration = token.partialAliasOf?.duration\n ? transformAlias(tokensSet[token.partialAliasOf.duration]!)\n : transformDuration({ $value: token.$value.duration } as DurationTokenNormalized, options);\n const delay = token.partialAliasOf?.delay\n ? transformAlias(tokensSet[token.partialAliasOf.delay]!)\n : transformDuration({ $value: token.$value.delay } as DurationTokenNormalized, options);\n const timingFunction = token.partialAliasOf?.timingFunction\n ? transformAlias(tokensSet[token.partialAliasOf.timingFunction]!)\n : transformCubicBezier({ $value: token.$value.timingFunction } as CubicBezierTokenNormalized, options);\n\n return `${duration} ${delay} ${timingFunction}`;\n}\n","import { kebabCase } from '../string.js';\nimport type {\n DimensionTokenNormalized,\n FontFamilyTokenNormalized,\n FontWeightTokenNormalized,\n NumberTokenNormalized,\n StringTokenNormalized,\n TokenNormalized,\n TypographyTokenNormalized,\n} from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformDimension } from './dimension.js';\nimport { transformFontFamily } from './font-family.js';\nimport { transformFontWeight } from './font-weight.js';\nimport { defaultAliasTransform } from './lib.js';\nimport { transformNumber } from './number.js';\nimport { transformString } from './string.js';\n\n/** Convert typography value to multiple CSS values */\nexport function transformTypography(token: TypographyTokenNormalized, options: TransformCSSValueOptions) {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n const output: Record<string, string> = {};\n for (const [property, subvalue] of Object.entries(token.$value)) {\n let transformedValue: string;\n const aliasedID = token.aliasChain?.[0] ?? token.partialAliasOf?.[property];\n if (aliasedID) {\n const resolvedToken = tokensSet[aliasedID] as TypographyTokenNormalized;\n transformedValue = transformAlias(\n // if resolving against a typography token, inject the property as well\n resolvedToken.$type === 'typography' ? ({ id: `${aliasedID}-${property}` } as TokenNormalized) : resolvedToken,\n );\n } else {\n switch (property) {\n case 'fontFamily': {\n transformedValue = transformFontFamily({ $value: subvalue } as FontFamilyTokenNormalized, options);\n break;\n }\n case 'fontSize':\n case 'letterSpacing': {\n transformedValue = transformDimension({ $value: subvalue } as DimensionTokenNormalized, options);\n break;\n }\n case 'fontWeight': {\n transformedValue = transformFontWeight({ $value: subvalue } as FontWeightTokenNormalized, options);\n break;\n }\n case 'lineHeight': {\n if (typeof subvalue === 'number') {\n transformedValue = transformNumber({ $value: subvalue } as NumberTokenNormalized, options);\n } else {\n transformedValue = transformDimension({ $value: subvalue } as DimensionTokenNormalized, options);\n }\n break;\n }\n default: {\n transformedValue = transformString({ $value: subvalue } as StringTokenNormalized, options);\n break;\n }\n }\n }\n output[kebabCase(property)] = transformedValue;\n }\n return output;\n}\n","import type { TokenNormalized } from '../types.js';\nimport { transformBoolean } from './boolean.js';\nimport { transformBorder } from './border.js';\nimport { transformColor } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformCubicBezier } from './cubic-bezier.js';\nimport { transformDimension } from './dimension.js';\nimport { transformDuration } from './duration.js';\nimport { transformFontFamily } from './font-family.js';\nimport { transformFontWeight } from './font-weight.js';\nimport { transformGradient } from './gradient.js';\nimport { transformLink } from './link.js';\nimport { transformNumber } from './number.js';\nimport { transformShadow } from './shadow.js';\nimport { transformString } from './string.js';\nimport { transformStrokeStyle } from './stroke-style.js';\nimport { transformTransition } from './transition.js';\nimport { transformTypography } from './typography.js';\n\nexport * from './boolean.js';\nexport * from './border.js';\nexport * from './color.js';\nexport * from './cubic-bezier.js';\nexport * from './dimension.js';\nexport * from './duration.js';\nexport * from './font-family.js';\nexport * from './font-weight.js';\nexport * from './gradient.js';\nexport * from './lib.js';\nexport * from './link.js';\nexport * from './number.js';\nexport * from './shadow.js';\nexport * from './string.js';\nexport * from './stroke-style.js';\nexport * from './transition.js';\nexport * from './typography.js';\n\n/** Main CSS Transform */\nexport function transformCSSValue<T extends TokenNormalized = TokenNormalized>(\n token: T,\n { mode, ...options }: { mode: keyof T['mode'] } & TransformCSSValueOptions,\n) {\n const selectedMode = token.mode[mode as keyof typeof token.mode];\n if (!selectedMode) {\n return;\n }\n const tokenWithModeValue: T = {\n id: token.id,\n $type: token.$type,\n // note: do NOT carry over aliasOf/partialAliasOf as that will result in incorrect values\n ...selectedMode,\n } as any;\n switch (tokenWithModeValue.$type) {\n case 'boolean': {\n return transformBoolean(tokenWithModeValue, options);\n }\n case 'border': {\n return transformBorder(tokenWithModeValue, options);\n }\n case 'color': {\n return transformColor(tokenWithModeValue, options);\n }\n case 'cubicBezier': {\n return transformCubicBezier(tokenWithModeValue, options);\n }\n case 'dimension': {\n return transformDimension(tokenWithModeValue, options);\n }\n case 'duration': {\n return transformDuration(tokenWithModeValue, options);\n }\n case 'fontFamily': {\n return transformFontFamily(tokenWithModeValue, options);\n }\n case 'fontWeight': {\n return transformFontWeight(tokenWithModeValue, options);\n }\n case 'gradient': {\n return transformGradient(tokenWithModeValue, options);\n }\n case 'link': {\n return transformLink(tokenWithModeValue, options);\n }\n case 'number': {\n return transformNumber(tokenWithModeValue, options);\n }\n case 'shadow': {\n return transformShadow(tokenWithModeValue, options);\n }\n case 'string': {\n return transformString(tokenWithModeValue, options);\n }\n case 'strokeStyle': {\n return transformStrokeStyle(tokenWithModeValue, options);\n }\n case 'transition': {\n return transformTransition(tokenWithModeValue, options);\n }\n case 'typography': {\n return transformTypography(tokenWithModeValue, options);\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"css.js","names":["formatColor: (color: Color) => string","converters: Record<keyof typeof CULORI_TO_CSS, (color: Color) => Color>","displayable","colors: (string | WideGamutColorValue)[]","positions: string[]","output: Record<string, string>","transformedValue: string","tokenWithModeValue: T"],"sources":["../src/css/lib.ts","../src/css/boolean.ts","../src/css/color.ts","../src/css/dimension.ts","../src/css/stroke-style.ts","../src/css/border.ts","../src/css/cubic-bezier.ts","../src/css/duration.ts","../src/css/font-family.ts","../src/css/font-weight.ts","../src/css/gradient.ts","../src/css/link.ts","../src/css/number.ts","../src/css/shadow.ts","../src/css/string.ts","../src/css/transition.ts","../src/css/typography.ts","../src/css/index.ts"],"sourcesContent":["import type { TokenNormalized } from '../types.js';\n\n/** Function that generates a var(…) statement */\nexport type IDGenerator<T = TokenNormalized> = (token: T) => string;\n\nexport function defaultAliasTransform(token: TokenNormalized) {\n if (!token) {\n throw new Error('Undefined token');\n }\n return `var(${makeCSSVar(token.id)})`;\n}\n\n/** Generate shorthand CSS for select token types */\nexport function generateShorthand({ $type, localID }: { $type: string; localID: string }): string | undefined {\n switch ($type) {\n case 'transition': {\n return ['duration', 'delay', 'timing-function']\n .map((p) => makeCSSVar(`${localID}-${p}`, { wrapVar: true }))\n .join(' ');\n }\n // note: \"typography\" is not set in shorthand because it can often unset values unintentionally.\n // @see https://developer.mozilla.org/en-US/docs/Web/CSS/font\n }\n}\n\nconst CSS_VAR_RE =\n /(?:(\\p{Uppercase_Letter}?[\\p{Lowercase_Letter}\\p{Number}]+|[\\p{Uppercase_Letter}\\p{Number}]+|[\\u{80}-\\u{10FFFF}\\p{Number}]+)|.)/u;\n\nexport interface MakeCSSVarOptions {\n /** Prefix with string */\n prefix?: string;\n /**\n * Wrap with `var(…)`\n * @default false\n */\n wrapVar?: boolean;\n}\n\n/**\n * Generate a valid CSS variable from any string\n * Code by @dfrankland\n */\nexport function makeCSSVar(name: string, { prefix, wrapVar = false }: MakeCSSVarOptions = {}): string {\n if (typeof name !== 'string') {\n throw new Error(`makeCSSVar() Expected string, received ${name}`);\n }\n\n let property = name.split(CSS_VAR_RE).filter(Boolean).join('-');\n if (prefix && !property.startsWith(`${prefix}-`)) {\n property = `${prefix}-${property}`;\n }\n const finalProperty = `--${property}`.toLocaleLowerCase();\n return wrapVar ? `var(${finalProperty})` : finalProperty;\n}\n","import type { BooleanTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert boolean value to CSS string */\nexport function transformBoolean(\n token: BooleanTokenNormalized,\n { tokensSet, transformAlias = defaultAliasTransform }: TransformCSSValueOptions,\n): string {\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return token.$value === true ? '1' : '0';\n}\n","import {\n type Color,\n displayable,\n formatCss,\n formatHex,\n formatHex8,\n modeA98,\n modeHsl,\n modeHwb,\n modeLab,\n modeLab65,\n modeLch,\n modeLrgb,\n modeOkhsv,\n modeOklab,\n modeOklch,\n modeP3,\n modeProphoto,\n modeRec2020,\n modeRgb,\n modeXyz50,\n modeXyz65,\n round,\n toGamut,\n useMode,\n} from 'culori/fn';\nimport { CSS_TO_CULORI, type CULORI_TO_CSS, parseColor, tokenToCulori } from '../color.js';\nimport type { ColorTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\nexport type WideGamutColorValue = {\n '.': string;\n srgb: string;\n p3: string;\n rec2020: string;\n};\n\n/** Convert color value to CSS string */\nexport function transformColor(\n token: ColorTokenNormalized,\n options: TransformCSSValueOptions,\n): string | WideGamutColorValue {\n const { transformAlias = defaultAliasTransform, tokensSet } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n const {\n colorSpace,\n components,\n alpha = 1,\n } = typeof token.$value === 'string' ? parseColor(token.$value) : token.$value;\n const color = tokenToCulori({ colorSpace, components, alpha });\n\n if (!color) {\n throw new Error(`Can’t convert color ${JSON.stringify(token.$value)} to Culori color`);\n }\n\n let formatColor: (color: Color) => string = formatCss;\n if (options.color?.legacyHex) {\n formatColor = color.alpha !== 1 ? formatHex8 : formatHex;\n }\n\n return displayable(color)\n ? formatColor(color)\n : downsample({ colorSpace, components, alpha }, color, options.color?.depth);\n}\n\nconst converters: Record<keyof typeof CULORI_TO_CSS, (color: Color) => Color> = {\n a98: useMode(modeA98),\n hsl: useMode(modeHsl),\n hwb: useMode(modeHwb),\n lab: useMode(modeLab),\n lab65: useMode(modeLab65),\n lch: useMode(modeLch),\n lrgb: useMode(modeLrgb),\n oklab: useMode(modeOklab),\n oklch: useMode(modeOklch),\n okhsv: useMode(modeOkhsv),\n p3: useMode(modeP3),\n prophoto: useMode(modeProphoto),\n rec2020: useMode(modeRec2020),\n rgb: useMode(modeRgb),\n xyz50: useMode(modeXyz50),\n xyz65: useMode(modeXyz65),\n};\n\nexport const DEPTH_ROUNDING = {\n 24: round(4), // 24-bit almost fits into 3 decimal places, but not quite\n 30: round(4),\n 36: round(5),\n 48: round(6),\n};\n\nexport type Depth = keyof typeof DEPTH_ROUNDING | 'unlimited';\n\n/**\n * Downsample color to sRGB/Display P3/Rec2020 colorspaces.\n * Note: because Culori tends to convert to RGB color spaces to ensure the operation,\n * we have to do an additional step of converting back. So we’re not really converting;\n * we’re just preserving the original colorspace.\n */\nfunction downsample($value: ColorTokenNormalized['$value'], culoriColor: Color, depth: Depth = 30) {\n if (!($value.colorSpace in CSS_TO_CULORI)) {\n throw new Error(\n `Invalid colorSpace \"${$value.colorSpace}\". Expected one of: ${Object.keys(CSS_TO_CULORI).join(', ')}`,\n );\n }\n const conversionSpace = CSS_TO_CULORI[$value.colorSpace] || 'oklab';\n let gamutSpace = conversionSpace;\n // bugfix. \"lab\" and \"oklab\" have a bug in Culori\n // https://github.com/Evercoder/culori/issues/261\n if (gamutSpace === 'lab' || gamutSpace === 'lab65') {\n gamutSpace = 'lch';\n } else if (gamutSpace === 'oklab') {\n gamutSpace = 'oklch';\n }\n let srgb = converters[conversionSpace](toGamut('rgb', gamutSpace)(culoriColor));\n let p3 = converters[conversionSpace](toGamut('p3', gamutSpace)(culoriColor));\n let rec2020 = converters[conversionSpace](toGamut('rec2020', gamutSpace)(culoriColor));\n if (typeof depth === 'number') {\n if (!DEPTH_ROUNDING[depth]) {\n throw new Error(`Invalid bit depth: ${depth}. Supported values: ${Object.keys(DEPTH_ROUNDING).join(', ')}`);\n }\n srgb = roundColor(srgb, depth);\n p3 = roundColor(p3, depth);\n rec2020 = roundColor(rec2020, depth);\n }\n return {\n '.': formatCss(culoriColor),\n srgb: formatCss(srgb),\n p3: formatCss(p3),\n rec2020: formatCss(rec2020),\n };\n}\n\n/** Round color to certain depth. */\nexport function roundColor<T extends Color = Color>(color: T, depth: Depth = 30): T {\n if (depth === 'unlimited') {\n return color;\n }\n const newColor = { ...color };\n for (const [k, v] of Object.entries(color)) {\n if (typeof v !== 'number' || k === 'mode') {\n continue;\n }\n newColor[k as keyof T] = DEPTH_ROUNDING[depth](v) as T[keyof T];\n }\n return newColor;\n}\n","import type { DimensionTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert dimension value to CSS */\nexport function transformDimension(token: DimensionTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n return token.$value.value === 0 ? '0' : `${token.$value.value}${token.$value.unit}`;\n}\n","import type { StrokeStyleTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert strokeStyle value to CSS */\nexport function transformStrokeStyle(token: StrokeStyleTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return typeof token.$value === 'string' ? token.$value : 'dashed'; // CSS doesn’t have `dash-array`; it’s just \"dashed\"\n}\n","import { displayable } from 'culori';\nimport type {\n BorderTokenNormalized,\n ColorTokenNormalized,\n DimensionTokenNormalized,\n StrokeStyleTokenNormalized,\n} from '../types.js';\nimport { transformColor } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformDimension } from './dimension.js';\nimport { defaultAliasTransform } from './lib.js';\nimport { transformStrokeStyle } from './stroke-style.js';\n\n/** Convert border value to multiple CSS values */\nexport function transformBorder(token: BorderTokenNormalized, options: TransformCSSValueOptions) {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n const width = token.partialAliasOf?.width\n ? transformAlias(tokensSet[token.partialAliasOf.width]!)\n : transformDimension({ $value: token.$value.width } as DimensionTokenNormalized, options);\n const color = token.partialAliasOf?.color\n ? transformAlias(tokensSet[token.partialAliasOf.color]!)\n : transformColor({ $value: token.$value.color } as ColorTokenNormalized, options);\n const style = token.partialAliasOf?.style\n ? transformAlias(tokensSet[token.partialAliasOf.style]!)\n : transformStrokeStyle({ $value: token.$value.style } as StrokeStyleTokenNormalized, options);\n\n const formatBorder = (colorKey: string) =>\n [width, style, typeof color === 'string' ? color : color[colorKey as keyof typeof color]].join(' ');\n\n return typeof color === 'string' || displayable(color.p3)\n ? formatBorder('.')\n : {\n '.': formatBorder('.'),\n srgb: formatBorder('srgb'),\n p3: formatBorder('p3'),\n rec2020: formatBorder('rec2020'),\n };\n}\n","import type { CubicBezierTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert cubicBezier value to CSS */\nexport function transformCubicBezier(token: CubicBezierTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return `cubic-bezier(${token.$value\n .map((v, i) => (token.partialAliasOf?.[i] ? transformAlias(tokensSet[token.partialAliasOf[i]]!) : v))\n .join(', ')})`;\n}\n","import type { DurationTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert duration value to CSS */\nexport function transformDuration(token: DurationTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n return `${token.$value.value}${token.$value.unit}`;\n}\n","import type { FontFamilyTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\nconst FONT_NAME_KEYWORD = /^[a-z-]+$/;\n\nexport function transformFontFamily(token: FontFamilyTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return token.$value.map((fontName) => (FONT_NAME_KEYWORD.test(fontName) ? fontName : `\"${fontName}\"`)).join(', ');\n}\n","import type { FontWeightTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert fontWeight value to CSS */\nexport function transformFontWeight(token: FontWeightTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return String(token.$value);\n}\n","import type { ColorTokenNormalized, GradientTokenNormalized } from '../types.js';\nimport { transformColor, type WideGamutColorValue } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert gradient value to CSS */\nexport function transformGradient(\n token: GradientTokenNormalized,\n options: TransformCSSValueOptions,\n): string | WideGamutColorValue {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n let isHDR = false;\n\n const colors: (string | WideGamutColorValue)[] = [];\n const positions: string[] = [];\n\n for (let i = 0; i < token.$value.length; i++) {\n const { color, position } = token.$value[i]!;\n const colorValue = token.partialAliasOf?.[i]?.color\n ? transformAlias(tokensSet[token.partialAliasOf[i]!.color!]!)\n : transformColor({ $value: color } as ColorTokenNormalized, options);\n if (typeof colorValue !== 'string') {\n isHDR = true;\n }\n colors.push(colorValue);\n positions.push(\n token.partialAliasOf?.[i]?.position\n ? transformAlias(tokensSet[token.partialAliasOf[i]!.position!]!)\n : `${100 * position}%`,\n );\n }\n\n function formatStop(i: number, colorKey = '.') {\n return `${typeof colors[i] === 'string' ? colors[i] : colors[i]![colorKey as keyof (typeof colors)[number]]} ${positions[i]}`;\n }\n\n return !isHDR\n ? token.$value.map((_, i) => formatStop(i, positions[i]!)).join(', ')\n : {\n '.': token.$value.map((_, i) => formatStop(i, '.')).join(', '),\n srgb: token.$value.map((_, i) => formatStop(i, 'srgb')).join(', '),\n p3: token.$value.map((_, i) => formatStop(i, 'p3')).join(', '),\n rec2020: token.$value.map((_, i) => formatStop(i, 'rec2020')).join(', '),\n };\n}\n","import type { LinkTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert link value to CSS */\nexport function transformLink(token: LinkTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return `url(\"${token.$value}\")`;\n}\n","import type { NumberTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert number value to CSS */\nexport function transformNumber(token: NumberTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n return String(token.$value);\n}\n","import type {\n ColorTokenNormalized,\n DimensionTokenNormalized,\n ShadowTokenNormalized,\n ShadowValueNormalized,\n} from '../types.js';\nimport { transformColor } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformDimension } from './dimension.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert shadow subvalue to CSS */\nexport function transformShadowLayer(\n value: ShadowValueNormalized,\n options: TransformCSSValueOptions & {\n colorValue: string;\n partialAliasOf?: Partial<Record<keyof typeof value, string>>;\n },\n): string | Record<string, string> {\n const { tokensSet, colorValue, partialAliasOf, transformAlias = defaultAliasTransform } = options;\n const offsetX = partialAliasOf?.offsetX\n ? transformAlias(tokensSet[partialAliasOf.offsetX]!)\n : transformDimension({ $value: value.offsetX } as DimensionTokenNormalized, options);\n const offsetY = partialAliasOf?.offsetY\n ? transformAlias(tokensSet[partialAliasOf.offsetY]!)\n : transformDimension({ $value: value.offsetY } as DimensionTokenNormalized, options);\n const blur = partialAliasOf?.blur\n ? transformAlias(tokensSet[partialAliasOf.blur]!)\n : transformDimension({ $value: value.blur } as DimensionTokenNormalized, options);\n const spread = partialAliasOf?.spread\n ? transformAlias(tokensSet[partialAliasOf.spread]!)\n : transformDimension({ $value: value.spread } as DimensionTokenNormalized, options);\n const inset = value?.inset === true ? 'inset' : undefined;\n\n return [inset, offsetX, offsetY, blur, spread, colorValue].filter(Boolean).join(' ');\n}\n\n/** Convert shadow value to CSS */\nexport function transformShadow(\n token: ShadowTokenNormalized,\n options: TransformCSSValueOptions,\n): string | Record<string, string> {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n const colors = token.$value.map((v, i) =>\n token.partialAliasOf?.[i]?.color\n ? transformAlias(tokensSet[token.partialAliasOf[i]!.color!]!)\n : transformColor({ $value: v.color } as ColorTokenNormalized, options),\n );\n const isHDR = colors.some((c) => typeof c === 'object');\n\n const formatShadow = (colorKey: string) =>\n token.$value\n .map((v, i) =>\n transformShadowLayer(v, {\n tokensSet,\n colorValue:\n typeof colors[i] === 'string'\n ? (colors[i] as string)\n : colors[i]![colorKey as keyof (typeof colors)[number]]!,\n partialAliasOf: token.partialAliasOf?.[i],\n transformAlias,\n }),\n )\n .join(', ');\n\n return !isHDR\n ? formatShadow('.')\n : {\n '.': formatShadow('.'),\n srgb: formatShadow('srgb'),\n p3: formatShadow('p3'),\n rec2020: formatShadow('rec2020'),\n };\n}\n","import type { StringTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert string value to CSS */\nexport function transformString(token: StringTokenNormalized, options: TransformCSSValueOptions): string {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n // this seems like a useless function—because it is—but this is a placeholder\n // that can handle unexpected values in the future should any arise\n return String(token.$value);\n}\n","import type { CubicBezierTokenNormalized, DurationTokenNormalized, TransitionTokenNormalized } from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformCubicBezier } from './cubic-bezier.js';\nimport { transformDuration } from './duration.js';\nimport { defaultAliasTransform } from './lib.js';\n\n/** Convert transition value to shorthand */\nexport function transformTransition(token: TransitionTokenNormalized, options: TransformCSSValueOptions) {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n if (token.aliasChain?.[0]) {\n return transformAlias(tokensSet[token.aliasChain[0]]!);\n }\n\n const duration = token.partialAliasOf?.duration\n ? transformAlias(tokensSet[token.partialAliasOf.duration]!)\n : transformDuration({ $value: token.$value.duration } as DurationTokenNormalized, options);\n const delay = token.partialAliasOf?.delay\n ? transformAlias(tokensSet[token.partialAliasOf.delay]!)\n : transformDuration({ $value: token.$value.delay } as DurationTokenNormalized, options);\n const timingFunction = token.partialAliasOf?.timingFunction\n ? transformAlias(tokensSet[token.partialAliasOf.timingFunction]!)\n : transformCubicBezier({ $value: token.$value.timingFunction } as CubicBezierTokenNormalized, options);\n\n return `${duration} ${delay} ${timingFunction}`;\n}\n","import { kebabCase } from '../string.js';\nimport type {\n DimensionTokenNormalized,\n FontFamilyTokenNormalized,\n FontWeightTokenNormalized,\n NumberTokenNormalized,\n StringTokenNormalized,\n TokenNormalized,\n TypographyTokenNormalized,\n} from '../types.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformDimension } from './dimension.js';\nimport { transformFontFamily } from './font-family.js';\nimport { transformFontWeight } from './font-weight.js';\nimport { defaultAliasTransform } from './lib.js';\nimport { transformNumber } from './number.js';\nimport { transformString } from './string.js';\n\n/** Convert typography value to multiple CSS values */\nexport function transformTypography(token: TypographyTokenNormalized, options: TransformCSSValueOptions) {\n const { tokensSet, transformAlias = defaultAliasTransform } = options;\n const output: Record<string, string> = {};\n for (const [property, subvalue] of Object.entries(token.$value)) {\n let transformedValue: string;\n const aliasedID = token.aliasChain?.[0] ?? token.partialAliasOf?.[property];\n if (aliasedID) {\n const resolvedToken = tokensSet[aliasedID] as TypographyTokenNormalized;\n transformedValue = transformAlias(\n // if resolving against a typography token, inject the property as well\n resolvedToken.$type === 'typography' ? ({ id: `${aliasedID}-${property}` } as TokenNormalized) : resolvedToken,\n );\n } else {\n switch (property) {\n case 'fontFamily': {\n transformedValue = transformFontFamily({ $value: subvalue } as FontFamilyTokenNormalized, options);\n break;\n }\n case 'fontSize':\n case 'letterSpacing': {\n transformedValue = transformDimension({ $value: subvalue } as DimensionTokenNormalized, options);\n break;\n }\n case 'fontWeight': {\n transformedValue = transformFontWeight({ $value: subvalue } as FontWeightTokenNormalized, options);\n break;\n }\n case 'lineHeight': {\n if (typeof subvalue === 'number') {\n transformedValue = transformNumber({ $value: subvalue } as NumberTokenNormalized, options);\n } else {\n transformedValue = transformDimension({ $value: subvalue } as DimensionTokenNormalized, options);\n }\n break;\n }\n default: {\n transformedValue = transformString({ $value: subvalue } as StringTokenNormalized, options);\n break;\n }\n }\n }\n output[kebabCase(property)] = transformedValue;\n }\n return output;\n}\n","import type { TokenNormalized } from '../types.js';\nimport { transformBoolean } from './boolean.js';\nimport { transformBorder } from './border.js';\nimport { transformColor } from './color.js';\nimport type { TransformCSSValueOptions } from './css-types.js';\nimport { transformCubicBezier } from './cubic-bezier.js';\nimport { transformDimension } from './dimension.js';\nimport { transformDuration } from './duration.js';\nimport { transformFontFamily } from './font-family.js';\nimport { transformFontWeight } from './font-weight.js';\nimport { transformGradient } from './gradient.js';\nimport { transformLink } from './link.js';\nimport { transformNumber } from './number.js';\nimport { transformShadow } from './shadow.js';\nimport { transformString } from './string.js';\nimport { transformStrokeStyle } from './stroke-style.js';\nimport { transformTransition } from './transition.js';\nimport { transformTypography } from './typography.js';\n\nexport * from './boolean.js';\nexport * from './border.js';\nexport * from './color.js';\nexport * from './cubic-bezier.js';\nexport * from './dimension.js';\nexport * from './duration.js';\nexport * from './font-family.js';\nexport * from './font-weight.js';\nexport * from './gradient.js';\nexport * from './lib.js';\nexport * from './link.js';\nexport * from './number.js';\nexport * from './shadow.js';\nexport * from './string.js';\nexport * from './stroke-style.js';\nexport * from './transition.js';\nexport * from './typography.js';\n\n/** Main CSS Transform */\nexport function transformCSSValue<T extends TokenNormalized = TokenNormalized>(\n token: T,\n { mode, ...options }: { mode: keyof T['mode'] } & TransformCSSValueOptions,\n) {\n const selectedMode = token.mode[mode as keyof typeof token.mode];\n if (!selectedMode) {\n return;\n }\n const tokenWithModeValue: T = {\n id: token.id,\n $type: token.$type,\n // note: do NOT carry over aliasOf/partialAliasOf as that will result in incorrect values\n ...selectedMode,\n } as any;\n switch (tokenWithModeValue.$type) {\n case 'boolean': {\n return transformBoolean(tokenWithModeValue, options);\n }\n case 'border': {\n return transformBorder(tokenWithModeValue, options);\n }\n case 'color': {\n return transformColor(tokenWithModeValue, options);\n }\n case 'cubicBezier': {\n return transformCubicBezier(tokenWithModeValue, options);\n }\n case 'dimension': {\n return transformDimension(tokenWithModeValue, options);\n }\n case 'duration': {\n return transformDuration(tokenWithModeValue, options);\n }\n case 'fontFamily': {\n return transformFontFamily(tokenWithModeValue, options);\n }\n case 'fontWeight': {\n return transformFontWeight(tokenWithModeValue, options);\n }\n case 'gradient': {\n return transformGradient(tokenWithModeValue, options);\n }\n case 'link': {\n return transformLink(tokenWithModeValue, options);\n }\n case 'number': {\n return transformNumber(tokenWithModeValue, options);\n }\n case 'shadow': {\n return transformShadow(tokenWithModeValue, options);\n }\n case 'string': {\n return transformString(tokenWithModeValue, options);\n }\n case 'strokeStyle': {\n return transformStrokeStyle(tokenWithModeValue, options);\n }\n case 'transition': {\n return transformTransition(tokenWithModeValue, options);\n }\n case 'typography': {\n return transformTypography(tokenWithModeValue, options);\n }\n }\n}\n"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import { AliasToken, AliasValue, BooleanToken, BooleanTokenNormalized, BooleanValue, BorderToken, BorderTokenNormalized, BorderValue, BorderValueNormalized, ColorSpace, ColorToken, ColorTokenNormalized, ColorValue, ColorValueNormalized, CubicBezierToken, CubicBezierTokenNormalized, CubicBezierValue, DimensionToken, DimensionTokenNormalized, DimensionValue, DurationToken, DurationTokenNormalized, DurationValue, FontFamilyToken, FontFamilyTokenNormalized, FontFamilyValue, FontFamilyValueNormalized, FontWeightToken, FontWeightTokenNormalized, FontWeightValue, FontWeightValueNormalized, GradientStop, GradientStopNormalized, GradientToken, GradientTokenNormalized, GradientValue, GradientValueNormalized, Group, GroupCore, GroupOrToken, LinkToken, LinkTokenNormalized, LinkValue, ModeMap, NumberToken, NumberTokenNormalized, NumberValue, ShadowToken, ShadowTokenNormalized, ShadowValue, ShadowValueNormalized, StringToken, StringTokenNormalized, StringValue, StrokeStyleToken, StrokeStyleTokenNormalized, StrokeStyleValue, StrokeStyleValueExpanded, Token, TokenCore, TokenMode, TokenNormalized, TokenNormalizedCore, TokenNormalizedSet, TokensSet, TransitionToken, TransitionTokenNormalized, TransitionValue, TransitionValueNormalized, TypographyToken, TypographyTokenNormalized, TypographyValue, TypographyValueNormalized } from "./types-
|
|
1
|
+
import { AliasToken, AliasValue, BooleanToken, BooleanTokenNormalized, BooleanValue, BorderToken, BorderTokenNormalized, BorderValue, BorderValueNormalized, ColorSpace, ColorToken, ColorTokenNormalized, ColorValue, ColorValueNormalized, CubicBezierToken, CubicBezierTokenNormalized, CubicBezierValue, DimensionToken, DimensionTokenNormalized, DimensionValue, DurationToken, DurationTokenNormalized, DurationValue, FontFamilyToken, FontFamilyTokenNormalized, FontFamilyValue, FontFamilyValueNormalized, FontWeightToken, FontWeightTokenNormalized, FontWeightValue, FontWeightValueNormalized, GradientStop, GradientStopNormalized, GradientToken, GradientTokenNormalized, GradientValue, GradientValueNormalized, Group, GroupCore, GroupNormalized, GroupOrToken, LinkToken, LinkTokenNormalized, LinkValue, ModeMap, NumberToken, NumberTokenNormalized, NumberValue, ShadowToken, ShadowTokenNormalized, ShadowValue, ShadowValueNormalized, StringToken, StringTokenNormalized, StringValue, StrokeStyleToken, StrokeStyleTokenNormalized, StrokeStyleValue, StrokeStyleValueExpanded, Token, TokenCore, TokenMode, TokenNormalized, TokenNormalizedCore, TokenNormalizedSet, TokensSet, TransitionToken, TransitionTokenNormalized, TransitionValue, TransitionValueNormalized, TypographyToken, TypographyTokenNormalized, TypographyValue, TypographyValueNormalized } from "./types-CoqP_8W1.js";
|
|
2
2
|
import "culori/css";
|
|
3
3
|
import { Color } from "culori/fn";
|
|
4
4
|
|
|
5
|
+
//#region src/border.d.ts
|
|
6
|
+
declare const BORDER_REQUIRED_PROPERTIES: readonly ["color", "width", "style"];
|
|
7
|
+
//#endregion
|
|
5
8
|
//#region src/color.d.ts
|
|
6
9
|
declare const CULORI_TO_CSS: Record<Extract<Color['mode'], 'a98' | 'lab' | 'lab65' | 'lch' | 'oklab' | 'oklch' | 'okhsv' | 'hsl' | 'hwb' | 'lrgb' | 'p3' | 'prophoto' | 'rec2020' | 'rgb' | 'xyz50' | 'xyz65'>, ColorSpace>;
|
|
7
10
|
declare const CSS_TO_CULORI: {
|
|
@@ -32,7 +35,32 @@ interface ColorSpaceDefinition {
|
|
|
32
35
|
}
|
|
33
36
|
/** Complete list of CSS Module 4 Colorspaces */
|
|
34
37
|
declare const COLORSPACE: Record<ColorSpace, ColorSpaceDefinition>;
|
|
35
|
-
//#
|
|
38
|
+
//#endregion
|
|
39
|
+
//#region src/font-weight.d.ts
|
|
40
|
+
/** Mapping of valid names to numeric weights */
|
|
41
|
+
declare const FONT_WEIGHTS: {
|
|
42
|
+
thin: number;
|
|
43
|
+
hairline: number;
|
|
44
|
+
'extra-light': number;
|
|
45
|
+
'ultra-light': number;
|
|
46
|
+
light: number;
|
|
47
|
+
normal: number;
|
|
48
|
+
regular: number;
|
|
49
|
+
book: number;
|
|
50
|
+
medium: number;
|
|
51
|
+
'semi-bold': number;
|
|
52
|
+
'demi-bold': number;
|
|
53
|
+
bold: number;
|
|
54
|
+
'extra-bold': number;
|
|
55
|
+
'ultra-bold': number;
|
|
56
|
+
black: number;
|
|
57
|
+
heavy: number;
|
|
58
|
+
'extra-black': number;
|
|
59
|
+
'ultra-black': number;
|
|
60
|
+
};
|
|
61
|
+
//#endregion
|
|
62
|
+
//#region src/gradient.d.ts
|
|
63
|
+
declare const GRADIENT_REQUIRED_STOP_PROPERTIES: readonly ["color", "position"];
|
|
36
64
|
//#endregion
|
|
37
65
|
//#region src/id.d.ts
|
|
38
66
|
/** Is this token an alias of another? */
|
|
@@ -48,7 +76,9 @@ declare function splitID(id: string): {
|
|
|
48
76
|
local: string;
|
|
49
77
|
group?: string;
|
|
50
78
|
};
|
|
51
|
-
//#
|
|
79
|
+
//#endregion
|
|
80
|
+
//#region src/shadow.d.ts
|
|
81
|
+
declare const SHADOW_REQUIRED_PROPERTIES: readonly ["color", "offsetX", "offsetY", "blur", "spread"];
|
|
52
82
|
//#endregion
|
|
53
83
|
//#region src/string.d.ts
|
|
54
84
|
/** Pad string lengths */
|
|
@@ -57,7 +87,11 @@ declare function padStr(input: string, length: number, alignment?: 'left' | 'cen
|
|
|
57
87
|
declare function pluralize<T = string>(count: number, singular: T, plural: T): T;
|
|
58
88
|
/** Turn a string into kebab-case */
|
|
59
89
|
declare function kebabCase(str: string): string;
|
|
60
|
-
//#
|
|
90
|
+
//#endregion
|
|
91
|
+
//#region src/stroke-style.d.ts
|
|
92
|
+
declare const STROKE_STYLE_STRING_VALUES: readonly ["solid", "dashed", "dotted", "double", "groove", "ridge", "outset", "inset"];
|
|
93
|
+
declare const STROKE_STYLE_OBJECT_REQUIRED_PROPERTIES: readonly ["dashArray", "lineCap"];
|
|
94
|
+
declare const STROKE_STYLE_LINE_CAP_VALUES: readonly ["round", "butt", "square"];
|
|
61
95
|
//#endregion
|
|
62
96
|
//#region src/transform.d.ts
|
|
63
97
|
interface CustomTransformOptions {
|
|
@@ -68,8 +102,12 @@ interface CustomTransformOptions {
|
|
|
68
102
|
declare function validateCustomTransform(value: unknown, {
|
|
69
103
|
$type
|
|
70
104
|
}: CustomTransformOptions): void;
|
|
71
|
-
//# sourceMappingURL=transform.d.ts.map
|
|
72
|
-
|
|
73
105
|
//#endregion
|
|
74
|
-
|
|
106
|
+
//#region src/transition.d.ts
|
|
107
|
+
declare const TRANSITION_REQUIRED_PROPERTIES: readonly ["duration", "delay", "timingFunction"];
|
|
108
|
+
//#endregion
|
|
109
|
+
//#region src/typography.d.ts
|
|
110
|
+
declare const TYPOGRAPHY_REQUIRED_PROPERTIES: readonly ["fontFamily", "fontSize", "fontWeight", "letterSpacing", "lineHeight"];
|
|
111
|
+
//#endregion
|
|
112
|
+
export { AliasToken, AliasValue, BORDER_REQUIRED_PROPERTIES, BooleanToken, BooleanTokenNormalized, BooleanValue, BorderToken, BorderTokenNormalized, BorderValue, BorderValueNormalized, COLORSPACE, CSS_TO_CULORI, CULORI_TO_CSS, ColorSpace, ColorSpaceDefinition, ColorToken, ColorTokenNormalized, ColorValue, ColorValueNormalized, CubicBezierToken, CubicBezierTokenNormalized, CubicBezierValue, CustomTransformOptions, DimensionToken, DimensionTokenNormalized, DimensionValue, DurationToken, DurationTokenNormalized, DurationValue, FONT_WEIGHTS, FontFamilyToken, FontFamilyTokenNormalized, FontFamilyValue, FontFamilyValueNormalized, FontWeightToken, FontWeightTokenNormalized, FontWeightValue, FontWeightValueNormalized, GRADIENT_REQUIRED_STOP_PROPERTIES, GradientStop, GradientStopNormalized, GradientToken, GradientTokenNormalized, GradientValue, GradientValueNormalized, Group, GroupCore, GroupNormalized, GroupOrToken, LinkToken, LinkTokenNormalized, LinkValue, ModeMap, NumberToken, NumberTokenNormalized, NumberValue, SHADOW_REQUIRED_PROPERTIES, STROKE_STYLE_LINE_CAP_VALUES, STROKE_STYLE_OBJECT_REQUIRED_PROPERTIES, STROKE_STYLE_STRING_VALUES, ShadowToken, ShadowTokenNormalized, ShadowValue, ShadowValueNormalized, StringToken, StringTokenNormalized, StringValue, StrokeStyleToken, StrokeStyleTokenNormalized, StrokeStyleValue, StrokeStyleValueExpanded, TRANSITION_REQUIRED_PROPERTIES, TYPOGRAPHY_REQUIRED_PROPERTIES, Token, TokenCore, TokenMode, TokenNormalized, TokenNormalizedCore, TokenNormalizedSet, TokensSet, TransitionToken, TransitionTokenNormalized, TransitionValue, TransitionValueNormalized, TypographyToken, TypographyTokenNormalized, TypographyValue, TypographyValueNormalized, getTokenMatch, isAlias, kebabCase, makeAlias, padStr, parseAlias, parseColor, pluralize, splitID, tokenToCulori, validateCustomTransform };
|
|
75
113
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/color.ts","../src/id.ts","../src/string.ts","../src/transform.ts"],"sourcesContent":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/border.ts","../src/color.ts","../src/font-weight.ts","../src/gradient.ts","../src/id.ts","../src/shadow.ts","../src/string.ts","../src/stroke-style.ts","../src/transform.ts","../src/transition.ts","../src/typography.ts"],"sourcesContent":[],"mappings":";;;;;cAAa;;;cCMA,eAAe,OAC1B,QACE,oKAkBF;cAoBW;ED9CA,SAAA,SAAA,EAAA,KAAA;;;;ECMA,SAAA,GAAA,EAAA,KAsCH;EAAA,SAAA,SAAA,EAAA,OAAA;WApCN,GAAA,EAAA,KAAA;WADF,KAAA,EAAA,OAAA;WAmBA,KAAA,EAAA,OAAA;WApB0B,KAAA,EAAA,OAAA;EAAM,SAAA,cAAA,EAAA,UAAA;EAwCrB,SAAA,OAkBH,EAAA,SAAA;EAGM,SAAA,IAAU,EAAA,KAAA;EAmEV,SAAA,aAAa,EAAA,MAAA;EAAA,SAAA,GAAA,EAAA,OAAA;WAAQ,SAAA,EAAA,OAAA;WAAuB,SAAA,EAAA,OAAA;CAAK;AA2DjE;AAKa,iBAnIG,UAAA,CA2Pf,KAAA,EAAA,MAAA,CAAA,EA3P0C,oBA2P1C;;AAxH+B,iBAhEhB,aAAA,CAgEgB,KAAA,EAhEK,oBAgEL,CAAA,EAhE4B,KAgE5B,GAAA,SAAA;AAAY,UAL3B,oBAAA,CAK2B;QAAnB,EAAA,CAAA,GAAA,EAAA,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,EAAA;;;cAAZ,YAAY,OAAO,YAAY;;;;cCrM/B;;;;EFDA,aAAA,EAAA,MAAA;;;;ECMA,IAAA,EAAA,MAAA;EAsCH,MAAA,EAAA,MAAA;aApCN,EAAA,MAAA;aADF,EAAA,MAAA;MAmBA,EAAA,MAAA;cApB0B,EAAA,MAAA;EAAM,YAAA,EAAA,MAAA;EAwCrB,KAAA,EAAA,MAAA;EAqBG,KAAA,EAAA,MAAU;EAmEV,aAAA,EAAA,MAAa;EAAA,aAAA,EAAA,MAAA;;;;cEtIhB;;;;iBCKG,OAAA;;iBAKA,aAAA;;AJVH,iBImBG,SAAA,CJnB8D,KAAA,EAAA,MAAA,CAAA,EAAA,MAAA;;iBIwB9D,UAAA;;AHlBH,iBGiCG,OAAA,CHKN,EAAA,EAAA,MAAA,CAAA,EAAA;EAAA,KAAA,EAAA,MAAA;OApCN,CAAA,EAAA,MAAA;;;;cIRS;;;;iBCCG,MAAA;;iBAuBA,+CAA+C,WAAW,IAAI;;ANxBjE,iBM6BG,SAAA,CN7B8D,GAAA,EAAA,MAAA,CAAA,EAAA,MAAA;;;cOAjE;cAWA;cAEA;;;UCbI,sBAAA;;;;;ARAJ,iBQMG,uBAAA,CRN8D,KAAA,EAAA,OAAA,EAAA;EAAA;AAAA,CAAA,EQMX,sBRNW,CAAA,EAAA,IAAA;;;cSAjE;;;cCAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,42 @@
|
|
|
1
|
-
import { COLORSPACE, CSS_TO_CULORI, CULORI_TO_CSS, kebabCase, padStr, parseColor, pluralize, tokenToCulori } from "./string-
|
|
1
|
+
import { COLORSPACE, CSS_TO_CULORI, CULORI_TO_CSS, kebabCase, padStr, parseColor, pluralize, tokenToCulori } from "./string-D3-qmBT2.js";
|
|
2
2
|
import wcmatch from "wildcard-match";
|
|
3
3
|
|
|
4
|
+
//#region src/border.ts
|
|
5
|
+
const BORDER_REQUIRED_PROPERTIES = [
|
|
6
|
+
"color",
|
|
7
|
+
"width",
|
|
8
|
+
"style"
|
|
9
|
+
];
|
|
10
|
+
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region src/font-weight.ts
|
|
13
|
+
/** Mapping of valid names to numeric weights */
|
|
14
|
+
const FONT_WEIGHTS = {
|
|
15
|
+
thin: 100,
|
|
16
|
+
hairline: 100,
|
|
17
|
+
"extra-light": 200,
|
|
18
|
+
"ultra-light": 200,
|
|
19
|
+
light: 300,
|
|
20
|
+
normal: 400,
|
|
21
|
+
regular: 400,
|
|
22
|
+
book: 400,
|
|
23
|
+
medium: 500,
|
|
24
|
+
"semi-bold": 600,
|
|
25
|
+
"demi-bold": 600,
|
|
26
|
+
bold: 700,
|
|
27
|
+
"extra-bold": 800,
|
|
28
|
+
"ultra-bold": 800,
|
|
29
|
+
black: 900,
|
|
30
|
+
heavy: 900,
|
|
31
|
+
"extra-black": 950,
|
|
32
|
+
"ultra-black": 950
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
//#endregion
|
|
36
|
+
//#region src/gradient.ts
|
|
37
|
+
const GRADIENT_REQUIRED_STOP_PROPERTIES = ["color", "position"];
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
4
40
|
//#region src/id.ts
|
|
5
41
|
const ALIAS_RE = /^\{([^}]+)\}$/;
|
|
6
42
|
/** Is this token an alias of another? */
|
|
@@ -32,6 +68,35 @@ function splitID(id) {
|
|
|
32
68
|
};
|
|
33
69
|
}
|
|
34
70
|
|
|
71
|
+
//#endregion
|
|
72
|
+
//#region src/shadow.ts
|
|
73
|
+
const SHADOW_REQUIRED_PROPERTIES = [
|
|
74
|
+
"color",
|
|
75
|
+
"offsetX",
|
|
76
|
+
"offsetY",
|
|
77
|
+
"blur",
|
|
78
|
+
"spread"
|
|
79
|
+
];
|
|
80
|
+
|
|
81
|
+
//#endregion
|
|
82
|
+
//#region src/stroke-style.ts
|
|
83
|
+
const STROKE_STYLE_STRING_VALUES = [
|
|
84
|
+
"solid",
|
|
85
|
+
"dashed",
|
|
86
|
+
"dotted",
|
|
87
|
+
"double",
|
|
88
|
+
"groove",
|
|
89
|
+
"ridge",
|
|
90
|
+
"outset",
|
|
91
|
+
"inset"
|
|
92
|
+
];
|
|
93
|
+
const STROKE_STYLE_OBJECT_REQUIRED_PROPERTIES = ["dashArray", "lineCap"];
|
|
94
|
+
const STROKE_STYLE_LINE_CAP_VALUES = [
|
|
95
|
+
"round",
|
|
96
|
+
"butt",
|
|
97
|
+
"square"
|
|
98
|
+
];
|
|
99
|
+
|
|
35
100
|
//#endregion
|
|
36
101
|
//#region src/transform.ts
|
|
37
102
|
/** Give a user pertinent feedback if they override a transform incorrectly */
|
|
@@ -39,14 +104,31 @@ function validateCustomTransform(value, { $type }) {
|
|
|
39
104
|
if (value) {
|
|
40
105
|
if (typeof value !== "string" && typeof value !== "object" || Array.isArray(value)) throw new Error(`transform(): expected string or Object of strings, received ${Array.isArray(value) ? "Array" : typeof value}`);
|
|
41
106
|
switch ($type) {
|
|
42
|
-
case "typography":
|
|
107
|
+
case "typography":
|
|
43
108
|
if (typeof value !== "object") throw new Error("transform(): typography tokens must be an object of keys");
|
|
44
109
|
break;
|
|
45
|
-
}
|
|
46
110
|
}
|
|
47
111
|
}
|
|
48
112
|
}
|
|
49
113
|
|
|
50
114
|
//#endregion
|
|
51
|
-
|
|
115
|
+
//#region src/transition.ts
|
|
116
|
+
const TRANSITION_REQUIRED_PROPERTIES = [
|
|
117
|
+
"duration",
|
|
118
|
+
"delay",
|
|
119
|
+
"timingFunction"
|
|
120
|
+
];
|
|
121
|
+
|
|
122
|
+
//#endregion
|
|
123
|
+
//#region src/typography.ts
|
|
124
|
+
const TYPOGRAPHY_REQUIRED_PROPERTIES = [
|
|
125
|
+
"fontFamily",
|
|
126
|
+
"fontSize",
|
|
127
|
+
"fontWeight",
|
|
128
|
+
"letterSpacing",
|
|
129
|
+
"lineHeight"
|
|
130
|
+
];
|
|
131
|
+
|
|
132
|
+
//#endregion
|
|
133
|
+
export { BORDER_REQUIRED_PROPERTIES, COLORSPACE, CSS_TO_CULORI, CULORI_TO_CSS, 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, tokenToCulori, validateCustomTransform };
|
|
52
134
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/border.ts","../src/font-weight.ts","../src/gradient.ts","../src/id.ts","../src/shadow.ts","../src/stroke-style.ts","../src/transform.ts","../src/transition.ts","../src/typography.ts"],"sourcesContent":["export const BORDER_REQUIRED_PROPERTIES = ['color', 'width', 'style'] as const;\n","/** Mapping of valid names to numeric weights */\nexport const FONT_WEIGHTS = {\n thin: 100,\n hairline: 100,\n\n 'extra-light': 200,\n 'ultra-light': 200,\n\n light: 300,\n\n normal: 400,\n regular: 400,\n book: 400,\n\n medium: 500,\n\n 'semi-bold': 600,\n 'demi-bold': 600,\n\n bold: 700,\n\n 'extra-bold': 800,\n 'ultra-bold': 800,\n\n black: 900,\n heavy: 900,\n\n 'extra-black': 950,\n 'ultra-black': 950,\n};\n","export const GRADIENT_REQUIRED_STOP_PROPERTIES = ['color', 'position'] as const;\n","import wcmatch from 'wildcard-match';\n\nconst ALIAS_RE = /^\\{([^}]+)\\}$/;\n\n/** Is this token an alias of another? */\nexport function isAlias(value: string): boolean {\n return ALIAS_RE.test(value);\n}\n\n/** Same as isTokenMatch but returns the matching pattern */\nexport function getTokenMatch(tokenId: string, globPatterns: string[]): string | undefined {\n for (const pattern of globPatterns) {\n if (wcmatch(pattern)(tokenId)) {\n return pattern;\n }\n }\n}\n\n/** Make an alias */\nexport function makeAlias(input: string): string {\n return input.replace(/^\\{?([^}]+)\\}?$/, '{$1}');\n}\n\n/** Parse an alias */\nexport function parseAlias(input: string): string {\n // TODO: deprecate in future\n if (input.includes('#')) {\n throw new Error(\n 'Mode aliases (# character) are no longer supported as of v0.6.0. Alias the root token instead, and apply modes in plugins.',\n );\n }\n const match = input.match(ALIAS_RE);\n if (!match) {\n return input;\n }\n return match[1] ?? match[0];\n}\n\n/** split a token ID into a local ID and group ID */\nexport function splitID(id: string): { local: string; group?: string } {\n const lastSeparatorI = id.lastIndexOf('.');\n if (lastSeparatorI === -1) {\n return { local: id };\n }\n return {\n local: id.substring(lastSeparatorI + 1),\n group: id.substring(0, lastSeparatorI),\n };\n}\n","export const SHADOW_REQUIRED_PROPERTIES = ['color', 'offsetX', 'offsetY', 'blur', 'spread'] as const;\n","export const STROKE_STYLE_STRING_VALUES = [\n 'solid',\n 'dashed',\n 'dotted',\n 'double',\n 'groove',\n 'ridge',\n 'outset',\n 'inset',\n] as const;\n\nexport const STROKE_STYLE_OBJECT_REQUIRED_PROPERTIES = ['dashArray', 'lineCap'] as const;\n\nexport const STROKE_STYLE_LINE_CAP_VALUES = ['round', 'butt', 'square'] as const;\n","export interface CustomTransformOptions {\n /** Token $type */\n $type: string;\n}\n\n/** Give a user pertinent feedback if they override a transform incorrectly */\nexport function validateCustomTransform(value: unknown, { $type }: CustomTransformOptions) {\n if (value) {\n if ((typeof value !== 'string' && typeof value !== 'object') || Array.isArray(value)) {\n throw new Error(\n `transform(): expected string or Object of strings, received ${Array.isArray(value) ? 'Array' : typeof value}`,\n );\n }\n switch ($type) {\n case 'typography': {\n if (typeof value !== 'object') {\n throw new Error('transform(): typography tokens must be an object of keys');\n }\n break;\n }\n }\n }\n}\n","export const TRANSITION_REQUIRED_PROPERTIES = ['duration', 'delay', 'timingFunction'] as const;\n","export const TYPOGRAPHY_REQUIRED_PROPERTIES = [\n 'fontFamily',\n 'fontSize',\n 'fontWeight',\n 'letterSpacing',\n 'lineHeight',\n] as const;\n"],"mappings":";;;;AAAA,MAAa,6BAA6B;CAAC;CAAS;CAAS;CAAQ;;;;;ACCrE,MAAa,eAAe;CAC1B,MAAM;CACN,UAAU;CAEV,eAAe;CACf,eAAe;CAEf,OAAO;CAEP,QAAQ;CACR,SAAS;CACT,MAAM;CAEN,QAAQ;CAER,aAAa;CACb,aAAa;CAEb,MAAM;CAEN,cAAc;CACd,cAAc;CAEd,OAAO;CACP,OAAO;CAEP,eAAe;CACf,eAAe;CAChB;;;;AC7BD,MAAa,oCAAoC,CAAC,SAAS,WAAW;;;;ACEtE,MAAM,WAAW;;AAGjB,SAAgB,QAAQ,OAAwB;AAC9C,QAAO,SAAS,KAAK,MAAM;;;AAI7B,SAAgB,cAAc,SAAiB,cAA4C;AACzF,MAAK,MAAM,WAAW,aACpB,KAAI,QAAQ,QAAQ,CAAC,QAAQ,CAC3B,QAAO;;;AAMb,SAAgB,UAAU,OAAuB;AAC/C,QAAO,MAAM,QAAQ,mBAAmB,OAAO;;;AAIjD,SAAgB,WAAW,OAAuB;AAEhD,KAAI,MAAM,SAAS,IAAI,CACrB,OAAM,IAAI,MACR,6HACD;CAEH,MAAM,QAAQ,MAAM,MAAM,SAAS;AACnC,KAAI,CAAC,MACH,QAAO;AAET,QAAO,MAAM,MAAM,MAAM;;;AAI3B,SAAgB,QAAQ,IAA+C;CACrE,MAAM,iBAAiB,GAAG,YAAY,IAAI;AAC1C,KAAI,mBAAmB,GACrB,QAAO,EAAE,OAAO,IAAI;AAEtB,QAAO;EACL,OAAO,GAAG,UAAU,iBAAiB,EAAE;EACvC,OAAO,GAAG,UAAU,GAAG,eAAe;EACvC;;;;;AC/CH,MAAa,6BAA6B;CAAC;CAAS;CAAW;CAAW;CAAQ;CAAS;;;;ACA3F,MAAa,6BAA6B;CACxC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAED,MAAa,0CAA0C,CAAC,aAAa,UAAU;AAE/E,MAAa,+BAA+B;CAAC;CAAS;CAAQ;CAAS;;;;;ACPvE,SAAgB,wBAAwB,OAAgB,EAAE,SAAiC;AACzF,KAAI,OAAO;AACT,MAAK,OAAO,UAAU,YAAY,OAAO,UAAU,YAAa,MAAM,QAAQ,MAAM,CAClF,OAAM,IAAI,MACR,+DAA+D,MAAM,QAAQ,MAAM,GAAG,UAAU,OAAO,QACxG;AAEH,UAAQ,OAAR;GACE,KAAK;AACH,QAAI,OAAO,UAAU,SACnB,OAAM,IAAI,MAAM,2DAA2D;AAE7E;;;;;;;AClBR,MAAa,iCAAiC;CAAC;CAAY;CAAS;CAAiB;;;;ACArF,MAAa,iCAAiC;CAC5C;CACA;CACA;CACA;CACA;CACD"}
|
package/dist/js.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TokenNormalized } from "./types-
|
|
1
|
+
import { TokenNormalized } from "./types-CoqP_8W1.js";
|
|
2
2
|
|
|
3
3
|
//#region src/js/index.d.ts
|
|
4
4
|
interface TransformJSValueOptions {
|
|
@@ -16,8 +16,6 @@ declare function transformJSValue<T extends TokenNormalized>(token: T, {
|
|
|
16
16
|
indent,
|
|
17
17
|
startingIndent
|
|
18
18
|
}: TransformJSValueOptions): string | undefined;
|
|
19
|
-
//# sourceMappingURL=index.d.ts.map
|
|
20
|
-
|
|
21
19
|
//#endregion
|
|
22
20
|
export { TransformJSValueOptions, transformJSValue };
|
|
23
21
|
//# sourceMappingURL=js.d.ts.map
|
package/dist/js.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js.d.ts","names":[],"sources":["../src/js/index.ts"],"sourcesContent":[],"mappings":";;;UAEiB,uBAAA;;EAAA;EAWD,MAAA,CAAA,EAAA,MAAA;EAAgB;
|
|
1
|
+
{"version":3,"file":"js.d.ts","names":[],"sources":["../src/js/index.ts"],"sourcesContent":[],"mappings":";;;UAEiB,uBAAA;;EAAA;EAWD,MAAA,CAAA,EAAA,MAAA;EAAgB;gBAAW,CAAA,EAAA,MAAA;;;;;AAEC,iBAF5B,gBAE4B,CAAA,UAFD,eAEC,CAAA,CAAA,KAAA,EADnC,CACmC,EAAA;EAAA,IAAA;EAAA,MAAA;EAAA;AAAA,CAAA,EAAA,uBAAA,CAAA,EAAA,MAAA,GAAA,SAAA"}
|
package/dist/js.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js.js","names":[
|
|
1
|
+
{"version":3,"file":"js.js","names":[],"sources":["../src/js/index.ts"],"sourcesContent":["import type { TokenNormalized } from '../types.js';\n\nexport interface TransformJSValueOptions {\n mode: string;\n /** indent space count */\n indent?: number;\n /** initial indent level */\n startingIndent?: number;\n}\n\n/**\n * Convert token value to a JS string via acorn/astring.\n */\nexport function transformJSValue<T extends TokenNormalized>(\n token: T,\n { mode, indent = 2, startingIndent = 0 }: TransformJSValueOptions,\n) {\n if (!(mode in token.mode)) {\n return;\n }\n const indentStart = startingIndent > 0 ? ' '.repeat(startingIndent ?? 2) : '';\n\n // note: since tokens are JSON-serializable to begin with, using\n // JSON.stringify generates the same output as an AST parser/generator would\n // but faster and without the added overhead (even acorn/astring leave object\n // keys quoted).\n\n // TODO: use @biomejs/js-api when it’s stable for pretty formatting\n\n return JSON.stringify(token.mode[mode]!.$value, undefined, indent).replace(/\\n/g, `\\n${indentStart}`);\n}\n"],"mappings":";;;;AAaA,SAAgB,iBACd,OACA,EAAE,MAAM,SAAS,GAAG,iBAAiB,KACrC;AACA,KAAI,EAAE,QAAQ,MAAM,MAClB;CAEF,MAAM,cAAc,iBAAiB,IAAI,IAAI,OAAO,kBAAkB,EAAE,GAAG;AAS3E,QAAO,KAAK,UAAU,MAAM,KAAK,MAAO,QAAQ,QAAW,OAAO,CAAC,QAAQ,OAAO,KAAK,cAAc"}
|
|
@@ -57,14 +57,13 @@ function parseColor(color) {
|
|
|
57
57
|
case "p3":
|
|
58
58
|
case "prophoto":
|
|
59
59
|
case "lrgb":
|
|
60
|
-
case "rgb":
|
|
60
|
+
case "rgb":
|
|
61
61
|
components = [
|
|
62
62
|
result.r,
|
|
63
63
|
result.g,
|
|
64
64
|
result.b
|
|
65
65
|
];
|
|
66
66
|
break;
|
|
67
|
-
}
|
|
68
67
|
case "hsl": {
|
|
69
68
|
const maxS = COLORSPACE[colorSpace].ranges[1]?.[1] ?? 1;
|
|
70
69
|
const maxL = COLORSPACE[colorSpace].ranges[2]?.[1] ?? 1;
|
|
@@ -87,40 +86,36 @@ function parseColor(color) {
|
|
|
87
86
|
}
|
|
88
87
|
case "lab":
|
|
89
88
|
case "lab65":
|
|
90
|
-
case "oklab":
|
|
89
|
+
case "oklab":
|
|
91
90
|
components = [
|
|
92
91
|
result.l,
|
|
93
92
|
result.a,
|
|
94
93
|
result.b
|
|
95
94
|
];
|
|
96
95
|
break;
|
|
97
|
-
}
|
|
98
96
|
case "lch":
|
|
99
|
-
case "oklch":
|
|
97
|
+
case "oklch":
|
|
100
98
|
components = [
|
|
101
99
|
result.l,
|
|
102
100
|
result.c,
|
|
103
101
|
result.h ?? 0
|
|
104
102
|
];
|
|
105
103
|
break;
|
|
106
|
-
|
|
107
|
-
case "okhsv": {
|
|
104
|
+
case "okhsv":
|
|
108
105
|
components = [
|
|
109
106
|
result.h ?? 0,
|
|
110
107
|
result.s,
|
|
111
108
|
result.v
|
|
112
109
|
];
|
|
113
110
|
break;
|
|
114
|
-
}
|
|
115
111
|
case "xyz50":
|
|
116
|
-
case "xyz65":
|
|
112
|
+
case "xyz65":
|
|
117
113
|
components = [
|
|
118
114
|
result.x,
|
|
119
115
|
result.y,
|
|
120
116
|
result.z
|
|
121
117
|
];
|
|
122
118
|
break;
|
|
123
|
-
}
|
|
124
119
|
}
|
|
125
120
|
const value = {
|
|
126
121
|
colorSpace,
|
|
@@ -175,10 +170,9 @@ function tokenToCulori(value) {
|
|
|
175
170
|
case "lab":
|
|
176
171
|
case "lab-d65":
|
|
177
172
|
case "oklab": {
|
|
178
|
-
const [l, a, b] = value.components;
|
|
179
|
-
const mode = value.colorSpace === "lab-d65" ? "lab65" : value.colorSpace;
|
|
173
|
+
const [l = 0, a = 0, b = 0] = value.components;
|
|
180
174
|
return {
|
|
181
|
-
mode,
|
|
175
|
+
mode: value.colorSpace === "lab-d65" ? "lab65" : value.colorSpace,
|
|
182
176
|
l,
|
|
183
177
|
a,
|
|
184
178
|
b,
|
|
@@ -351,4 +345,4 @@ function kebabCase(str) {
|
|
|
351
345
|
|
|
352
346
|
//#endregion
|
|
353
347
|
export { COLORSPACE, CSS_TO_CULORI, CULORI_TO_CSS, kebabCase, padStr, parseColor, pluralize, tokenToCulori };
|
|
354
|
-
//# sourceMappingURL=string-
|
|
348
|
+
//# sourceMappingURL=string-D3-qmBT2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string-D3-qmBT2.js","names":["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>","components: [number, number, number]","value: ColorValueNormalized","COLORSPACE: Record<ColorSpace, ColorSpaceDefinition>"],"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,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as momoa from "@humanwhocodes/momoa";
|
|
2
2
|
|
|
3
3
|
//#region src/types.d.ts
|
|
4
4
|
interface TokenCore<E extends {} = Record<string, unknown>> {
|
|
5
|
-
$description?: string;
|
|
6
|
-
$deprecated?: string | boolean;
|
|
5
|
+
$description?: string | undefined;
|
|
6
|
+
$deprecated?: string | boolean | undefined;
|
|
7
7
|
$extensions?: E;
|
|
8
8
|
}
|
|
9
9
|
type Token = BooleanToken | BorderToken | ColorToken | CubicBezierToken | DimensionToken | DurationToken | FontFamilyToken | FontWeightToken | GradientToken | LinkToken | NumberToken | ShadowToken | StringToken | TransitionToken | TypographyToken | StrokeStyleToken;
|
|
@@ -42,16 +42,15 @@ interface ColorToken extends TokenCore {
|
|
|
42
42
|
}
|
|
43
43
|
type ColorValue = string | {
|
|
44
44
|
colorSpace: ColorSpace;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
alpha?: number;
|
|
45
|
+
components: (number | null | string)[];
|
|
46
|
+
alpha?: string | number;
|
|
48
47
|
hex?: string;
|
|
49
48
|
};
|
|
50
49
|
interface CubicBezierToken extends TokenCore {
|
|
51
50
|
$type: 'cubicBezier';
|
|
52
51
|
$value: CubicBezierValue | AliasValue;
|
|
53
52
|
}
|
|
54
|
-
type CubicBezierValue = [number, number, number, number];
|
|
53
|
+
type CubicBezierValue = [number | string, number | string, number | string, number | string];
|
|
55
54
|
/**
|
|
56
55
|
* 8.2 Dimension
|
|
57
56
|
*/
|
|
@@ -193,71 +192,87 @@ interface TypographyValue {
|
|
|
193
192
|
[key: string]: unknown;
|
|
194
193
|
}
|
|
195
194
|
interface GroupCore {
|
|
196
|
-
$
|
|
195
|
+
$deprecated?: string | boolean | undefined;
|
|
196
|
+
$description?: string | undefined;
|
|
197
197
|
$type?: Token['$type'];
|
|
198
198
|
$extensions?: Record<string, unknown>;
|
|
199
199
|
}
|
|
200
200
|
type Group = GroupCore | {
|
|
201
|
-
[key: string]: GroupOrToken
|
|
201
|
+
[key: string]: GroupOrToken;
|
|
202
202
|
};
|
|
203
203
|
type GroupOrToken = Group | Token;
|
|
204
204
|
/** Modes only have a subset of information from the root token, that is allowed to diverge (e.g. id will never differ, so don’t bother storing it on mode). */
|
|
205
|
-
type TokenMode<T extends TokenNormalized> = Pick<T, '$value' | 'aliasOf' | 'aliasChain' | 'partialAliasOf' | 'source'> & {
|
|
206
|
-
originalValue: T['originalValue']['$value'];
|
|
205
|
+
type TokenMode<T extends TokenNormalized> = Pick<T, '$value' | 'aliasOf' | 'aliasChain' | 'aliasedBy' | 'partialAliasOf' | 'dependencies' | 'source'> & {
|
|
206
|
+
originalValue: NonNullable<T['originalValue']>['$value'] | undefined;
|
|
207
207
|
};
|
|
208
208
|
type ModeMap<T extends TokenNormalized> = {
|
|
209
209
|
'.': TokenMode<T>;
|
|
210
210
|
[mode: string]: TokenMode<T> | undefined;
|
|
211
211
|
};
|
|
212
|
+
interface GroupNormalized {
|
|
213
|
+
$description: string | undefined;
|
|
214
|
+
$deprecated: string | boolean | undefined;
|
|
215
|
+
$extensions: Record<string, unknown> | undefined;
|
|
216
|
+
$type: Token['$type'] | undefined;
|
|
217
|
+
id: string;
|
|
218
|
+
/** IDs of all tokens contained in this group */
|
|
219
|
+
tokens: string[];
|
|
220
|
+
}
|
|
212
221
|
interface TokenNormalizedCore<$type extends Token['$type']> {
|
|
213
222
|
$type: $type;
|
|
214
|
-
$description
|
|
215
|
-
$extensions
|
|
216
|
-
$deprecated
|
|
223
|
+
$description: string | undefined;
|
|
224
|
+
$extensions: Record<string, unknown> | undefined;
|
|
225
|
+
$deprecated: string | boolean | undefined;
|
|
217
226
|
id: string;
|
|
227
|
+
/** Originating token location */
|
|
218
228
|
source: {
|
|
229
|
+
/** @deprecated use filename instead */
|
|
219
230
|
loc?: string;
|
|
220
|
-
|
|
231
|
+
filename: string | undefined;
|
|
232
|
+
node: momoa.ObjectNode;
|
|
221
233
|
};
|
|
234
|
+
/** JSON Schema form of ID */
|
|
235
|
+
jsonID: string;
|
|
236
|
+
originalValue: unknown;
|
|
222
237
|
/** The **final** aliased ID */
|
|
223
|
-
aliasOf
|
|
238
|
+
aliasOf: string | undefined;
|
|
224
239
|
/** The entire alias chain, starting from the source token. The last item will match `.aliasOf`. */
|
|
225
|
-
aliasChain
|
|
240
|
+
aliasChain: string[] | undefined;
|
|
226
241
|
/** If this token is aliased in other tokens. */
|
|
227
|
-
aliasedBy
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
$type?: $type;
|
|
232
|
-
id: string;
|
|
233
|
-
/** IDs of all tokens contained in this group */
|
|
234
|
-
tokens: string[];
|
|
235
|
-
};
|
|
242
|
+
aliasedBy: string[] | undefined;
|
|
243
|
+
/** All references from other tokens that compose this one, if any */
|
|
244
|
+
dependencies: string[] | undefined;
|
|
245
|
+
group: GroupNormalized;
|
|
236
246
|
}
|
|
237
247
|
type TokenNormalized = BooleanTokenNormalized | BorderTokenNormalized | ColorTokenNormalized | CubicBezierTokenNormalized | DimensionTokenNormalized | DurationTokenNormalized | FontFamilyTokenNormalized | FontWeightTokenNormalized | GradientTokenNormalized | LinkTokenNormalized | NumberTokenNormalized | ShadowTokenNormalized | StringTokenNormalized | StrokeStyleTokenNormalized | TransitionTokenNormalized | TypographyTokenNormalized;
|
|
238
248
|
type TokenNormalizedSet = Record<string, TokenNormalized>;
|
|
239
249
|
interface BooleanTokenNormalized extends TokenNormalizedCore<'boolean'> {
|
|
240
250
|
$value: BooleanValue;
|
|
241
|
-
partialAliasOf
|
|
251
|
+
partialAliasOf: undefined;
|
|
242
252
|
mode: ModeMap<BooleanTokenNormalized>;
|
|
243
|
-
originalValue: BooleanToken | AliasToken;
|
|
253
|
+
originalValue: BooleanToken | AliasToken | undefined;
|
|
244
254
|
}
|
|
245
255
|
interface BorderTokenNormalized extends TokenNormalizedCore<'border'> {
|
|
246
256
|
$value: BorderValueNormalized;
|
|
247
|
-
partialAliasOf
|
|
257
|
+
partialAliasOf: Record<keyof BorderValueNormalized, string | undefined> | undefined;
|
|
248
258
|
mode: ModeMap<BorderTokenNormalized>;
|
|
249
|
-
originalValue: BorderToken | AliasToken;
|
|
259
|
+
originalValue: BorderToken | AliasToken | undefined;
|
|
250
260
|
}
|
|
251
261
|
interface BorderValueNormalized {
|
|
252
262
|
color: ColorValueNormalized;
|
|
253
263
|
width: DimensionValue;
|
|
254
|
-
style:
|
|
264
|
+
style: StrokeStyleValue;
|
|
255
265
|
}
|
|
256
266
|
interface ColorTokenNormalized extends TokenNormalizedCore<'color'> {
|
|
257
267
|
$value: ColorValueNormalized;
|
|
258
268
|
mode: ModeMap<ColorTokenNormalized>;
|
|
259
|
-
partialAliasOf
|
|
260
|
-
|
|
269
|
+
partialAliasOf: {
|
|
270
|
+
colorSpace: string | undefined;
|
|
271
|
+
components: (string | undefined)[];
|
|
272
|
+
alpha: string | undefined;
|
|
273
|
+
hex: string | undefined;
|
|
274
|
+
} | undefined;
|
|
275
|
+
originalValue: ColorToken | AliasToken | undefined;
|
|
261
276
|
}
|
|
262
277
|
interface ColorValueNormalized {
|
|
263
278
|
/**
|
|
@@ -266,10 +281,9 @@ interface ColorValueNormalized {
|
|
|
266
281
|
* @see https://www.w3.org/TR/css-color-4/#predefined
|
|
267
282
|
*/
|
|
268
283
|
colorSpace: ColorSpace;
|
|
269
|
-
channels?: [number, number, number];
|
|
270
284
|
/** Color components. Will be normalized to 1 unless the colorspace prevents it (e.g. XYZ, LAB) */
|
|
271
|
-
components:
|
|
272
|
-
/** Alpha
|
|
285
|
+
components: (number | null)[];
|
|
286
|
+
/** Alpha component, normalized from 0 – 1 */
|
|
273
287
|
alpha: number;
|
|
274
288
|
/** Hex fallback (for sRGB) */
|
|
275
289
|
hex?: string;
|
|
@@ -277,44 +291,48 @@ interface ColorValueNormalized {
|
|
|
277
291
|
type ColorSpace = 'a98-rgb' | 'display-p3' | 'hsl' | 'hwb' | 'lab' | 'lab-d65' | 'lch' | 'okhsv' | 'oklab' | 'oklch' | 'prophoto-rgb' | 'rec2020' | 'srgb-linear' | 'srgb' | 'xyz' | 'xyz-d50' | 'xyz-d65';
|
|
278
292
|
interface CubicBezierTokenNormalized extends TokenNormalizedCore<'cubicBezier'> {
|
|
279
293
|
$value: CubicBezierValue;
|
|
280
|
-
|
|
294
|
+
/** Parts of this token rely on others */
|
|
295
|
+
partialAliasOf: [string | undefined, string | undefined, string | undefined, string | undefined] | undefined;
|
|
281
296
|
mode: ModeMap<CubicBezierTokenNormalized>;
|
|
282
|
-
originalValue: CubicBezierToken | AliasToken;
|
|
297
|
+
originalValue: CubicBezierToken | AliasToken | undefined;
|
|
283
298
|
}
|
|
284
299
|
interface DimensionTokenNormalized extends TokenNormalizedCore<'dimension'> {
|
|
285
300
|
$value: DimensionValue;
|
|
286
|
-
|
|
301
|
+
/** Parts of this token rely on others */
|
|
302
|
+
partialAliasOf: undefined;
|
|
287
303
|
mode: ModeMap<DimensionTokenNormalized>;
|
|
288
|
-
originalValue: DimensionToken | AliasToken;
|
|
304
|
+
originalValue: DimensionToken | AliasToken | undefined;
|
|
289
305
|
}
|
|
290
306
|
interface DurationTokenNormalized extends TokenNormalizedCore<'duration'> {
|
|
291
307
|
$value: DurationValue;
|
|
292
|
-
|
|
308
|
+
/** Parts of this token rely on others */
|
|
309
|
+
partialAliasOf: undefined;
|
|
293
310
|
mode: ModeMap<DurationTokenNormalized>;
|
|
294
|
-
originalValue: DurationToken | AliasToken;
|
|
311
|
+
originalValue: DurationToken | AliasToken | undefined;
|
|
295
312
|
}
|
|
296
313
|
interface FontFamilyTokenNormalized extends TokenNormalizedCore<'fontFamily'> {
|
|
297
314
|
$value: FontFamilyValueNormalized;
|
|
298
|
-
|
|
299
|
-
partialAliasOf
|
|
315
|
+
/** Parts of this token rely on others */
|
|
316
|
+
partialAliasOf: undefined;
|
|
300
317
|
mode: ModeMap<FontFamilyTokenNormalized>;
|
|
301
|
-
originalValue: FontFamilyToken | AliasToken;
|
|
318
|
+
originalValue: FontFamilyToken | AliasToken | undefined;
|
|
302
319
|
}
|
|
303
320
|
type FontFamilyValueNormalized = string[];
|
|
304
321
|
interface FontWeightTokenNormalized extends TokenNormalizedCore<'fontWeight'> {
|
|
305
322
|
$type: 'fontWeight';
|
|
306
323
|
$value: FontWeightValueNormalized;
|
|
307
|
-
|
|
308
|
-
partialAliasOf
|
|
324
|
+
/** Parts of this token rely on others */
|
|
325
|
+
partialAliasOf: undefined;
|
|
309
326
|
mode: ModeMap<FontWeightTokenNormalized>;
|
|
310
|
-
originalValue: FontWeightToken | AliasToken;
|
|
327
|
+
originalValue: FontWeightToken | AliasToken | undefined;
|
|
311
328
|
}
|
|
312
329
|
type FontWeightValueNormalized = number;
|
|
313
330
|
interface GradientTokenNormalized extends TokenNormalizedCore<'gradient'> {
|
|
314
331
|
$value: GradientValueNormalized;
|
|
315
|
-
|
|
332
|
+
/** Parts of this token rely on others */
|
|
333
|
+
partialAliasOf: Record<keyof GradientStopNormalized, string | undefined>[] | undefined;
|
|
316
334
|
mode: ModeMap<GradientTokenNormalized>;
|
|
317
|
-
originalValue:
|
|
335
|
+
originalValue: GradientToken | AliasToken | undefined;
|
|
318
336
|
}
|
|
319
337
|
type GradientValueNormalized = GradientStopNormalized[];
|
|
320
338
|
interface GradientStopNormalized {
|
|
@@ -323,21 +341,24 @@ interface GradientStopNormalized {
|
|
|
323
341
|
}
|
|
324
342
|
interface LinkTokenNormalized extends TokenNormalizedCore<'link'> {
|
|
325
343
|
$value: LinkValue;
|
|
326
|
-
|
|
344
|
+
/** Parts of this token rely on others */
|
|
345
|
+
partialAliasOf: undefined;
|
|
327
346
|
mode: ModeMap<LinkTokenNormalized>;
|
|
328
|
-
originalValue: LinkToken | AliasToken;
|
|
347
|
+
originalValue: LinkToken | AliasToken | undefined;
|
|
329
348
|
}
|
|
330
349
|
interface NumberTokenNormalized extends TokenNormalizedCore<'number'> {
|
|
331
350
|
$value: NumberValue;
|
|
332
|
-
|
|
351
|
+
/** Parts of this token rely on others */
|
|
352
|
+
partialAliasOf: undefined;
|
|
333
353
|
mode: ModeMap<NumberTokenNormalized>;
|
|
334
|
-
originalValue: NumberToken | AliasToken;
|
|
354
|
+
originalValue: NumberToken | AliasToken | undefined;
|
|
335
355
|
}
|
|
336
356
|
interface ShadowTokenNormalized extends TokenNormalizedCore<'shadow'> {
|
|
337
357
|
$value: ShadowValueNormalized[];
|
|
338
|
-
|
|
358
|
+
/** Parts of this token rely on others */
|
|
359
|
+
partialAliasOf: Record<keyof ShadowValue, string | undefined>[] | undefined;
|
|
339
360
|
mode: ModeMap<ShadowTokenNormalized>;
|
|
340
|
-
originalValue: ShadowToken | AliasToken;
|
|
361
|
+
originalValue: ShadowToken | AliasToken | undefined;
|
|
341
362
|
}
|
|
342
363
|
interface ShadowValueNormalized {
|
|
343
364
|
color: ColorValueNormalized;
|
|
@@ -349,21 +370,25 @@ interface ShadowValueNormalized {
|
|
|
349
370
|
}
|
|
350
371
|
interface StringTokenNormalized extends TokenNormalizedCore<'string'> {
|
|
351
372
|
$value: StringValue;
|
|
352
|
-
|
|
373
|
+
/** Parts of this token rely on others */
|
|
374
|
+
partialAliasOf: undefined;
|
|
353
375
|
mode: ModeMap<StringTokenNormalized>;
|
|
354
|
-
originalValue:
|
|
376
|
+
originalValue: StringToken | AliasToken | undefined;
|
|
355
377
|
}
|
|
356
378
|
interface StrokeStyleTokenNormalized extends TokenNormalizedCore<'strokeStyle'> {
|
|
357
379
|
$value: StrokeStyleValueExpanded;
|
|
358
|
-
partialAliasOf
|
|
380
|
+
partialAliasOf: {
|
|
381
|
+
dashArray: (string | undefined)[];
|
|
382
|
+
} | undefined;
|
|
359
383
|
mode: ModeMap<StrokeStyleTokenNormalized>;
|
|
360
|
-
originalValue: StrokeStyleToken | AliasToken;
|
|
384
|
+
originalValue: StrokeStyleToken | AliasToken | undefined;
|
|
361
385
|
}
|
|
362
386
|
interface TransitionTokenNormalized extends TokenNormalizedCore<'transition'> {
|
|
363
387
|
$value: TransitionValueNormalized;
|
|
364
|
-
|
|
388
|
+
/** Parts of this token rely on others */
|
|
389
|
+
partialAliasOf: Record<keyof TransitionValueNormalized, string | undefined> | undefined;
|
|
365
390
|
mode: ModeMap<TransitionTokenNormalized>;
|
|
366
|
-
originalValue: TransitionToken | AliasToken;
|
|
391
|
+
originalValue: TransitionToken | AliasToken | undefined;
|
|
367
392
|
}
|
|
368
393
|
interface TransitionValueNormalized {
|
|
369
394
|
duration: DurationValue;
|
|
@@ -372,13 +397,14 @@ interface TransitionValueNormalized {
|
|
|
372
397
|
}
|
|
373
398
|
interface TypographyTokenNormalized extends TokenNormalizedCore<'typography'> {
|
|
374
399
|
$value: TypographyValueNormalized;
|
|
375
|
-
|
|
400
|
+
/** Parts of this token rely on others */
|
|
401
|
+
partialAliasOf: Record<keyof TypographyValueNormalized, string | undefined> | undefined;
|
|
376
402
|
mode: ModeMap<TypographyTokenNormalized>;
|
|
377
|
-
originalValue: TypographyToken | AliasToken;
|
|
403
|
+
originalValue: TypographyToken | AliasToken | undefined;
|
|
378
404
|
}
|
|
379
405
|
interface TypographyValueNormalized {
|
|
380
|
-
fontFamily
|
|
381
|
-
fontSize
|
|
406
|
+
fontFamily: FontFamilyValue;
|
|
407
|
+
fontSize: DimensionValue;
|
|
382
408
|
fontStyle?: string;
|
|
383
409
|
fontVariant?: string;
|
|
384
410
|
fontVariantAlternatives?: string;
|
|
@@ -389,15 +415,13 @@ interface TypographyValueNormalized {
|
|
|
389
415
|
fontVariantNumeric?: string;
|
|
390
416
|
fontVariantPosition?: string;
|
|
391
417
|
fontVariationSettings?: string;
|
|
392
|
-
fontWeight
|
|
393
|
-
letterSpacing
|
|
394
|
-
lineHeight
|
|
418
|
+
fontWeight: FontWeightValue;
|
|
419
|
+
letterSpacing: DimensionValue;
|
|
420
|
+
lineHeight: DimensionValue | NumberValue;
|
|
395
421
|
textDecoration?: string;
|
|
396
422
|
textTransform?: string;
|
|
397
423
|
[key: string]: unknown;
|
|
398
424
|
}
|
|
399
|
-
//# sourceMappingURL=types.d.ts.map
|
|
400
|
-
|
|
401
425
|
//#endregion
|
|
402
|
-
export { AliasToken, AliasValue, BooleanToken, BooleanTokenNormalized, BooleanValue, BorderToken, BorderTokenNormalized, BorderValue, BorderValueNormalized, ColorSpace, ColorToken, ColorTokenNormalized, ColorValue, ColorValueNormalized, CubicBezierToken, CubicBezierTokenNormalized, CubicBezierValue, DimensionToken, DimensionTokenNormalized, DimensionValue, DurationToken, DurationTokenNormalized, DurationValue, FontFamilyToken, FontFamilyTokenNormalized, FontFamilyValue, FontFamilyValueNormalized, FontWeightToken, FontWeightTokenNormalized, FontWeightValue, FontWeightValueNormalized, GradientStop, GradientStopNormalized, GradientToken, GradientTokenNormalized, GradientValue, GradientValueNormalized, Group, GroupCore, GroupOrToken, LinkToken, LinkTokenNormalized, LinkValue, ModeMap, NumberToken, NumberTokenNormalized, NumberValue, ShadowToken, ShadowTokenNormalized, ShadowValue, ShadowValueNormalized, StringToken, StringTokenNormalized, StringValue, StrokeStyleToken, StrokeStyleTokenNormalized, StrokeStyleValue, StrokeStyleValueExpanded, Token, TokenCore, TokenMode, TokenNormalized, TokenNormalizedCore, TokenNormalizedSet, TokensSet, TransitionToken, TransitionTokenNormalized, TransitionValue, TransitionValueNormalized, TypographyToken, TypographyTokenNormalized, TypographyValue, TypographyValueNormalized };
|
|
403
|
-
//# sourceMappingURL=types-
|
|
426
|
+
export { AliasToken, AliasValue, BooleanToken, BooleanTokenNormalized, BooleanValue, BorderToken, BorderTokenNormalized, BorderValue, BorderValueNormalized, ColorSpace, ColorToken, ColorTokenNormalized, ColorValue, ColorValueNormalized, CubicBezierToken, CubicBezierTokenNormalized, CubicBezierValue, DimensionToken, DimensionTokenNormalized, DimensionValue, DurationToken, DurationTokenNormalized, DurationValue, FontFamilyToken, FontFamilyTokenNormalized, FontFamilyValue, FontFamilyValueNormalized, FontWeightToken, FontWeightTokenNormalized, FontWeightValue, FontWeightValueNormalized, GradientStop, GradientStopNormalized, GradientToken, GradientTokenNormalized, GradientValue, GradientValueNormalized, Group, GroupCore, GroupNormalized, GroupOrToken, LinkToken, LinkTokenNormalized, LinkValue, ModeMap, NumberToken, NumberTokenNormalized, NumberValue, ShadowToken, ShadowTokenNormalized, ShadowValue, ShadowValueNormalized, StringToken, StringTokenNormalized, StringValue, StrokeStyleToken, StrokeStyleTokenNormalized, StrokeStyleValue, StrokeStyleValueExpanded, Token, TokenCore, TokenMode, TokenNormalized, TokenNormalizedCore, TokenNormalizedSet, TokensSet, TransitionToken, TransitionTokenNormalized, TransitionValue, TransitionValueNormalized, TypographyToken, TypographyTokenNormalized, TypographyValue, TypographyValueNormalized };
|
|
427
|
+
//# sourceMappingURL=types-CoqP_8W1.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-CoqP_8W1.d.ts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@terrazzo/token-tools",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "2.0.0-alpha.0",
|
|
4
4
|
"description": "Various utilities for token types",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -35,12 +35,12 @@
|
|
|
35
35
|
"./package.json": "./package.json"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@humanwhocodes/momoa": "^3.3.
|
|
38
|
+
"@humanwhocodes/momoa": "^3.3.9",
|
|
39
39
|
"culori": "^4.0.2",
|
|
40
40
|
"wildcard-match": "^5.1.4"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@types/culori": "^4.0.
|
|
43
|
+
"@types/culori": "^4.0.1"
|
|
44
44
|
},
|
|
45
45
|
"scripts": {
|
|
46
46
|
"build": "rolldown -c && attw --profile esm-only --pack .",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"string-BwN3ybNv.js","names":["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>","color: string","components: [number, number, number]","value: ColorValueNormalized","COLORSPACE: Record<ColorSpace, ColorSpaceDefinition>","input: string","length: number","alignment: 'left' | 'center' | 'right'","count: number","singular: T","plural: T","str: string"],"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, 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, w: w / maxW, b: b / maxB, alpha: value.alpha };\n }\n case 'lab':\n case 'lab-d65':\n case 'oklab': {\n const [l, a, b] = value.components;\n const mode = value.colorSpace === 'lab-d65' ? 'lab65' : value.colorSpace;\n return { mode, l, a, b, alpha: value.alpha };\n }\n case 'lch':\n case 'oklch': {\n const [l, c, h] = value.components;\n return { mode: value.colorSpace, l, c, h, alpha: value.alpha };\n }\n case 'okhsv': {\n const [h, s, v] = value.components;\n return { mode: value.colorSpace, h, s, 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, y, 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-BOWDcBsq.d.ts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":"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"}
|