@terrazzo/token-tools 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/color.d.ts +20 -2
- package/dist/color.js +70 -4
- package/dist/color.js.map +1 -1
- package/dist/css/color.js +13 -60
- package/dist/css/color.js.map +1 -1
- package/dist/css/cubic-bezier.d.ts +2 -2
- package/dist/css/index.js.map +1 -1
- package/dist/id.d.ts +2 -0
- package/dist/id.js +8 -0
- package/dist/id.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/types.d.ts +18 -15
- package/package.json +13 -11
- package/src/color.ts +0 -102
- package/src/css/boolean.ts +0 -15
- package/src/css/border.ts +0 -46
- package/src/css/color.ts +0 -86
- package/src/css/cubic-bezier.ts +0 -23
- package/src/css/dimension.ts +0 -15
- package/src/css/duration.ts +0 -15
- package/src/css/font-family.ts +0 -32
- package/src/css/font-weight.ts +0 -12
- package/src/css/gradient.ts +0 -42
- package/src/css/index.ts +0 -117
- package/src/css/lib.ts +0 -54
- package/src/css/link.ts +0 -12
- package/src/css/number.ts +0 -9
- package/src/css/shadow.ts +0 -75
- package/src/css/string.ts +0 -11
- package/src/css/stroke-style.ts +0 -13
- package/src/css/transition.ts +0 -41
- package/src/css/typography.ts +0 -44
- package/src/id.ts +0 -41
- package/src/index.ts +0 -5
- package/src/js/index.ts +0 -31
- package/src/string.ts +0 -27
- package/src/transform.ts +0 -23
- package/src/types.ts +0 -524
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# @terrazzo/token-tools
|
|
2
|
+
|
|
3
|
+
## 0.0.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#285](https://github.com/terrazzoapp/terrazzo/pull/285) [`e8a0df1`](https://github.com/terrazzoapp/terrazzo/commit/e8a0df1f3b50cf7cb292bcc475aae271feae4569) Thanks [@drwpow](https://github.com/drwpow)! - Add support for multiple token files
|
package/dist/color.d.ts
CHANGED
|
@@ -1,7 +1,25 @@
|
|
|
1
1
|
import 'culori/css';
|
|
2
2
|
import { type Color } from 'culori/fn';
|
|
3
|
-
import type { ColorSpace, ColorValueNormalized } from './types.js';
|
|
3
|
+
import type { ColorSpace, ColorTokenNormalized, ColorValueNormalized } from './types.js';
|
|
4
4
|
export declare const CULORI_TO_CSS: Record<Extract<Color['mode'], 'a98' | 'lab' | 'lch' | 'oklab' | 'oklch' | 'hsl' | 'hsv' | 'hwb' | 'lrgb' | 'p3' | 'prophoto' | 'rec2020' | 'rgb' | 'xyz50' | 'xyz65'>, ColorSpace>;
|
|
5
|
-
export declare const CSS_TO_CULORI:
|
|
5
|
+
export declare const CSS_TO_CULORI: {
|
|
6
|
+
a98: string;
|
|
7
|
+
'display-p3': string;
|
|
8
|
+
hsl: string;
|
|
9
|
+
hsv: string;
|
|
10
|
+
hwb: string;
|
|
11
|
+
lab: string;
|
|
12
|
+
lch: string;
|
|
13
|
+
oklab: string;
|
|
14
|
+
oklch: string;
|
|
15
|
+
'prophoto-rgb': string;
|
|
16
|
+
rec2020: string;
|
|
17
|
+
srgb: string;
|
|
18
|
+
'srgb-linear': string;
|
|
19
|
+
'xyz-d50': string;
|
|
20
|
+
'xyz-d65': string;
|
|
21
|
+
};
|
|
6
22
|
/** Parse any color */
|
|
7
23
|
export declare function parseColor(color: string): ColorValueNormalized;
|
|
24
|
+
/** Convert a color token to a Culori color */
|
|
25
|
+
export declare function tokenToCulori(token: ColorTokenNormalized): Color | undefined;
|
package/dist/color.js
CHANGED
|
@@ -17,10 +17,23 @@ export const CULORI_TO_CSS = {
|
|
|
17
17
|
xyz50: 'xyz-d50',
|
|
18
18
|
xyz65: 'xyz-d65',
|
|
19
19
|
};
|
|
20
|
-
export const CSS_TO_CULORI = {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
export const CSS_TO_CULORI = {
|
|
21
|
+
a98: 'a98',
|
|
22
|
+
'display-p3': 'p3',
|
|
23
|
+
hsl: 'hsl',
|
|
24
|
+
hsv: 'hsv',
|
|
25
|
+
hwb: 'hwb',
|
|
26
|
+
lab: 'lab',
|
|
27
|
+
lch: 'lch',
|
|
28
|
+
oklab: 'oklab',
|
|
29
|
+
oklch: 'oklch',
|
|
30
|
+
'prophoto-rgb': 'prophoto',
|
|
31
|
+
rec2020: 'rec2020',
|
|
32
|
+
srgb: 'rgb',
|
|
33
|
+
'srgb-linear': 'lrgb',
|
|
34
|
+
'xyz-d50': 'xyz50',
|
|
35
|
+
'xyz-d65': 'xyz65',
|
|
36
|
+
};
|
|
24
37
|
/** Parse any color */
|
|
25
38
|
export function parseColor(color) {
|
|
26
39
|
const result = parse(color);
|
|
@@ -76,4 +89,57 @@ export function parseColor(color) {
|
|
|
76
89
|
alpha: result.alpha ?? 1,
|
|
77
90
|
};
|
|
78
91
|
}
|
|
92
|
+
/** Convert a color token to a Culori color */
|
|
93
|
+
export function tokenToCulori(token) {
|
|
94
|
+
if (token.$type !== 'color') {
|
|
95
|
+
return undefined;
|
|
96
|
+
}
|
|
97
|
+
switch (token.$value.colorSpace) {
|
|
98
|
+
case 'a98':
|
|
99
|
+
case 'display-p3':
|
|
100
|
+
case 'prophoto-rgb':
|
|
101
|
+
case 'rec2020':
|
|
102
|
+
case 'srgb':
|
|
103
|
+
case 'srgb-linear': {
|
|
104
|
+
const [r, g, b] = token.$value.channels;
|
|
105
|
+
return {
|
|
106
|
+
mode: CSS_TO_CULORI[token.$value.colorSpace] || token.$value.colorSpace,
|
|
107
|
+
r,
|
|
108
|
+
g,
|
|
109
|
+
b,
|
|
110
|
+
alpha: token.$value.alpha,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
case 'hsl': {
|
|
114
|
+
const [h, s, l] = token.$value.channels;
|
|
115
|
+
return { mode: 'hsl', h, s, l, alpha: token.$value.alpha };
|
|
116
|
+
}
|
|
117
|
+
case 'hsv': {
|
|
118
|
+
const [h, s, v] = token.$value.channels;
|
|
119
|
+
return { mode: 'hsv', h, s, v, alpha: token.$value.alpha };
|
|
120
|
+
}
|
|
121
|
+
case 'hwb': {
|
|
122
|
+
const [h, w, b] = token.$value.channels;
|
|
123
|
+
return { mode: 'hwb', h, w, b, alpha: token.$value.alpha };
|
|
124
|
+
}
|
|
125
|
+
case 'lab':
|
|
126
|
+
case 'oklab': {
|
|
127
|
+
const [l, a, b] = token.$value.channels;
|
|
128
|
+
return { mode: token.$value.colorSpace, l, a, b, alpha: token.$value.alpha };
|
|
129
|
+
}
|
|
130
|
+
case 'lch':
|
|
131
|
+
case 'oklch': {
|
|
132
|
+
const [l, c, h] = token.$value.channels;
|
|
133
|
+
return { mode: token.$value.colorSpace, l, c, h, alpha: token.$value.alpha };
|
|
134
|
+
}
|
|
135
|
+
case 'xyz-d50': {
|
|
136
|
+
const [x, y, z] = token.$value.channels;
|
|
137
|
+
return { mode: 'xyz50', x, y, z, alpha: token.$value.alpha };
|
|
138
|
+
}
|
|
139
|
+
case 'xyz-d65': {
|
|
140
|
+
const [x, y, z] = token.$value.channels;
|
|
141
|
+
return { mode: 'xyz65', x, y, z, alpha: token.$value.alpha };
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
79
145
|
//# sourceMappingURL=color.js.map
|
package/dist/color.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color.js","sourceRoot":"","sources":["../src/color.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,CAAC;AACpB,OAAO,EAAc,KAAK,EAAE,MAAM,WAAW,CAAC;AAG9C,MAAM,CAAC,MAAM,aAAa,GAoBtB;IACF,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,EAAE,EAAE,YAAY;IAChB,QAAQ,EAAE,cAAc;IACxB,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,MAAM;IACX,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"color.js","sourceRoot":"","sources":["../src/color.ts"],"names":[],"mappings":"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"}
|
package/dist/css/color.js
CHANGED
|
@@ -1,74 +1,27 @@
|
|
|
1
|
-
import { displayable, formatCss,
|
|
2
|
-
|
|
3
|
-
toGamut, } from 'culori';
|
|
4
|
-
import { CSS_TO_CULORI, parseColor } from '../color.js';
|
|
1
|
+
import { displayable, formatCss, toGamut } from 'culori';
|
|
2
|
+
import { parseColor, tokenToCulori } from '../color.js';
|
|
5
3
|
import { defaultAliasTransform } from './lib.js';
|
|
6
4
|
/** Convert color value to CSS string */
|
|
7
5
|
export function transformColorValue(value, { aliasOf, transformAlias = defaultAliasTransform } = {}) {
|
|
8
6
|
if (aliasOf) {
|
|
9
7
|
return transformAlias(aliasOf);
|
|
10
8
|
}
|
|
11
|
-
const { colorSpace, channels, alpha } = typeof value === 'string' ? parseColor(value) : value;
|
|
12
|
-
const color = {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
case 'rgb': {
|
|
20
|
-
color.r = channels[0];
|
|
21
|
-
color.g = channels[1];
|
|
22
|
-
color.b = channels[2];
|
|
23
|
-
break;
|
|
24
|
-
}
|
|
25
|
-
case 'hsl': {
|
|
26
|
-
color.h = channels[0];
|
|
27
|
-
color.s = channels[1];
|
|
28
|
-
color.l = channels[2];
|
|
29
|
-
break;
|
|
30
|
-
}
|
|
31
|
-
case 'hsv': {
|
|
32
|
-
color.h = channels[0];
|
|
33
|
-
color.s = channels[1];
|
|
34
|
-
color.v = channels[2];
|
|
35
|
-
break;
|
|
36
|
-
}
|
|
37
|
-
case 'hwb': {
|
|
38
|
-
color.h = channels[0];
|
|
39
|
-
color.w = channels[1];
|
|
40
|
-
color.b = channels[2];
|
|
41
|
-
break;
|
|
42
|
-
}
|
|
43
|
-
case 'lab':
|
|
44
|
-
case 'oklab': {
|
|
45
|
-
color.l = channels[0];
|
|
46
|
-
color.a = channels[1];
|
|
47
|
-
color.b = channels[2];
|
|
48
|
-
break;
|
|
49
|
-
}
|
|
50
|
-
case 'lch':
|
|
51
|
-
case 'oklch': {
|
|
52
|
-
color.l = channels[0];
|
|
53
|
-
color.c = channels[1];
|
|
54
|
-
color.h = channels[2];
|
|
55
|
-
break;
|
|
56
|
-
}
|
|
57
|
-
case 'xyz50':
|
|
58
|
-
case 'xyz65': {
|
|
59
|
-
color.x = channels[0];
|
|
60
|
-
color.y = channels[1];
|
|
61
|
-
color.z = channels[2];
|
|
62
|
-
break;
|
|
63
|
-
}
|
|
9
|
+
const { colorSpace, channels, alpha = 1 } = typeof value === 'string' ? parseColor(value) : value;
|
|
10
|
+
const color = tokenToCulori({
|
|
11
|
+
$type: 'color',
|
|
12
|
+
$value: { colorSpace, channels, alpha },
|
|
13
|
+
mode: { '.': { $type: 'color', $value: { colorSpace, channels, alpha } } },
|
|
14
|
+
});
|
|
15
|
+
if (!color) {
|
|
16
|
+
throw new Error(`Can’t convert color ${JSON.stringify(value)} to Culori color`);
|
|
64
17
|
}
|
|
65
18
|
return displayable(color)
|
|
66
19
|
? formatCss(color)
|
|
67
20
|
: {
|
|
68
21
|
'.': formatCss(color),
|
|
69
|
-
srgb: (typeof value === 'object' && value.hex) || formatCss(toGamut('rgb')(color)),
|
|
70
|
-
p3: formatCss(toGamut('p3')(color)),
|
|
71
|
-
rec2020: formatCss(toGamut('rec2020')(color)),
|
|
22
|
+
srgb: (typeof value === 'object' && value.hex) || formatCss(toGamut('rgb', 'oklch')(color)),
|
|
23
|
+
p3: formatCss(toGamut('p3', 'oklch')(color)),
|
|
24
|
+
rec2020: formatCss(toGamut('rec2020', 'oklch')(color)),
|
|
72
25
|
};
|
|
73
26
|
}
|
|
74
27
|
//# sourceMappingURL=color.js.map
|
package/dist/css/color.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color.js","sourceRoot":"","sources":["../../src/css/color.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"color.js","sourceRoot":"","sources":["../../src/css/color.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,EAAoB,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAInE,wCAAwC;AACxC,MAAM,UAAU,mBAAmB,CACjC,KAA0B,EAC1B,EAAE,OAAO,EAAE,cAAc,GAAG,qBAAqB,KAAyD,EAAE;IAE5G,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAClG,MAAM,KAAK,GAAG,aAAa,CAAC;QAC1B,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE;QACvC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;KACxC,CAAC,CAAC;IAEtC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAClF,CAAC;IAED,OAAO,WAAW,CAAC,KAAK,CAAC;QACvB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;QAClB,CAAC,CAAC;YACE,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC;YACrB,IAAI,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,CAAU,CAAC;YACpG,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CAAU,CAAC;YACrD,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,KAAK,CAAU,CAAC;SAChE,CAAC;AACR,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CubicBezierValue } from '../types.js';
|
|
2
2
|
import { type IDGenerator } from './lib.js';
|
|
3
3
|
/** Convert cubicBezier value to CSS */
|
|
4
|
-
export declare function transformCubicBezierValue(value:
|
|
4
|
+
export declare function transformCubicBezierValue(value: CubicBezierValue, { aliasOf, partialAliasOf, transformAlias, }?: {
|
|
5
5
|
aliasOf?: string;
|
|
6
6
|
partialAliasOf?: [string | undefined, string | undefined, string | undefined, string | undefined];
|
|
7
7
|
transformAlias?: IDGenerator;
|
package/dist/css/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/css/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/css/index.ts"],"names":[],"mappings":"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"}
|
package/dist/id.d.ts
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
export declare function isAlias(value: unknown): boolean;
|
|
3
3
|
/** Match token against globs */
|
|
4
4
|
export declare function isTokenMatch(tokenID: string, globPatterns: string[]): boolean;
|
|
5
|
+
/** Same as isTokenMatch but returns the matching pattern */
|
|
6
|
+
export declare function getTokenMatch(tokenId: string, globPatterns: string[]): string | undefined;
|
|
5
7
|
/** Make an alias */
|
|
6
8
|
export declare function makeAlias(input: string): string;
|
|
7
9
|
/** Parse an alias */
|
package/dist/id.js
CHANGED
|
@@ -11,6 +11,14 @@ export function isAlias(value) {
|
|
|
11
11
|
export function isTokenMatch(tokenID, globPatterns) {
|
|
12
12
|
return wcmatch(globPatterns)(tokenID);
|
|
13
13
|
}
|
|
14
|
+
/** Same as isTokenMatch but returns the matching pattern */
|
|
15
|
+
export function getTokenMatch(tokenId, globPatterns) {
|
|
16
|
+
for (const pattern of globPatterns) {
|
|
17
|
+
if (wcmatch(pattern)(tokenId)) {
|
|
18
|
+
return pattern;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
14
22
|
/** Make an alias */
|
|
15
23
|
export function makeAlias(input) {
|
|
16
24
|
return input.replace(/^\{?([^}]+)\}?$/, '{$1}');
|
package/dist/id.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id.js","sourceRoot":"","sources":["../src/id.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAErC,MAAM,QAAQ,GAAG,eAAe,CAAC;AAEjC,yCAAyC;AACzC,MAAM,UAAU,OAAO,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,YAAsB;IAClE,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,oBAAoB;AACpB,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,qBAAqB;AACrB,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACvB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;AAC5G,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,OAAO,CAAC,EAAU;IAChC,MAAM,cAAc,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACvB,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC;AAC7F,CAAC"}
|
|
1
|
+
{"version":3,"file":"id.js","sourceRoot":"","sources":["../src/id.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAErC,MAAM,QAAQ,GAAG,eAAe,CAAC;AAEjC,yCAAyC;AACzC,MAAM,UAAU,OAAO,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,YAAsB;IAClE,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,YAAsB;IACnE,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;AACH,CAAC;AAED,oBAAoB;AACpB,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,qBAAqB;AACrB,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACvB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;AAC5G,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,OAAO,CAAC,EAAU;IAChC,MAAM,cAAc,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACvB,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC;AAC7F,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/types.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export interface TokenCore<E extends {} = Record<string, unknown>> {
|
|
|
3
3
|
$description?: string;
|
|
4
4
|
$extensions?: E;
|
|
5
5
|
}
|
|
6
|
-
export type Token = BooleanToken | BorderToken | ColorToken |
|
|
6
|
+
export type Token = BooleanToken | BorderToken | ColorToken | CubicBezierToken | DimensionToken | DurationToken | FontFamilyToken | FontWeightToken | GradientToken | LinkToken | NumberToken | ShadowToken | StringToken | StringToken | TransitionToken | TypographyToken | StrokeStyleToken;
|
|
7
7
|
export type AliasValue = string;
|
|
8
8
|
/**
|
|
9
9
|
* 8.? Boolean (beta)
|
|
@@ -38,11 +38,11 @@ export type ColorValue = string | {
|
|
|
38
38
|
alpha?: number;
|
|
39
39
|
hex?: string;
|
|
40
40
|
};
|
|
41
|
-
export interface
|
|
41
|
+
export interface CubicBezierToken extends TokenCore {
|
|
42
42
|
$type: 'cubicBezier';
|
|
43
|
-
$value:
|
|
43
|
+
$value: CubicBezierValue | AliasValue;
|
|
44
44
|
}
|
|
45
|
-
export type
|
|
45
|
+
export type CubicBezierValue = [number, number, number, number];
|
|
46
46
|
/**
|
|
47
47
|
* 8.2 Dimension
|
|
48
48
|
*/
|
|
@@ -50,7 +50,7 @@ export interface DimensionToken extends TokenCore {
|
|
|
50
50
|
$type: 'dimension';
|
|
51
51
|
$value: string | AliasValue;
|
|
52
52
|
}
|
|
53
|
-
export type DimensionValue = `${number}px` | `${number}em` | `${number}rem
|
|
53
|
+
export type DimensionValue = `${number}px` | `${number}em` | `${number}rem` | '0';
|
|
54
54
|
/**
|
|
55
55
|
* 8.5 Duration
|
|
56
56
|
*/
|
|
@@ -147,7 +147,7 @@ export interface TransitionToken extends TokenCore {
|
|
|
147
147
|
export interface TransitionValue {
|
|
148
148
|
duration: DurationValue | AliasValue;
|
|
149
149
|
delay: DurationValue | AliasValue;
|
|
150
|
-
timingFunction:
|
|
150
|
+
timingFunction: CubicBezierValue | AliasValue;
|
|
151
151
|
}
|
|
152
152
|
/**
|
|
153
153
|
* 9.7 Typography
|
|
@@ -174,7 +174,7 @@ export interface TypographyValue {
|
|
|
174
174
|
lineHeight?: DimensionValue | NumberValue | AliasValue;
|
|
175
175
|
textDecoration?: string;
|
|
176
176
|
textTransform?: string;
|
|
177
|
-
[key: string]:
|
|
177
|
+
[key: string]: unknown;
|
|
178
178
|
}
|
|
179
179
|
export interface GroupCore {
|
|
180
180
|
$description?: string;
|
|
@@ -189,7 +189,10 @@ export interface TokenNormalizedCore {
|
|
|
189
189
|
$description?: string;
|
|
190
190
|
$extensions?: Record<string, unknown>;
|
|
191
191
|
id: string;
|
|
192
|
-
|
|
192
|
+
source: {
|
|
193
|
+
loc?: string;
|
|
194
|
+
node: ObjectNode;
|
|
195
|
+
};
|
|
193
196
|
group: {
|
|
194
197
|
$description?: string;
|
|
195
198
|
$extensions?: Record<string, unknown>;
|
|
@@ -198,7 +201,7 @@ export interface TokenNormalizedCore {
|
|
|
198
201
|
tokens: string[];
|
|
199
202
|
};
|
|
200
203
|
}
|
|
201
|
-
export type TokenNormalized = BooleanTokenNormalized | BorderTokenNormalized | ColorTokenNormalized |
|
|
204
|
+
export type TokenNormalized = BooleanTokenNormalized | BorderTokenNormalized | ColorTokenNormalized | CubicBezierTokenNormalized | DimensionTokenNormalized | DurationTokenNormalized | FontFamilyTokenNormalized | FontWeightTokenNormalized | GradientTokenNormalized | LinkTokenNormalized | NumberTokenNormalized | ShadowTokenNormalized | StringTokenNormalized | StrokeStyleTokenNormalized | TransitionTokenNormalized | TypographyTokenNormalized;
|
|
202
205
|
export interface BooleanTokenNormalized extends TokenNormalizedCore {
|
|
203
206
|
$type: 'boolean';
|
|
204
207
|
$value: BooleanValue;
|
|
@@ -239,13 +242,13 @@ export interface ColorValueNormalized {
|
|
|
239
242
|
hex?: string;
|
|
240
243
|
}
|
|
241
244
|
export type ColorSpace = 'a98' | 'display-p3' | 'hsb' | 'hsl' | 'hsv' | 'hwb' | 'lab' | 'lch' | 'oklab' | 'oklch' | 'prophoto-rgb' | 'rec2020' | 'srgb-linear' | 'srgb' | 'xyz-d50' | 'xyz-d65';
|
|
242
|
-
export interface
|
|
245
|
+
export interface CubicBezierTokenNormalized extends TokenNormalizedCore {
|
|
243
246
|
$type: 'cubicBezier';
|
|
244
|
-
$value:
|
|
247
|
+
$value: CubicBezierValue;
|
|
245
248
|
aliasOf?: string;
|
|
246
249
|
partialAliasOf?: [string | undefined, string | undefined, string | undefined, string | undefined];
|
|
247
|
-
mode: Record<string,
|
|
248
|
-
originalValue:
|
|
250
|
+
mode: Record<string, CubicBezierTokenNormalized | undefined>;
|
|
251
|
+
originalValue: CubicBezierToken;
|
|
249
252
|
}
|
|
250
253
|
export interface DimensionTokenNormalized extends TokenNormalizedCore {
|
|
251
254
|
$type: 'dimension';
|
|
@@ -352,7 +355,7 @@ export interface TransitionTokenNormalized extends TokenNormalizedCore {
|
|
|
352
355
|
export interface TransitionValueNormalized {
|
|
353
356
|
duration: DurationValue;
|
|
354
357
|
delay: DurationValue;
|
|
355
|
-
timingFunction:
|
|
358
|
+
timingFunction: CubicBezierValue;
|
|
356
359
|
}
|
|
357
360
|
export interface TypographyTokenNormalized extends TokenNormalizedCore {
|
|
358
361
|
$type: 'typography';
|
|
@@ -380,5 +383,5 @@ export interface TypographyValueNormalized {
|
|
|
380
383
|
lineHeight?: DimensionValue | NumberValue;
|
|
381
384
|
textDecoration?: string;
|
|
382
385
|
textTransform?: string;
|
|
383
|
-
[key: string]:
|
|
386
|
+
[key: string]: unknown;
|
|
384
387
|
}
|
package/package.json
CHANGED
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@terrazzo/token-tools",
|
|
3
3
|
"description": "Various utilities for token types",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.6",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Drew Powers",
|
|
7
7
|
"email": "drew@pow.rs"
|
|
8
8
|
},
|
|
9
9
|
"keywords": [
|
|
10
10
|
"design tokens",
|
|
11
|
-
"design tokens community group",
|
|
12
|
-
"design tokens format module",
|
|
13
11
|
"dtcg",
|
|
14
12
|
"cli",
|
|
15
|
-
"w3c
|
|
13
|
+
"w3c",
|
|
16
14
|
"design system",
|
|
17
15
|
"typescript",
|
|
18
16
|
"sass",
|
|
@@ -22,6 +20,11 @@
|
|
|
22
20
|
"linting",
|
|
23
21
|
"lint"
|
|
24
22
|
],
|
|
23
|
+
"repository": {
|
|
24
|
+
"type": "git",
|
|
25
|
+
"url": "https://github.com/terrazzoapp/terrazzo.git",
|
|
26
|
+
"directory": "./packages/token-tools/"
|
|
27
|
+
},
|
|
25
28
|
"license": "MIT",
|
|
26
29
|
"type": "module",
|
|
27
30
|
"main": "./dist/index.js",
|
|
@@ -32,23 +35,22 @@
|
|
|
32
35
|
"./*": "./*"
|
|
33
36
|
},
|
|
34
37
|
"dependencies": {
|
|
35
|
-
"@humanwhocodes/momoa": "^3.
|
|
38
|
+
"@humanwhocodes/momoa": "^3.1.1",
|
|
36
39
|
"culori": "^4.0.1",
|
|
37
40
|
"scule": "^1.3.0",
|
|
38
41
|
"wildcard-match": "^5.1.3"
|
|
39
42
|
},
|
|
40
43
|
"devDependencies": {
|
|
41
|
-
"@types/culori": "^2.1.
|
|
44
|
+
"@types/culori": "^2.1.1"
|
|
42
45
|
},
|
|
43
46
|
"scripts": {
|
|
44
|
-
"build": "pnpm run build:clean && pnpm run build:ts && pnpm run
|
|
45
|
-
"build:clean": "del dist",
|
|
47
|
+
"build": "pnpm run build:clean && pnpm run build:ts && pnpm -w run inject-license @terrazzo/token-tools dist/index.js",
|
|
48
|
+
"build:clean": "del-cli dist",
|
|
46
49
|
"build:ts": "tsc -p tsconfig.build.json",
|
|
47
|
-
"
|
|
48
|
-
"dev": "pnpm run --parallel \"/^dev:.*/\"",
|
|
50
|
+
"dev": "pnpm --filter @terrazzo/token-tools run --parallel \"/^dev:.*/\"",
|
|
49
51
|
"lint": "biome check .",
|
|
50
52
|
"dev:ts": "tsc -p tsconfig.build.json --watch",
|
|
51
|
-
"test": "pnpm run \"/^test:.*/\"",
|
|
53
|
+
"test": "pnpm --filter @terrazzo/token-tools run \"/^test:.*/\"",
|
|
52
54
|
"test:js": "vitest run",
|
|
53
55
|
"test:ts": "tsc --noEmit"
|
|
54
56
|
}
|
package/src/color.ts
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import 'culori/css';
|
|
2
|
-
import { type Color, parse } from 'culori/fn';
|
|
3
|
-
import type { ColorSpace, ColorValueNormalized } from './types.js';
|
|
4
|
-
|
|
5
|
-
export const CULORI_TO_CSS: Record<
|
|
6
|
-
Extract<
|
|
7
|
-
Color['mode'],
|
|
8
|
-
| 'a98'
|
|
9
|
-
| 'lab'
|
|
10
|
-
| 'lch'
|
|
11
|
-
| 'oklab'
|
|
12
|
-
| 'oklch'
|
|
13
|
-
| 'hsl'
|
|
14
|
-
| 'hsv'
|
|
15
|
-
| 'hwb'
|
|
16
|
-
| 'lrgb'
|
|
17
|
-
| 'p3'
|
|
18
|
-
| 'prophoto'
|
|
19
|
-
| 'rec2020'
|
|
20
|
-
| 'rgb'
|
|
21
|
-
| 'xyz50'
|
|
22
|
-
| 'xyz65'
|
|
23
|
-
>,
|
|
24
|
-
ColorSpace
|
|
25
|
-
> = {
|
|
26
|
-
a98: 'a98',
|
|
27
|
-
hsl: 'hsl',
|
|
28
|
-
hsv: 'hsv',
|
|
29
|
-
hwb: 'hwb',
|
|
30
|
-
lab: 'lab',
|
|
31
|
-
lch: 'lch',
|
|
32
|
-
lrgb: 'srgb-linear',
|
|
33
|
-
oklab: 'oklab',
|
|
34
|
-
oklch: 'oklch',
|
|
35
|
-
p3: 'display-p3',
|
|
36
|
-
prophoto: 'prophoto-rgb',
|
|
37
|
-
rec2020: 'rec2020',
|
|
38
|
-
rgb: 'srgb',
|
|
39
|
-
xyz50: 'xyz-d50',
|
|
40
|
-
xyz65: 'xyz-d65',
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export const CSS_TO_CULORI: Record<string, string> = {};
|
|
44
|
-
for (const k in CULORI_TO_CSS) {
|
|
45
|
-
CSS_TO_CULORI[CULORI_TO_CSS[k as keyof typeof CULORI_TO_CSS]] = k;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/** Parse any color */
|
|
49
|
-
export function parseColor(color: string): ColorValueNormalized {
|
|
50
|
-
const result = parse(color);
|
|
51
|
-
if (!result) {
|
|
52
|
-
throw new Error(`Unable to parse color "${color}"`);
|
|
53
|
-
}
|
|
54
|
-
if (!(result.mode in CULORI_TO_CSS)) {
|
|
55
|
-
throw new Error(`Unsupported color space: ${result.mode}`);
|
|
56
|
-
}
|
|
57
|
-
const colorSpace = CULORI_TO_CSS[result.mode as keyof typeof CULORI_TO_CSS];
|
|
58
|
-
let channels: [number, number, number] = [0, 0, 0];
|
|
59
|
-
switch (result.mode) {
|
|
60
|
-
case 'a98':
|
|
61
|
-
case 'rec2020':
|
|
62
|
-
case 'p3':
|
|
63
|
-
case 'prophoto':
|
|
64
|
-
case 'lrgb':
|
|
65
|
-
case 'rgb': {
|
|
66
|
-
channels = [result.r, result.g, result.b];
|
|
67
|
-
break;
|
|
68
|
-
}
|
|
69
|
-
case 'hsl': {
|
|
70
|
-
channels = [result.h ?? 0, result.s, result.l];
|
|
71
|
-
break;
|
|
72
|
-
}
|
|
73
|
-
case 'hsv': {
|
|
74
|
-
channels = [result.h ?? 0, result.s, result.v];
|
|
75
|
-
break;
|
|
76
|
-
}
|
|
77
|
-
case 'hwb': {
|
|
78
|
-
channels = [result.h ?? 0, result.w, result.b];
|
|
79
|
-
break;
|
|
80
|
-
}
|
|
81
|
-
case 'lab':
|
|
82
|
-
case 'oklab': {
|
|
83
|
-
channels = [result.l, result.a, result.b];
|
|
84
|
-
break;
|
|
85
|
-
}
|
|
86
|
-
case 'lch':
|
|
87
|
-
case 'oklch': {
|
|
88
|
-
channels = [result.l, result.c, result.h ?? 0];
|
|
89
|
-
break;
|
|
90
|
-
}
|
|
91
|
-
case 'xyz50':
|
|
92
|
-
case 'xyz65': {
|
|
93
|
-
channels = [result.x, result.y, result.z];
|
|
94
|
-
break;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
return {
|
|
98
|
-
colorSpace,
|
|
99
|
-
channels,
|
|
100
|
-
alpha: result.alpha ?? 1,
|
|
101
|
-
};
|
|
102
|
-
}
|
package/src/css/boolean.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { type IDGenerator, defaultAliasTransform } from './lib.js';
|
|
2
|
-
|
|
3
|
-
/** Convert boolean value to CSS string */
|
|
4
|
-
export function transformBooleanValue(
|
|
5
|
-
value: boolean,
|
|
6
|
-
{ aliasOf, transformAlias = defaultAliasTransform }: { aliasOf?: string; transformAlias?: IDGenerator } = {},
|
|
7
|
-
): string {
|
|
8
|
-
if (aliasOf) {
|
|
9
|
-
return transformAlias(aliasOf);
|
|
10
|
-
}
|
|
11
|
-
if (typeof value !== 'boolean') {
|
|
12
|
-
throw new Error(`Expected boolean, received ${typeof value} "${value}"`);
|
|
13
|
-
}
|
|
14
|
-
return value ? '1' : '0';
|
|
15
|
-
}
|
package/src/css/border.ts
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { displayable } from 'culori';
|
|
2
|
-
import type { BorderValue } from '../types.js';
|
|
3
|
-
import { transformColorValue } from './color.js';
|
|
4
|
-
import { transformDimensionValue } from './dimension.js';
|
|
5
|
-
import { type IDGenerator, defaultAliasTransform } from './lib.js';
|
|
6
|
-
import { transformStrokeStyleValue } from './stroke-style.js';
|
|
7
|
-
|
|
8
|
-
/** Convert border value to multiple CSS values */
|
|
9
|
-
export function transformBorderValue(
|
|
10
|
-
value: BorderValue,
|
|
11
|
-
{
|
|
12
|
-
aliasOf,
|
|
13
|
-
partialAliasOf,
|
|
14
|
-
transformAlias = defaultAliasTransform,
|
|
15
|
-
}: {
|
|
16
|
-
aliasOf?: string;
|
|
17
|
-
partialAliasOf?: Partial<Record<keyof typeof value, string>>;
|
|
18
|
-
transformAlias: IDGenerator;
|
|
19
|
-
},
|
|
20
|
-
) {
|
|
21
|
-
if (aliasOf) {
|
|
22
|
-
return transformAlias(aliasOf);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const width = partialAliasOf?.width
|
|
26
|
-
? transformAlias(partialAliasOf.width)
|
|
27
|
-
: transformDimensionValue(value.width, { transformAlias });
|
|
28
|
-
const color = partialAliasOf?.color
|
|
29
|
-
? transformAlias(partialAliasOf.color)
|
|
30
|
-
: transformColorValue(value.color, { transformAlias });
|
|
31
|
-
const style = partialAliasOf?.style
|
|
32
|
-
? transformAlias(partialAliasOf.style)
|
|
33
|
-
: transformStrokeStyleValue(value.style, { transformAlias });
|
|
34
|
-
|
|
35
|
-
const formatBorder = (colorKey: string) =>
|
|
36
|
-
[width, style, typeof color === 'string' ? color : color[colorKey as keyof typeof color]].join(' ');
|
|
37
|
-
|
|
38
|
-
return typeof color === 'string' || displayable(color.p3)
|
|
39
|
-
? formatBorder('.')
|
|
40
|
-
: {
|
|
41
|
-
'.': formatBorder('.'),
|
|
42
|
-
srgb: formatBorder('srgb'),
|
|
43
|
-
p3: formatBorder('p3'),
|
|
44
|
-
rec2020: formatBorder('rec2020'),
|
|
45
|
-
};
|
|
46
|
-
}
|