@terrazzo/plugin-vanilla-extract 0.0.2 → 0.1.1

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/index.js CHANGED
@@ -1,1702 +1,5 @@
1
- //#region ../../node_modules/.pnpm/@terrazzo+plugin-css@0.8.0_@terrazzo+cli@packages+cli/node_modules/@terrazzo/plugin-css/dist/index.js
2
- const parseNumber = (color, len) => {
3
- if (typeof color !== "number") return;
4
- if (len === 3) return {
5
- mode: "rgb",
6
- r: (color >> 8 & 15 | color >> 4 & 240) / 255,
7
- g: (color >> 4 & 15 | color & 240) / 255,
8
- b: (color & 15 | color << 4 & 240) / 255
9
- };
10
- if (len === 4) return {
11
- mode: "rgb",
12
- r: (color >> 12 & 15 | color >> 8 & 240) / 255,
13
- g: (color >> 8 & 15 | color >> 4 & 240) / 255,
14
- b: (color >> 4 & 15 | color & 240) / 255,
15
- alpha: (color & 15 | color << 4 & 240) / 255
16
- };
17
- if (len === 6) return {
18
- mode: "rgb",
19
- r: (color >> 16 & 255) / 255,
20
- g: (color >> 8 & 255) / 255,
21
- b: (color & 255) / 255
22
- };
23
- if (len === 8) return {
24
- mode: "rgb",
25
- r: (color >> 24 & 255) / 255,
26
- g: (color >> 16 & 255) / 255,
27
- b: (color >> 8 & 255) / 255,
28
- alpha: (color & 255) / 255
29
- };
30
- };
31
- var parseNumber_default = parseNumber;
32
- const named = {
33
- aliceblue: 15792383,
34
- antiquewhite: 16444375,
35
- aqua: 65535,
36
- aquamarine: 8388564,
37
- azure: 15794175,
38
- beige: 16119260,
39
- bisque: 16770244,
40
- black: 0,
41
- blanchedalmond: 16772045,
42
- blue: 255,
43
- blueviolet: 9055202,
44
- brown: 10824234,
45
- burlywood: 14596231,
46
- cadetblue: 6266528,
47
- chartreuse: 8388352,
48
- chocolate: 13789470,
49
- coral: 16744272,
50
- cornflowerblue: 6591981,
51
- cornsilk: 16775388,
52
- crimson: 14423100,
53
- cyan: 65535,
54
- darkblue: 139,
55
- darkcyan: 35723,
56
- darkgoldenrod: 12092939,
57
- darkgray: 11119017,
58
- darkgreen: 25600,
59
- darkgrey: 11119017,
60
- darkkhaki: 12433259,
61
- darkmagenta: 9109643,
62
- darkolivegreen: 5597999,
63
- darkorange: 16747520,
64
- darkorchid: 10040012,
65
- darkred: 9109504,
66
- darksalmon: 15308410,
67
- darkseagreen: 9419919,
68
- darkslateblue: 4734347,
69
- darkslategray: 3100495,
70
- darkslategrey: 3100495,
71
- darkturquoise: 52945,
72
- darkviolet: 9699539,
73
- deeppink: 16716947,
74
- deepskyblue: 49151,
75
- dimgray: 6908265,
76
- dimgrey: 6908265,
77
- dodgerblue: 2003199,
78
- firebrick: 11674146,
79
- floralwhite: 16775920,
80
- forestgreen: 2263842,
81
- fuchsia: 16711935,
82
- gainsboro: 14474460,
83
- ghostwhite: 16316671,
84
- gold: 16766720,
85
- goldenrod: 14329120,
86
- gray: 8421504,
87
- green: 32768,
88
- greenyellow: 11403055,
89
- grey: 8421504,
90
- honeydew: 15794160,
91
- hotpink: 16738740,
92
- indianred: 13458524,
93
- indigo: 4915330,
94
- ivory: 16777200,
95
- khaki: 15787660,
96
- lavender: 15132410,
97
- lavenderblush: 16773365,
98
- lawngreen: 8190976,
99
- lemonchiffon: 16775885,
100
- lightblue: 11393254,
101
- lightcoral: 15761536,
102
- lightcyan: 14745599,
103
- lightgoldenrodyellow: 16448210,
104
- lightgray: 13882323,
105
- lightgreen: 9498256,
106
- lightgrey: 13882323,
107
- lightpink: 16758465,
108
- lightsalmon: 16752762,
109
- lightseagreen: 2142890,
110
- lightskyblue: 8900346,
111
- lightslategray: 7833753,
112
- lightslategrey: 7833753,
113
- lightsteelblue: 11584734,
114
- lightyellow: 16777184,
115
- lime: 65280,
116
- limegreen: 3329330,
117
- linen: 16445670,
118
- magenta: 16711935,
119
- maroon: 8388608,
120
- mediumaquamarine: 6737322,
121
- mediumblue: 205,
122
- mediumorchid: 12211667,
123
- mediumpurple: 9662683,
124
- mediumseagreen: 3978097,
125
- mediumslateblue: 8087790,
126
- mediumspringgreen: 64154,
127
- mediumturquoise: 4772300,
128
- mediumvioletred: 13047173,
129
- midnightblue: 1644912,
130
- mintcream: 16121850,
131
- mistyrose: 16770273,
132
- moccasin: 16770229,
133
- navajowhite: 16768685,
134
- navy: 128,
135
- oldlace: 16643558,
136
- olive: 8421376,
137
- olivedrab: 7048739,
138
- orange: 16753920,
139
- orangered: 16729344,
140
- orchid: 14315734,
141
- palegoldenrod: 15657130,
142
- palegreen: 10025880,
143
- paleturquoise: 11529966,
144
- palevioletred: 14381203,
145
- papayawhip: 16773077,
146
- peachpuff: 16767673,
147
- peru: 13468991,
148
- pink: 16761035,
149
- plum: 14524637,
150
- powderblue: 11591910,
151
- purple: 8388736,
152
- rebeccapurple: 6697881,
153
- red: 16711680,
154
- rosybrown: 12357519,
155
- royalblue: 4286945,
156
- saddlebrown: 9127187,
157
- salmon: 16416882,
158
- sandybrown: 16032864,
159
- seagreen: 3050327,
160
- seashell: 16774638,
161
- sienna: 10506797,
162
- silver: 12632256,
163
- skyblue: 8900331,
164
- slateblue: 6970061,
165
- slategray: 7372944,
166
- slategrey: 7372944,
167
- snow: 16775930,
168
- springgreen: 65407,
169
- steelblue: 4620980,
170
- tan: 13808780,
171
- teal: 32896,
172
- thistle: 14204888,
173
- tomato: 16737095,
174
- turquoise: 4251856,
175
- violet: 15631086,
176
- wheat: 16113331,
177
- white: 16777215,
178
- whitesmoke: 16119285,
179
- yellow: 16776960,
180
- yellowgreen: 10145074
181
- };
182
- var named_default = named;
183
- const parseNamed = (color) => {
184
- return parseNumber_default(named_default[color.toLowerCase()], 6);
185
- };
186
- var parseNamed_default = parseNamed;
187
- const hex = /^#?([0-9a-f]{8}|[0-9a-f]{6}|[0-9a-f]{4}|[0-9a-f]{3})$/i;
188
- const parseHex = (color) => {
189
- let match;
190
- return (match = color.match(hex)) ? parseNumber_default(parseInt(match[1], 16), match[1].length) : void 0;
191
- };
192
- var parseHex_default = parseHex;
193
- const num$1 = "([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)";
194
- const num_none = `(?:${num$1}|none)`;
195
- const per = `${num$1}%`;
196
- const per_none = `(?:${num$1}%|none)`;
197
- const num_per = `(?:${num$1}%|${num$1})`;
198
- const num_per_none = `(?:${num$1}%|${num$1}|none)`;
199
- const hue$1 = `(?:${num$1}(deg|grad|rad|turn)|${num$1})`;
200
- const hue_none = `(?:${num$1}(deg|grad|rad|turn)|${num$1}|none)`;
201
- const c = `\\s*,\\s*`;
202
- const rx_num_per_none = new RegExp("^" + num_per_none + "$");
203
- const rgb_num_old = new RegExp(`^rgba?\\(\\s*${num$1}${c}${num$1}${c}${num$1}\\s*(?:,\\s*${num_per}\\s*)?\\)$`);
204
- const rgb_per_old = new RegExp(`^rgba?\\(\\s*${per}${c}${per}${c}${per}\\s*(?:,\\s*${num_per}\\s*)?\\)$`);
205
- const parseRgbLegacy = (color) => {
206
- let res = { mode: "rgb" };
207
- let match;
208
- if (match = color.match(rgb_num_old)) {
209
- if (match[1] !== void 0) res.r = match[1] / 255;
210
- if (match[2] !== void 0) res.g = match[2] / 255;
211
- if (match[3] !== void 0) res.b = match[3] / 255;
212
- } else if (match = color.match(rgb_per_old)) {
213
- if (match[1] !== void 0) res.r = match[1] / 100;
214
- if (match[2] !== void 0) res.g = match[2] / 100;
215
- if (match[3] !== void 0) res.b = match[3] / 100;
216
- } else return void 0;
217
- if (match[4] !== void 0) res.alpha = Math.max(0, Math.min(1, match[4] / 100));
218
- else if (match[5] !== void 0) res.alpha = Math.max(0, Math.min(1, +match[5]));
219
- return res;
220
- };
221
- var parseRgbLegacy_default = parseRgbLegacy;
222
- const prepare = (color, mode) => color === void 0 ? void 0 : typeof color !== "object" ? parse_default(color) : color.mode !== void 0 ? color : mode ? {
223
- ...color,
224
- mode
225
- } : void 0;
226
- var _prepare_default = prepare;
227
- const converter = (target_mode = "rgb") => (color) => (color = _prepare_default(color, target_mode)) !== void 0 ? color.mode === target_mode ? color : converters$1[color.mode][target_mode] ? converters$1[color.mode][target_mode](color) : target_mode === "rgb" ? converters$1[color.mode].rgb(color) : converters$1.rgb[target_mode](converters$1[color.mode].rgb(color)) : void 0;
228
- var converter_default = converter;
229
- const converters$1 = {};
230
- const modes = {};
231
- const parsers = [];
232
- const colorProfiles = {};
233
- const identity = (v) => v;
234
- const useMode = (definition$15) => {
235
- converters$1[definition$15.mode] = {
236
- ...converters$1[definition$15.mode],
237
- ...definition$15.toMode
238
- };
239
- Object.keys(definition$15.fromMode || {}).forEach((k$2) => {
240
- if (!converters$1[k$2]) converters$1[k$2] = {};
241
- converters$1[k$2][definition$15.mode] = definition$15.fromMode[k$2];
242
- });
243
- if (!definition$15.ranges) definition$15.ranges = {};
244
- if (!definition$15.difference) definition$15.difference = {};
245
- definition$15.channels.forEach((channel) => {
246
- if (definition$15.ranges[channel] === void 0) definition$15.ranges[channel] = [0, 1];
247
- if (!definition$15.interpolate[channel]) throw new Error(`Missing interpolator for: ${channel}`);
248
- if (typeof definition$15.interpolate[channel] === "function") definition$15.interpolate[channel] = { use: definition$15.interpolate[channel] };
249
- if (!definition$15.interpolate[channel].fixup) definition$15.interpolate[channel].fixup = identity;
250
- });
251
- modes[definition$15.mode] = definition$15;
252
- (definition$15.parse || []).forEach((parser) => {
253
- useParser(parser, definition$15.mode);
254
- });
255
- return converter_default(definition$15.mode);
256
- };
257
- const getMode = (mode) => modes[mode];
258
- const useParser = (parser, mode) => {
259
- if (typeof parser === "string") {
260
- if (!mode) throw new Error(`'mode' required when 'parser' is a string`);
261
- colorProfiles[parser] = mode;
262
- } else if (typeof parser === "function") {
263
- if (parsers.indexOf(parser) < 0) parsers.push(parser);
264
- }
265
- };
266
- const IdentStartCodePoint = /[^\x00-\x7F]|[a-zA-Z_]/;
267
- const IdentCodePoint = /[^\x00-\x7F]|[-\w]/;
268
- const Tok = {
269
- Function: "function",
270
- Ident: "ident",
271
- Number: "number",
272
- Percentage: "percentage",
273
- ParenClose: ")",
274
- None: "none",
275
- Hue: "hue",
276
- Alpha: "alpha"
277
- };
278
- let _i = 0;
279
- function is_num(chars) {
280
- let ch = chars[_i];
281
- let ch1 = chars[_i + 1];
282
- if (ch === "-" || ch === "+") return /\d/.test(ch1) || ch1 === "." && /\d/.test(chars[_i + 2]);
283
- if (ch === ".") return /\d/.test(ch1);
284
- return /\d/.test(ch);
285
- }
286
- function is_ident(chars) {
287
- if (_i >= chars.length) return false;
288
- let ch = chars[_i];
289
- if (IdentStartCodePoint.test(ch)) return true;
290
- if (ch === "-") {
291
- if (chars.length - _i < 2) return false;
292
- let ch1 = chars[_i + 1];
293
- if (ch1 === "-" || IdentStartCodePoint.test(ch1)) return true;
294
- return false;
295
- }
296
- return false;
297
- }
298
- const huenits = {
299
- deg: 1,
300
- rad: 180 / Math.PI,
301
- grad: 9 / 10,
302
- turn: 360
303
- };
304
- function num(chars) {
305
- let value = "";
306
- if (chars[_i] === "-" || chars[_i] === "+") value += chars[_i++];
307
- value += digits(chars);
308
- if (chars[_i] === "." && /\d/.test(chars[_i + 1])) value += chars[_i++] + digits(chars);
309
- if (chars[_i] === "e" || chars[_i] === "E") {
310
- if ((chars[_i + 1] === "-" || chars[_i + 1] === "+") && /\d/.test(chars[_i + 2])) value += chars[_i++] + chars[_i++] + digits(chars);
311
- else if (/\d/.test(chars[_i + 1])) value += chars[_i++] + digits(chars);
312
- }
313
- if (is_ident(chars)) {
314
- let id = ident(chars);
315
- if (id === "deg" || id === "rad" || id === "turn" || id === "grad") return {
316
- type: Tok.Hue,
317
- value: value * huenits[id]
318
- };
319
- return void 0;
320
- }
321
- if (chars[_i] === "%") {
322
- _i++;
323
- return {
324
- type: Tok.Percentage,
325
- value: +value
326
- };
327
- }
328
- return {
329
- type: Tok.Number,
330
- value: +value
331
- };
332
- }
333
- function digits(chars) {
334
- let v = "";
335
- while (/\d/.test(chars[_i])) v += chars[_i++];
336
- return v;
337
- }
338
- function ident(chars) {
339
- let v = "";
340
- while (_i < chars.length && IdentCodePoint.test(chars[_i])) v += chars[_i++];
341
- return v;
342
- }
343
- function identlike(chars) {
344
- let v = ident(chars);
345
- if (chars[_i] === "(") {
346
- _i++;
347
- return {
348
- type: Tok.Function,
349
- value: v
350
- };
351
- }
352
- if (v === "none") return {
353
- type: Tok.None,
354
- value: void 0
355
- };
356
- return {
357
- type: Tok.Ident,
358
- value: v
359
- };
360
- }
361
- function tokenize(str = "") {
362
- let chars = str.trim();
363
- let tokens = [];
364
- let ch;
365
- _i = 0;
366
- while (_i < chars.length) {
367
- ch = chars[_i++];
368
- if (ch === "\n" || ch === " " || ch === " ") {
369
- while (_i < chars.length && (chars[_i] === "\n" || chars[_i] === " " || chars[_i] === " ")) _i++;
370
- continue;
371
- }
372
- if (ch === ",") return void 0;
373
- if (ch === ")") {
374
- tokens.push({ type: Tok.ParenClose });
375
- continue;
376
- }
377
- if (ch === "+") {
378
- _i--;
379
- if (is_num(chars)) {
380
- tokens.push(num(chars));
381
- continue;
382
- }
383
- return void 0;
384
- }
385
- if (ch === "-") {
386
- _i--;
387
- if (is_num(chars)) {
388
- tokens.push(num(chars));
389
- continue;
390
- }
391
- if (is_ident(chars)) {
392
- tokens.push({
393
- type: Tok.Ident,
394
- value: ident(chars)
395
- });
396
- continue;
397
- }
398
- return void 0;
399
- }
400
- if (ch === ".") {
401
- _i--;
402
- if (is_num(chars)) {
403
- tokens.push(num(chars));
404
- continue;
405
- }
406
- return void 0;
407
- }
408
- if (ch === "/") {
409
- while (_i < chars.length && (chars[_i] === "\n" || chars[_i] === " " || chars[_i] === " ")) _i++;
410
- let alpha;
411
- if (is_num(chars)) {
412
- alpha = num(chars);
413
- if (alpha.type !== Tok.Hue) {
414
- tokens.push({
415
- type: Tok.Alpha,
416
- value: alpha
417
- });
418
- continue;
419
- }
420
- }
421
- if (is_ident(chars)) {
422
- if (ident(chars) === "none") {
423
- tokens.push({
424
- type: Tok.Alpha,
425
- value: {
426
- type: Tok.None,
427
- value: void 0
428
- }
429
- });
430
- continue;
431
- }
432
- }
433
- return void 0;
434
- }
435
- if (/\d/.test(ch)) {
436
- _i--;
437
- tokens.push(num(chars));
438
- continue;
439
- }
440
- if (IdentStartCodePoint.test(ch)) {
441
- _i--;
442
- tokens.push(identlike(chars));
443
- continue;
444
- }
445
- return void 0;
446
- }
447
- return tokens;
448
- }
449
- function parseColorSyntax(tokens) {
450
- tokens._i = 0;
451
- let token = tokens[tokens._i++];
452
- if (!token || token.type !== Tok.Function || token.value !== "color") return void 0;
453
- token = tokens[tokens._i++];
454
- if (token.type !== Tok.Ident) return void 0;
455
- const mode = colorProfiles[token.value];
456
- if (!mode) return void 0;
457
- const res = { mode };
458
- const coords = consumeCoords(tokens, false);
459
- if (!coords) return void 0;
460
- const channels = getMode(mode).channels;
461
- for (let ii = 0, c$1, ch; ii < channels.length; ii++) {
462
- c$1 = coords[ii];
463
- ch = channels[ii];
464
- if (c$1.type !== Tok.None) {
465
- res[ch] = c$1.type === Tok.Number ? c$1.value : c$1.value / 100;
466
- if (ch === "alpha") res[ch] = Math.max(0, Math.min(1, res[ch]));
467
- }
468
- }
469
- return res;
470
- }
471
- function consumeCoords(tokens, includeHue) {
472
- const coords = [];
473
- let token;
474
- while (tokens._i < tokens.length) {
475
- token = tokens[tokens._i++];
476
- if (token.type === Tok.None || token.type === Tok.Number || token.type === Tok.Alpha || token.type === Tok.Percentage || includeHue && token.type === Tok.Hue) {
477
- coords.push(token);
478
- continue;
479
- }
480
- if (token.type === Tok.ParenClose) {
481
- if (tokens._i < tokens.length) return void 0;
482
- continue;
483
- }
484
- return void 0;
485
- }
486
- if (coords.length < 3 || coords.length > 4) return void 0;
487
- if (coords.length === 4) {
488
- if (coords[3].type !== Tok.Alpha) return void 0;
489
- coords[3] = coords[3].value;
490
- }
491
- if (coords.length === 3) coords.push({
492
- type: Tok.None,
493
- value: void 0
494
- });
495
- return coords.every((c$1) => c$1.type !== Tok.Alpha) ? coords : void 0;
496
- }
497
- function parseModernSyntax(tokens, includeHue) {
498
- tokens._i = 0;
499
- let token = tokens[tokens._i++];
500
- if (!token || token.type !== Tok.Function) return void 0;
501
- let coords = consumeCoords(tokens, includeHue);
502
- if (!coords) return void 0;
503
- coords.unshift(token.value);
504
- return coords;
505
- }
506
- const parse = (color) => {
507
- if (typeof color !== "string") return void 0;
508
- const tokens = tokenize(color);
509
- const parsed = tokens ? parseModernSyntax(tokens, true) : void 0;
510
- let result = void 0;
511
- let i = 0;
512
- let len = parsers.length;
513
- while (i < len) if ((result = parsers[i++](color, parsed)) !== void 0) return result;
514
- return tokens ? parseColorSyntax(tokens) : void 0;
515
- };
516
- var parse_default = parse;
517
- function parseRgb(color, parsed) {
518
- if (!parsed || parsed[0] !== "rgb" && parsed[0] !== "rgba") return void 0;
519
- const res = { mode: "rgb" };
520
- const [, r$1, g, b, alpha] = parsed;
521
- if (r$1.type === Tok.Hue || g.type === Tok.Hue || b.type === Tok.Hue) return void 0;
522
- if (r$1.type !== Tok.None) res.r = r$1.type === Tok.Number ? r$1.value / 255 : r$1.value / 100;
523
- if (g.type !== Tok.None) res.g = g.type === Tok.Number ? g.value / 255 : g.value / 100;
524
- if (b.type !== Tok.None) res.b = b.type === Tok.Number ? b.value / 255 : b.value / 100;
525
- if (alpha.type !== Tok.None) res.alpha = Math.min(1, Math.max(0, alpha.type === Tok.Number ? alpha.value : alpha.value / 100));
526
- return res;
527
- }
528
- var parseRgb_default = parseRgb;
529
- const parseTransparent = (c$1) => c$1 === "transparent" ? {
530
- mode: "rgb",
531
- r: 0,
532
- g: 0,
533
- b: 0,
534
- alpha: 0
535
- } : void 0;
536
- var parseTransparent_default = parseTransparent;
537
- const lerp = (a, b, t) => a + t * (b - a);
538
- const get_classes = (arr) => {
539
- let classes = [];
540
- for (let i = 0; i < arr.length - 1; i++) {
541
- let a = arr[i];
542
- let b = arr[i + 1];
543
- if (a === void 0 && b === void 0) classes.push(void 0);
544
- else if (a !== void 0 && b !== void 0) classes.push([a, b]);
545
- else classes.push(a !== void 0 ? [a, a] : [b, b]);
546
- }
547
- return classes;
548
- };
549
- const interpolatorPiecewise = (interpolator) => (arr) => {
550
- let classes = get_classes(arr);
551
- return (t) => {
552
- let cls = t * classes.length;
553
- let idx = t >= 1 ? classes.length - 1 : Math.max(Math.floor(cls), 0);
554
- let pair = classes[idx];
555
- return pair === void 0 ? void 0 : interpolator(pair[0], pair[1], cls - idx);
556
- };
557
- };
558
- const interpolatorLinear = interpolatorPiecewise(lerp);
559
- const fixupAlpha = (arr) => {
560
- let some_defined = false;
561
- let res = arr.map((v) => {
562
- if (v !== void 0) {
563
- some_defined = true;
564
- return v;
565
- }
566
- return 1;
567
- });
568
- return some_defined ? res : arr;
569
- };
570
- const definition$14 = {
571
- mode: "rgb",
572
- channels: [
573
- "r",
574
- "g",
575
- "b",
576
- "alpha"
577
- ],
578
- parse: [
579
- parseRgb_default,
580
- parseHex_default,
581
- parseRgbLegacy_default,
582
- parseNamed_default,
583
- parseTransparent_default,
584
- "srgb"
585
- ],
586
- serialize: "srgb",
587
- interpolate: {
588
- r: interpolatorLinear,
589
- g: interpolatorLinear,
590
- b: interpolatorLinear,
591
- alpha: {
592
- use: interpolatorLinear,
593
- fixup: fixupAlpha
594
- }
595
- },
596
- gamut: true,
597
- white: {
598
- r: 1,
599
- g: 1,
600
- b: 1
601
- },
602
- black: {
603
- r: 0,
604
- g: 0,
605
- b: 0
606
- }
607
- };
608
- var definition_default$12 = definition$14;
609
- const linearize$2 = (v = 0) => Math.pow(Math.abs(v), 563 / 256) * Math.sign(v);
610
- const convertA98ToXyz65 = (a98) => {
611
- let r$1 = linearize$2(a98.r);
612
- let g = linearize$2(a98.g);
613
- let b = linearize$2(a98.b);
614
- let res = {
615
- mode: "xyz65",
616
- x: .5766690429101305 * r$1 + .1855582379065463 * g + .1882286462349947 * b,
617
- y: .297344975250536 * r$1 + .6273635662554661 * g + .0752914584939979 * b,
618
- z: .0270313613864123 * r$1 + .0706888525358272 * g + .9913375368376386 * b
619
- };
620
- if (a98.alpha !== void 0) res.alpha = a98.alpha;
621
- return res;
622
- };
623
- var convertA98ToXyz65_default = convertA98ToXyz65;
624
- const gamma$2 = (v) => Math.pow(Math.abs(v), 256 / 563) * Math.sign(v);
625
- const convertXyz65ToA98 = ({ x, y, z, alpha }) => {
626
- if (x === void 0) x = 0;
627
- if (y === void 0) y = 0;
628
- if (z === void 0) z = 0;
629
- let res = {
630
- mode: "a98",
631
- r: gamma$2(x * 2.0415879038107465 - y * .5650069742788597 - .3447313507783297 * z),
632
- g: gamma$2(x * -.9692436362808798 + y * 1.8759675015077206 + .0415550574071756 * z),
633
- b: gamma$2(x * .0134442806320312 - y * .1183623922310184 + 1.0151749943912058 * z)
634
- };
635
- if (alpha !== void 0) res.alpha = alpha;
636
- return res;
637
- };
638
- var convertXyz65ToA98_default = convertXyz65ToA98;
639
- const fn$2 = (c$1 = 0) => {
640
- const abs = Math.abs(c$1);
641
- if (abs <= .04045) return c$1 / 12.92;
642
- return (Math.sign(c$1) || 1) * Math.pow((abs + .055) / 1.055, 2.4);
643
- };
644
- const convertRgbToLrgb = ({ r: r$1, g, b, alpha }) => {
645
- let res = {
646
- mode: "lrgb",
647
- r: fn$2(r$1),
648
- g: fn$2(g),
649
- b: fn$2(b)
650
- };
651
- if (alpha !== void 0) res.alpha = alpha;
652
- return res;
653
- };
654
- var convertRgbToLrgb_default = convertRgbToLrgb;
655
- const convertRgbToXyz65 = (rgb$2) => {
656
- let { r: r$1, g, b, alpha } = convertRgbToLrgb_default(rgb$2);
657
- let res = {
658
- mode: "xyz65",
659
- x: .4123907992659593 * r$1 + .357584339383878 * g + .1804807884018343 * b,
660
- y: .2126390058715102 * r$1 + .715168678767756 * g + .0721923153607337 * b,
661
- z: .0193308187155918 * r$1 + .119194779794626 * g + .9505321522496607 * b
662
- };
663
- if (alpha !== void 0) res.alpha = alpha;
664
- return res;
665
- };
666
- var convertRgbToXyz65_default = convertRgbToXyz65;
667
- const fn$1 = (c$1 = 0) => {
668
- const abs = Math.abs(c$1);
669
- if (abs > .0031308) return (Math.sign(c$1) || 1) * (1.055 * Math.pow(abs, 1 / 2.4) - .055);
670
- return c$1 * 12.92;
671
- };
672
- const convertLrgbToRgb = ({ r: r$1, g, b, alpha }, mode = "rgb") => {
673
- let res = {
674
- mode,
675
- r: fn$1(r$1),
676
- g: fn$1(g),
677
- b: fn$1(b)
678
- };
679
- if (alpha !== void 0) res.alpha = alpha;
680
- return res;
681
- };
682
- var convertLrgbToRgb_default = convertLrgbToRgb;
683
- const convertXyz65ToRgb = ({ x, y, z, alpha }) => {
684
- if (x === void 0) x = 0;
685
- if (y === void 0) y = 0;
686
- if (z === void 0) z = 0;
687
- let res = convertLrgbToRgb_default({
688
- r: x * 3.2409699419045226 - y * 1.537383177570094 - .4986107602930034 * z,
689
- g: x * -.9692436362808796 + y * 1.8759675015077204 + .0415550574071756 * z,
690
- b: x * .0556300796969936 - y * .2039769588889765 + 1.0569715142428784 * z
691
- });
692
- if (alpha !== void 0) res.alpha = alpha;
693
- return res;
694
- };
695
- var convertXyz65ToRgb_default = convertXyz65ToRgb;
696
- const definition$13 = {
697
- ...definition_default$12,
698
- mode: "a98",
699
- parse: ["a98-rgb"],
700
- serialize: "a98-rgb",
701
- fromMode: {
702
- rgb: (color) => convertXyz65ToA98_default(convertRgbToXyz65_default(color)),
703
- xyz65: convertXyz65ToA98_default
704
- },
705
- toMode: {
706
- rgb: (color) => convertXyz65ToRgb_default(convertA98ToXyz65_default(color)),
707
- xyz65: convertA98ToXyz65_default
708
- }
709
- };
710
- var definition_default = definition$13;
711
- const normalizeHue = (hue$2) => (hue$2 = hue$2 % 360) < 0 ? hue$2 + 360 : hue$2;
712
- var normalizeHue_default = normalizeHue;
713
- function convertHslToRgb({ h, s, l, alpha }) {
714
- h = normalizeHue_default(h !== void 0 ? h : 0);
715
- if (s === void 0) s = 0;
716
- if (l === void 0) l = 0;
717
- let m1 = l + s * (l < .5 ? l : 1 - l);
718
- let m2 = m1 - (m1 - l) * 2 * Math.abs(h / 60 % 2 - 1);
719
- let res;
720
- switch (Math.floor(h / 60)) {
721
- case 0:
722
- res = {
723
- r: m1,
724
- g: m2,
725
- b: 2 * l - m1
726
- };
727
- break;
728
- case 1:
729
- res = {
730
- r: m2,
731
- g: m1,
732
- b: 2 * l - m1
733
- };
734
- break;
735
- case 2:
736
- res = {
737
- r: 2 * l - m1,
738
- g: m1,
739
- b: m2
740
- };
741
- break;
742
- case 3:
743
- res = {
744
- r: 2 * l - m1,
745
- g: m2,
746
- b: m1
747
- };
748
- break;
749
- case 4:
750
- res = {
751
- r: m2,
752
- g: 2 * l - m1,
753
- b: m1
754
- };
755
- break;
756
- case 5:
757
- res = {
758
- r: m1,
759
- g: 2 * l - m1,
760
- b: m2
761
- };
762
- break;
763
- default: res = {
764
- r: 2 * l - m1,
765
- g: 2 * l - m1,
766
- b: 2 * l - m1
767
- };
768
- }
769
- res.mode = "rgb";
770
- if (alpha !== void 0) res.alpha = alpha;
771
- return res;
772
- }
773
- function convertRgbToHsl({ r: r$1, g, b, alpha }) {
774
- if (r$1 === void 0) r$1 = 0;
775
- if (g === void 0) g = 0;
776
- if (b === void 0) b = 0;
777
- let M = Math.max(r$1, g, b), m = Math.min(r$1, g, b);
778
- let res = {
779
- mode: "hsl",
780
- s: M === m ? 0 : (M - m) / (1 - Math.abs(M + m - 1)),
781
- l: .5 * (M + m)
782
- };
783
- if (M - m !== 0) res.h = (M === r$1 ? (g - b) / (M - m) + (g < b) * 6 : M === g ? (b - r$1) / (M - m) + 2 : (r$1 - g) / (M - m) + 4) * 60;
784
- if (alpha !== void 0) res.alpha = alpha;
785
- return res;
786
- }
787
- const hueToDeg = (val, unit) => {
788
- switch (unit) {
789
- case "deg": return +val;
790
- case "rad": return val / Math.PI * 180;
791
- case "grad": return val / 10 * 9;
792
- case "turn": return val * 360;
793
- }
794
- };
795
- var hue_default = hueToDeg;
796
- const hsl_old = new RegExp(`^hsla?\\(\\s*${hue$1}${c}${per}${c}${per}\\s*(?:,\\s*${num_per}\\s*)?\\)$`);
797
- const parseHslLegacy = (color) => {
798
- let match = color.match(hsl_old);
799
- if (!match) return;
800
- let res = { mode: "hsl" };
801
- if (match[3] !== void 0) res.h = +match[3];
802
- else if (match[1] !== void 0 && match[2] !== void 0) res.h = hue_default(match[1], match[2]);
803
- if (match[4] !== void 0) res.s = Math.min(Math.max(0, match[4] / 100), 1);
804
- if (match[5] !== void 0) res.l = Math.min(Math.max(0, match[5] / 100), 1);
805
- if (match[6] !== void 0) res.alpha = Math.max(0, Math.min(1, match[6] / 100));
806
- else if (match[7] !== void 0) res.alpha = Math.max(0, Math.min(1, +match[7]));
807
- return res;
808
- };
809
- var parseHslLegacy_default = parseHslLegacy;
810
- function parseHsl(color, parsed) {
811
- if (!parsed || parsed[0] !== "hsl" && parsed[0] !== "hsla") return void 0;
812
- const res = { mode: "hsl" };
813
- const [, h, s, l, alpha] = parsed;
814
- if (h.type !== Tok.None) {
815
- if (h.type === Tok.Percentage) return void 0;
816
- res.h = h.value;
817
- }
818
- if (s.type !== Tok.None) {
819
- if (s.type === Tok.Hue) return void 0;
820
- res.s = s.value / 100;
821
- }
822
- if (l.type !== Tok.None) {
823
- if (l.type === Tok.Hue) return void 0;
824
- res.l = l.value / 100;
825
- }
826
- if (alpha.type !== Tok.None) res.alpha = Math.min(1, Math.max(0, alpha.type === Tok.Number ? alpha.value : alpha.value / 100));
827
- return res;
828
- }
829
- var parseHsl_default = parseHsl;
830
- const hue = (hues, fn$3) => {
831
- return hues.map((hue$2, idx, arr) => {
832
- if (hue$2 === void 0) return hue$2;
833
- let normalized = normalizeHue_default(hue$2);
834
- if (idx === 0 || hues[idx - 1] === void 0) return normalized;
835
- return fn$3(normalized - normalizeHue_default(arr[idx - 1]));
836
- }).reduce((acc, curr) => {
837
- if (!acc.length || curr === void 0 || acc[acc.length - 1] === void 0) {
838
- acc.push(curr);
839
- return acc;
840
- }
841
- acc.push(curr + acc[acc.length - 1]);
842
- return acc;
843
- }, []);
844
- };
845
- const fixupHueShorter = (arr) => hue(arr, (d) => Math.abs(d) <= 180 ? d : d - 360 * Math.sign(d));
846
- const differenceHueSaturation = (std, smp) => {
847
- if (std.h === void 0 || smp.h === void 0 || !std.s || !smp.s) return 0;
848
- let std_h = normalizeHue_default(std.h);
849
- let smp_h = normalizeHue_default(smp.h);
850
- let dH = Math.sin((smp_h - std_h + 360) / 2 * Math.PI / 180);
851
- return 2 * Math.sqrt(std.s * smp.s) * dH;
852
- };
853
- const differenceHueNaive = (std, smp) => {
854
- if (std.h === void 0 || smp.h === void 0) return 0;
855
- let std_h = normalizeHue_default(std.h);
856
- let smp_h = normalizeHue_default(smp.h);
857
- if (Math.abs(smp_h - std_h) > 180) return std_h - (smp_h - 360 * Math.sign(smp_h - std_h));
858
- return smp_h - std_h;
859
- };
860
- const differenceHueChroma = (std, smp) => {
861
- if (std.h === void 0 || smp.h === void 0 || !std.c || !smp.c) return 0;
862
- let std_h = normalizeHue_default(std.h);
863
- let smp_h = normalizeHue_default(smp.h);
864
- let dH = Math.sin((smp_h - std_h + 360) / 2 * Math.PI / 180);
865
- return 2 * Math.sqrt(std.c * smp.c) * dH;
866
- };
867
- const averageAngle = (val) => {
868
- let sum = val.reduce((sum$1, val$1) => {
869
- if (val$1 !== void 0) {
870
- let rad = val$1 * Math.PI / 180;
871
- sum$1.sin += Math.sin(rad);
872
- sum$1.cos += Math.cos(rad);
873
- }
874
- return sum$1;
875
- }, {
876
- sin: 0,
877
- cos: 0
878
- });
879
- let angle = Math.atan2(sum.sin, sum.cos) * 180 / Math.PI;
880
- return angle < 0 ? 360 + angle : angle;
881
- };
882
- const definition$12 = {
883
- mode: "hsl",
884
- toMode: { rgb: convertHslToRgb },
885
- fromMode: { rgb: convertRgbToHsl },
886
- channels: [
887
- "h",
888
- "s",
889
- "l",
890
- "alpha"
891
- ],
892
- ranges: { h: [0, 360] },
893
- gamut: "rgb",
894
- parse: [parseHsl_default, parseHslLegacy_default],
895
- serialize: (c$1) => `hsl(${c$1.h !== void 0 ? c$1.h : "none"} ${c$1.s !== void 0 ? c$1.s * 100 + "%" : "none"} ${c$1.l !== void 0 ? c$1.l * 100 + "%" : "none"}${c$1.alpha < 1 ? ` / ${c$1.alpha}` : ""})`,
896
- interpolate: {
897
- h: {
898
- use: interpolatorLinear,
899
- fixup: fixupHueShorter
900
- },
901
- s: interpolatorLinear,
902
- l: interpolatorLinear,
903
- alpha: {
904
- use: interpolatorLinear,
905
- fixup: fixupAlpha
906
- }
907
- },
908
- difference: { h: differenceHueSaturation },
909
- average: { h: averageAngle }
910
- };
911
- var definition_default$1 = definition$12;
912
- function convertHsvToRgb({ h, s, v, alpha }) {
913
- h = normalizeHue_default(h !== void 0 ? h : 0);
914
- if (s === void 0) s = 0;
915
- if (v === void 0) v = 0;
916
- let f$1 = Math.abs(h / 60 % 2 - 1);
917
- let res;
918
- switch (Math.floor(h / 60)) {
919
- case 0:
920
- res = {
921
- r: v,
922
- g: v * (1 - s * f$1),
923
- b: v * (1 - s)
924
- };
925
- break;
926
- case 1:
927
- res = {
928
- r: v * (1 - s * f$1),
929
- g: v,
930
- b: v * (1 - s)
931
- };
932
- break;
933
- case 2:
934
- res = {
935
- r: v * (1 - s),
936
- g: v,
937
- b: v * (1 - s * f$1)
938
- };
939
- break;
940
- case 3:
941
- res = {
942
- r: v * (1 - s),
943
- g: v * (1 - s * f$1),
944
- b: v
945
- };
946
- break;
947
- case 4:
948
- res = {
949
- r: v * (1 - s * f$1),
950
- g: v * (1 - s),
951
- b: v
952
- };
953
- break;
954
- case 5:
955
- res = {
956
- r: v,
957
- g: v * (1 - s),
958
- b: v * (1 - s * f$1)
959
- };
960
- break;
961
- default: res = {
962
- r: v * (1 - s),
963
- g: v * (1 - s),
964
- b: v * (1 - s)
965
- };
966
- }
967
- res.mode = "rgb";
968
- if (alpha !== void 0) res.alpha = alpha;
969
- return res;
970
- }
971
- function convertRgbToHsv({ r: r$1, g, b, alpha }) {
972
- if (r$1 === void 0) r$1 = 0;
973
- if (g === void 0) g = 0;
974
- if (b === void 0) b = 0;
975
- let M = Math.max(r$1, g, b), m = Math.min(r$1, g, b);
976
- let res = {
977
- mode: "hsv",
978
- s: M === 0 ? 0 : 1 - m / M,
979
- v: M
980
- };
981
- if (M - m !== 0) res.h = (M === r$1 ? (g - b) / (M - m) + (g < b) * 6 : M === g ? (b - r$1) / (M - m) + 2 : (r$1 - g) / (M - m) + 4) * 60;
982
- if (alpha !== void 0) res.alpha = alpha;
983
- return res;
984
- }
985
- const definition$11 = {
986
- mode: "hsv",
987
- toMode: { rgb: convertHsvToRgb },
988
- parse: ["--hsv"],
989
- serialize: "--hsv",
990
- fromMode: { rgb: convertRgbToHsv },
991
- channels: [
992
- "h",
993
- "s",
994
- "v",
995
- "alpha"
996
- ],
997
- ranges: { h: [0, 360] },
998
- gamut: "rgb",
999
- interpolate: {
1000
- h: {
1001
- use: interpolatorLinear,
1002
- fixup: fixupHueShorter
1003
- },
1004
- s: interpolatorLinear,
1005
- v: interpolatorLinear,
1006
- alpha: {
1007
- use: interpolatorLinear,
1008
- fixup: fixupAlpha
1009
- }
1010
- },
1011
- difference: { h: differenceHueSaturation },
1012
- average: { h: averageAngle }
1013
- };
1014
- var definition_default$2 = definition$11;
1015
- function convertHwbToRgb({ h, w, b, alpha }) {
1016
- if (w === void 0) w = 0;
1017
- if (b === void 0) b = 0;
1018
- if (w + b > 1) {
1019
- let s = w + b;
1020
- w /= s;
1021
- b /= s;
1022
- }
1023
- return convertHsvToRgb({
1024
- h,
1025
- s: b === 1 ? 1 : 1 - w / (1 - b),
1026
- v: 1 - b,
1027
- alpha
1028
- });
1029
- }
1030
- function convertRgbToHwb(rgba) {
1031
- let hsv = convertRgbToHsv(rgba);
1032
- if (hsv === void 0) return void 0;
1033
- let s = hsv.s !== void 0 ? hsv.s : 0;
1034
- let v = hsv.v !== void 0 ? hsv.v : 0;
1035
- let res = {
1036
- mode: "hwb",
1037
- w: (1 - s) * v,
1038
- b: 1 - v
1039
- };
1040
- if (hsv.h !== void 0) res.h = hsv.h;
1041
- if (hsv.alpha !== void 0) res.alpha = hsv.alpha;
1042
- return res;
1043
- }
1044
- function ParseHwb(color, parsed) {
1045
- if (!parsed || parsed[0] !== "hwb") return void 0;
1046
- const res = { mode: "hwb" };
1047
- const [, h, w, b, alpha] = parsed;
1048
- if (h.type !== Tok.None) {
1049
- if (h.type === Tok.Percentage) return void 0;
1050
- res.h = h.value;
1051
- }
1052
- if (w.type !== Tok.None) {
1053
- if (w.type === Tok.Hue) return void 0;
1054
- res.w = w.value / 100;
1055
- }
1056
- if (b.type !== Tok.None) {
1057
- if (b.type === Tok.Hue) return void 0;
1058
- res.b = b.value / 100;
1059
- }
1060
- if (alpha.type !== Tok.None) res.alpha = Math.min(1, Math.max(0, alpha.type === Tok.Number ? alpha.value : alpha.value / 100));
1061
- return res;
1062
- }
1063
- var parseHwb_default = ParseHwb;
1064
- const definition$10 = {
1065
- mode: "hwb",
1066
- toMode: { rgb: convertHwbToRgb },
1067
- fromMode: { rgb: convertRgbToHwb },
1068
- channels: [
1069
- "h",
1070
- "w",
1071
- "b",
1072
- "alpha"
1073
- ],
1074
- ranges: { h: [0, 360] },
1075
- gamut: "rgb",
1076
- parse: [parseHwb_default],
1077
- serialize: (c$1) => `hwb(${c$1.h !== void 0 ? c$1.h : "none"} ${c$1.w !== void 0 ? c$1.w * 100 + "%" : "none"} ${c$1.b !== void 0 ? c$1.b * 100 + "%" : "none"}${c$1.alpha < 1 ? ` / ${c$1.alpha}` : ""})`,
1078
- interpolate: {
1079
- h: {
1080
- use: interpolatorLinear,
1081
- fixup: fixupHueShorter
1082
- },
1083
- w: interpolatorLinear,
1084
- b: interpolatorLinear,
1085
- alpha: {
1086
- use: interpolatorLinear,
1087
- fixup: fixupAlpha
1088
- }
1089
- },
1090
- difference: { h: differenceHueNaive },
1091
- average: { h: averageAngle }
1092
- };
1093
- var definition_default$3 = definition$10;
1094
- const k = Math.pow(29, 3) / Math.pow(3, 3);
1095
- const e = Math.pow(6, 3) / Math.pow(29, 3);
1096
- const D50 = {
1097
- X: .3457 / .3585,
1098
- Y: 1,
1099
- Z: .2958 / .3585
1100
- };
1101
- const D65 = {
1102
- X: .3127 / .329,
1103
- Y: 1,
1104
- Z: .3583 / .329
1105
- };
1106
- const k$1 = Math.pow(29, 3) / Math.pow(3, 3);
1107
- const e$1 = Math.pow(6, 3) / Math.pow(29, 3);
1108
- let fn = (v) => Math.pow(v, 3) > e ? Math.pow(v, 3) : (116 * v - 16) / k;
1109
- const convertLabToXyz50 = ({ l, a, b, alpha }) => {
1110
- if (l === void 0) l = 0;
1111
- if (a === void 0) a = 0;
1112
- if (b === void 0) b = 0;
1113
- let fy = (l + 16) / 116;
1114
- let fx = a / 500 + fy;
1115
- let fz = fy - b / 200;
1116
- let res = {
1117
- mode: "xyz50",
1118
- x: fn(fx) * D50.X,
1119
- y: fn(fy) * D50.Y,
1120
- z: fn(fz) * D50.Z
1121
- };
1122
- if (alpha !== void 0) res.alpha = alpha;
1123
- return res;
1124
- };
1125
- var convertLabToXyz50_default = convertLabToXyz50;
1126
- const convertXyz50ToRgb = ({ x, y, z, alpha }) => {
1127
- if (x === void 0) x = 0;
1128
- if (y === void 0) y = 0;
1129
- if (z === void 0) z = 0;
1130
- let res = convertLrgbToRgb_default({
1131
- r: x * 3.1341359569958707 - y * 1.6173863321612538 - .4906619460083532 * z,
1132
- g: x * -.978795502912089 + y * 1.916254567259524 + .03344273116131949 * z,
1133
- b: x * .07195537988411677 - y * .2289768264158322 + 1.405386058324125 * z
1134
- });
1135
- if (alpha !== void 0) res.alpha = alpha;
1136
- return res;
1137
- };
1138
- var convertXyz50ToRgb_default = convertXyz50ToRgb;
1139
- const convertLabToRgb = (lab) => convertXyz50ToRgb_default(convertLabToXyz50_default(lab));
1140
- var convertLabToRgb_default = convertLabToRgb;
1141
- const convertRgbToXyz50 = (rgb$2) => {
1142
- let { r: r$1, g, b, alpha } = convertRgbToLrgb_default(rgb$2);
1143
- let res = {
1144
- mode: "xyz50",
1145
- x: .436065742824811 * r$1 + .3851514688337912 * g + .14307845442264197 * b,
1146
- y: .22249319175623702 * r$1 + .7168870538238823 * g + .06061979053616537 * b,
1147
- z: .013923904500943465 * r$1 + .09708128566574634 * g + .7140993584005155 * b
1148
- };
1149
- if (alpha !== void 0) res.alpha = alpha;
1150
- return res;
1151
- };
1152
- var convertRgbToXyz50_default = convertRgbToXyz50;
1153
- const f = (value) => value > e ? Math.cbrt(value) : (k * value + 16) / 116;
1154
- const convertXyz50ToLab = ({ x, y, z, alpha }) => {
1155
- if (x === void 0) x = 0;
1156
- if (y === void 0) y = 0;
1157
- if (z === void 0) z = 0;
1158
- let f0 = f(x / D50.X);
1159
- let f1 = f(y / D50.Y);
1160
- let f2 = f(z / D50.Z);
1161
- let res = {
1162
- mode: "lab",
1163
- l: 116 * f1 - 16,
1164
- a: 500 * (f0 - f1),
1165
- b: 200 * (f1 - f2)
1166
- };
1167
- if (alpha !== void 0) res.alpha = alpha;
1168
- return res;
1169
- };
1170
- var convertXyz50ToLab_default = convertXyz50ToLab;
1171
- const convertRgbToLab = (rgb$2) => {
1172
- let res = convertXyz50ToLab_default(convertRgbToXyz50_default(rgb$2));
1173
- if (rgb$2.r === rgb$2.b && rgb$2.b === rgb$2.g) res.a = res.b = 0;
1174
- return res;
1175
- };
1176
- var convertRgbToLab_default = convertRgbToLab;
1177
- function parseLab(color, parsed) {
1178
- if (!parsed || parsed[0] !== "lab") return void 0;
1179
- const res = { mode: "lab" };
1180
- const [, l, a, b, alpha] = parsed;
1181
- if (l.type === Tok.Hue || a.type === Tok.Hue || b.type === Tok.Hue) return void 0;
1182
- if (l.type !== Tok.None) res.l = Math.min(Math.max(0, l.value), 100);
1183
- if (a.type !== Tok.None) res.a = a.type === Tok.Number ? a.value : a.value * 125 / 100;
1184
- if (b.type !== Tok.None) res.b = b.type === Tok.Number ? b.value : b.value * 125 / 100;
1185
- if (alpha.type !== Tok.None) res.alpha = Math.min(1, Math.max(0, alpha.type === Tok.Number ? alpha.value : alpha.value / 100));
1186
- return res;
1187
- }
1188
- var parseLab_default = parseLab;
1189
- const definition$9 = {
1190
- mode: "lab",
1191
- toMode: {
1192
- xyz50: convertLabToXyz50_default,
1193
- rgb: convertLabToRgb_default
1194
- },
1195
- fromMode: {
1196
- xyz50: convertXyz50ToLab_default,
1197
- rgb: convertRgbToLab_default
1198
- },
1199
- channels: [
1200
- "l",
1201
- "a",
1202
- "b",
1203
- "alpha"
1204
- ],
1205
- ranges: {
1206
- l: [0, 100],
1207
- a: [-100, 100],
1208
- b: [-100, 100]
1209
- },
1210
- parse: [parseLab_default],
1211
- serialize: (c$1) => `lab(${c$1.l !== void 0 ? c$1.l : "none"} ${c$1.a !== void 0 ? c$1.a : "none"} ${c$1.b !== void 0 ? c$1.b : "none"}${c$1.alpha < 1 ? ` / ${c$1.alpha}` : ""})`,
1212
- interpolate: {
1213
- l: interpolatorLinear,
1214
- a: interpolatorLinear,
1215
- b: interpolatorLinear,
1216
- alpha: {
1217
- use: interpolatorLinear,
1218
- fixup: fixupAlpha
1219
- }
1220
- }
1221
- };
1222
- var definition_default$4 = definition$9;
1223
- const convertLabToLch = ({ l, a, b, alpha }, mode = "lch") => {
1224
- if (a === void 0) a = 0;
1225
- if (b === void 0) b = 0;
1226
- let c$1 = Math.sqrt(a * a + b * b);
1227
- let res = {
1228
- mode,
1229
- l,
1230
- c: c$1
1231
- };
1232
- if (c$1) res.h = normalizeHue_default(Math.atan2(b, a) * 180 / Math.PI);
1233
- if (alpha !== void 0) res.alpha = alpha;
1234
- return res;
1235
- };
1236
- var convertLabToLch_default = convertLabToLch;
1237
- const convertLchToLab = ({ l, c: c$1, h, alpha }, mode = "lab") => {
1238
- if (h === void 0) h = 0;
1239
- let res = {
1240
- mode,
1241
- l,
1242
- a: c$1 ? c$1 * Math.cos(h / 180 * Math.PI) : 0,
1243
- b: c$1 ? c$1 * Math.sin(h / 180 * Math.PI) : 0
1244
- };
1245
- if (alpha !== void 0) res.alpha = alpha;
1246
- return res;
1247
- };
1248
- var convertLchToLab_default = convertLchToLab;
1249
- function parseLch(color, parsed) {
1250
- if (!parsed || parsed[0] !== "lch") return void 0;
1251
- const res = { mode: "lch" };
1252
- const [, l, c$1, h, alpha] = parsed;
1253
- if (l.type !== Tok.None) {
1254
- if (l.type === Tok.Hue) return void 0;
1255
- res.l = Math.min(Math.max(0, l.value), 100);
1256
- }
1257
- if (c$1.type !== Tok.None) res.c = Math.max(0, c$1.type === Tok.Number ? c$1.value : c$1.value * 150 / 100);
1258
- if (h.type !== Tok.None) {
1259
- if (h.type === Tok.Percentage) return void 0;
1260
- res.h = h.value;
1261
- }
1262
- if (alpha.type !== Tok.None) res.alpha = Math.min(1, Math.max(0, alpha.type === Tok.Number ? alpha.value : alpha.value / 100));
1263
- return res;
1264
- }
1265
- var parseLch_default = parseLch;
1266
- const definition$8 = {
1267
- mode: "lch",
1268
- toMode: {
1269
- lab: convertLchToLab_default,
1270
- rgb: (c$1) => convertLabToRgb_default(convertLchToLab_default(c$1))
1271
- },
1272
- fromMode: {
1273
- rgb: (c$1) => convertLabToLch_default(convertRgbToLab_default(c$1)),
1274
- lab: convertLabToLch_default
1275
- },
1276
- channels: [
1277
- "l",
1278
- "c",
1279
- "h",
1280
- "alpha"
1281
- ],
1282
- ranges: {
1283
- l: [0, 100],
1284
- c: [0, 150],
1285
- h: [0, 360]
1286
- },
1287
- parse: [parseLch_default],
1288
- serialize: (c$1) => `lch(${c$1.l !== void 0 ? c$1.l : "none"} ${c$1.c !== void 0 ? c$1.c : "none"} ${c$1.h !== void 0 ? c$1.h : "none"}${c$1.alpha < 1 ? ` / ${c$1.alpha}` : ""})`,
1289
- interpolate: {
1290
- h: {
1291
- use: interpolatorLinear,
1292
- fixup: fixupHueShorter
1293
- },
1294
- c: interpolatorLinear,
1295
- l: interpolatorLinear,
1296
- alpha: {
1297
- use: interpolatorLinear,
1298
- fixup: fixupAlpha
1299
- }
1300
- },
1301
- difference: { h: differenceHueChroma },
1302
- average: { h: averageAngle }
1303
- };
1304
- var definition_default$5 = definition$8;
1305
- const definition$7 = {
1306
- ...definition_default$12,
1307
- mode: "lrgb",
1308
- toMode: { rgb: convertLrgbToRgb_default },
1309
- fromMode: { rgb: convertRgbToLrgb_default },
1310
- parse: ["srgb-linear"],
1311
- serialize: "srgb-linear"
1312
- };
1313
- var definition_default$6 = definition$7;
1314
- const convertOklabToLrgb = ({ l, a, b, alpha }) => {
1315
- if (l === void 0) l = 0;
1316
- if (a === void 0) a = 0;
1317
- if (b === void 0) b = 0;
1318
- let L = Math.pow(l * .9999999984505198 + .39633779217376786 * a + .2158037580607588 * b, 3);
1319
- let M = Math.pow(l * 1.0000000088817609 - .10556134232365635 * a - .06385417477170591 * b, 3);
1320
- let S = Math.pow(l * 1.0000000546724108 - .08948418209496575 * a - 1.2914855378640917 * b, 3);
1321
- let res = {
1322
- mode: "lrgb",
1323
- r: 4.076741661347994 * L - 3.307711590408193 * M + .230969928729428 * S,
1324
- g: -1.2684380040921763 * L + 2.6097574006633715 * M - .3413193963102197 * S,
1325
- b: -.004196086541837188 * L - .7034186144594493 * M + 1.7076147009309444 * S
1326
- };
1327
- if (alpha !== void 0) res.alpha = alpha;
1328
- return res;
1329
- };
1330
- var convertOklabToLrgb_default = convertOklabToLrgb;
1331
- const convertLrgbToOklab = ({ r: r$1, g, b, alpha }) => {
1332
- if (r$1 === void 0) r$1 = 0;
1333
- if (g === void 0) g = 0;
1334
- if (b === void 0) b = 0;
1335
- let L = Math.cbrt(.41222147079999993 * r$1 + .5363325363 * g + .0514459929 * b);
1336
- let M = Math.cbrt(.2119034981999999 * r$1 + .6806995450999999 * g + .1073969566 * b);
1337
- let S = Math.cbrt(.08830246189999998 * r$1 + .2817188376 * g + .6299787005000002 * b);
1338
- let res = {
1339
- mode: "oklab",
1340
- l: .2104542553 * L + .793617785 * M - .0040720468 * S,
1341
- a: 1.9779984951 * L - 2.428592205 * M + .4505937099 * S,
1342
- b: .0259040371 * L + .7827717662 * M - .808675766 * S
1343
- };
1344
- if (alpha !== void 0) res.alpha = alpha;
1345
- return res;
1346
- };
1347
- var convertLrgbToOklab_default = convertLrgbToOklab;
1348
- const convertRgbToOklab = (rgb$2) => {
1349
- let res = convertLrgbToOklab_default(convertRgbToLrgb_default(rgb$2));
1350
- if (rgb$2.r === rgb$2.b && rgb$2.b === rgb$2.g) res.a = res.b = 0;
1351
- return res;
1352
- };
1353
- var convertRgbToOklab_default = convertRgbToOklab;
1354
- const convertOklabToRgb = (c$1) => convertLrgbToRgb_default(convertOklabToLrgb_default(c$1));
1355
- var convertOklabToRgb_default = convertOklabToRgb;
1356
- function parseOklab(color, parsed) {
1357
- if (!parsed || parsed[0] !== "oklab") return void 0;
1358
- const res = { mode: "oklab" };
1359
- const [, l, a, b, alpha] = parsed;
1360
- if (l.type === Tok.Hue || a.type === Tok.Hue || b.type === Tok.Hue) return void 0;
1361
- if (l.type !== Tok.None) res.l = Math.min(Math.max(0, l.type === Tok.Number ? l.value : l.value / 100), 1);
1362
- if (a.type !== Tok.None) res.a = a.type === Tok.Number ? a.value : a.value * .4 / 100;
1363
- if (b.type !== Tok.None) res.b = b.type === Tok.Number ? b.value : b.value * .4 / 100;
1364
- if (alpha.type !== Tok.None) res.alpha = Math.min(1, Math.max(0, alpha.type === Tok.Number ? alpha.value : alpha.value / 100));
1365
- return res;
1366
- }
1367
- var parseOklab_default = parseOklab;
1368
- const definition$6 = {
1369
- ...definition_default$4,
1370
- mode: "oklab",
1371
- toMode: {
1372
- lrgb: convertOklabToLrgb_default,
1373
- rgb: convertOklabToRgb_default
1374
- },
1375
- fromMode: {
1376
- lrgb: convertLrgbToOklab_default,
1377
- rgb: convertRgbToOklab_default
1378
- },
1379
- ranges: {
1380
- l: [0, 1],
1381
- a: [-.4, .4],
1382
- b: [-.4, .4]
1383
- },
1384
- parse: [parseOklab_default],
1385
- serialize: (c$1) => `oklab(${c$1.l !== void 0 ? c$1.l : "none"} ${c$1.a !== void 0 ? c$1.a : "none"} ${c$1.b !== void 0 ? c$1.b : "none"}${c$1.alpha < 1 ? ` / ${c$1.alpha}` : ""})`
1386
- };
1387
- var definition_default$7 = definition$6;
1388
- function parseOklch(color, parsed) {
1389
- if (!parsed || parsed[0] !== "oklch") return void 0;
1390
- const res = { mode: "oklch" };
1391
- const [, l, c$1, h, alpha] = parsed;
1392
- if (l.type !== Tok.None) {
1393
- if (l.type === Tok.Hue) return void 0;
1394
- res.l = Math.min(Math.max(0, l.type === Tok.Number ? l.value : l.value / 100), 1);
1395
- }
1396
- if (c$1.type !== Tok.None) res.c = Math.max(0, c$1.type === Tok.Number ? c$1.value : c$1.value * .4 / 100);
1397
- if (h.type !== Tok.None) {
1398
- if (h.type === Tok.Percentage) return void 0;
1399
- res.h = h.value;
1400
- }
1401
- if (alpha.type !== Tok.None) res.alpha = Math.min(1, Math.max(0, alpha.type === Tok.Number ? alpha.value : alpha.value / 100));
1402
- return res;
1403
- }
1404
- var parseOklch_default = parseOklch;
1405
- const definition$5 = {
1406
- ...definition_default$5,
1407
- mode: "oklch",
1408
- toMode: {
1409
- oklab: (c$1) => convertLchToLab_default(c$1, "oklab"),
1410
- rgb: (c$1) => convertOklabToRgb_default(convertLchToLab_default(c$1, "oklab"))
1411
- },
1412
- fromMode: {
1413
- rgb: (c$1) => convertLabToLch_default(convertRgbToOklab_default(c$1), "oklch"),
1414
- oklab: (c$1) => convertLabToLch_default(c$1, "oklch")
1415
- },
1416
- parse: [parseOklch_default],
1417
- serialize: (c$1) => `oklch(${c$1.l !== void 0 ? c$1.l : "none"} ${c$1.c !== void 0 ? c$1.c : "none"} ${c$1.h !== void 0 ? c$1.h : "none"}${c$1.alpha < 1 ? ` / ${c$1.alpha}` : ""})`,
1418
- ranges: {
1419
- l: [0, 1],
1420
- c: [0, .4],
1421
- h: [0, 360]
1422
- }
1423
- };
1424
- var definition_default$8 = definition$5;
1425
- const convertP3ToXyz65 = (rgb$2) => {
1426
- let { r: r$1, g, b, alpha } = convertRgbToLrgb_default(rgb$2);
1427
- let res = {
1428
- mode: "xyz65",
1429
- x: .486570948648216 * r$1 + .265667693169093 * g + .1982172852343625 * b,
1430
- y: .2289745640697487 * r$1 + .6917385218365062 * g + .079286914093745 * b,
1431
- z: 0 * r$1 + .0451133818589026 * g + 1.043944368900976 * b
1432
- };
1433
- if (alpha !== void 0) res.alpha = alpha;
1434
- return res;
1435
- };
1436
- var convertP3ToXyz65_default = convertP3ToXyz65;
1437
- const convertXyz65ToP3 = ({ x, y, z, alpha }) => {
1438
- if (x === void 0) x = 0;
1439
- if (y === void 0) y = 0;
1440
- if (z === void 0) z = 0;
1441
- let res = convertLrgbToRgb_default({
1442
- r: x * 2.4934969119414263 - y * .9313836179191242 - .402710784450717 * z,
1443
- g: x * -.8294889695615749 + y * 1.7626640603183465 + .0236246858419436 * z,
1444
- b: x * .0358458302437845 - y * .0761723892680418 + .9568845240076871 * z
1445
- }, "p3");
1446
- if (alpha !== void 0) res.alpha = alpha;
1447
- return res;
1448
- };
1449
- var convertXyz65ToP3_default = convertXyz65ToP3;
1450
- const definition$4 = {
1451
- ...definition_default$12,
1452
- mode: "p3",
1453
- parse: ["display-p3"],
1454
- serialize: "display-p3",
1455
- fromMode: {
1456
- rgb: (color) => convertXyz65ToP3_default(convertRgbToXyz65_default(color)),
1457
- xyz65: convertXyz65ToP3_default
1458
- },
1459
- toMode: {
1460
- rgb: (color) => convertXyz65ToRgb_default(convertP3ToXyz65_default(color)),
1461
- xyz65: convertP3ToXyz65_default
1462
- }
1463
- };
1464
- var definition_default$9 = definition$4;
1465
- const gamma$1 = (v) => {
1466
- let abs = Math.abs(v);
1467
- if (abs >= 1 / 512) return Math.sign(v) * Math.pow(abs, 1 / 1.8);
1468
- return 16 * v;
1469
- };
1470
- const convertXyz50ToProphoto = ({ x, y, z, alpha }) => {
1471
- if (x === void 0) x = 0;
1472
- if (y === void 0) y = 0;
1473
- if (z === void 0) z = 0;
1474
- let res = {
1475
- mode: "prophoto",
1476
- r: gamma$1(x * 1.3457868816471585 - y * .2555720873797946 - .0511018649755453 * z),
1477
- g: gamma$1(x * -.5446307051249019 + y * 1.5082477428451466 + .0205274474364214 * z),
1478
- b: gamma$1(x * 0 + y * 0 + 1.2119675456389452 * z)
1479
- };
1480
- if (alpha !== void 0) res.alpha = alpha;
1481
- return res;
1482
- };
1483
- var convertXyz50ToProphoto_default = convertXyz50ToProphoto;
1484
- const linearize$1 = (v = 0) => {
1485
- let abs = Math.abs(v);
1486
- if (abs >= 16 / 512) return Math.sign(v) * Math.pow(abs, 1.8);
1487
- return v / 16;
1488
- };
1489
- const convertProphotoToXyz50 = (prophoto) => {
1490
- let r$1 = linearize$1(prophoto.r);
1491
- let g = linearize$1(prophoto.g);
1492
- let b = linearize$1(prophoto.b);
1493
- let res = {
1494
- mode: "xyz50",
1495
- x: .7977666449006423 * r$1 + .1351812974005331 * g + .0313477341283922 * b,
1496
- y: .2880748288194013 * r$1 + .7118352342418731 * g + 899369387256e-16 * b,
1497
- z: 0 * r$1 + 0 * g + .8251046025104602 * b
1498
- };
1499
- if (prophoto.alpha !== void 0) res.alpha = prophoto.alpha;
1500
- return res;
1501
- };
1502
- var convertProphotoToXyz50_default = convertProphotoToXyz50;
1503
- const definition$3 = {
1504
- ...definition_default$12,
1505
- mode: "prophoto",
1506
- parse: ["prophoto-rgb"],
1507
- serialize: "prophoto-rgb",
1508
- fromMode: {
1509
- xyz50: convertXyz50ToProphoto_default,
1510
- rgb: (color) => convertXyz50ToProphoto_default(convertRgbToXyz50_default(color))
1511
- },
1512
- toMode: {
1513
- xyz50: convertProphotoToXyz50_default,
1514
- rgb: (color) => convertXyz50ToRgb_default(convertProphotoToXyz50_default(color))
1515
- }
1516
- };
1517
- var definition_default$10 = definition$3;
1518
- const α$1 = 1.09929682680944;
1519
- const β$1 = .018053968510807;
1520
- const gamma = (v) => {
1521
- const abs = Math.abs(v);
1522
- if (abs > β$1) return (Math.sign(v) || 1) * (α$1 * Math.pow(abs, .45) - (α$1 - 1));
1523
- return 4.5 * v;
1524
- };
1525
- const convertXyz65ToRec2020 = ({ x, y, z, alpha }) => {
1526
- if (x === void 0) x = 0;
1527
- if (y === void 0) y = 0;
1528
- if (z === void 0) z = 0;
1529
- let res = {
1530
- mode: "rec2020",
1531
- r: gamma(x * 1.7166511879712683 - y * .3556707837763925 - .2533662813736599 * z),
1532
- g: gamma(x * -.6666843518324893 + y * 1.6164812366349395 + .0157685458139111 * z),
1533
- b: gamma(x * .0176398574453108 - y * .0427706132578085 + .9421031212354739 * z)
1534
- };
1535
- if (alpha !== void 0) res.alpha = alpha;
1536
- return res;
1537
- };
1538
- var convertXyz65ToRec2020_default = convertXyz65ToRec2020;
1539
- const α = 1.09929682680944;
1540
- const β = .018053968510807;
1541
- const linearize = (v = 0) => {
1542
- let abs = Math.abs(v);
1543
- if (abs < β * 4.5) return v / 4.5;
1544
- return (Math.sign(v) || 1) * Math.pow((abs + α - 1) / α, 1 / .45);
1545
- };
1546
- const convertRec2020ToXyz65 = (rec2020) => {
1547
- let r$1 = linearize(rec2020.r);
1548
- let g = linearize(rec2020.g);
1549
- let b = linearize(rec2020.b);
1550
- let res = {
1551
- mode: "xyz65",
1552
- x: .6369580483012911 * r$1 + .1446169035862083 * g + .1688809751641721 * b,
1553
- y: .262700212011267 * r$1 + .6779980715188708 * g + .059301716469862 * b,
1554
- z: 0 * r$1 + .0280726930490874 * g + 1.0609850577107909 * b
1555
- };
1556
- if (rec2020.alpha !== void 0) res.alpha = rec2020.alpha;
1557
- return res;
1558
- };
1559
- var convertRec2020ToXyz65_default = convertRec2020ToXyz65;
1560
- const definition$2 = {
1561
- ...definition_default$12,
1562
- mode: "rec2020",
1563
- fromMode: {
1564
- xyz65: convertXyz65ToRec2020_default,
1565
- rgb: (color) => convertXyz65ToRec2020_default(convertRgbToXyz65_default(color))
1566
- },
1567
- toMode: {
1568
- xyz65: convertRec2020ToXyz65_default,
1569
- rgb: (color) => convertXyz65ToRgb_default(convertRec2020ToXyz65_default(color))
1570
- },
1571
- parse: ["rec2020"],
1572
- serialize: "rec2020"
1573
- };
1574
- var definition_default$11 = definition$2;
1575
- const definition$1 = {
1576
- mode: "xyz50",
1577
- parse: ["xyz-d50"],
1578
- serialize: "xyz-d50",
1579
- toMode: {
1580
- rgb: convertXyz50ToRgb_default,
1581
- lab: convertXyz50ToLab_default
1582
- },
1583
- fromMode: {
1584
- rgb: convertRgbToXyz50_default,
1585
- lab: convertLabToXyz50_default
1586
- },
1587
- channels: [
1588
- "x",
1589
- "y",
1590
- "z",
1591
- "alpha"
1592
- ],
1593
- ranges: {
1594
- x: [0, .964],
1595
- y: [0, .999],
1596
- z: [0, .825]
1597
- },
1598
- interpolate: {
1599
- x: interpolatorLinear,
1600
- y: interpolatorLinear,
1601
- z: interpolatorLinear,
1602
- alpha: {
1603
- use: interpolatorLinear,
1604
- fixup: fixupAlpha
1605
- }
1606
- }
1607
- };
1608
- var definition_default$13 = definition$1;
1609
- const convertXyz65ToXyz50 = (xyz65) => {
1610
- let { x, y, z, alpha } = xyz65;
1611
- if (x === void 0) x = 0;
1612
- if (y === void 0) y = 0;
1613
- if (z === void 0) z = 0;
1614
- let res = {
1615
- mode: "xyz50",
1616
- x: 1.0479298208405488 * x + .0229467933410191 * y - .0501922295431356 * z,
1617
- y: .0296278156881593 * x + .990434484573249 * y - .0170738250293851 * z,
1618
- z: -.0092430581525912 * x + .0150551448965779 * y + .7518742899580008 * z
1619
- };
1620
- if (alpha !== void 0) res.alpha = alpha;
1621
- return res;
1622
- };
1623
- var convertXyz65ToXyz50_default = convertXyz65ToXyz50;
1624
- const convertXyz50ToXyz65 = (xyz50) => {
1625
- let { x, y, z, alpha } = xyz50;
1626
- if (x === void 0) x = 0;
1627
- if (y === void 0) y = 0;
1628
- if (z === void 0) z = 0;
1629
- let res = {
1630
- mode: "xyz65",
1631
- x: .9554734527042182 * x - .0230985368742614 * y + .0632593086610217 * z,
1632
- y: -.0283697069632081 * x + 1.0099954580058226 * y + .021041398966943 * z,
1633
- z: .0123140016883199 * x - .0205076964334779 * y + 1.3303659366080753 * z
1634
- };
1635
- if (alpha !== void 0) res.alpha = alpha;
1636
- return res;
1637
- };
1638
- var convertXyz50ToXyz65_default = convertXyz50ToXyz65;
1639
- const definition = {
1640
- mode: "xyz65",
1641
- toMode: {
1642
- rgb: convertXyz65ToRgb_default,
1643
- xyz50: convertXyz65ToXyz50_default
1644
- },
1645
- fromMode: {
1646
- rgb: convertRgbToXyz65_default,
1647
- xyz50: convertXyz50ToXyz65_default
1648
- },
1649
- ranges: {
1650
- x: [0, .95],
1651
- y: [0, 1],
1652
- z: [0, 1.088]
1653
- },
1654
- channels: [
1655
- "x",
1656
- "y",
1657
- "z",
1658
- "alpha"
1659
- ],
1660
- parse: ["xyz", "xyz-d65"],
1661
- serialize: "xyz-d65",
1662
- interpolate: {
1663
- x: interpolatorLinear,
1664
- y: interpolatorLinear,
1665
- z: interpolatorLinear,
1666
- alpha: {
1667
- use: interpolatorLinear,
1668
- fixup: fixupAlpha
1669
- }
1670
- }
1671
- };
1672
- var definition_default$14 = definition;
1673
- const r = (value, precision) => Math.round(value * (precision = Math.pow(10, precision))) / precision;
1674
- const round = (precision = 4) => (value) => typeof value === "number" ? r(value, precision) : value;
1675
- var round_default = round;
1676
- let twoDecimals = round_default(2);
1677
- const rgb$1 = converter_default("rgb");
1678
- const hsl = converter_default("hsl");
1679
- const rgb = converter_default("rgb");
1680
- const converters = {
1681
- a98: useMode(definition_default),
1682
- hsl: useMode(definition_default$1),
1683
- hsv: useMode(definition_default$2),
1684
- hwb: useMode(definition_default$3),
1685
- lab: useMode(definition_default$4),
1686
- lch: useMode(definition_default$5),
1687
- lrgb: useMode(definition_default$6),
1688
- oklab: useMode(definition_default$7),
1689
- oklch: useMode(definition_default$8),
1690
- p3: useMode(definition_default$9),
1691
- prophoto: useMode(definition_default$10),
1692
- rec2020: useMode(definition_default$11),
1693
- rgb: useMode(definition_default$12),
1694
- xyz50: useMode(definition_default$13),
1695
- xyz65: useMode(definition_default$14)
1696
- };
1697
- const FORMAT_ID$1 = "css";
1
+ import { FORMAT_ID as FORMAT_ID$1 } from "@terrazzo/plugin-css";
1698
2
 
1699
- //#endregion
1700
3
  //#region ../../node_modules/.pnpm/scule@1.3.0/node_modules/scule/dist/index.mjs
1701
4
  const NUMBER_CHAR_RE = /\d/;
1702
5
  const STR_SPLITTERS = [
@@ -1770,9 +73,9 @@ const VE = {
1770
73
  createThemeContract: "createThemeContract",
1771
74
  createGlobalThemeContract: "createGlobalThemeContract"
1772
75
  };
1773
- function isJSIdent(ident$1) {
1774
- if (typeof ident$1 !== "string") return false;
1775
- return /^[A-Za-z$_][A-Za-z0-9_$]*$/.test(ident$1);
76
+ function isJSIdent(ident) {
77
+ if (typeof ident !== "string") return false;
78
+ return /^[A-Za-z$_][A-Za-z0-9_$]*$/.test(ident);
1776
79
  }
1777
80
  /** Generate createThemeContract() or createGlobalThemeContract() */
1778
81
  function generateThemeContract({ tokens, globalThemeContract }) {
@@ -1790,9 +93,9 @@ function generateThemeContract({ tokens, globalThemeContract }) {
1790
93
  if ("." in token.value) node[name] = globalThemeContract ? cssName : null;
1791
94
  else {
1792
95
  node[name] = {};
1793
- for (const k$2 of Object.keys(token.value)) {
1794
- if (k$2 === "__cssName") continue;
1795
- node[name][camelCase(k$2)] = globalThemeContract ? `${cssName}-${k$2}` : null;
96
+ for (const k of Object.keys(token.value)) {
97
+ if (k === "__cssName") continue;
98
+ node[name][camelCase(k)] = globalThemeContract ? `${cssName}-${k}` : null;
1796
99
  }
1797
100
  }
1798
101
  }
@@ -1812,17 +115,17 @@ function generateTheme({ name, namingPattern, tokens, selector, globalTheme = fa
1812
115
  if (token.type === "MULTI_VALUE") if ("." in token.value) node[name$1] = serializeValue(token.value["."], tokens);
1813
116
  else {
1814
117
  node[name$1] = {};
1815
- for (const [k$2, v] of Object.entries(token.value)) {
1816
- if (k$2 === "__cssName") continue;
1817
- node[name$1][camelCase(k$2)] = serializeValue(v, tokens);
118
+ for (const [k, v] of Object.entries(token.value)) {
119
+ if (k === "__cssName") continue;
120
+ node[name$1][camelCase(k)] = serializeValue(v, tokens);
1818
121
  }
1819
122
  }
1820
123
  else node[name$1] = serializeValue(token.value, tokens);
1821
124
  }
1822
- const ident$1 = globalTheme ? `${name}` : `[${namingPattern(name)[0]}, ${namingPattern(name)[1]}]`;
125
+ const ident = globalTheme ? `${name}` : `[${namingPattern(name)[0]}, ${namingPattern(name)[1]}]`;
1823
126
  const prefix = globalTheme ? `${VE.createGlobalTheme}(${JSON.stringify(selector)}, ${THEME_EXPORT}, ` : `${VE.createTheme}(${THEME_EXPORT}, `;
1824
127
  const rawTokens = JSON.stringify(tokensObj, void 0, 2);
1825
- return `export const ${ident$1} = ${prefix}${deserializeAllValues(rawTokens)});\n`;
128
+ return `export const ${ident} = ${prefix}${deserializeAllValues(rawTokens)});\n`;
1826
129
  }
1827
130
  const IDENT_ESCAPE = "__ident__";
1828
131
  /** Encode an alias to a Vanilla Extract token inside a JSON array */
@@ -1861,7 +164,7 @@ function vanillaExtractPlugin(options) {
1861
164
  ...options.globalThemes
1862
165
  };
1863
166
  if (!Object.keys(allThemes).length) throw new Error("Must generate at least one theme in \"themes\" or \"globalThemes\".");
1864
- for (const k$2 of Object.keys(allThemes)) if (!isJSIdent(k$2)) throw new Error(`${JSON.stringify(k$2)} must be a valid JS identifier. Prefer camelCase so it may be used in JS.`);
167
+ for (const k of Object.keys(allThemes)) if (!isJSIdent(k)) throw new Error(`${JSON.stringify(k)} must be a valid JS identifier. Prefer camelCase so it may be used in JS.`);
1865
168
  },
1866
169
  async transform({ getTransforms, setTransform }) {
1867
170
  for (const token of getTransforms({ format: FORMAT_ID$1 })) {