@flux-ui/dashboard 3.0.0-next.26 → 3.0.0-next.29

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,81 +1,3217 @@
1
- import { Fragment, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, guardReactiveProps, inject, mergeProps, normalizeClass, normalizeProps, openBlock, provide, ref, renderList, renderSlot, resolveComponent, toDisplayString, unref, useSlots, watch, withCtx } from "vue";
1
+ import { Fragment, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, customRef, defineComponent, guardReactiveProps, inject, markRaw, mergeProps, normalizeClass, normalizeProps, openBlock, provide, ref, renderList, renderSlot, resolveComponent, toDisplayString, unref, useSlots, watch, withCtx } from "vue";
2
2
  import { DateTime } from "luxon";
3
3
  import { FluxIcon, FluxMenuItem, FluxSpacer } from "@flux-ui/components";
4
+ function x$1(e) {
5
+ let t = {};
6
+ do {
7
+ if (e.name === ``) break;
8
+ for (let [n, r] of Object.entries(Object.getOwnPropertyDescriptors(e.prototype))) [
9
+ `constructor`,
10
+ `clone`,
11
+ `toJSON`
12
+ ].includes(n) || !r.get && !r.set || (t[n] = r);
13
+ } while (e = Object.getPrototypeOf(e));
14
+ return t;
15
+ }
16
+ function G$1(e, t, n) {
17
+ e.prototype[t] = n;
18
+ }
19
+ function K$1(e, t, n) {
20
+ Object.defineProperty(e, t, { value: n });
21
+ }
22
+ var parseNumber = (color, len) => {
23
+ if (typeof color !== "number") return;
24
+ if (len === 3) return {
25
+ mode: "rgb",
26
+ r: (color >> 8 & 15 | color >> 4 & 240) / 255,
27
+ g: (color >> 4 & 15 | color & 240) / 255,
28
+ b: (color & 15 | color << 4 & 240) / 255
29
+ };
30
+ if (len === 4) return {
31
+ mode: "rgb",
32
+ r: (color >> 12 & 15 | color >> 8 & 240) / 255,
33
+ g: (color >> 8 & 15 | color >> 4 & 240) / 255,
34
+ b: (color >> 4 & 15 | color & 240) / 255,
35
+ alpha: (color & 15 | color << 4 & 240) / 255
36
+ };
37
+ if (len === 6) return {
38
+ mode: "rgb",
39
+ r: (color >> 16 & 255) / 255,
40
+ g: (color >> 8 & 255) / 255,
41
+ b: (color & 255) / 255
42
+ };
43
+ if (len === 8) return {
44
+ mode: "rgb",
45
+ r: (color >> 24 & 255) / 255,
46
+ g: (color >> 16 & 255) / 255,
47
+ b: (color >> 8 & 255) / 255,
48
+ alpha: (color & 255) / 255
49
+ };
50
+ };
51
+ var named = {
52
+ aliceblue: 15792383,
53
+ antiquewhite: 16444375,
54
+ aqua: 65535,
55
+ aquamarine: 8388564,
56
+ azure: 15794175,
57
+ beige: 16119260,
58
+ bisque: 16770244,
59
+ black: 0,
60
+ blanchedalmond: 16772045,
61
+ blue: 255,
62
+ blueviolet: 9055202,
63
+ brown: 10824234,
64
+ burlywood: 14596231,
65
+ cadetblue: 6266528,
66
+ chartreuse: 8388352,
67
+ chocolate: 13789470,
68
+ coral: 16744272,
69
+ cornflowerblue: 6591981,
70
+ cornsilk: 16775388,
71
+ crimson: 14423100,
72
+ cyan: 65535,
73
+ darkblue: 139,
74
+ darkcyan: 35723,
75
+ darkgoldenrod: 12092939,
76
+ darkgray: 11119017,
77
+ darkgreen: 25600,
78
+ darkgrey: 11119017,
79
+ darkkhaki: 12433259,
80
+ darkmagenta: 9109643,
81
+ darkolivegreen: 5597999,
82
+ darkorange: 16747520,
83
+ darkorchid: 10040012,
84
+ darkred: 9109504,
85
+ darksalmon: 15308410,
86
+ darkseagreen: 9419919,
87
+ darkslateblue: 4734347,
88
+ darkslategray: 3100495,
89
+ darkslategrey: 3100495,
90
+ darkturquoise: 52945,
91
+ darkviolet: 9699539,
92
+ deeppink: 16716947,
93
+ deepskyblue: 49151,
94
+ dimgray: 6908265,
95
+ dimgrey: 6908265,
96
+ dodgerblue: 2003199,
97
+ firebrick: 11674146,
98
+ floralwhite: 16775920,
99
+ forestgreen: 2263842,
100
+ fuchsia: 16711935,
101
+ gainsboro: 14474460,
102
+ ghostwhite: 16316671,
103
+ gold: 16766720,
104
+ goldenrod: 14329120,
105
+ gray: 8421504,
106
+ green: 32768,
107
+ greenyellow: 11403055,
108
+ grey: 8421504,
109
+ honeydew: 15794160,
110
+ hotpink: 16738740,
111
+ indianred: 13458524,
112
+ indigo: 4915330,
113
+ ivory: 16777200,
114
+ khaki: 15787660,
115
+ lavender: 15132410,
116
+ lavenderblush: 16773365,
117
+ lawngreen: 8190976,
118
+ lemonchiffon: 16775885,
119
+ lightblue: 11393254,
120
+ lightcoral: 15761536,
121
+ lightcyan: 14745599,
122
+ lightgoldenrodyellow: 16448210,
123
+ lightgray: 13882323,
124
+ lightgreen: 9498256,
125
+ lightgrey: 13882323,
126
+ lightpink: 16758465,
127
+ lightsalmon: 16752762,
128
+ lightseagreen: 2142890,
129
+ lightskyblue: 8900346,
130
+ lightslategray: 7833753,
131
+ lightslategrey: 7833753,
132
+ lightsteelblue: 11584734,
133
+ lightyellow: 16777184,
134
+ lime: 65280,
135
+ limegreen: 3329330,
136
+ linen: 16445670,
137
+ magenta: 16711935,
138
+ maroon: 8388608,
139
+ mediumaquamarine: 6737322,
140
+ mediumblue: 205,
141
+ mediumorchid: 12211667,
142
+ mediumpurple: 9662683,
143
+ mediumseagreen: 3978097,
144
+ mediumslateblue: 8087790,
145
+ mediumspringgreen: 64154,
146
+ mediumturquoise: 4772300,
147
+ mediumvioletred: 13047173,
148
+ midnightblue: 1644912,
149
+ mintcream: 16121850,
150
+ mistyrose: 16770273,
151
+ moccasin: 16770229,
152
+ navajowhite: 16768685,
153
+ navy: 128,
154
+ oldlace: 16643558,
155
+ olive: 8421376,
156
+ olivedrab: 7048739,
157
+ orange: 16753920,
158
+ orangered: 16729344,
159
+ orchid: 14315734,
160
+ palegoldenrod: 15657130,
161
+ palegreen: 10025880,
162
+ paleturquoise: 11529966,
163
+ palevioletred: 14381203,
164
+ papayawhip: 16773077,
165
+ peachpuff: 16767673,
166
+ peru: 13468991,
167
+ pink: 16761035,
168
+ plum: 14524637,
169
+ powderblue: 11591910,
170
+ purple: 8388736,
171
+ rebeccapurple: 6697881,
172
+ red: 16711680,
173
+ rosybrown: 12357519,
174
+ royalblue: 4286945,
175
+ saddlebrown: 9127187,
176
+ salmon: 16416882,
177
+ sandybrown: 16032864,
178
+ seagreen: 3050327,
179
+ seashell: 16774638,
180
+ sienna: 10506797,
181
+ silver: 12632256,
182
+ skyblue: 8900331,
183
+ slateblue: 6970061,
184
+ slategray: 7372944,
185
+ slategrey: 7372944,
186
+ snow: 16775930,
187
+ springgreen: 65407,
188
+ steelblue: 4620980,
189
+ tan: 13808780,
190
+ teal: 32896,
191
+ thistle: 14204888,
192
+ tomato: 16737095,
193
+ turquoise: 4251856,
194
+ violet: 15631086,
195
+ wheat: 16113331,
196
+ white: 16777215,
197
+ whitesmoke: 16119285,
198
+ yellow: 16776960,
199
+ yellowgreen: 10145074
200
+ };
201
+ var parseNamed = (color) => {
202
+ return parseNumber(named[color.toLowerCase()], 6);
203
+ };
204
+ var hex = /^#?([0-9a-f]{8}|[0-9a-f]{6}|[0-9a-f]{4}|[0-9a-f]{3})$/i;
205
+ var parseHex = (color) => {
206
+ let match;
207
+ return (match = color.match(hex)) ? parseNumber(parseInt(match[1], 16), match[1].length) : void 0;
208
+ };
209
+ const num$1 = "([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)";
210
+ `${num$1}`;
211
+ const per = `${num$1}%`;
212
+ `${num$1}`;
213
+ const num_per = `(?:${num$1}%|${num$1})`;
214
+ const num_per_none = `(?:${num$1}%|${num$1}|none)`;
215
+ const hue$1 = `(?:${num$1}(deg|grad|rad|turn)|${num$1})`;
216
+ `${num$1}${num$1}`;
217
+ const c$1 = `\\s*,\\s*`;
218
+ new RegExp("^" + num_per_none + "$");
219
+ var rgb_num_old = new RegExp(`^rgba?\\(\\s*${num$1}${c$1}${num$1}${c$1}${num$1}\\s*(?:,\\s*${num_per}\\s*)?\\)$`);
220
+ var rgb_per_old = new RegExp(`^rgba?\\(\\s*${per}${c$1}${per}${c$1}${per}\\s*(?:,\\s*${num_per}\\s*)?\\)$`);
221
+ var parseRgbLegacy = (color) => {
222
+ let res = { mode: "rgb" };
223
+ let match;
224
+ if (match = color.match(rgb_num_old)) {
225
+ if (match[1] !== void 0) res.r = match[1] / 255;
226
+ if (match[2] !== void 0) res.g = match[2] / 255;
227
+ if (match[3] !== void 0) res.b = match[3] / 255;
228
+ } else if (match = color.match(rgb_per_old)) {
229
+ if (match[1] !== void 0) res.r = match[1] / 100;
230
+ if (match[2] !== void 0) res.g = match[2] / 100;
231
+ if (match[3] !== void 0) res.b = match[3] / 100;
232
+ } else return;
233
+ if (match[4] !== void 0) res.alpha = Math.max(0, Math.min(1, match[4] / 100));
234
+ else if (match[5] !== void 0) res.alpha = Math.max(0, Math.min(1, +match[5]));
235
+ return res;
236
+ };
237
+ var prepare = (color, mode) => color === void 0 ? void 0 : typeof color !== "object" ? parse(color) : color.mode !== void 0 ? color : mode ? {
238
+ ...color,
239
+ mode
240
+ } : void 0;
241
+ var converter = (target_mode = "rgb") => (color) => (color = prepare(color, target_mode)) !== void 0 ? color.mode === target_mode ? color : converters[color.mode][target_mode] ? converters[color.mode][target_mode](color) : target_mode === "rgb" ? converters[color.mode].rgb(color) : converters.rgb[target_mode](converters[color.mode].rgb(color)) : void 0;
242
+ var converters = {};
243
+ var modes = {};
244
+ var parsers = [];
245
+ var colorProfiles = {};
246
+ var identity = (v) => v;
247
+ var useMode = (definition) => {
248
+ converters[definition.mode] = {
249
+ ...converters[definition.mode],
250
+ ...definition.toMode
251
+ };
252
+ Object.keys(definition.fromMode || {}).forEach((k) => {
253
+ if (!converters[k]) converters[k] = {};
254
+ converters[k][definition.mode] = definition.fromMode[k];
255
+ });
256
+ if (!definition.ranges) definition.ranges = {};
257
+ if (!definition.difference) definition.difference = {};
258
+ definition.channels.forEach((channel) => {
259
+ if (definition.ranges[channel] === void 0) definition.ranges[channel] = [0, 1];
260
+ if (!definition.interpolate[channel]) throw new Error(`Missing interpolator for: ${channel}`);
261
+ if (typeof definition.interpolate[channel] === "function") definition.interpolate[channel] = { use: definition.interpolate[channel] };
262
+ if (!definition.interpolate[channel].fixup) definition.interpolate[channel].fixup = identity;
263
+ });
264
+ modes[definition.mode] = definition;
265
+ (definition.parse || []).forEach((parser) => {
266
+ useParser(parser, definition.mode);
267
+ });
268
+ return converter(definition.mode);
269
+ };
270
+ var getMode = (mode) => modes[mode];
271
+ var useParser = (parser, mode) => {
272
+ if (typeof parser === "string") {
273
+ if (!mode) throw new Error(`'mode' required when 'parser' is a string`);
274
+ colorProfiles[parser] = mode;
275
+ } else if (typeof parser === "function") {
276
+ if (parsers.indexOf(parser) < 0) parsers.push(parser);
277
+ }
278
+ };
279
+ var IdentStartCodePoint = /[^\x00-\x7F]|[a-zA-Z_]/;
280
+ var IdentCodePoint = /[^\x00-\x7F]|[-\w]/;
281
+ const Tok = {
282
+ Function: "function",
283
+ Ident: "ident",
284
+ Number: "number",
285
+ Percentage: "percentage",
286
+ ParenClose: ")",
287
+ None: "none",
288
+ Hue: "hue",
289
+ Alpha: "alpha"
290
+ };
291
+ var _i = 0;
292
+ function is_num(chars) {
293
+ let ch = chars[_i];
294
+ let ch1 = chars[_i + 1];
295
+ if (ch === "-" || ch === "+") return /\d/.test(ch1) || ch1 === "." && /\d/.test(chars[_i + 2]);
296
+ if (ch === ".") return /\d/.test(ch1);
297
+ return /\d/.test(ch);
298
+ }
299
+ function is_ident(chars) {
300
+ if (_i >= chars.length) return false;
301
+ let ch = chars[_i];
302
+ if (IdentStartCodePoint.test(ch)) return true;
303
+ if (ch === "-") {
304
+ if (chars.length - _i < 2) return false;
305
+ let ch1 = chars[_i + 1];
306
+ if (ch1 === "-" || IdentStartCodePoint.test(ch1)) return true;
307
+ return false;
308
+ }
309
+ return false;
310
+ }
311
+ var huenits = {
312
+ deg: 1,
313
+ rad: 180 / Math.PI,
314
+ grad: 9 / 10,
315
+ turn: 360
316
+ };
317
+ function num(chars) {
318
+ let value = "";
319
+ if (chars[_i] === "-" || chars[_i] === "+") value += chars[_i++];
320
+ value += digits(chars);
321
+ if (chars[_i] === "." && /\d/.test(chars[_i + 1])) value += chars[_i++] + digits(chars);
322
+ if (chars[_i] === "e" || chars[_i] === "E") {
323
+ if ((chars[_i + 1] === "-" || chars[_i + 1] === "+") && /\d/.test(chars[_i + 2])) value += chars[_i++] + chars[_i++] + digits(chars);
324
+ else if (/\d/.test(chars[_i + 1])) value += chars[_i++] + digits(chars);
325
+ }
326
+ if (is_ident(chars)) {
327
+ let id = ident(chars);
328
+ if (id === "deg" || id === "rad" || id === "turn" || id === "grad") return {
329
+ type: Tok.Hue,
330
+ value: value * huenits[id]
331
+ };
332
+ return;
333
+ }
334
+ if (chars[_i] === "%") {
335
+ _i++;
336
+ return {
337
+ type: Tok.Percentage,
338
+ value: +value
339
+ };
340
+ }
341
+ return {
342
+ type: Tok.Number,
343
+ value: +value
344
+ };
345
+ }
346
+ function digits(chars) {
347
+ let v = "";
348
+ while (/\d/.test(chars[_i])) v += chars[_i++];
349
+ return v;
350
+ }
351
+ function ident(chars) {
352
+ let v = "";
353
+ while (_i < chars.length && IdentCodePoint.test(chars[_i])) v += chars[_i++];
354
+ return v;
355
+ }
356
+ function identlike(chars) {
357
+ let v = ident(chars);
358
+ if (chars[_i] === "(") {
359
+ _i++;
360
+ return {
361
+ type: Tok.Function,
362
+ value: v
363
+ };
364
+ }
365
+ if (v === "none") return {
366
+ type: Tok.None,
367
+ value: void 0
368
+ };
369
+ return {
370
+ type: Tok.Ident,
371
+ value: v
372
+ };
373
+ }
374
+ function tokenize(str = "") {
375
+ let chars = str.trim();
376
+ let tokens = [];
377
+ let ch;
378
+ _i = 0;
379
+ while (_i < chars.length) {
380
+ ch = chars[_i++];
381
+ if (ch === "\n" || ch === " " || ch === " ") {
382
+ while (_i < chars.length && (chars[_i] === "\n" || chars[_i] === " " || chars[_i] === " ")) _i++;
383
+ continue;
384
+ }
385
+ if (ch === ",") return;
386
+ if (ch === ")") {
387
+ tokens.push({ type: Tok.ParenClose });
388
+ continue;
389
+ }
390
+ if (ch === "+") {
391
+ _i--;
392
+ if (is_num(chars)) {
393
+ tokens.push(num(chars));
394
+ continue;
395
+ }
396
+ return;
397
+ }
398
+ if (ch === "-") {
399
+ _i--;
400
+ if (is_num(chars)) {
401
+ tokens.push(num(chars));
402
+ continue;
403
+ }
404
+ if (is_ident(chars)) {
405
+ tokens.push({
406
+ type: Tok.Ident,
407
+ value: ident(chars)
408
+ });
409
+ continue;
410
+ }
411
+ return;
412
+ }
413
+ if (ch === ".") {
414
+ _i--;
415
+ if (is_num(chars)) {
416
+ tokens.push(num(chars));
417
+ continue;
418
+ }
419
+ return;
420
+ }
421
+ if (ch === "/") {
422
+ while (_i < chars.length && (chars[_i] === "\n" || chars[_i] === " " || chars[_i] === " ")) _i++;
423
+ let alpha;
424
+ if (is_num(chars)) {
425
+ alpha = num(chars);
426
+ if (alpha.type !== Tok.Hue) {
427
+ tokens.push({
428
+ type: Tok.Alpha,
429
+ value: alpha
430
+ });
431
+ continue;
432
+ }
433
+ }
434
+ if (is_ident(chars)) {
435
+ if (ident(chars) === "none") {
436
+ tokens.push({
437
+ type: Tok.Alpha,
438
+ value: {
439
+ type: Tok.None,
440
+ value: void 0
441
+ }
442
+ });
443
+ continue;
444
+ }
445
+ }
446
+ return;
447
+ }
448
+ if (/\d/.test(ch)) {
449
+ _i--;
450
+ tokens.push(num(chars));
451
+ continue;
452
+ }
453
+ if (IdentStartCodePoint.test(ch)) {
454
+ _i--;
455
+ tokens.push(identlike(chars));
456
+ continue;
457
+ }
458
+ return;
459
+ }
460
+ return tokens;
461
+ }
462
+ function parseColorSyntax(tokens) {
463
+ tokens._i = 0;
464
+ let token = tokens[tokens._i++];
465
+ if (!token || token.type !== Tok.Function || token.value !== "color") return;
466
+ token = tokens[tokens._i++];
467
+ if (token.type !== Tok.Ident) return;
468
+ const mode = colorProfiles[token.value];
469
+ if (!mode) return;
470
+ const res = { mode };
471
+ const coords = consumeCoords(tokens, false);
472
+ if (!coords) return;
473
+ const channels = getMode(mode).channels;
474
+ for (let ii = 0, c, ch; ii < channels.length; ii++) {
475
+ c = coords[ii];
476
+ ch = channels[ii];
477
+ if (c.type !== Tok.None) {
478
+ res[ch] = c.type === Tok.Number ? c.value : c.value / 100;
479
+ if (ch === "alpha") res[ch] = Math.max(0, Math.min(1, res[ch]));
480
+ }
481
+ }
482
+ return res;
483
+ }
484
+ function consumeCoords(tokens, includeHue) {
485
+ const coords = [];
486
+ let token;
487
+ while (tokens._i < tokens.length) {
488
+ token = tokens[tokens._i++];
489
+ if (token.type === Tok.None || token.type === Tok.Number || token.type === Tok.Alpha || token.type === Tok.Percentage || includeHue && token.type === Tok.Hue) {
490
+ coords.push(token);
491
+ continue;
492
+ }
493
+ if (token.type === Tok.ParenClose) {
494
+ if (tokens._i < tokens.length) return;
495
+ continue;
496
+ }
497
+ return;
498
+ }
499
+ if (coords.length < 3 || coords.length > 4) return;
500
+ if (coords.length === 4) {
501
+ if (coords[3].type !== Tok.Alpha) return;
502
+ coords[3] = coords[3].value;
503
+ }
504
+ if (coords.length === 3) coords.push({
505
+ type: Tok.None,
506
+ value: void 0
507
+ });
508
+ return coords.every((c) => c.type !== Tok.Alpha) ? coords : void 0;
509
+ }
510
+ function parseModernSyntax(tokens, includeHue) {
511
+ tokens._i = 0;
512
+ let token = tokens[tokens._i++];
513
+ if (!token || token.type !== Tok.Function) return;
514
+ let coords = consumeCoords(tokens, includeHue);
515
+ if (!coords) return;
516
+ coords.unshift(token.value);
517
+ return coords;
518
+ }
519
+ var parse = (color) => {
520
+ if (typeof color !== "string") return;
521
+ const tokens = tokenize(color);
522
+ const parsed = tokens ? parseModernSyntax(tokens, true) : void 0;
523
+ let result = void 0;
524
+ let i = 0;
525
+ let len = parsers.length;
526
+ while (i < len) if ((result = parsers[i++](color, parsed)) !== void 0) return result;
527
+ return tokens ? parseColorSyntax(tokens) : void 0;
528
+ };
529
+ function parseRgb(color, parsed) {
530
+ if (!parsed || parsed[0] !== "rgb" && parsed[0] !== "rgba") return;
531
+ const res = { mode: "rgb" };
532
+ const [, r, g, b, alpha] = parsed;
533
+ if (r.type === Tok.Hue || g.type === Tok.Hue || b.type === Tok.Hue) return;
534
+ if (r.type !== Tok.None) res.r = r.type === Tok.Number ? r.value / 255 : r.value / 100;
535
+ if (g.type !== Tok.None) res.g = g.type === Tok.Number ? g.value / 255 : g.value / 100;
536
+ if (b.type !== Tok.None) res.b = b.type === Tok.Number ? b.value / 255 : b.value / 100;
537
+ if (alpha.type !== Tok.None) res.alpha = Math.min(1, Math.max(0, alpha.type === Tok.Number ? alpha.value : alpha.value / 100));
538
+ return res;
539
+ }
540
+ var parseTransparent = (c) => c === "transparent" ? {
541
+ mode: "rgb",
542
+ r: 0,
543
+ g: 0,
544
+ b: 0,
545
+ alpha: 0
546
+ } : void 0;
547
+ var lerp = (a, b, t) => a + t * (b - a);
548
+ var get_classes = (arr) => {
549
+ let classes = [];
550
+ for (let i = 0; i < arr.length - 1; i++) {
551
+ let a = arr[i];
552
+ let b = arr[i + 1];
553
+ if (a === void 0 && b === void 0) classes.push(void 0);
554
+ else if (a !== void 0 && b !== void 0) classes.push([a, b]);
555
+ else classes.push(a !== void 0 ? [a, a] : [b, b]);
556
+ }
557
+ return classes;
558
+ };
559
+ var interpolatorPiecewise = (interpolator) => (arr) => {
560
+ let classes = get_classes(arr);
561
+ return (t) => {
562
+ let cls = t * classes.length;
563
+ let idx = t >= 1 ? classes.length - 1 : Math.max(Math.floor(cls), 0);
564
+ let pair = classes[idx];
565
+ return pair === void 0 ? void 0 : interpolator(pair[0], pair[1], cls - idx);
566
+ };
567
+ };
568
+ const interpolatorLinear = interpolatorPiecewise(lerp);
569
+ var fixupAlpha = (arr) => {
570
+ let some_defined = false;
571
+ let res = arr.map((v) => {
572
+ if (v !== void 0) {
573
+ some_defined = true;
574
+ return v;
575
+ }
576
+ return 1;
577
+ });
578
+ return some_defined ? res : arr;
579
+ };
580
+ var definition$27 = {
581
+ mode: "rgb",
582
+ channels: [
583
+ "r",
584
+ "g",
585
+ "b",
586
+ "alpha"
587
+ ],
588
+ parse: [
589
+ parseRgb,
590
+ parseHex,
591
+ parseRgbLegacy,
592
+ parseNamed,
593
+ parseTransparent,
594
+ "srgb"
595
+ ],
596
+ serialize: "srgb",
597
+ interpolate: {
598
+ r: interpolatorLinear,
599
+ g: interpolatorLinear,
600
+ b: interpolatorLinear,
601
+ alpha: {
602
+ use: interpolatorLinear,
603
+ fixup: fixupAlpha
604
+ }
605
+ },
606
+ gamut: true,
607
+ white: {
608
+ r: 1,
609
+ g: 1,
610
+ b: 1
611
+ },
612
+ black: {
613
+ r: 0,
614
+ g: 0,
615
+ b: 0
616
+ }
617
+ };
618
+ var linearize$2 = (v = 0) => Math.pow(Math.abs(v), 563 / 256) * Math.sign(v);
619
+ var convertA98ToXyz65 = (a98) => {
620
+ let r = linearize$2(a98.r);
621
+ let g = linearize$2(a98.g);
622
+ let b = linearize$2(a98.b);
623
+ let res = {
624
+ mode: "xyz65",
625
+ x: .5766690429101305 * r + .1855582379065463 * g + .1882286462349947 * b,
626
+ y: .297344975250536 * r + .6273635662554661 * g + .0752914584939979 * b,
627
+ z: .0270313613864123 * r + .0706888525358272 * g + .9913375368376386 * b
628
+ };
629
+ if (a98.alpha !== void 0) res.alpha = a98.alpha;
630
+ return res;
631
+ };
632
+ var gamma$2 = (v) => Math.pow(Math.abs(v), 256 / 563) * Math.sign(v);
633
+ var convertXyz65ToA98 = ({ x, y, z, alpha }) => {
634
+ if (x === void 0) x = 0;
635
+ if (y === void 0) y = 0;
636
+ if (z === void 0) z = 0;
637
+ let res = {
638
+ mode: "a98",
639
+ r: gamma$2(x * 2.0415879038107465 - y * .5650069742788597 - .3447313507783297 * z),
640
+ g: gamma$2(x * -.9692436362808798 + y * 1.8759675015077206 + .0415550574071756 * z),
641
+ b: gamma$2(x * .0134442806320312 - y * .1183623922310184 + 1.0151749943912058 * z)
642
+ };
643
+ if (alpha !== void 0) res.alpha = alpha;
644
+ return res;
645
+ };
646
+ var fn$3 = (c = 0) => {
647
+ const abs = Math.abs(c);
648
+ if (abs <= .04045) return c / 12.92;
649
+ return (Math.sign(c) || 1) * Math.pow((abs + .055) / 1.055, 2.4);
650
+ };
651
+ var convertRgbToLrgb = ({ r, g, b, alpha }) => {
652
+ let res = {
653
+ mode: "lrgb",
654
+ r: fn$3(r),
655
+ g: fn$3(g),
656
+ b: fn$3(b)
657
+ };
658
+ if (alpha !== void 0) res.alpha = alpha;
659
+ return res;
660
+ };
661
+ var convertRgbToXyz65 = (rgb) => {
662
+ let { r, g, b, alpha } = convertRgbToLrgb(rgb);
663
+ let res = {
664
+ mode: "xyz65",
665
+ x: .4123907992659593 * r + .357584339383878 * g + .1804807884018343 * b,
666
+ y: .2126390058715102 * r + .715168678767756 * g + .0721923153607337 * b,
667
+ z: .0193308187155918 * r + .119194779794626 * g + .9505321522496607 * b
668
+ };
669
+ if (alpha !== void 0) res.alpha = alpha;
670
+ return res;
671
+ };
672
+ var fn$2 = (c = 0) => {
673
+ const abs = Math.abs(c);
674
+ if (abs > .0031308) return (Math.sign(c) || 1) * (1.055 * Math.pow(abs, 1 / 2.4) - .055);
675
+ return c * 12.92;
676
+ };
677
+ var convertLrgbToRgb = ({ r, g, b, alpha }, mode = "rgb") => {
678
+ let res = {
679
+ mode,
680
+ r: fn$2(r),
681
+ g: fn$2(g),
682
+ b: fn$2(b)
683
+ };
684
+ if (alpha !== void 0) res.alpha = alpha;
685
+ return res;
686
+ };
687
+ var convertXyz65ToRgb = ({ x, y, z, alpha }) => {
688
+ if (x === void 0) x = 0;
689
+ if (y === void 0) y = 0;
690
+ if (z === void 0) z = 0;
691
+ let res = convertLrgbToRgb({
692
+ r: x * 3.2409699419045226 - y * 1.537383177570094 - .4986107602930034 * z,
693
+ g: x * -.9692436362808796 + y * 1.8759675015077204 + .0415550574071756 * z,
694
+ b: x * .0556300796969936 - y * .2039769588889765 + 1.0569715142428784 * z
695
+ });
696
+ if (alpha !== void 0) res.alpha = alpha;
697
+ return res;
698
+ };
699
+ var definition$26 = {
700
+ ...definition$27,
701
+ mode: "a98",
702
+ parse: ["a98-rgb"],
703
+ serialize: "a98-rgb",
704
+ fromMode: {
705
+ rgb: (color) => convertXyz65ToA98(convertRgbToXyz65(color)),
706
+ xyz65: convertXyz65ToA98
707
+ },
708
+ toMode: {
709
+ rgb: (color) => convertXyz65ToRgb(convertA98ToXyz65(color)),
710
+ xyz65: convertA98ToXyz65
711
+ }
712
+ };
713
+ var normalizeHue = (hue) => (hue = hue % 360) < 0 ? hue + 360 : hue;
714
+ var hue = (hues, fn) => {
715
+ return hues.map((hue, idx, arr) => {
716
+ if (hue === void 0) return hue;
717
+ let normalized = normalizeHue(hue);
718
+ if (idx === 0 || hues[idx - 1] === void 0) return normalized;
719
+ return fn(normalized - normalizeHue(arr[idx - 1]));
720
+ }).reduce((acc, curr) => {
721
+ if (!acc.length || curr === void 0 || acc[acc.length - 1] === void 0) {
722
+ acc.push(curr);
723
+ return acc;
724
+ }
725
+ acc.push(curr + acc[acc.length - 1]);
726
+ return acc;
727
+ }, []);
728
+ };
729
+ var fixupHueShorter = (arr) => hue(arr, (d) => Math.abs(d) <= 180 ? d : d - 360 * Math.sign(d));
730
+ const M$1 = [
731
+ -.14861,
732
+ 1.78277,
733
+ -.29227,
734
+ -.90649,
735
+ 1.97294,
736
+ 0
737
+ ];
738
+ const degToRad = Math.PI / 180;
739
+ const radToDeg = 180 / Math.PI;
740
+ var DE = M$1[3] * M$1[4];
741
+ var BE = M$1[1] * M$1[4];
742
+ var BCAD = M$1[1] * M$1[2] - M$1[0] * M$1[3];
743
+ var convertRgbToCubehelix = ({ r, g, b, alpha }) => {
744
+ if (r === void 0) r = 0;
745
+ if (g === void 0) g = 0;
746
+ if (b === void 0) b = 0;
747
+ let l = (BCAD * b + r * DE - g * BE) / (BCAD + DE - BE);
748
+ let x = b - l;
749
+ let y = (M$1[4] * (g - l) - M$1[2] * x) / M$1[3];
750
+ let res = {
751
+ mode: "cubehelix",
752
+ l,
753
+ s: l === 0 || l === 1 ? void 0 : Math.sqrt(x * x + y * y) / (M$1[4] * l * (1 - l))
754
+ };
755
+ if (res.s) res.h = Math.atan2(y, x) * radToDeg - 120;
756
+ if (alpha !== void 0) res.alpha = alpha;
757
+ return res;
758
+ };
759
+ var convertCubehelixToRgb = ({ h, s, l, alpha }) => {
760
+ let res = { mode: "rgb" };
761
+ h = (h === void 0 ? 0 : h + 120) * degToRad;
762
+ if (l === void 0) l = 0;
763
+ let amp = s === void 0 ? 0 : s * l * (1 - l);
764
+ let cosh = Math.cos(h);
765
+ let sinh = Math.sin(h);
766
+ res.r = l + amp * (M$1[0] * cosh + M$1[1] * sinh);
767
+ res.g = l + amp * (M$1[2] * cosh + M$1[3] * sinh);
768
+ res.b = l + amp * (M$1[4] * cosh + M$1[5] * sinh);
769
+ if (alpha !== void 0) res.alpha = alpha;
770
+ return res;
771
+ };
772
+ var differenceHueSaturation = (std, smp) => {
773
+ if (std.h === void 0 || smp.h === void 0 || !std.s || !smp.s) return 0;
774
+ let std_h = normalizeHue(std.h);
775
+ let smp_h = normalizeHue(smp.h);
776
+ let dH = Math.sin((smp_h - std_h + 360) / 2 * Math.PI / 180);
777
+ return 2 * Math.sqrt(std.s * smp.s) * dH;
778
+ };
779
+ var differenceHueNaive = (std, smp) => {
780
+ if (std.h === void 0 || smp.h === void 0) return 0;
781
+ let std_h = normalizeHue(std.h);
782
+ let smp_h = normalizeHue(smp.h);
783
+ if (Math.abs(smp_h - std_h) > 180) return std_h - (smp_h - 360 * Math.sign(smp_h - std_h));
784
+ return smp_h - std_h;
785
+ };
786
+ var differenceHueChroma = (std, smp) => {
787
+ if (std.h === void 0 || smp.h === void 0 || !std.c || !smp.c) return 0;
788
+ let std_h = normalizeHue(std.h);
789
+ let smp_h = normalizeHue(smp.h);
790
+ let dH = Math.sin((smp_h - std_h + 360) / 2 * Math.PI / 180);
791
+ return 2 * Math.sqrt(std.c * smp.c) * dH;
792
+ };
793
+ var averageAngle = (val) => {
794
+ let sum = val.reduce((sum, val) => {
795
+ if (val !== void 0) {
796
+ let rad = val * Math.PI / 180;
797
+ sum.sin += Math.sin(rad);
798
+ sum.cos += Math.cos(rad);
799
+ }
800
+ return sum;
801
+ }, {
802
+ sin: 0,
803
+ cos: 0
804
+ });
805
+ let angle = Math.atan2(sum.sin, sum.cos) * 180 / Math.PI;
806
+ return angle < 0 ? 360 + angle : angle;
807
+ };
808
+ var definition$25 = {
809
+ mode: "cubehelix",
810
+ channels: [
811
+ "h",
812
+ "s",
813
+ "l",
814
+ "alpha"
815
+ ],
816
+ parse: ["--cubehelix"],
817
+ serialize: "--cubehelix",
818
+ ranges: {
819
+ h: [0, 360],
820
+ s: [0, 4.614],
821
+ l: [0, 1]
822
+ },
823
+ fromMode: { rgb: convertRgbToCubehelix },
824
+ toMode: { rgb: convertCubehelixToRgb },
825
+ interpolate: {
826
+ h: {
827
+ use: interpolatorLinear,
828
+ fixup: fixupHueShorter
829
+ },
830
+ s: interpolatorLinear,
831
+ l: interpolatorLinear,
832
+ alpha: {
833
+ use: interpolatorLinear,
834
+ fixup: fixupAlpha
835
+ }
836
+ },
837
+ difference: { h: differenceHueSaturation },
838
+ average: { h: averageAngle }
839
+ };
840
+ var convertLabToLch = ({ l, a, b, alpha }, mode = "lch") => {
841
+ if (a === void 0) a = 0;
842
+ if (b === void 0) b = 0;
843
+ let c = Math.sqrt(a * a + b * b);
844
+ let res = {
845
+ mode,
846
+ l,
847
+ c
848
+ };
849
+ if (c) res.h = normalizeHue(Math.atan2(b, a) * 180 / Math.PI);
850
+ if (alpha !== void 0) res.alpha = alpha;
851
+ return res;
852
+ };
853
+ var convertLchToLab = ({ l, c, h, alpha }, mode = "lab") => {
854
+ if (h === void 0) h = 0;
855
+ let res = {
856
+ mode,
857
+ l,
858
+ a: c ? c * Math.cos(h / 180 * Math.PI) : 0,
859
+ b: c ? c * Math.sin(h / 180 * Math.PI) : 0
860
+ };
861
+ if (alpha !== void 0) res.alpha = alpha;
862
+ return res;
863
+ };
864
+ const k$5 = Math.pow(29, 3) / Math.pow(3, 3);
865
+ const e$2 = Math.pow(6, 3) / Math.pow(29, 3);
866
+ const D50 = {
867
+ X: .3457 / .3585,
868
+ Y: 1,
869
+ Z: .2958 / .3585
870
+ };
871
+ const D65 = {
872
+ X: .3127 / .329,
873
+ Y: 1,
874
+ Z: .3583 / .329
875
+ };
876
+ Math.pow(29, 3) / Math.pow(3, 3);
877
+ Math.pow(6, 3) / Math.pow(29, 3);
878
+ var fn$1 = (v) => Math.pow(v, 3) > e$2 ? Math.pow(v, 3) : (116 * v - 16) / k$5;
879
+ var convertLab65ToXyz65 = ({ l, a, b, alpha }) => {
880
+ if (l === void 0) l = 0;
881
+ if (a === void 0) a = 0;
882
+ if (b === void 0) b = 0;
883
+ let fy = (l + 16) / 116;
884
+ let fx = a / 500 + fy;
885
+ let fz = fy - b / 200;
886
+ let res = {
887
+ mode: "xyz65",
888
+ x: fn$1(fx) * D65.X,
889
+ y: fn$1(fy) * D65.Y,
890
+ z: fn$1(fz) * D65.Z
891
+ };
892
+ if (alpha !== void 0) res.alpha = alpha;
893
+ return res;
894
+ };
895
+ var convertLab65ToRgb = (lab) => convertXyz65ToRgb(convertLab65ToXyz65(lab));
896
+ var f$2 = (value) => value > e$2 ? Math.cbrt(value) : (k$5 * value + 16) / 116;
897
+ var convertXyz65ToLab65 = ({ x, y, z, alpha }) => {
898
+ if (x === void 0) x = 0;
899
+ if (y === void 0) y = 0;
900
+ if (z === void 0) z = 0;
901
+ let f0 = f$2(x / D65.X);
902
+ let f1 = f$2(y / D65.Y);
903
+ let f2 = f$2(z / D65.Z);
904
+ let res = {
905
+ mode: "lab65",
906
+ l: 116 * f1 - 16,
907
+ a: 500 * (f0 - f1),
908
+ b: 200 * (f1 - f2)
909
+ };
910
+ if (alpha !== void 0) res.alpha = alpha;
911
+ return res;
912
+ };
913
+ var convertRgbToLab65 = (rgb) => {
914
+ let res = convertXyz65ToLab65(convertRgbToXyz65(rgb));
915
+ if (rgb.r === rgb.b && rgb.b === rgb.g) res.a = res.b = 0;
916
+ return res;
917
+ };
918
+ const θ = 26 / 180 * Math.PI;
919
+ const cosθ = Math.cos(θ);
920
+ const sinθ = Math.sin(θ);
921
+ const factor = 100 / Math.log(139 / 100);
922
+ var convertDlchToLab65 = ({ l, c, h, alpha }) => {
923
+ if (l === void 0) l = 0;
924
+ if (c === void 0) c = 0;
925
+ if (h === void 0) h = 0;
926
+ let res = {
927
+ mode: "lab65",
928
+ l: (Math.exp(l * 1 / factor) - 1) / .0039
929
+ };
930
+ let G = (Math.exp(.0435 * c * 1 * 1) - 1) / .075;
931
+ let e = G * Math.cos(h / 180 * Math.PI - θ);
932
+ let f = G * Math.sin(h / 180 * Math.PI - θ);
933
+ res.a = e * cosθ - f / .83 * sinθ;
934
+ res.b = e * sinθ + f / .83 * cosθ;
935
+ if (alpha !== void 0) res.alpha = alpha;
936
+ return res;
937
+ };
938
+ var convertLab65ToDlch = ({ l, a, b, alpha }) => {
939
+ if (l === void 0) l = 0;
940
+ if (a === void 0) a = 0;
941
+ if (b === void 0) b = 0;
942
+ let e = a * cosθ + b * sinθ;
943
+ let f = .83 * (b * cosθ - a * sinθ);
944
+ let G = Math.sqrt(e * e + f * f);
945
+ let res = {
946
+ mode: "dlch",
947
+ l: factor / 1 * Math.log(1 + .0039 * l),
948
+ c: Math.log(1 + .075 * G) / (.0435 * 1 * 1)
949
+ };
950
+ if (res.c) res.h = normalizeHue((Math.atan2(f, e) + θ) / Math.PI * 180);
951
+ if (alpha !== void 0) res.alpha = alpha;
952
+ return res;
953
+ };
954
+ var convertDlabToLab65 = (c) => convertDlchToLab65(convertLabToLch(c, "dlch"));
955
+ var convertLab65ToDlab = (c) => convertLchToLab(convertLab65ToDlch(c), "dlab");
956
+ var definition$24 = {
957
+ mode: "dlab",
958
+ parse: ["--din99o-lab"],
959
+ serialize: "--din99o-lab",
960
+ toMode: {
961
+ lab65: convertDlabToLab65,
962
+ rgb: (c) => convertLab65ToRgb(convertDlabToLab65(c))
963
+ },
964
+ fromMode: {
965
+ lab65: convertLab65ToDlab,
966
+ rgb: (c) => convertLab65ToDlab(convertRgbToLab65(c))
967
+ },
968
+ channels: [
969
+ "l",
970
+ "a",
971
+ "b",
972
+ "alpha"
973
+ ],
974
+ ranges: {
975
+ l: [0, 100],
976
+ a: [-40.09, 45.501],
977
+ b: [-40.469, 44.344]
978
+ },
979
+ interpolate: {
980
+ l: interpolatorLinear,
981
+ a: interpolatorLinear,
982
+ b: interpolatorLinear,
983
+ alpha: {
984
+ use: interpolatorLinear,
985
+ fixup: fixupAlpha
986
+ }
987
+ }
988
+ };
989
+ var definition$23 = {
990
+ mode: "dlch",
991
+ parse: ["--din99o-lch"],
992
+ serialize: "--din99o-lch",
993
+ toMode: {
994
+ lab65: convertDlchToLab65,
995
+ dlab: (c) => convertLchToLab(c, "dlab"),
996
+ rgb: (c) => convertLab65ToRgb(convertDlchToLab65(c))
997
+ },
998
+ fromMode: {
999
+ lab65: convertLab65ToDlch,
1000
+ dlab: (c) => convertLabToLch(c, "dlch"),
1001
+ rgb: (c) => convertLab65ToDlch(convertRgbToLab65(c))
1002
+ },
1003
+ channels: [
1004
+ "l",
1005
+ "c",
1006
+ "h",
1007
+ "alpha"
1008
+ ],
1009
+ ranges: {
1010
+ l: [0, 100],
1011
+ c: [0, 51.484],
1012
+ h: [0, 360]
1013
+ },
1014
+ interpolate: {
1015
+ l: interpolatorLinear,
1016
+ c: interpolatorLinear,
1017
+ h: {
1018
+ use: interpolatorLinear,
1019
+ fixup: fixupHueShorter
1020
+ },
1021
+ alpha: {
1022
+ use: interpolatorLinear,
1023
+ fixup: fixupAlpha
1024
+ }
1025
+ },
1026
+ difference: { h: differenceHueChroma },
1027
+ average: { h: averageAngle }
1028
+ };
1029
+ function convertHsiToRgb({ h, s, i, alpha }) {
1030
+ h = normalizeHue(h !== void 0 ? h : 0);
1031
+ if (s === void 0) s = 0;
1032
+ if (i === void 0) i = 0;
1033
+ let f = Math.abs(h / 60 % 2 - 1);
1034
+ let res;
1035
+ switch (Math.floor(h / 60)) {
1036
+ case 0:
1037
+ res = {
1038
+ r: i * (1 + s * (3 / (2 - f) - 1)),
1039
+ g: i * (1 + s * (3 * (1 - f) / (2 - f) - 1)),
1040
+ b: i * (1 - s)
1041
+ };
1042
+ break;
1043
+ case 1:
1044
+ res = {
1045
+ r: i * (1 + s * (3 * (1 - f) / (2 - f) - 1)),
1046
+ g: i * (1 + s * (3 / (2 - f) - 1)),
1047
+ b: i * (1 - s)
1048
+ };
1049
+ break;
1050
+ case 2:
1051
+ res = {
1052
+ r: i * (1 - s),
1053
+ g: i * (1 + s * (3 / (2 - f) - 1)),
1054
+ b: i * (1 + s * (3 * (1 - f) / (2 - f) - 1))
1055
+ };
1056
+ break;
1057
+ case 3:
1058
+ res = {
1059
+ r: i * (1 - s),
1060
+ g: i * (1 + s * (3 * (1 - f) / (2 - f) - 1)),
1061
+ b: i * (1 + s * (3 / (2 - f) - 1))
1062
+ };
1063
+ break;
1064
+ case 4:
1065
+ res = {
1066
+ r: i * (1 + s * (3 * (1 - f) / (2 - f) - 1)),
1067
+ g: i * (1 - s),
1068
+ b: i * (1 + s * (3 / (2 - f) - 1))
1069
+ };
1070
+ break;
1071
+ case 5:
1072
+ res = {
1073
+ r: i * (1 + s * (3 / (2 - f) - 1)),
1074
+ g: i * (1 - s),
1075
+ b: i * (1 + s * (3 * (1 - f) / (2 - f) - 1))
1076
+ };
1077
+ break;
1078
+ default: res = {
1079
+ r: i * (1 - s),
1080
+ g: i * (1 - s),
1081
+ b: i * (1 - s)
1082
+ };
1083
+ }
1084
+ res.mode = "rgb";
1085
+ if (alpha !== void 0) res.alpha = alpha;
1086
+ return res;
1087
+ }
1088
+ function convertRgbToHsi({ r, g, b, alpha }) {
1089
+ if (r === void 0) r = 0;
1090
+ if (g === void 0) g = 0;
1091
+ if (b === void 0) b = 0;
1092
+ let M = Math.max(r, g, b), m = Math.min(r, g, b);
1093
+ let res = {
1094
+ mode: "hsi",
1095
+ s: r + g + b === 0 ? 0 : 1 - 3 * m / (r + g + b),
1096
+ i: (r + g + b) / 3
1097
+ };
1098
+ if (M - m !== 0) res.h = (M === r ? (g - b) / (M - m) + (g < b) * 6 : M === g ? (b - r) / (M - m) + 2 : (r - g) / (M - m) + 4) * 60;
1099
+ if (alpha !== void 0) res.alpha = alpha;
1100
+ return res;
1101
+ }
1102
+ var definition$22 = {
1103
+ mode: "hsi",
1104
+ toMode: { rgb: convertHsiToRgb },
1105
+ parse: ["--hsi"],
1106
+ serialize: "--hsi",
1107
+ fromMode: { rgb: convertRgbToHsi },
1108
+ channels: [
1109
+ "h",
1110
+ "s",
1111
+ "i",
1112
+ "alpha"
1113
+ ],
1114
+ ranges: { h: [0, 360] },
1115
+ gamut: "rgb",
1116
+ interpolate: {
1117
+ h: {
1118
+ use: interpolatorLinear,
1119
+ fixup: fixupHueShorter
1120
+ },
1121
+ s: interpolatorLinear,
1122
+ i: interpolatorLinear,
1123
+ alpha: {
1124
+ use: interpolatorLinear,
1125
+ fixup: fixupAlpha
1126
+ }
1127
+ },
1128
+ difference: { h: differenceHueSaturation },
1129
+ average: { h: averageAngle }
1130
+ };
1131
+ function convertHslToRgb({ h, s, l, alpha }) {
1132
+ h = normalizeHue(h !== void 0 ? h : 0);
1133
+ if (s === void 0) s = 0;
1134
+ if (l === void 0) l = 0;
1135
+ let m1 = l + s * (l < .5 ? l : 1 - l);
1136
+ let m2 = m1 - (m1 - l) * 2 * Math.abs(h / 60 % 2 - 1);
1137
+ let res;
1138
+ switch (Math.floor(h / 60)) {
1139
+ case 0:
1140
+ res = {
1141
+ r: m1,
1142
+ g: m2,
1143
+ b: 2 * l - m1
1144
+ };
1145
+ break;
1146
+ case 1:
1147
+ res = {
1148
+ r: m2,
1149
+ g: m1,
1150
+ b: 2 * l - m1
1151
+ };
1152
+ break;
1153
+ case 2:
1154
+ res = {
1155
+ r: 2 * l - m1,
1156
+ g: m1,
1157
+ b: m2
1158
+ };
1159
+ break;
1160
+ case 3:
1161
+ res = {
1162
+ r: 2 * l - m1,
1163
+ g: m2,
1164
+ b: m1
1165
+ };
1166
+ break;
1167
+ case 4:
1168
+ res = {
1169
+ r: m2,
1170
+ g: 2 * l - m1,
1171
+ b: m1
1172
+ };
1173
+ break;
1174
+ case 5:
1175
+ res = {
1176
+ r: m1,
1177
+ g: 2 * l - m1,
1178
+ b: m2
1179
+ };
1180
+ break;
1181
+ default: res = {
1182
+ r: 2 * l - m1,
1183
+ g: 2 * l - m1,
1184
+ b: 2 * l - m1
1185
+ };
1186
+ }
1187
+ res.mode = "rgb";
1188
+ if (alpha !== void 0) res.alpha = alpha;
1189
+ return res;
1190
+ }
1191
+ function convertRgbToHsl({ r, g, b, alpha }) {
1192
+ if (r === void 0) r = 0;
1193
+ if (g === void 0) g = 0;
1194
+ if (b === void 0) b = 0;
1195
+ let M = Math.max(r, g, b), m = Math.min(r, g, b);
1196
+ let res = {
1197
+ mode: "hsl",
1198
+ s: M === m ? 0 : (M - m) / (1 - Math.abs(M + m - 1)),
1199
+ l: .5 * (M + m)
1200
+ };
1201
+ if (M - m !== 0) res.h = (M === r ? (g - b) / (M - m) + (g < b) * 6 : M === g ? (b - r) / (M - m) + 2 : (r - g) / (M - m) + 4) * 60;
1202
+ if (alpha !== void 0) res.alpha = alpha;
1203
+ return res;
1204
+ }
1205
+ var hueToDeg = (val, unit) => {
1206
+ switch (unit) {
1207
+ case "deg": return +val;
1208
+ case "rad": return val / Math.PI * 180;
1209
+ case "grad": return val / 10 * 9;
1210
+ case "turn": return val * 360;
1211
+ }
1212
+ };
1213
+ var hsl_old = new RegExp(`^hsla?\\(\\s*${hue$1}${c$1}${per}${c$1}${per}\\s*(?:,\\s*${num_per}\\s*)?\\)$`);
1214
+ var parseHslLegacy = (color) => {
1215
+ let match = color.match(hsl_old);
1216
+ if (!match) return;
1217
+ let res = { mode: "hsl" };
1218
+ if (match[3] !== void 0) res.h = +match[3];
1219
+ else if (match[1] !== void 0 && match[2] !== void 0) res.h = hueToDeg(match[1], match[2]);
1220
+ if (match[4] !== void 0) res.s = Math.min(Math.max(0, match[4] / 100), 1);
1221
+ if (match[5] !== void 0) res.l = Math.min(Math.max(0, match[5] / 100), 1);
1222
+ if (match[6] !== void 0) res.alpha = Math.max(0, Math.min(1, match[6] / 100));
1223
+ else if (match[7] !== void 0) res.alpha = Math.max(0, Math.min(1, +match[7]));
1224
+ return res;
1225
+ };
1226
+ function parseHsl(color, parsed) {
1227
+ if (!parsed || parsed[0] !== "hsl" && parsed[0] !== "hsla") return;
1228
+ const res = { mode: "hsl" };
1229
+ const [, h, s, l, alpha] = parsed;
1230
+ if (h.type !== Tok.None) {
1231
+ if (h.type === Tok.Percentage) return;
1232
+ res.h = h.value;
1233
+ }
1234
+ if (s.type !== Tok.None) {
1235
+ if (s.type === Tok.Hue) return;
1236
+ res.s = s.value / 100;
1237
+ }
1238
+ if (l.type !== Tok.None) {
1239
+ if (l.type === Tok.Hue) return;
1240
+ res.l = l.value / 100;
1241
+ }
1242
+ if (alpha.type !== Tok.None) res.alpha = Math.min(1, Math.max(0, alpha.type === Tok.Number ? alpha.value : alpha.value / 100));
1243
+ return res;
1244
+ }
1245
+ var definition$21 = {
1246
+ mode: "hsl",
1247
+ toMode: { rgb: convertHslToRgb },
1248
+ fromMode: { rgb: convertRgbToHsl },
1249
+ channels: [
1250
+ "h",
1251
+ "s",
1252
+ "l",
1253
+ "alpha"
1254
+ ],
1255
+ ranges: { h: [0, 360] },
1256
+ gamut: "rgb",
1257
+ parse: [parseHsl, parseHslLegacy],
1258
+ serialize: (c) => `hsl(${c.h !== void 0 ? c.h : "none"} ${c.s !== void 0 ? c.s * 100 + "%" : "none"} ${c.l !== void 0 ? c.l * 100 + "%" : "none"}${c.alpha < 1 ? ` / ${c.alpha}` : ""})`,
1259
+ interpolate: {
1260
+ h: {
1261
+ use: interpolatorLinear,
1262
+ fixup: fixupHueShorter
1263
+ },
1264
+ s: interpolatorLinear,
1265
+ l: interpolatorLinear,
1266
+ alpha: {
1267
+ use: interpolatorLinear,
1268
+ fixup: fixupAlpha
1269
+ }
1270
+ },
1271
+ difference: { h: differenceHueSaturation },
1272
+ average: { h: averageAngle }
1273
+ };
1274
+ function convertHsvToRgb({ h, s, v, alpha }) {
1275
+ h = normalizeHue(h !== void 0 ? h : 0);
1276
+ if (s === void 0) s = 0;
1277
+ if (v === void 0) v = 0;
1278
+ let f = Math.abs(h / 60 % 2 - 1);
1279
+ let res;
1280
+ switch (Math.floor(h / 60)) {
1281
+ case 0:
1282
+ res = {
1283
+ r: v,
1284
+ g: v * (1 - s * f),
1285
+ b: v * (1 - s)
1286
+ };
1287
+ break;
1288
+ case 1:
1289
+ res = {
1290
+ r: v * (1 - s * f),
1291
+ g: v,
1292
+ b: v * (1 - s)
1293
+ };
1294
+ break;
1295
+ case 2:
1296
+ res = {
1297
+ r: v * (1 - s),
1298
+ g: v,
1299
+ b: v * (1 - s * f)
1300
+ };
1301
+ break;
1302
+ case 3:
1303
+ res = {
1304
+ r: v * (1 - s),
1305
+ g: v * (1 - s * f),
1306
+ b: v
1307
+ };
1308
+ break;
1309
+ case 4:
1310
+ res = {
1311
+ r: v * (1 - s * f),
1312
+ g: v * (1 - s),
1313
+ b: v
1314
+ };
1315
+ break;
1316
+ case 5:
1317
+ res = {
1318
+ r: v,
1319
+ g: v * (1 - s),
1320
+ b: v * (1 - s * f)
1321
+ };
1322
+ break;
1323
+ default: res = {
1324
+ r: v * (1 - s),
1325
+ g: v * (1 - s),
1326
+ b: v * (1 - s)
1327
+ };
1328
+ }
1329
+ res.mode = "rgb";
1330
+ if (alpha !== void 0) res.alpha = alpha;
1331
+ return res;
1332
+ }
1333
+ function convertRgbToHsv({ r, g, b, alpha }) {
1334
+ if (r === void 0) r = 0;
1335
+ if (g === void 0) g = 0;
1336
+ if (b === void 0) b = 0;
1337
+ let M = Math.max(r, g, b), m = Math.min(r, g, b);
1338
+ let res = {
1339
+ mode: "hsv",
1340
+ s: M === 0 ? 0 : 1 - m / M,
1341
+ v: M
1342
+ };
1343
+ if (M - m !== 0) res.h = (M === r ? (g - b) / (M - m) + (g < b) * 6 : M === g ? (b - r) / (M - m) + 2 : (r - g) / (M - m) + 4) * 60;
1344
+ if (alpha !== void 0) res.alpha = alpha;
1345
+ return res;
1346
+ }
1347
+ var definition$20 = {
1348
+ mode: "hsv",
1349
+ toMode: { rgb: convertHsvToRgb },
1350
+ parse: ["--hsv"],
1351
+ serialize: "--hsv",
1352
+ fromMode: { rgb: convertRgbToHsv },
1353
+ channels: [
1354
+ "h",
1355
+ "s",
1356
+ "v",
1357
+ "alpha"
1358
+ ],
1359
+ ranges: { h: [0, 360] },
1360
+ gamut: "rgb",
1361
+ interpolate: {
1362
+ h: {
1363
+ use: interpolatorLinear,
1364
+ fixup: fixupHueShorter
1365
+ },
1366
+ s: interpolatorLinear,
1367
+ v: interpolatorLinear,
1368
+ alpha: {
1369
+ use: interpolatorLinear,
1370
+ fixup: fixupAlpha
1371
+ }
1372
+ },
1373
+ difference: { h: differenceHueSaturation },
1374
+ average: { h: averageAngle }
1375
+ };
1376
+ function convertHwbToRgb({ h, w, b, alpha }) {
1377
+ if (w === void 0) w = 0;
1378
+ if (b === void 0) b = 0;
1379
+ if (w + b > 1) {
1380
+ let s = w + b;
1381
+ w /= s;
1382
+ b /= s;
1383
+ }
1384
+ return convertHsvToRgb({
1385
+ h,
1386
+ s: b === 1 ? 1 : 1 - w / (1 - b),
1387
+ v: 1 - b,
1388
+ alpha
1389
+ });
1390
+ }
1391
+ function convertRgbToHwb(rgba) {
1392
+ let hsv = convertRgbToHsv(rgba);
1393
+ if (hsv === void 0) return void 0;
1394
+ let s = hsv.s !== void 0 ? hsv.s : 0;
1395
+ let v = hsv.v !== void 0 ? hsv.v : 0;
1396
+ let res = {
1397
+ mode: "hwb",
1398
+ w: (1 - s) * v,
1399
+ b: 1 - v
1400
+ };
1401
+ if (hsv.h !== void 0) res.h = hsv.h;
1402
+ if (hsv.alpha !== void 0) res.alpha = hsv.alpha;
1403
+ return res;
1404
+ }
1405
+ function ParseHwb(color, parsed) {
1406
+ if (!parsed || parsed[0] !== "hwb") return;
1407
+ const res = { mode: "hwb" };
1408
+ const [, h, w, b, alpha] = parsed;
1409
+ if (h.type !== Tok.None) {
1410
+ if (h.type === Tok.Percentage) return;
1411
+ res.h = h.value;
1412
+ }
1413
+ if (w.type !== Tok.None) {
1414
+ if (w.type === Tok.Hue) return;
1415
+ res.w = w.value / 100;
1416
+ }
1417
+ if (b.type !== Tok.None) {
1418
+ if (b.type === Tok.Hue) return;
1419
+ res.b = b.value / 100;
1420
+ }
1421
+ if (alpha.type !== Tok.None) res.alpha = Math.min(1, Math.max(0, alpha.type === Tok.Number ? alpha.value : alpha.value / 100));
1422
+ return res;
1423
+ }
1424
+ var definition$19 = {
1425
+ mode: "hwb",
1426
+ toMode: { rgb: convertHwbToRgb },
1427
+ fromMode: { rgb: convertRgbToHwb },
1428
+ channels: [
1429
+ "h",
1430
+ "w",
1431
+ "b",
1432
+ "alpha"
1433
+ ],
1434
+ ranges: { h: [0, 360] },
1435
+ gamut: "rgb",
1436
+ parse: [ParseHwb],
1437
+ serialize: (c) => `hwb(${c.h !== void 0 ? c.h : "none"} ${c.w !== void 0 ? c.w * 100 + "%" : "none"} ${c.b !== void 0 ? c.b * 100 + "%" : "none"}${c.alpha < 1 ? ` / ${c.alpha}` : ""})`,
1438
+ interpolate: {
1439
+ h: {
1440
+ use: interpolatorLinear,
1441
+ fixup: fixupHueShorter
1442
+ },
1443
+ w: interpolatorLinear,
1444
+ b: interpolatorLinear,
1445
+ alpha: {
1446
+ use: interpolatorLinear,
1447
+ fixup: fixupAlpha
1448
+ }
1449
+ },
1450
+ difference: { h: differenceHueNaive },
1451
+ average: { h: averageAngle }
1452
+ };
1453
+ const M1 = .1593017578125;
1454
+ const M2 = 78.84375;
1455
+ const C1 = .8359375;
1456
+ const C2 = 18.8515625;
1457
+ const C3 = 18.6875;
1458
+ function transferPqDecode(v) {
1459
+ if (v < 0) return 0;
1460
+ const c = Math.pow(v, 1 / M2);
1461
+ return 1e4 * Math.pow(Math.max(0, c - C1) / (C2 - C3 * c), 1 / M1);
1462
+ }
1463
+ function transferPqEncode(v) {
1464
+ if (v < 0) return 0;
1465
+ const c = Math.pow(v / 1e4, M1);
1466
+ return Math.pow((C1 + C2 * c) / (1 + C3 * c), M2);
1467
+ }
1468
+ var toRel = (c) => Math.max(c / 203, 0);
1469
+ var convertItpToXyz65 = ({ i, t, p, alpha }) => {
1470
+ if (i === void 0) i = 0;
1471
+ if (t === void 0) t = 0;
1472
+ if (p === void 0) p = 0;
1473
+ const l = transferPqDecode(i + .008609037037932761 * t + .11102962500302593 * p);
1474
+ const m = transferPqDecode(i - .00860903703793275 * t - .11102962500302599 * p);
1475
+ const s = transferPqDecode(i + .5600313357106791 * t - .32062717498731885 * p);
1476
+ const res = {
1477
+ mode: "xyz65",
1478
+ x: toRel(2.070152218389422 * l - 1.3263473389671556 * m + .2066510476294051 * s),
1479
+ y: toRel(.3647385209748074 * l + .680566024947227 * m - .0453045459220346 * s),
1480
+ z: toRel(-.049747207535812 * l - .0492609666966138 * m + 1.1880659249923042 * s)
1481
+ };
1482
+ if (alpha !== void 0) res.alpha = alpha;
1483
+ return res;
1484
+ };
1485
+ var toAbs = (c = 0) => Math.max(c * 203, 0);
1486
+ var convertXyz65ToItp = ({ x, y, z, alpha }) => {
1487
+ const absX = toAbs(x);
1488
+ const absY = toAbs(y);
1489
+ const absZ = toAbs(z);
1490
+ const l = transferPqEncode(.3592832590121217 * absX + .6976051147779502 * absY - .0358915932320289 * absZ);
1491
+ const m = transferPqEncode(-.1920808463704995 * absX + 1.1004767970374323 * absY + .0753748658519118 * absZ);
1492
+ const s = transferPqEncode(.0070797844607477 * absX + .0748396662186366 * absY + .8433265453898765 * absZ);
1493
+ const res = {
1494
+ mode: "itp",
1495
+ i: .5 * l + .5 * m,
1496
+ t: 1.61376953125 * l - 3.323486328125 * m + 1.709716796875 * s,
1497
+ p: 4.378173828125 * l - 4.24560546875 * m - .132568359375 * s
1498
+ };
1499
+ if (alpha !== void 0) res.alpha = alpha;
1500
+ return res;
1501
+ };
1502
+ var definition$18 = {
1503
+ mode: "itp",
1504
+ channels: [
1505
+ "i",
1506
+ "t",
1507
+ "p",
1508
+ "alpha"
1509
+ ],
1510
+ parse: ["--ictcp"],
1511
+ serialize: "--ictcp",
1512
+ toMode: {
1513
+ xyz65: convertItpToXyz65,
1514
+ rgb: (color) => convertXyz65ToRgb(convertItpToXyz65(color))
1515
+ },
1516
+ fromMode: {
1517
+ xyz65: convertXyz65ToItp,
1518
+ rgb: (color) => convertXyz65ToItp(convertRgbToXyz65(color))
1519
+ },
1520
+ ranges: {
1521
+ i: [0, .581],
1522
+ t: [-.369, .272],
1523
+ p: [-.164, .331]
1524
+ },
1525
+ interpolate: {
1526
+ i: interpolatorLinear,
1527
+ t: interpolatorLinear,
1528
+ p: interpolatorLinear,
1529
+ alpha: {
1530
+ use: interpolatorLinear,
1531
+ fixup: fixupAlpha
1532
+ }
1533
+ }
1534
+ };
1535
+ var p$2 = 134.03437499999998;
1536
+ var d0$1 = 16295499532821565e-27;
1537
+ var jabPqEncode = (v) => {
1538
+ if (v < 0) return 0;
1539
+ let vn = Math.pow(v / 1e4, M1);
1540
+ return Math.pow((C1 + C2 * vn) / (1 + C3 * vn), p$2);
1541
+ };
1542
+ var abs = (v = 0) => Math.max(v * 203, 0);
1543
+ var convertXyz65ToJab = ({ x, y, z, alpha }) => {
1544
+ x = abs(x);
1545
+ y = abs(y);
1546
+ z = abs(z);
1547
+ let xp = 1.15 * x - .15 * z;
1548
+ let yp = .66 * y + .34 * x;
1549
+ let l = jabPqEncode(.41478972 * xp + .579999 * yp + .014648 * z);
1550
+ let m = jabPqEncode(-.20151 * xp + 1.120649 * yp + .0531008 * z);
1551
+ let s = jabPqEncode(-.0166008 * xp + .2648 * yp + .6684799 * z);
1552
+ let i = (l + m) / 2;
1553
+ let res = {
1554
+ mode: "jab",
1555
+ j: .44 * i / (1 - .56 * i) - d0$1,
1556
+ a: 3.524 * l - 4.066708 * m + .542708 * s,
1557
+ b: .199076 * l + 1.096799 * m - 1.295875 * s
1558
+ };
1559
+ if (alpha !== void 0) res.alpha = alpha;
1560
+ return res;
1561
+ };
1562
+ var p$1 = 134.03437499999998;
1563
+ var d0 = 16295499532821565e-27;
1564
+ var jabPqDecode = (v) => {
1565
+ if (v < 0) return 0;
1566
+ let vp = Math.pow(v, 1 / p$1);
1567
+ return 1e4 * Math.pow((C1 - vp) / (C3 * vp - C2), 1 / M1);
1568
+ };
1569
+ var rel = (v) => v / 203;
1570
+ var convertJabToXyz65 = ({ j, a, b, alpha }) => {
1571
+ if (j === void 0) j = 0;
1572
+ if (a === void 0) a = 0;
1573
+ if (b === void 0) b = 0;
1574
+ let i = (j + d0) / (.44 + .56 * (j + d0));
1575
+ let l = jabPqDecode(i + .13860504 * a + .058047316 * b);
1576
+ let m = jabPqDecode(i - .13860504 * a - .058047316 * b);
1577
+ let s = jabPqDecode(i - .096019242 * a - .8118919 * b);
1578
+ let res = {
1579
+ mode: "xyz65",
1580
+ x: rel(1.661373024652174 * l - .914523081304348 * m + .23136208173913045 * s),
1581
+ y: rel(-.3250758611844533 * l + 1.571847026732543 * m - .21825383453227928 * s),
1582
+ z: rel(-.090982811 * l - .31272829 * m + 1.5227666 * s)
1583
+ };
1584
+ if (alpha !== void 0) res.alpha = alpha;
1585
+ return res;
1586
+ };
1587
+ var convertRgbToJab = (rgb) => {
1588
+ let res = convertXyz65ToJab(convertRgbToXyz65(rgb));
1589
+ if (rgb.r === rgb.b && rgb.b === rgb.g) res.a = res.b = 0;
1590
+ return res;
1591
+ };
1592
+ var convertJabToRgb = (color) => convertXyz65ToRgb(convertJabToXyz65(color));
1593
+ var definition$17 = {
1594
+ mode: "jab",
1595
+ channels: [
1596
+ "j",
1597
+ "a",
1598
+ "b",
1599
+ "alpha"
1600
+ ],
1601
+ parse: ["--jzazbz"],
1602
+ serialize: "--jzazbz",
1603
+ fromMode: {
1604
+ rgb: convertRgbToJab,
1605
+ xyz65: convertXyz65ToJab
1606
+ },
1607
+ toMode: {
1608
+ rgb: convertJabToRgb,
1609
+ xyz65: convertJabToXyz65
1610
+ },
1611
+ ranges: {
1612
+ j: [0, .222],
1613
+ a: [-.109, .129],
1614
+ b: [-.185, .134]
1615
+ },
1616
+ interpolate: {
1617
+ j: interpolatorLinear,
1618
+ a: interpolatorLinear,
1619
+ b: interpolatorLinear,
1620
+ alpha: {
1621
+ use: interpolatorLinear,
1622
+ fixup: fixupAlpha
1623
+ }
1624
+ }
1625
+ };
1626
+ var convertJabToJch = ({ j, a, b, alpha }) => {
1627
+ if (a === void 0) a = 0;
1628
+ if (b === void 0) b = 0;
1629
+ let c = Math.sqrt(a * a + b * b);
1630
+ let res = {
1631
+ mode: "jch",
1632
+ j,
1633
+ c
1634
+ };
1635
+ if (c) res.h = normalizeHue(Math.atan2(b, a) * 180 / Math.PI);
1636
+ if (alpha !== void 0) res.alpha = alpha;
1637
+ return res;
1638
+ };
1639
+ var convertJchToJab = ({ j, c, h, alpha }) => {
1640
+ if (h === void 0) h = 0;
1641
+ let res = {
1642
+ mode: "jab",
1643
+ j,
1644
+ a: c ? c * Math.cos(h / 180 * Math.PI) : 0,
1645
+ b: c ? c * Math.sin(h / 180 * Math.PI) : 0
1646
+ };
1647
+ if (alpha !== void 0) res.alpha = alpha;
1648
+ return res;
1649
+ };
1650
+ var definition$16 = {
1651
+ mode: "jch",
1652
+ parse: ["--jzczhz"],
1653
+ serialize: "--jzczhz",
1654
+ toMode: {
1655
+ jab: convertJchToJab,
1656
+ rgb: (c) => convertJabToRgb(convertJchToJab(c))
1657
+ },
1658
+ fromMode: {
1659
+ rgb: (c) => convertJabToJch(convertRgbToJab(c)),
1660
+ jab: convertJabToJch
1661
+ },
1662
+ channels: [
1663
+ "j",
1664
+ "c",
1665
+ "h",
1666
+ "alpha"
1667
+ ],
1668
+ ranges: {
1669
+ j: [0, .221],
1670
+ c: [0, .19],
1671
+ h: [0, 360]
1672
+ },
1673
+ interpolate: {
1674
+ h: {
1675
+ use: interpolatorLinear,
1676
+ fixup: fixupHueShorter
1677
+ },
1678
+ c: interpolatorLinear,
1679
+ j: interpolatorLinear,
1680
+ alpha: {
1681
+ use: interpolatorLinear,
1682
+ fixup: fixupAlpha
1683
+ }
1684
+ },
1685
+ difference: { h: differenceHueChroma },
1686
+ average: { h: averageAngle }
1687
+ };
1688
+ const k$3 = Math.pow(29, 3) / Math.pow(3, 3);
1689
+ const e = Math.pow(6, 3) / Math.pow(29, 3);
1690
+ var fn = (v) => Math.pow(v, 3) > e ? Math.pow(v, 3) : (116 * v - 16) / k$3;
1691
+ var convertLabToXyz50 = ({ l, a, b, alpha }) => {
1692
+ if (l === void 0) l = 0;
1693
+ if (a === void 0) a = 0;
1694
+ if (b === void 0) b = 0;
1695
+ let fy = (l + 16) / 116;
1696
+ let fx = a / 500 + fy;
1697
+ let fz = fy - b / 200;
1698
+ let res = {
1699
+ mode: "xyz50",
1700
+ x: fn(fx) * D50.X,
1701
+ y: fn(fy) * D50.Y,
1702
+ z: fn(fz) * D50.Z
1703
+ };
1704
+ if (alpha !== void 0) res.alpha = alpha;
1705
+ return res;
1706
+ };
1707
+ var convertXyz50ToRgb = ({ x, y, z, alpha }) => {
1708
+ if (x === void 0) x = 0;
1709
+ if (y === void 0) y = 0;
1710
+ if (z === void 0) z = 0;
1711
+ let res = convertLrgbToRgb({
1712
+ r: x * 3.1341359569958707 - y * 1.6173863321612538 - .4906619460083532 * z,
1713
+ g: x * -.978795502912089 + y * 1.916254567259524 + .03344273116131949 * z,
1714
+ b: x * .07195537988411677 - y * .2289768264158322 + 1.405386058324125 * z
1715
+ });
1716
+ if (alpha !== void 0) res.alpha = alpha;
1717
+ return res;
1718
+ };
1719
+ var convertLabToRgb = (lab) => convertXyz50ToRgb(convertLabToXyz50(lab));
1720
+ var convertRgbToXyz50 = (rgb) => {
1721
+ let { r, g, b, alpha } = convertRgbToLrgb(rgb);
1722
+ let res = {
1723
+ mode: "xyz50",
1724
+ x: .436065742824811 * r + .3851514688337912 * g + .14307845442264197 * b,
1725
+ y: .22249319175623702 * r + .7168870538238823 * g + .06061979053616537 * b,
1726
+ z: .013923904500943465 * r + .09708128566574634 * g + .7140993584005155 * b
1727
+ };
1728
+ if (alpha !== void 0) res.alpha = alpha;
1729
+ return res;
1730
+ };
1731
+ var f$1 = (value) => value > e ? Math.cbrt(value) : (k$3 * value + 16) / 116;
1732
+ var convertXyz50ToLab = ({ x, y, z, alpha }) => {
1733
+ if (x === void 0) x = 0;
1734
+ if (y === void 0) y = 0;
1735
+ if (z === void 0) z = 0;
1736
+ let f0 = f$1(x / D50.X);
1737
+ let f1 = f$1(y / D50.Y);
1738
+ let f2 = f$1(z / D50.Z);
1739
+ let res = {
1740
+ mode: "lab",
1741
+ l: 116 * f1 - 16,
1742
+ a: 500 * (f0 - f1),
1743
+ b: 200 * (f1 - f2)
1744
+ };
1745
+ if (alpha !== void 0) res.alpha = alpha;
1746
+ return res;
1747
+ };
1748
+ var convertRgbToLab = (rgb) => {
1749
+ let res = convertXyz50ToLab(convertRgbToXyz50(rgb));
1750
+ if (rgb.r === rgb.b && rgb.b === rgb.g) res.a = res.b = 0;
1751
+ return res;
1752
+ };
1753
+ function parseLab(color, parsed) {
1754
+ if (!parsed || parsed[0] !== "lab") return;
1755
+ const res = { mode: "lab" };
1756
+ const [, l, a, b, alpha] = parsed;
1757
+ if (l.type === Tok.Hue || a.type === Tok.Hue || b.type === Tok.Hue) return;
1758
+ if (l.type !== Tok.None) res.l = Math.min(Math.max(0, l.value), 100);
1759
+ if (a.type !== Tok.None) res.a = a.type === Tok.Number ? a.value : a.value * 125 / 100;
1760
+ if (b.type !== Tok.None) res.b = b.type === Tok.Number ? b.value : b.value * 125 / 100;
1761
+ if (alpha.type !== Tok.None) res.alpha = Math.min(1, Math.max(0, alpha.type === Tok.Number ? alpha.value : alpha.value / 100));
1762
+ return res;
1763
+ }
1764
+ var definition$15 = {
1765
+ mode: "lab",
1766
+ toMode: {
1767
+ xyz50: convertLabToXyz50,
1768
+ rgb: convertLabToRgb
1769
+ },
1770
+ fromMode: {
1771
+ xyz50: convertXyz50ToLab,
1772
+ rgb: convertRgbToLab
1773
+ },
1774
+ channels: [
1775
+ "l",
1776
+ "a",
1777
+ "b",
1778
+ "alpha"
1779
+ ],
1780
+ ranges: {
1781
+ l: [0, 100],
1782
+ a: [-125, 125],
1783
+ b: [-125, 125]
1784
+ },
1785
+ parse: [parseLab],
1786
+ serialize: (c) => `lab(${c.l !== void 0 ? c.l : "none"} ${c.a !== void 0 ? c.a : "none"} ${c.b !== void 0 ? c.b : "none"}${c.alpha < 1 ? ` / ${c.alpha}` : ""})`,
1787
+ interpolate: {
1788
+ l: interpolatorLinear,
1789
+ a: interpolatorLinear,
1790
+ b: interpolatorLinear,
1791
+ alpha: {
1792
+ use: interpolatorLinear,
1793
+ fixup: fixupAlpha
1794
+ }
1795
+ }
1796
+ };
1797
+ var definition$14 = {
1798
+ ...definition$15,
1799
+ mode: "lab65",
1800
+ parse: ["--lab-d65"],
1801
+ serialize: "--lab-d65",
1802
+ toMode: {
1803
+ xyz65: convertLab65ToXyz65,
1804
+ rgb: convertLab65ToRgb
1805
+ },
1806
+ fromMode: {
1807
+ xyz65: convertXyz65ToLab65,
1808
+ rgb: convertRgbToLab65
1809
+ },
1810
+ ranges: {
1811
+ l: [0, 100],
1812
+ a: [-125, 125],
1813
+ b: [-125, 125]
1814
+ }
1815
+ };
1816
+ function parseLch(color, parsed) {
1817
+ if (!parsed || parsed[0] !== "lch") return;
1818
+ const res = { mode: "lch" };
1819
+ const [, l, c, h, alpha] = parsed;
1820
+ if (l.type !== Tok.None) {
1821
+ if (l.type === Tok.Hue) return;
1822
+ res.l = Math.min(Math.max(0, l.value), 100);
1823
+ }
1824
+ if (c.type !== Tok.None) res.c = Math.max(0, c.type === Tok.Number ? c.value : c.value * 150 / 100);
1825
+ if (h.type !== Tok.None) {
1826
+ if (h.type === Tok.Percentage) return;
1827
+ res.h = h.value;
1828
+ }
1829
+ if (alpha.type !== Tok.None) res.alpha = Math.min(1, Math.max(0, alpha.type === Tok.Number ? alpha.value : alpha.value / 100));
1830
+ return res;
1831
+ }
1832
+ var definition$13 = {
1833
+ mode: "lch",
1834
+ toMode: {
1835
+ lab: convertLchToLab,
1836
+ rgb: (c) => convertLabToRgb(convertLchToLab(c))
1837
+ },
1838
+ fromMode: {
1839
+ rgb: (c) => convertLabToLch(convertRgbToLab(c)),
1840
+ lab: convertLabToLch
1841
+ },
1842
+ channels: [
1843
+ "l",
1844
+ "c",
1845
+ "h",
1846
+ "alpha"
1847
+ ],
1848
+ ranges: {
1849
+ l: [0, 100],
1850
+ c: [0, 150],
1851
+ h: [0, 360]
1852
+ },
1853
+ parse: [parseLch],
1854
+ serialize: (c) => `lch(${c.l !== void 0 ? c.l : "none"} ${c.c !== void 0 ? c.c : "none"} ${c.h !== void 0 ? c.h : "none"}${c.alpha < 1 ? ` / ${c.alpha}` : ""})`,
1855
+ interpolate: {
1856
+ h: {
1857
+ use: interpolatorLinear,
1858
+ fixup: fixupHueShorter
1859
+ },
1860
+ c: interpolatorLinear,
1861
+ l: interpolatorLinear,
1862
+ alpha: {
1863
+ use: interpolatorLinear,
1864
+ fixup: fixupAlpha
1865
+ }
1866
+ },
1867
+ difference: { h: differenceHueChroma },
1868
+ average: { h: averageAngle }
1869
+ };
1870
+ var definition$12 = {
1871
+ ...definition$13,
1872
+ mode: "lch65",
1873
+ parse: ["--lch-d65"],
1874
+ serialize: "--lch-d65",
1875
+ toMode: {
1876
+ lab65: (c) => convertLchToLab(c, "lab65"),
1877
+ rgb: (c) => convertLab65ToRgb(convertLchToLab(c, "lab65"))
1878
+ },
1879
+ fromMode: {
1880
+ rgb: (c) => convertLabToLch(convertRgbToLab65(c), "lch65"),
1881
+ lab65: (c) => convertLabToLch(c, "lch65")
1882
+ },
1883
+ ranges: {
1884
+ l: [0, 100],
1885
+ c: [0, 150],
1886
+ h: [0, 360]
1887
+ }
1888
+ };
1889
+ var convertLuvToLchuv = ({ l, u, v, alpha }) => {
1890
+ if (u === void 0) u = 0;
1891
+ if (v === void 0) v = 0;
1892
+ let c = Math.sqrt(u * u + v * v);
1893
+ let res = {
1894
+ mode: "lchuv",
1895
+ l,
1896
+ c
1897
+ };
1898
+ if (c) res.h = normalizeHue(Math.atan2(v, u) * 180 / Math.PI);
1899
+ if (alpha !== void 0) res.alpha = alpha;
1900
+ return res;
1901
+ };
1902
+ var convertLchuvToLuv = ({ l, c, h, alpha }) => {
1903
+ if (h === void 0) h = 0;
1904
+ let res = {
1905
+ mode: "luv",
1906
+ l,
1907
+ u: c ? c * Math.cos(h / 180 * Math.PI) : 0,
1908
+ v: c ? c * Math.sin(h / 180 * Math.PI) : 0
1909
+ };
1910
+ if (alpha !== void 0) res.alpha = alpha;
1911
+ return res;
1912
+ };
1913
+ const u_fn$1 = (x, y, z) => 4 * x / (x + 15 * y + 3 * z);
1914
+ const v_fn$1 = (x, y, z) => 9 * y / (x + 15 * y + 3 * z);
1915
+ const un$1 = u_fn$1(D50.X, D50.Y, D50.Z);
1916
+ const vn$1 = v_fn$1(D50.X, D50.Y, D50.Z);
1917
+ var l_fn = (value) => value <= e ? k$3 * value : 116 * Math.cbrt(value) - 16;
1918
+ var convertXyz50ToLuv = ({ x, y, z, alpha }) => {
1919
+ if (x === void 0) x = 0;
1920
+ if (y === void 0) y = 0;
1921
+ if (z === void 0) z = 0;
1922
+ let l = l_fn(y / D50.Y);
1923
+ let u = u_fn$1(x, y, z);
1924
+ let v = v_fn$1(x, y, z);
1925
+ if (!isFinite(u) || !isFinite(v)) l = u = v = 0;
1926
+ else {
1927
+ u = 13 * l * (u - un$1);
1928
+ v = 13 * l * (v - vn$1);
1929
+ }
1930
+ let res = {
1931
+ mode: "luv",
1932
+ l,
1933
+ u,
1934
+ v
1935
+ };
1936
+ if (alpha !== void 0) res.alpha = alpha;
1937
+ return res;
1938
+ };
1939
+ const u_fn = (x, y, z) => 4 * x / (x + 15 * y + 3 * z);
1940
+ const v_fn = (x, y, z) => 9 * y / (x + 15 * y + 3 * z);
1941
+ const un = u_fn(D50.X, D50.Y, D50.Z);
1942
+ const vn = v_fn(D50.X, D50.Y, D50.Z);
1943
+ var convertLuvToXyz50 = ({ l, u, v, alpha }) => {
1944
+ if (l === void 0) l = 0;
1945
+ if (l === 0) return {
1946
+ mode: "xyz50",
1947
+ x: 0,
1948
+ y: 0,
1949
+ z: 0
1950
+ };
1951
+ if (u === void 0) u = 0;
1952
+ if (v === void 0) v = 0;
1953
+ let up = u / (13 * l) + un;
1954
+ let vp = v / (13 * l) + vn;
1955
+ let y = D50.Y * (l <= 8 ? l / k$3 : Math.pow((l + 16) / 116, 3));
1956
+ let res = {
1957
+ mode: "xyz50",
1958
+ x: y * (9 * up) / (4 * vp),
1959
+ y,
1960
+ z: y * (12 - 3 * up - 20 * vp) / (4 * vp)
1961
+ };
1962
+ if (alpha !== void 0) res.alpha = alpha;
1963
+ return res;
1964
+ };
1965
+ var convertRgbToLchuv = (rgb) => convertLuvToLchuv(convertXyz50ToLuv(convertRgbToXyz50(rgb)));
1966
+ var convertLchuvToRgb = (lchuv) => convertXyz50ToRgb(convertLuvToXyz50(convertLchuvToLuv(lchuv)));
1967
+ var definition$11 = {
1968
+ mode: "lchuv",
1969
+ toMode: {
1970
+ luv: convertLchuvToLuv,
1971
+ rgb: convertLchuvToRgb
1972
+ },
1973
+ fromMode: {
1974
+ rgb: convertRgbToLchuv,
1975
+ luv: convertLuvToLchuv
1976
+ },
1977
+ channels: [
1978
+ "l",
1979
+ "c",
1980
+ "h",
1981
+ "alpha"
1982
+ ],
1983
+ parse: ["--lchuv"],
1984
+ serialize: "--lchuv",
1985
+ ranges: {
1986
+ l: [0, 100],
1987
+ c: [0, 176.956],
1988
+ h: [0, 360]
1989
+ },
1990
+ interpolate: {
1991
+ h: {
1992
+ use: interpolatorLinear,
1993
+ fixup: fixupHueShorter
1994
+ },
1995
+ c: interpolatorLinear,
1996
+ l: interpolatorLinear,
1997
+ alpha: {
1998
+ use: interpolatorLinear,
1999
+ fixup: fixupAlpha
2000
+ }
2001
+ },
2002
+ difference: { h: differenceHueChroma },
2003
+ average: { h: averageAngle }
2004
+ };
2005
+ var definition$10 = {
2006
+ ...definition$27,
2007
+ mode: "lrgb",
2008
+ toMode: { rgb: convertLrgbToRgb },
2009
+ fromMode: { rgb: convertRgbToLrgb },
2010
+ parse: ["srgb-linear"],
2011
+ serialize: "srgb-linear"
2012
+ };
2013
+ var definition$9 = {
2014
+ mode: "luv",
2015
+ toMode: {
2016
+ xyz50: convertLuvToXyz50,
2017
+ rgb: (luv) => convertXyz50ToRgb(convertLuvToXyz50(luv))
2018
+ },
2019
+ fromMode: {
2020
+ xyz50: convertXyz50ToLuv,
2021
+ rgb: (rgb) => convertXyz50ToLuv(convertRgbToXyz50(rgb))
2022
+ },
2023
+ channels: [
2024
+ "l",
2025
+ "u",
2026
+ "v",
2027
+ "alpha"
2028
+ ],
2029
+ parse: ["--luv"],
2030
+ serialize: "--luv",
2031
+ ranges: {
2032
+ l: [0, 100],
2033
+ u: [-84.936, 175.042],
2034
+ v: [-125.882, 87.243]
2035
+ },
2036
+ interpolate: {
2037
+ l: interpolatorLinear,
2038
+ u: interpolatorLinear,
2039
+ v: interpolatorLinear,
2040
+ alpha: {
2041
+ use: interpolatorLinear,
2042
+ fixup: fixupAlpha
2043
+ }
2044
+ }
2045
+ };
2046
+ var convertLrgbToOklab = ({ r, g, b, alpha }) => {
2047
+ if (r === void 0) r = 0;
2048
+ if (g === void 0) g = 0;
2049
+ if (b === void 0) b = 0;
2050
+ let L = Math.cbrt(.412221469470763 * r + .5363325372617348 * g + .0514459932675022 * b);
2051
+ let M = Math.cbrt(.2119034958178252 * r + .6806995506452344 * g + .1073969535369406 * b);
2052
+ let S = Math.cbrt(.0883024591900564 * r + .2817188391361215 * g + .6299787016738222 * b);
2053
+ let res = {
2054
+ mode: "oklab",
2055
+ l: .210454268309314 * L + .7936177747023054 * M - .0040720430116193 * S,
2056
+ a: 1.9779985324311684 * L - 2.42859224204858 * M + .450593709617411 * S,
2057
+ b: .0259040424655478 * L + .7827717124575296 * M - .8086757549230774 * S
2058
+ };
2059
+ if (alpha !== void 0) res.alpha = alpha;
2060
+ return res;
2061
+ };
2062
+ var convertRgbToOklab = (rgb) => {
2063
+ let res = convertLrgbToOklab(convertRgbToLrgb(rgb));
2064
+ if (rgb.r === rgb.b && rgb.b === rgb.g) res.a = res.b = 0;
2065
+ return res;
2066
+ };
2067
+ var convertOklabToLrgb = ({ l, a, b, alpha }) => {
2068
+ if (l === void 0) l = 0;
2069
+ if (a === void 0) a = 0;
2070
+ if (b === void 0) b = 0;
2071
+ let L = Math.pow(l + .3963377773761749 * a + .2158037573099136 * b, 3);
2072
+ let M = Math.pow(l - .1055613458156586 * a - .0638541728258133 * b, 3);
2073
+ let S = Math.pow(l - .0894841775298119 * a - 1.2914855480194092 * b, 3);
2074
+ let res = {
2075
+ mode: "lrgb",
2076
+ r: 4.076741636075957 * L - 3.3077115392580616 * M + .2309699031821044 * S,
2077
+ g: -1.2684379732850317 * L + 2.6097573492876887 * M - .3413193760026573 * S,
2078
+ b: -.0041960761386756 * L - .7034186179359362 * M + 1.7076146940746117 * S
2079
+ };
2080
+ if (alpha !== void 0) res.alpha = alpha;
2081
+ return res;
2082
+ };
2083
+ var convertOklabToRgb = (c) => convertLrgbToRgb(convertOklabToLrgb(c));
2084
+ function toe(x) {
2085
+ const k_1 = .206;
2086
+ const k_2 = .03;
2087
+ const k_3 = (1 + k_1) / (1 + k_2);
2088
+ return .5 * (k_3 * x - k_1 + Math.sqrt((k_3 * x - k_1) * (k_3 * x - k_1) + 4 * k_2 * k_3 * x));
2089
+ }
2090
+ function toe_inv(x) {
2091
+ const k_1 = .206;
2092
+ const k_2 = .03;
2093
+ const k_3 = (1 + k_1) / (1 + k_2);
2094
+ return (x * x + k_1 * x) / (k_3 * (x + k_2));
2095
+ }
2096
+ function compute_max_saturation(a, b) {
2097
+ let k0, k1, k2, k3, k4, wl, wm, ws;
2098
+ if (-1.88170328 * a - .80936493 * b > 1) {
2099
+ k0 = 1.19086277;
2100
+ k1 = 1.76576728;
2101
+ k2 = .59662641;
2102
+ k3 = .75515197;
2103
+ k4 = .56771245;
2104
+ wl = 4.0767416621;
2105
+ wm = -3.3077115913;
2106
+ ws = .2309699292;
2107
+ } else if (1.81444104 * a - 1.19445276 * b > 1) {
2108
+ k0 = .73956515;
2109
+ k1 = -.45954404;
2110
+ k2 = .08285427;
2111
+ k3 = .1254107;
2112
+ k4 = .14503204;
2113
+ wl = -1.2684380046;
2114
+ wm = 2.6097574011;
2115
+ ws = -.3413193965;
2116
+ } else {
2117
+ k0 = 1.35733652;
2118
+ k1 = -.00915799;
2119
+ k2 = -1.1513021;
2120
+ k3 = -.50559606;
2121
+ k4 = .00692167;
2122
+ wl = -.0041960863;
2123
+ wm = -.7034186147;
2124
+ ws = 1.707614701;
2125
+ }
2126
+ let S = k0 + k1 * a + k2 * b + k3 * a * a + k4 * a * b;
2127
+ let k_l = .3963377774 * a + .2158037573 * b;
2128
+ let k_m = -.1055613458 * a - .0638541728 * b;
2129
+ let k_s = -.0894841775 * a - 1.291485548 * b;
2130
+ {
2131
+ let l_ = 1 + S * k_l;
2132
+ let m_ = 1 + S * k_m;
2133
+ let s_ = 1 + S * k_s;
2134
+ let l = l_ * l_ * l_;
2135
+ let m = m_ * m_ * m_;
2136
+ let s = s_ * s_ * s_;
2137
+ let l_dS = 3 * k_l * l_ * l_;
2138
+ let m_dS = 3 * k_m * m_ * m_;
2139
+ let s_dS = 3 * k_s * s_ * s_;
2140
+ let l_dS2 = 6 * k_l * k_l * l_;
2141
+ let m_dS2 = 6 * k_m * k_m * m_;
2142
+ let s_dS2 = 6 * k_s * k_s * s_;
2143
+ let f = wl * l + wm * m + ws * s;
2144
+ let f1 = wl * l_dS + wm * m_dS + ws * s_dS;
2145
+ let f2 = wl * l_dS2 + wm * m_dS2 + ws * s_dS2;
2146
+ S = S - f * f1 / (f1 * f1 - .5 * f * f2);
2147
+ }
2148
+ return S;
2149
+ }
2150
+ function find_cusp(a, b) {
2151
+ let S_cusp = compute_max_saturation(a, b);
2152
+ let rgb = convertOklabToLrgb({
2153
+ l: 1,
2154
+ a: S_cusp * a,
2155
+ b: S_cusp * b
2156
+ });
2157
+ let L_cusp = Math.cbrt(1 / Math.max(rgb.r, rgb.g, rgb.b));
2158
+ return [L_cusp, L_cusp * S_cusp];
2159
+ }
2160
+ function find_gamut_intersection(a, b, L1, C1, L0, cusp = null) {
2161
+ if (!cusp) cusp = find_cusp(a, b);
2162
+ let t;
2163
+ if ((L1 - L0) * cusp[1] - (cusp[0] - L0) * C1 <= 0) t = cusp[1] * L0 / (C1 * cusp[0] + cusp[1] * (L0 - L1));
2164
+ else {
2165
+ t = cusp[1] * (L0 - 1) / (C1 * (cusp[0] - 1) + cusp[1] * (L0 - L1));
2166
+ {
2167
+ let dL = L1 - L0;
2168
+ let dC = C1;
2169
+ let k_l = .3963377774 * a + .2158037573 * b;
2170
+ let k_m = -.1055613458 * a - .0638541728 * b;
2171
+ let k_s = -.0894841775 * a - 1.291485548 * b;
2172
+ let l_dt = dL + dC * k_l;
2173
+ let m_dt = dL + dC * k_m;
2174
+ let s_dt = dL + dC * k_s;
2175
+ {
2176
+ let L = L0 * (1 - t) + t * L1;
2177
+ let C = t * C1;
2178
+ let l_ = L + C * k_l;
2179
+ let m_ = L + C * k_m;
2180
+ let s_ = L + C * k_s;
2181
+ let l = l_ * l_ * l_;
2182
+ let m = m_ * m_ * m_;
2183
+ let s = s_ * s_ * s_;
2184
+ let ldt = 3 * l_dt * l_ * l_;
2185
+ let mdt = 3 * m_dt * m_ * m_;
2186
+ let sdt = 3 * s_dt * s_ * s_;
2187
+ let ldt2 = 6 * l_dt * l_dt * l_;
2188
+ let mdt2 = 6 * m_dt * m_dt * m_;
2189
+ let sdt2 = 6 * s_dt * s_dt * s_;
2190
+ let r = 4.0767416621 * l - 3.3077115913 * m + .2309699292 * s - 1;
2191
+ let r1 = 4.0767416621 * ldt - 3.3077115913 * mdt + .2309699292 * sdt;
2192
+ let r2 = 4.0767416621 * ldt2 - 3.3077115913 * mdt2 + .2309699292 * sdt2;
2193
+ let u_r = r1 / (r1 * r1 - .5 * r * r2);
2194
+ let t_r = -r * u_r;
2195
+ let g = -1.2684380046 * l + 2.6097574011 * m - .3413193965 * s - 1;
2196
+ let g1 = -1.2684380046 * ldt + 2.6097574011 * mdt - .3413193965 * sdt;
2197
+ let g2 = -1.2684380046 * ldt2 + 2.6097574011 * mdt2 - .3413193965 * sdt2;
2198
+ let u_g = g1 / (g1 * g1 - .5 * g * g2);
2199
+ let t_g = -g * u_g;
2200
+ let b = -.0041960863 * l - .7034186147 * m + 1.707614701 * s - 1;
2201
+ let b1 = -.0041960863 * ldt - .7034186147 * mdt + 1.707614701 * sdt;
2202
+ let b2 = -.0041960863 * ldt2 - .7034186147 * mdt2 + 1.707614701 * sdt2;
2203
+ let u_b = b1 / (b1 * b1 - .5 * b * b2);
2204
+ let t_b = -b * u_b;
2205
+ t_r = u_r >= 0 ? t_r : 1e6;
2206
+ t_g = u_g >= 0 ? t_g : 1e6;
2207
+ t_b = u_b >= 0 ? t_b : 1e6;
2208
+ t += Math.min(t_r, Math.min(t_g, t_b));
2209
+ }
2210
+ }
2211
+ }
2212
+ return t;
2213
+ }
2214
+ function get_ST_max(a_, b_, cusp = null) {
2215
+ if (!cusp) cusp = find_cusp(a_, b_);
2216
+ let L = cusp[0];
2217
+ let C = cusp[1];
2218
+ return [C / L, C / (1 - L)];
2219
+ }
2220
+ function get_Cs(L, a_, b_) {
2221
+ let cusp = find_cusp(a_, b_);
2222
+ let C_max = find_gamut_intersection(a_, b_, L, 1, L, cusp);
2223
+ let ST_max = get_ST_max(a_, b_, cusp);
2224
+ let S_mid = .11516993 + 1 / (7.4477897 + 4.1590124 * b_ + a_ * (-2.19557347 + 1.75198401 * b_ + a_ * (-2.13704948 - 10.02301043 * b_ + a_ * (-4.24894561 + 5.38770819 * b_ + 4.69891013 * a_))));
2225
+ let T_mid = .11239642 + 1 / (1.6132032 - .68124379 * b_ + a_ * (.40370612 + .90148123 * b_ + a_ * (-.27087943 + .6122399 * b_ + a_ * (.00299215 - .45399568 * b_ - .14661872 * a_))));
2226
+ let k = C_max / Math.min(L * ST_max[0], (1 - L) * ST_max[1]);
2227
+ let C_a = L * S_mid;
2228
+ let C_b = (1 - L) * T_mid;
2229
+ let C_mid = .9 * k * Math.sqrt(Math.sqrt(1 / (1 / (C_a * C_a * C_a * C_a) + 1 / (C_b * C_b * C_b * C_b))));
2230
+ C_a = L * .4;
2231
+ C_b = (1 - L) * .8;
2232
+ return [
2233
+ Math.sqrt(1 / (1 / (C_a * C_a) + 1 / (C_b * C_b))),
2234
+ C_mid,
2235
+ C_max
2236
+ ];
2237
+ }
2238
+ function convertOklabToOkhsl(lab) {
2239
+ const l = lab.l !== void 0 ? lab.l : 0;
2240
+ const a = lab.a !== void 0 ? lab.a : 0;
2241
+ const b = lab.b !== void 0 ? lab.b : 0;
2242
+ const ret = {
2243
+ mode: "okhsl",
2244
+ l: toe(l)
2245
+ };
2246
+ if (lab.alpha !== void 0) ret.alpha = lab.alpha;
2247
+ let c = Math.sqrt(a * a + b * b);
2248
+ if (!c) {
2249
+ ret.s = 0;
2250
+ return ret;
2251
+ }
2252
+ let [C_0, C_mid, C_max] = get_Cs(l, a / c, b / c);
2253
+ let s;
2254
+ if (c < C_mid) {
2255
+ let k_0 = 0;
2256
+ let k_1 = .8 * C_0;
2257
+ let k_2 = 1 - k_1 / C_mid;
2258
+ s = (c - k_0) / (k_1 + k_2 * (c - k_0)) * .8;
2259
+ } else {
2260
+ let k_0 = C_mid;
2261
+ let k_1 = .2 * C_mid * C_mid * 1.25 * 1.25 / C_0;
2262
+ let k_2 = 1 - k_1 / (C_max - C_mid);
2263
+ s = .8 + .2 * ((c - k_0) / (k_1 + k_2 * (c - k_0)));
2264
+ }
2265
+ if (s) {
2266
+ ret.s = s;
2267
+ ret.h = normalizeHue(Math.atan2(b, a) * 180 / Math.PI);
2268
+ }
2269
+ return ret;
2270
+ }
2271
+ function convertOkhslToOklab(hsl) {
2272
+ let h = hsl.h !== void 0 ? hsl.h : 0;
2273
+ let s = hsl.s !== void 0 ? hsl.s : 0;
2274
+ let l = hsl.l !== void 0 ? hsl.l : 0;
2275
+ const ret = {
2276
+ mode: "oklab",
2277
+ l: toe_inv(l)
2278
+ };
2279
+ if (hsl.alpha !== void 0) ret.alpha = hsl.alpha;
2280
+ if (!s || l === 1) {
2281
+ ret.a = ret.b = 0;
2282
+ return ret;
2283
+ }
2284
+ let a_ = Math.cos(h / 180 * Math.PI);
2285
+ let b_ = Math.sin(h / 180 * Math.PI);
2286
+ let [C_0, C_mid, C_max] = get_Cs(ret.l, a_, b_);
2287
+ let t, k_0, k_1, k_2;
2288
+ if (s < .8) {
2289
+ t = 1.25 * s;
2290
+ k_0 = 0;
2291
+ k_1 = .8 * C_0;
2292
+ k_2 = 1 - k_1 / C_mid;
2293
+ } else {
2294
+ t = 5 * (s - .8);
2295
+ k_0 = C_mid;
2296
+ k_1 = .2 * C_mid * C_mid * 1.25 * 1.25 / C_0;
2297
+ k_2 = 1 - k_1 / (C_max - C_mid);
2298
+ }
2299
+ let C = k_0 + t * k_1 / (1 - k_2 * t);
2300
+ ret.a = C * a_;
2301
+ ret.b = C * b_;
2302
+ return ret;
2303
+ }
2304
+ var modeOkhsl = {
2305
+ ...definition$21,
2306
+ mode: "okhsl",
2307
+ channels: [
2308
+ "h",
2309
+ "s",
2310
+ "l",
2311
+ "alpha"
2312
+ ],
2313
+ parse: ["--okhsl"],
2314
+ serialize: "--okhsl",
2315
+ fromMode: {
2316
+ oklab: convertOklabToOkhsl,
2317
+ rgb: (c) => convertOklabToOkhsl(convertRgbToOklab(c))
2318
+ },
2319
+ toMode: {
2320
+ oklab: convertOkhslToOklab,
2321
+ rgb: (c) => convertOklabToRgb(convertOkhslToOklab(c))
2322
+ }
2323
+ };
2324
+ function convertOklabToOkhsv(lab) {
2325
+ let l = lab.l !== void 0 ? lab.l : 0;
2326
+ let a = lab.a !== void 0 ? lab.a : 0;
2327
+ let b = lab.b !== void 0 ? lab.b : 0;
2328
+ let c = Math.sqrt(a * a + b * b);
2329
+ let a_ = c ? a / c : 1;
2330
+ let b_ = c ? b / c : 1;
2331
+ let [S_max, T] = get_ST_max(a_, b_);
2332
+ let S_0 = .5;
2333
+ let k = 1 - S_0 / S_max;
2334
+ let t = T / (c + l * T);
2335
+ let L_v = t * l;
2336
+ let C_v = t * c;
2337
+ let L_vt = toe_inv(L_v);
2338
+ let C_vt = C_v * L_vt / L_v;
2339
+ let rgb_scale = convertOklabToLrgb({
2340
+ l: L_vt,
2341
+ a: a_ * C_vt,
2342
+ b: b_ * C_vt
2343
+ });
2344
+ let scale_L = Math.cbrt(1 / Math.max(rgb_scale.r, rgb_scale.g, rgb_scale.b, 0));
2345
+ l = l / scale_L;
2346
+ c = c / scale_L * toe(l) / l;
2347
+ l = toe(l);
2348
+ const ret = {
2349
+ mode: "okhsv",
2350
+ s: c ? (S_0 + T) * C_v / (T * S_0 + T * k * C_v) : 0,
2351
+ v: l ? l / L_v : 0
2352
+ };
2353
+ if (ret.s) ret.h = normalizeHue(Math.atan2(b, a) * 180 / Math.PI);
2354
+ if (lab.alpha !== void 0) ret.alpha = lab.alpha;
2355
+ return ret;
2356
+ }
2357
+ function convertOkhsvToOklab(hsv) {
2358
+ const ret = { mode: "oklab" };
2359
+ if (hsv.alpha !== void 0) ret.alpha = hsv.alpha;
2360
+ const h = hsv.h !== void 0 ? hsv.h : 0;
2361
+ const s = hsv.s !== void 0 ? hsv.s : 0;
2362
+ const v = hsv.v !== void 0 ? hsv.v : 0;
2363
+ const a_ = Math.cos(h / 180 * Math.PI);
2364
+ const b_ = Math.sin(h / 180 * Math.PI);
2365
+ const [S_max, T] = get_ST_max(a_, b_);
2366
+ const S_0 = .5;
2367
+ const k = 1 - S_0 / S_max;
2368
+ const L_v = 1 - s * S_0 / (S_0 + T - T * k * s);
2369
+ const C_v = s * T * S_0 / (S_0 + T - T * k * s);
2370
+ const L_vt = toe_inv(L_v);
2371
+ const C_vt = C_v * L_vt / L_v;
2372
+ const rgb_scale = convertOklabToLrgb({
2373
+ l: L_vt,
2374
+ a: a_ * C_vt,
2375
+ b: b_ * C_vt
2376
+ });
2377
+ const scale_L = Math.cbrt(1 / Math.max(rgb_scale.r, rgb_scale.g, rgb_scale.b, 0));
2378
+ const L_new = toe_inv(v * L_v);
2379
+ const C = C_v * L_new / L_v;
2380
+ ret.l = L_new * scale_L;
2381
+ ret.a = C * a_ * scale_L;
2382
+ ret.b = C * b_ * scale_L;
2383
+ return ret;
2384
+ }
2385
+ var modeOkhsv = {
2386
+ ...definition$20,
2387
+ mode: "okhsv",
2388
+ channels: [
2389
+ "h",
2390
+ "s",
2391
+ "v",
2392
+ "alpha"
2393
+ ],
2394
+ parse: ["--okhsv"],
2395
+ serialize: "--okhsv",
2396
+ fromMode: {
2397
+ oklab: convertOklabToOkhsv,
2398
+ rgb: (c) => convertOklabToOkhsv(convertRgbToOklab(c))
2399
+ },
2400
+ toMode: {
2401
+ oklab: convertOkhsvToOklab,
2402
+ rgb: (c) => convertOklabToRgb(convertOkhsvToOklab(c))
2403
+ }
2404
+ };
2405
+ function parseOklab(color, parsed) {
2406
+ if (!parsed || parsed[0] !== "oklab") return;
2407
+ const res = { mode: "oklab" };
2408
+ const [, l, a, b, alpha] = parsed;
2409
+ if (l.type === Tok.Hue || a.type === Tok.Hue || b.type === Tok.Hue) return;
2410
+ if (l.type !== Tok.None) res.l = Math.min(Math.max(0, l.type === Tok.Number ? l.value : l.value / 100), 1);
2411
+ if (a.type !== Tok.None) res.a = a.type === Tok.Number ? a.value : a.value * .4 / 100;
2412
+ if (b.type !== Tok.None) res.b = b.type === Tok.Number ? b.value : b.value * .4 / 100;
2413
+ if (alpha.type !== Tok.None) res.alpha = Math.min(1, Math.max(0, alpha.type === Tok.Number ? alpha.value : alpha.value / 100));
2414
+ return res;
2415
+ }
2416
+ var definition$8 = {
2417
+ ...definition$15,
2418
+ mode: "oklab",
2419
+ toMode: {
2420
+ lrgb: convertOklabToLrgb,
2421
+ rgb: convertOklabToRgb
2422
+ },
2423
+ fromMode: {
2424
+ lrgb: convertLrgbToOklab,
2425
+ rgb: convertRgbToOklab
2426
+ },
2427
+ ranges: {
2428
+ l: [0, 1],
2429
+ a: [-.4, .4],
2430
+ b: [-.4, .4]
2431
+ },
2432
+ parse: [parseOklab],
2433
+ serialize: (c) => `oklab(${c.l !== void 0 ? c.l : "none"} ${c.a !== void 0 ? c.a : "none"} ${c.b !== void 0 ? c.b : "none"}${c.alpha < 1 ? ` / ${c.alpha}` : ""})`
2434
+ };
2435
+ function parseOklch(color, parsed) {
2436
+ if (!parsed || parsed[0] !== "oklch") return;
2437
+ const res = { mode: "oklch" };
2438
+ const [, l, c, h, alpha] = parsed;
2439
+ if (l.type !== Tok.None) {
2440
+ if (l.type === Tok.Hue) return;
2441
+ res.l = Math.min(Math.max(0, l.type === Tok.Number ? l.value : l.value / 100), 1);
2442
+ }
2443
+ if (c.type !== Tok.None) res.c = Math.max(0, c.type === Tok.Number ? c.value : c.value * .4 / 100);
2444
+ if (h.type !== Tok.None) {
2445
+ if (h.type === Tok.Percentage) return;
2446
+ res.h = h.value;
2447
+ }
2448
+ if (alpha.type !== Tok.None) res.alpha = Math.min(1, Math.max(0, alpha.type === Tok.Number ? alpha.value : alpha.value / 100));
2449
+ return res;
2450
+ }
2451
+ var definition$7 = {
2452
+ ...definition$13,
2453
+ mode: "oklch",
2454
+ toMode: {
2455
+ oklab: (c) => convertLchToLab(c, "oklab"),
2456
+ rgb: (c) => convertOklabToRgb(convertLchToLab(c, "oklab"))
2457
+ },
2458
+ fromMode: {
2459
+ rgb: (c) => convertLabToLch(convertRgbToOklab(c), "oklch"),
2460
+ oklab: (c) => convertLabToLch(c, "oklch")
2461
+ },
2462
+ parse: [parseOklch],
2463
+ serialize: (c) => `oklch(${c.l !== void 0 ? c.l : "none"} ${c.c !== void 0 ? c.c : "none"} ${c.h !== void 0 ? c.h : "none"}${c.alpha < 1 ? ` / ${c.alpha}` : ""})`,
2464
+ ranges: {
2465
+ l: [0, 1],
2466
+ c: [0, .4],
2467
+ h: [0, 360]
2468
+ }
2469
+ };
2470
+ var convertP3ToXyz65 = (rgb) => {
2471
+ let { r, g, b, alpha } = convertRgbToLrgb(rgb);
2472
+ let res = {
2473
+ mode: "xyz65",
2474
+ x: .486570948648216 * r + .265667693169093 * g + .1982172852343625 * b,
2475
+ y: .2289745640697487 * r + .6917385218365062 * g + .079286914093745 * b,
2476
+ z: 0 * r + .0451133818589026 * g + 1.043944368900976 * b
2477
+ };
2478
+ if (alpha !== void 0) res.alpha = alpha;
2479
+ return res;
2480
+ };
2481
+ var convertXyz65ToP3 = ({ x, y, z, alpha }) => {
2482
+ if (x === void 0) x = 0;
2483
+ if (y === void 0) y = 0;
2484
+ if (z === void 0) z = 0;
2485
+ let res = convertLrgbToRgb({
2486
+ r: x * 2.4934969119414263 - y * .9313836179191242 - .402710784450717 * z,
2487
+ g: x * -.8294889695615749 + y * 1.7626640603183465 + .0236246858419436 * z,
2488
+ b: x * .0358458302437845 - y * .0761723892680418 + .9568845240076871 * z
2489
+ }, "p3");
2490
+ if (alpha !== void 0) res.alpha = alpha;
2491
+ return res;
2492
+ };
2493
+ var definition$6 = {
2494
+ ...definition$27,
2495
+ mode: "p3",
2496
+ parse: ["display-p3"],
2497
+ serialize: "display-p3",
2498
+ fromMode: {
2499
+ rgb: (color) => convertXyz65ToP3(convertRgbToXyz65(color)),
2500
+ xyz65: convertXyz65ToP3
2501
+ },
2502
+ toMode: {
2503
+ rgb: (color) => convertXyz65ToRgb(convertP3ToXyz65(color)),
2504
+ xyz65: convertP3ToXyz65
2505
+ }
2506
+ };
2507
+ var gamma$1 = (v) => {
2508
+ let abs = Math.abs(v);
2509
+ if (abs >= 1 / 512) return Math.sign(v) * Math.pow(abs, 1 / 1.8);
2510
+ return 16 * v;
2511
+ };
2512
+ var convertXyz50ToProphoto = ({ x, y, z, alpha }) => {
2513
+ if (x === void 0) x = 0;
2514
+ if (y === void 0) y = 0;
2515
+ if (z === void 0) z = 0;
2516
+ let res = {
2517
+ mode: "prophoto",
2518
+ r: gamma$1(x * 1.3457868816471585 - y * .2555720873797946 - .0511018649755453 * z),
2519
+ g: gamma$1(x * -.5446307051249019 + y * 1.5082477428451466 + .0205274474364214 * z),
2520
+ b: gamma$1(x * 0 + y * 0 + 1.2119675456389452 * z)
2521
+ };
2522
+ if (alpha !== void 0) res.alpha = alpha;
2523
+ return res;
2524
+ };
2525
+ var linearize$1 = (v = 0) => {
2526
+ let abs = Math.abs(v);
2527
+ if (abs >= 16 / 512) return Math.sign(v) * Math.pow(abs, 1.8);
2528
+ return v / 16;
2529
+ };
2530
+ var convertProphotoToXyz50 = (prophoto) => {
2531
+ let r = linearize$1(prophoto.r);
2532
+ let g = linearize$1(prophoto.g);
2533
+ let b = linearize$1(prophoto.b);
2534
+ let res = {
2535
+ mode: "xyz50",
2536
+ x: .7977666449006423 * r + .1351812974005331 * g + .0313477341283922 * b,
2537
+ y: .2880748288194013 * r + .7118352342418731 * g + 899369387256e-16 * b,
2538
+ z: 0 * r + 0 * g + .8251046025104602 * b
2539
+ };
2540
+ if (prophoto.alpha !== void 0) res.alpha = prophoto.alpha;
2541
+ return res;
2542
+ };
2543
+ var definition$5 = {
2544
+ ...definition$27,
2545
+ mode: "prophoto",
2546
+ parse: ["prophoto-rgb"],
2547
+ serialize: "prophoto-rgb",
2548
+ fromMode: {
2549
+ xyz50: convertXyz50ToProphoto,
2550
+ rgb: (color) => convertXyz50ToProphoto(convertRgbToXyz50(color))
2551
+ },
2552
+ toMode: {
2553
+ xyz50: convertProphotoToXyz50,
2554
+ rgb: (color) => convertXyz50ToRgb(convertProphotoToXyz50(color))
2555
+ }
2556
+ };
2557
+ var α$1 = 1.09929682680944;
2558
+ var β$1 = .018053968510807;
2559
+ var gamma = (v) => {
2560
+ const abs = Math.abs(v);
2561
+ if (abs > β$1) return (Math.sign(v) || 1) * (α$1 * Math.pow(abs, .45) - (α$1 - 1));
2562
+ return 4.5 * v;
2563
+ };
2564
+ var convertXyz65ToRec2020 = ({ x, y, z, alpha }) => {
2565
+ if (x === void 0) x = 0;
2566
+ if (y === void 0) y = 0;
2567
+ if (z === void 0) z = 0;
2568
+ let res = {
2569
+ mode: "rec2020",
2570
+ r: gamma(x * 1.7166511879712683 - y * .3556707837763925 - .2533662813736599 * z),
2571
+ g: gamma(x * -.6666843518324893 + y * 1.6164812366349395 + .0157685458139111 * z),
2572
+ b: gamma(x * .0176398574453108 - y * .0427706132578085 + .9421031212354739 * z)
2573
+ };
2574
+ if (alpha !== void 0) res.alpha = alpha;
2575
+ return res;
2576
+ };
2577
+ var α = 1.09929682680944;
2578
+ var β = .018053968510807;
2579
+ var linearize = (v = 0) => {
2580
+ let abs = Math.abs(v);
2581
+ if (abs < β * 4.5) return v / 4.5;
2582
+ return (Math.sign(v) || 1) * Math.pow((abs + α - 1) / α, 1 / .45);
2583
+ };
2584
+ var convertRec2020ToXyz65 = (rec2020) => {
2585
+ let r = linearize(rec2020.r);
2586
+ let g = linearize(rec2020.g);
2587
+ let b = linearize(rec2020.b);
2588
+ let res = {
2589
+ mode: "xyz65",
2590
+ x: .6369580483012911 * r + .1446169035862083 * g + .1688809751641721 * b,
2591
+ y: .262700212011267 * r + .6779980715188708 * g + .059301716469862 * b,
2592
+ z: 0 * r + .0280726930490874 * g + 1.0609850577107909 * b
2593
+ };
2594
+ if (rec2020.alpha !== void 0) res.alpha = rec2020.alpha;
2595
+ return res;
2596
+ };
2597
+ var definition$4 = {
2598
+ ...definition$27,
2599
+ mode: "rec2020",
2600
+ fromMode: {
2601
+ xyz65: convertXyz65ToRec2020,
2602
+ rgb: (color) => convertXyz65ToRec2020(convertRgbToXyz65(color))
2603
+ },
2604
+ toMode: {
2605
+ xyz65: convertRec2020ToXyz65,
2606
+ rgb: (color) => convertXyz65ToRgb(convertRec2020ToXyz65(color))
2607
+ },
2608
+ parse: ["rec2020"],
2609
+ serialize: "rec2020"
2610
+ };
2611
+ const bias = .0037930732552754493;
2612
+ const bias_cbrt = Math.cbrt(bias);
2613
+ var transfer$1 = (v) => Math.cbrt(v) - bias_cbrt;
2614
+ var convertRgbToXyb = (color) => {
2615
+ const { r, g, b, alpha } = convertRgbToLrgb(color);
2616
+ const l = transfer$1(.3 * r + .622 * g + .078 * b + bias);
2617
+ const m = transfer$1(.23 * r + .692 * g + .078 * b + bias);
2618
+ const s = transfer$1(.2434226892454782 * r + .2047674442449682 * g + .5518098665095535 * b + bias);
2619
+ const res = {
2620
+ mode: "xyb",
2621
+ x: (l - m) / 2,
2622
+ y: (l + m) / 2,
2623
+ b: s - (l + m) / 2
2624
+ };
2625
+ if (alpha !== void 0) res.alpha = alpha;
2626
+ return res;
2627
+ };
2628
+ var transfer = (v) => Math.pow(v + bias_cbrt, 3);
2629
+ var convertXybToRgb = ({ x, y, b, alpha }) => {
2630
+ if (x === void 0) x = 0;
2631
+ if (y === void 0) y = 0;
2632
+ if (b === void 0) b = 0;
2633
+ const l = transfer(x + y) - bias;
2634
+ const m = transfer(y - x) - bias;
2635
+ const s = transfer(b + y) - bias;
2636
+ const res = convertLrgbToRgb({
2637
+ r: 11.031566904639861 * l - 9.866943908131562 * m - .16462299650829934 * s,
2638
+ g: -3.2541473810744237 * l + 4.418770377582723 * m - .16462299650829934 * s,
2639
+ b: -3.6588512867136815 * l + 2.7129230459360922 * m + 1.9459282407775895 * s
2640
+ });
2641
+ if (alpha !== void 0) res.alpha = alpha;
2642
+ return res;
2643
+ };
2644
+ var definition$3 = {
2645
+ mode: "xyb",
2646
+ channels: [
2647
+ "x",
2648
+ "y",
2649
+ "b",
2650
+ "alpha"
2651
+ ],
2652
+ parse: ["--xyb"],
2653
+ serialize: "--xyb",
2654
+ toMode: { rgb: convertXybToRgb },
2655
+ fromMode: { rgb: convertRgbToXyb },
2656
+ ranges: {
2657
+ x: [-.0154, .0281],
2658
+ y: [0, .8453],
2659
+ b: [-.2778, .388]
2660
+ },
2661
+ interpolate: {
2662
+ x: interpolatorLinear,
2663
+ y: interpolatorLinear,
2664
+ b: interpolatorLinear,
2665
+ alpha: {
2666
+ use: interpolatorLinear,
2667
+ fixup: fixupAlpha
2668
+ }
2669
+ }
2670
+ };
2671
+ var definition$2 = {
2672
+ mode: "xyz50",
2673
+ parse: ["xyz-d50"],
2674
+ serialize: "xyz-d50",
2675
+ toMode: {
2676
+ rgb: convertXyz50ToRgb,
2677
+ lab: convertXyz50ToLab
2678
+ },
2679
+ fromMode: {
2680
+ rgb: convertRgbToXyz50,
2681
+ lab: convertLabToXyz50
2682
+ },
2683
+ channels: [
2684
+ "x",
2685
+ "y",
2686
+ "z",
2687
+ "alpha"
2688
+ ],
2689
+ ranges: {
2690
+ x: [0, .964],
2691
+ y: [0, .999],
2692
+ z: [0, .825]
2693
+ },
2694
+ interpolate: {
2695
+ x: interpolatorLinear,
2696
+ y: interpolatorLinear,
2697
+ z: interpolatorLinear,
2698
+ alpha: {
2699
+ use: interpolatorLinear,
2700
+ fixup: fixupAlpha
2701
+ }
2702
+ }
2703
+ };
2704
+ var convertXyz65ToXyz50 = (xyz65) => {
2705
+ let { x, y, z, alpha } = xyz65;
2706
+ if (x === void 0) x = 0;
2707
+ if (y === void 0) y = 0;
2708
+ if (z === void 0) z = 0;
2709
+ let res = {
2710
+ mode: "xyz50",
2711
+ x: 1.0479298208405488 * x + .0229467933410191 * y - .0501922295431356 * z,
2712
+ y: .0296278156881593 * x + .990434484573249 * y - .0170738250293851 * z,
2713
+ z: -.0092430581525912 * x + .0150551448965779 * y + .7518742899580008 * z
2714
+ };
2715
+ if (alpha !== void 0) res.alpha = alpha;
2716
+ return res;
2717
+ };
2718
+ var convertXyz50ToXyz65 = (xyz50) => {
2719
+ let { x, y, z, alpha } = xyz50;
2720
+ if (x === void 0) x = 0;
2721
+ if (y === void 0) y = 0;
2722
+ if (z === void 0) z = 0;
2723
+ let res = {
2724
+ mode: "xyz65",
2725
+ x: .9554734527042182 * x - .0230985368742614 * y + .0632593086610217 * z,
2726
+ y: -.0283697069632081 * x + 1.0099954580058226 * y + .021041398966943 * z,
2727
+ z: .0123140016883199 * x - .0205076964334779 * y + 1.3303659366080753 * z
2728
+ };
2729
+ if (alpha !== void 0) res.alpha = alpha;
2730
+ return res;
2731
+ };
2732
+ var definition$1 = {
2733
+ mode: "xyz65",
2734
+ toMode: {
2735
+ rgb: convertXyz65ToRgb,
2736
+ xyz50: convertXyz65ToXyz50
2737
+ },
2738
+ fromMode: {
2739
+ rgb: convertRgbToXyz65,
2740
+ xyz50: convertXyz50ToXyz65
2741
+ },
2742
+ ranges: {
2743
+ x: [0, .95],
2744
+ y: [0, 1],
2745
+ z: [0, 1.088]
2746
+ },
2747
+ channels: [
2748
+ "x",
2749
+ "y",
2750
+ "z",
2751
+ "alpha"
2752
+ ],
2753
+ parse: ["xyz", "xyz-d65"],
2754
+ serialize: "xyz-d65",
2755
+ interpolate: {
2756
+ x: interpolatorLinear,
2757
+ y: interpolatorLinear,
2758
+ z: interpolatorLinear,
2759
+ alpha: {
2760
+ use: interpolatorLinear,
2761
+ fixup: fixupAlpha
2762
+ }
2763
+ }
2764
+ };
2765
+ var convertRgbToYiq = ({ r, g, b, alpha }) => {
2766
+ if (r === void 0) r = 0;
2767
+ if (g === void 0) g = 0;
2768
+ if (b === void 0) b = 0;
2769
+ const res = {
2770
+ mode: "yiq",
2771
+ y: .29889531 * r + .58662247 * g + .11448223 * b,
2772
+ i: .59597799 * r - .2741761 * g - .32180189 * b,
2773
+ q: .21147017 * r - .52261711 * g + .31114694 * b
2774
+ };
2775
+ if (alpha !== void 0) res.alpha = alpha;
2776
+ return res;
2777
+ };
2778
+ var convertYiqToRgb = ({ y, i, q, alpha }) => {
2779
+ if (y === void 0) y = 0;
2780
+ if (i === void 0) i = 0;
2781
+ if (q === void 0) q = 0;
2782
+ const res = {
2783
+ mode: "rgb",
2784
+ r: y + .95608445 * i + .6208885 * q,
2785
+ g: y - .27137664 * i - .6486059 * q,
2786
+ b: y - 1.10561724 * i + 1.70250126 * q
2787
+ };
2788
+ if (alpha !== void 0) res.alpha = alpha;
2789
+ return res;
2790
+ };
2791
+ var definition = {
2792
+ mode: "yiq",
2793
+ toMode: { rgb: convertYiqToRgb },
2794
+ fromMode: { rgb: convertRgbToYiq },
2795
+ channels: [
2796
+ "y",
2797
+ "i",
2798
+ "q",
2799
+ "alpha"
2800
+ ],
2801
+ parse: ["--yiq"],
2802
+ serialize: "--yiq",
2803
+ ranges: {
2804
+ i: [-.595, .595],
2805
+ q: [-.522, .522]
2806
+ },
2807
+ interpolate: {
2808
+ y: interpolatorLinear,
2809
+ i: interpolatorLinear,
2810
+ q: interpolatorLinear,
2811
+ alpha: {
2812
+ use: interpolatorLinear,
2813
+ fixup: fixupAlpha
2814
+ }
2815
+ }
2816
+ };
2817
+ useMode(definition$26);
2818
+ useMode(definition$25);
2819
+ useMode(definition$24);
2820
+ useMode(definition$23);
2821
+ useMode(definition$22);
2822
+ useMode(definition$21);
2823
+ useMode(definition$20);
2824
+ useMode(definition$19);
2825
+ useMode(definition$18);
2826
+ useMode(definition$17);
2827
+ useMode(definition$16);
2828
+ useMode(definition$15);
2829
+ useMode(definition$14);
2830
+ useMode(definition$13);
2831
+ useMode(definition$12);
2832
+ useMode(definition$11);
2833
+ useMode(definition$10);
2834
+ useMode(definition$9);
2835
+ useMode(modeOkhsl);
2836
+ useMode(modeOkhsv);
2837
+ useMode(definition$8);
2838
+ useMode(definition$7);
2839
+ useMode(definition$6);
2840
+ useMode(definition$5);
2841
+ useMode(definition$4);
2842
+ useMode(definition$27);
2843
+ useMode(definition$3);
2844
+ useMode(definition$2);
2845
+ useMode(definition$1);
2846
+ useMode(definition);
2847
+ function c(e) {
2848
+ return class extends e {
2849
+ constructor(...e) {
2850
+ throw Error(`@adapter: cannot create instance of class.`);
2851
+ }
2852
+ };
2853
+ }
2854
+ function ne$1(e, t) {
2855
+ return e === t ? !0 : e === t;
2856
+ }
2857
+ var l = Symbol(), u = Symbol(), d = Symbol(), f = Symbol(), p = Symbol(), m = Symbol(), h$1 = Symbol(), g = Symbol(), _ = Symbol(), v = Symbol(), re = Symbol();
2858
+ function y(e) {
2859
+ return e && typeof e == `object` && !!e[p];
2860
+ }
2861
+ function b(e) {
2862
+ if (!y(e)) throw Error(`@dto assert given object is not a class decorated with @Dto.`);
2863
+ }
2864
+ var ie = Symbol();
2865
+ function x(e, t = 0, n) {
2866
+ return function(...r) {
2867
+ let i = e[ie] ??= /* @__PURE__ */ new WeakMap(), a = r[t], o = n === void 0 ? `self` : r[n];
2868
+ if (typeof a != `object` || !a) return e.call(this, ...r);
2869
+ i.has(a) || i.set(a, []);
2870
+ let s = i.get(a);
2871
+ if (!s.includes(o)) {
2872
+ s.push(o);
2873
+ try {
2874
+ return e.call(this, ...r);
2875
+ } finally {
2876
+ let e = s.lastIndexOf(o);
2877
+ e !== -1 && s.splice(e, 1), s.length === 0 && i.delete(a);
2878
+ }
2879
+ }
2880
+ };
2881
+ }
2882
+ function S(e) {
2883
+ return b(e), e[f];
2884
+ }
2885
+ var C = x(function(e, t, n, r) {
2886
+ let i = e[re];
2887
+ i(e, t, n, r), e[m] && C(e[m], e[h$1], e[m][e[h$1]]);
2888
+ }, 0, 1), w = x(function(e) {
2889
+ b(e), e[f] && (e[f] = !1, C(e, f, !1, !0)), !(!e[u] || e[u].length === 0) && e[u].filter(S).forEach(w);
2890
+ });
2891
+ var T = x(function(e, t) {
2892
+ b(e), e[f] || (e[f] = !0, C(e, f, !0, !1)), e[m] && T(e[m], e[h$1]);
2893
+ });
2894
+ function E(e, t, n) {
2895
+ t[u] ??= [], !t[u].includes(e) && t[u].push(e), e[m] !== t && (e[m] = t), e[h$1] !== n && (e[h$1] = n);
2896
+ }
2897
+ function D(e, t, n) {
2898
+ if (y(n)) E(n, e, t);
2899
+ else if (Array.isArray(n)) {
2900
+ for (let r of n) y(r) && E(r, e, t);
2901
+ n[m] = e, n[h$1] = t;
2902
+ }
2903
+ }
2904
+ function O$1(e, t) {
2905
+ let n = e[v];
2906
+ n(e, t);
2907
+ }
2908
+ function ce(e, t) {
2909
+ if (u in t) {
2910
+ let n = t[u].indexOf(e);
2911
+ n !== -1 && t[u].splice(n, 1);
2912
+ }
2913
+ e[m] = void 0, e[h$1] = void 0;
2914
+ }
2915
+ function le(e, t) {
2916
+ if (y(t)) ce(t, e);
2917
+ else if (Array.isArray(t)) {
2918
+ for (let n of t) y(n) && ce(n, e);
2919
+ t[m] = void 0, t[h$1] = void 0;
2920
+ }
2921
+ }
2922
+ var k$2 = {};
2923
+ var ue = {
2924
+ deleteProperty(e, t) {
2925
+ if (Reflect.deleteProperty(e, t), A$2(e, t)) return !0;
2926
+ let n = e[m];
2927
+ return n && C(n, e[h$1], n[e[h$1]]), n && T(n, e[h$1]), !0;
2928
+ },
2929
+ get(e, t, n) {
2930
+ if (t === _) return !0;
2931
+ if (A$2(e, t)) return Reflect.get(e, t, n);
2932
+ let r = e[m];
2933
+ return r && O$1(r, e[h$1]), Reflect.get(e, t);
2934
+ },
2935
+ set(e, t, n, r) {
2936
+ if (A$2(e, t)) return Reflect.set(e, t, n, r);
2937
+ let i = e[m];
2938
+ return i && C(i, e[h$1], i[e[h$1]]), i && T(i, e[h$1]), Reflect.set(e, t, n);
2939
+ }
2940
+ };
2941
+ function A$2(e, t) {
2942
+ return typeof t == `symbol` || typeof e[t] == `function` || t === `length`;
2943
+ }
2944
+ var de = {
2945
+ get(e, t, n) {
2946
+ if (t === _) return !0;
2947
+ if (typeof t == `symbol`) return Reflect.get(e, t, n);
2948
+ let r = e[d][t];
2949
+ if (!r || !r.get) return Reflect.get(e, t, n);
2950
+ let i = r.get.call(e);
2951
+ return O$1(e, t), D(e, t, i), i;
2952
+ },
2953
+ getOwnPropertyDescriptor(e, t) {
2954
+ return e[d][t];
2955
+ },
2956
+ ownKeys(e) {
2957
+ return e[g];
2958
+ },
2959
+ set(e, t, n, r) {
2960
+ if (typeof t == `symbol`) return Reflect.set(e, t, n, r);
2961
+ let i = e[d][t];
2962
+ if (!i || !i.set) return Reflect.set(e, t, n, r);
2963
+ let a = i.get?.call(e) ?? void 0;
2964
+ return ne$1(n, a) ? !0 : (le(e, a), Array.isArray(n) && !n[_] && (n = new Proxy(n, ue)), i.set.call(e, n), D(e, t, n), T(e, t), C(e, t, n, a), !0);
2965
+ }
2966
+ }, fe = {
2967
+ get(e, t, n) {
2968
+ return t === `__v_isRef` ? !1 : t === _ ? !0 : t in e ? Reflect.get(e, t, n) : Reflect.get(e.value, t);
2969
+ },
2970
+ getOwnPropertyDescriptor(e, t) {
2971
+ return Reflect.getOwnPropertyDescriptor(e.value, t);
2972
+ },
2973
+ ownKeys(e) {
2974
+ return Reflect.ownKeys(e.value);
2975
+ },
2976
+ set(e, t, n, r) {
2977
+ return t in e ? Reflect.set(e, t, n, r) : Reflect.set(e.value, t, n);
2978
+ }
2979
+ }, pe = { construct(e, t, n) {
2980
+ t = t.map((e) => Array.isArray(e) ? new Proxy(e, ue) : e);
2981
+ let r = customRef((r, i) => {
2982
+ let a = markRaw(Reflect.construct(e, t, n));
2983
+ a[l] = t, a[f] = !1, a[v] = r, a[re] = i;
2984
+ let s = new Proxy(a, de);
2985
+ return {
2986
+ get: () => (r(), s),
2987
+ set: () => void 0
2988
+ };
2989
+ });
2990
+ return new Proxy(r, fe);
2991
+ } };
2992
+ function me() {
2993
+ let e = this;
2994
+ b(e);
2995
+ let t = k$2[e[p]], n = new t(...e[l]);
2996
+ for (let [e, t] of Object.entries(this[d])) t.set && (n[e] = y(this[e]) ? this[e].clone() : this[e]);
2997
+ return n;
2998
+ }
2999
+ function he(e) {
3000
+ for (let t in e) {
3001
+ let n = this[d][t];
3002
+ y(this[t]) && typeof e[t] == `object` ? this[t].fill(e[t]) : n && n.set && (this[t] = e[t]);
3003
+ }
3004
+ }
3005
+ function ge$1() {
3006
+ let e = {};
3007
+ for (let t of this[g]) {
3008
+ let n = this[t];
3009
+ y(n) && (n = n.toJSON()), e[t] = n;
3010
+ }
3011
+ return e;
3012
+ }
3013
+ function j(e) {
3014
+ ve(e);
3015
+ let t = Object.freeze(x$1(e)), a = Object.keys(t);
3016
+ return K$1(e.prototype, d, t), K$1(e.prototype, p, e.name), K$1(e.prototype, g, a), K$1(e, Symbol.hasInstance, (t) => typeof t == `object` && t?.[p] === e.name), G$1(e, `clone`, me), G$1(e, `fill`, he), G$1(e, `toJSON`, ge$1), _e$1(e);
3017
+ }
3018
+ function _e$1(e) {
3019
+ let t = new Proxy(e, pe);
3020
+ return k$2[e.name] = t, t;
3021
+ }
3022
+ function ve(e) {
3023
+ let t = Object.getPrototypeOf(e.prototype);
3024
+ if (p in t) throw Error(`⛔️ @dto ${e.name} cannot extend parent class which is also decorated with @dto ${t[p]}.`);
3025
+ }
3026
+ function V(e, t, n, r) {
3027
+ var i = arguments.length, a = i < 3 ? t : r === null ? r = Object.getOwnPropertyDescriptor(t, n) : r, o;
3028
+ if (typeof Reflect == `object` && typeof Reflect.decorate == `function`) a = Reflect.decorate(e, t, n, r);
3029
+ else for (var s = e.length - 1; s >= 0; s--) (o = e[s]) && (a = (i < 3 ? o(a) : i > 3 ? o(t, n, a) : o(t, n)) || a);
3030
+ return i > 3 && a && Object.defineProperty(t, n, a), a;
3031
+ }
3032
+ var H = class {
3033
+ get blob() {
3034
+ return this.#e;
3035
+ }
3036
+ get name() {
3037
+ return this.#t;
3038
+ }
3039
+ #e;
3040
+ #t;
3041
+ constructor(e, t) {
3042
+ this.#e = e, this.#t = t;
3043
+ }
3044
+ };
3045
+ H = V([j], H);
3046
+ var U = class {
3047
+ get items() {
3048
+ return this.#e;
3049
+ }
3050
+ get page() {
3051
+ return this.#t;
3052
+ }
3053
+ get pageSize() {
3054
+ return this.#n;
3055
+ }
3056
+ get pages() {
3057
+ return this.#r;
3058
+ }
3059
+ get total() {
3060
+ return this.#i;
3061
+ }
3062
+ #e;
3063
+ #t;
3064
+ #n;
3065
+ #r;
3066
+ #i;
3067
+ constructor(e, t, n, r, i) {
3068
+ this.#e = e, this.#t = t, this.#n = n, this.#r = r, this.#i = i;
3069
+ }
3070
+ };
3071
+ U = V([j], U);
3072
+ var De = U;
3073
+ var W = class {
3074
+ get code() {
3075
+ return this.#e;
3076
+ }
3077
+ get error() {
3078
+ return this.#t;
3079
+ }
3080
+ get errorDescription() {
3081
+ return this.#n;
3082
+ }
3083
+ get statusCode() {
3084
+ return this.#r;
3085
+ }
3086
+ #e;
3087
+ #t;
3088
+ #n;
3089
+ #r;
3090
+ constructor(e, t, n, r) {
3091
+ this.#e = e, this.#t = t, this.#n = n, this.#r = r;
3092
+ }
3093
+ };
3094
+ W = V([j], W);
3095
+ var G = W;
3096
+ var K = class {
3097
+ get code() {
3098
+ return this.#e;
3099
+ }
3100
+ get error() {
3101
+ return this.#t;
3102
+ }
3103
+ get errorDescription() {
3104
+ return this.#n;
3105
+ }
3106
+ get errors() {
3107
+ return this.#r;
3108
+ }
3109
+ get params() {
3110
+ return this.#i;
3111
+ }
3112
+ #e;
3113
+ #t;
3114
+ #n;
3115
+ #r;
3116
+ #i;
3117
+ constructor(e, t, n, r, i) {
3118
+ this.#e = e, this.#t = t, this.#n = n, this.#r = r, this.#i = i;
3119
+ }
3120
+ };
3121
+ K = V([j], K);
3122
+ var q = K, J;
3123
+ var Y = J = class {
3124
+ static parsePaginatedAdapter(e, t) {
3125
+ return new De(e.items.map(t), e.page, e.page_size, e.pages, e.total);
3126
+ }
3127
+ static parseFileNameFromContentDispositionHeader(t) {
3128
+ let n = `download-${DateTime.now().toFormat(`yyyy-MM-dd HH-mm-ss`)}`;
3129
+ if (!t.startsWith(`attachment`)) return n;
3130
+ let r = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/.exec(t);
3131
+ return (r?.length || 0) < 2 ? n : r[1].replaceAll(`'`, ``).replaceAll(`"`, ``).replaceAll(`/`, `-`).replaceAll(`:`, `-`);
3132
+ }
3133
+ static parseRequestError(e, t) {
3134
+ return new G(e.code, e.error, e.error_description, t);
3135
+ }
3136
+ static parseValidationError(e) {
3137
+ let t;
3138
+ return e.errors && (t = {}, Object.entries(e.errors).forEach(([e, n]) => {
3139
+ t[e] = J.parseValidationError(n);
3140
+ })), new q(e.code, e.error, e.error_description, t, e.params);
3141
+ }
3142
+ };
3143
+ Y = J = V([c], Y);
3144
+ converter(`oklch`);
3145
+ RegExp(`[a-z]`), RegExp(`[A-Z]`), RegExp(`[0-9]`), RegExp(`[!"#$%&'()*+,-./:;<=>?@[\\\\\\]^_\`{|}~]`);
3146
+ function h(e, t, n, r = { passive: !0 }) {
3147
+ watch(e, (e, i, a) => {
3148
+ e && (e.addEventListener(t, n, r), a(() => e.removeEventListener(t, n)));
3149
+ }, { immediate: !0 });
3150
+ }
4
3151
  [
5
- "a:not([disabled])",
6
- "button:not([disabled])",
7
- "input[type=checkbox]:not([disabled])",
8
- "input[type=radio]:not([disabled])",
9
- "input[type=text]:not([disabled])",
10
- "[tabindex]:not([disabled]):not([tabindex=\"-1\"])"
11
- ].join(",");
12
- var X = class {
3152
+ `a:not([disabled])`,
3153
+ `button:not([disabled])`,
3154
+ `input[type=checkbox]:not([disabled])`,
3155
+ `input[type=radio]:not([disabled])`,
3156
+ `input[type=text]:not([disabled])`,
3157
+ `[tabindex]:not([disabled]):not([tabindex="-1"])`
3158
+ ].join(`,`);
3159
+ new class {
13
3160
  get active() {
14
3161
  return this.current?.isEnabled ?? !1;
15
3162
  }
16
3163
  get current() {
17
- return this.#e[this.#e.length - 1] ?? null;
3164
+ return this.#t[this.#t.length - 1] ?? null;
18
3165
  }
19
- #t = [];
20
3166
  #e = [];
3167
+ #t = [];
21
3168
  add(e, t, n = !0) {
22
- let o = {
3169
+ let r = {
23
3170
  id: e,
24
3171
  setEnabled: t,
25
3172
  isEnabled: !0
26
3173
  };
27
- if (this.current && this.toggle(this.current, !1), this.#e.push(o), n) this.toggle(o, !0), this.emit();
3174
+ this.current && this.toggle(this.current, !1), this.#t.push(r), n && (this.toggle(r, !0), this.emit());
28
3175
  }
29
3176
  remove(e) {
30
- let t = this.#e.find((s) => s.id === e);
3177
+ let t = this.#t.find((t) => t.id === e);
31
3178
  t && this.toggle(t, !1);
32
- let o = this.current?.id === e;
33
- this.#e = this.#e.filter((s) => s.id !== e), o && this.current && this.toggle(this.current, !0), this.emit();
3179
+ let n = this.current?.id === e;
3180
+ this.#t = this.#t.filter((t) => t.id !== e), n && this.current && this.toggle(this.current, !0), this.emit();
34
3181
  }
35
3182
  emit() {
36
- this.#t.forEach((e) => e(this.active, this.#e));
3183
+ this.#e.forEach((e) => e(this.active, this.#t));
37
3184
  }
38
3185
  subscribe(e) {
39
- return this.#t.push(e), e(this.active, this.#e), () => this.#t = this.#t.filter((t) => t !== e);
3186
+ return this.#e.push(e), e(this.active, this.#t), () => this.#e = this.#e.filter((t) => t !== e);
40
3187
  }
41
3188
  toggle(e, t) {
42
3189
  e.setEnabled(t), e.isEnabled = t;
43
3190
  }
44
- };
45
- new X();
3191
+ }();
46
3192
  globalThis.document;
47
- function k(e, t, n, o = { passive: !0 }) {
48
- watch(e, (s, r, a) => {
49
- if (!s) return;
50
- s.addEventListener(t, n, o), a(() => s.removeEventListener(t, n));
51
- }, { immediate: !0 });
52
- }
53
- function ne(e, t) {
54
- let n = `flux/${e}`, o = ref(s() ?? t);
55
- function s() {
3193
+ function M(e, t) {
3194
+ let n = `flux/${e}`, r = ref(a() ?? t);
3195
+ function a() {
56
3196
  if (n in localStorage) {
57
- let r = JSON.parse(localStorage.getItem(n));
58
- if (Array.isArray(r) && r[0] === "DateTime") r = DateTime.fromISO(r[1]);
59
- return r;
3197
+ let e = JSON.parse(localStorage.getItem(n));
3198
+ return Array.isArray(e) && e[0] === `DateTime` && (e = DateTime.fromISO(e[1])), e;
60
3199
  }
61
3200
  return null;
62
3201
  }
63
- return watch(o, (r) => {
64
- let a = r;
65
- if (DateTime.isDateTime(r)) a = ["DateTime", r.toISO({
3202
+ return watch(r, (e) => {
3203
+ let t = e;
3204
+ DateTime.isDateTime(e) && (t = [`DateTime`, e.toISO({
66
3205
  includeOffset: !0,
67
3206
  extendedZone: !0
68
- })];
69
- localStorage.setItem(n, JSON.stringify(a));
70
- }), o;
3207
+ })]), localStorage.setItem(n, JSON.stringify(t));
3208
+ }), r;
71
3209
  }
72
- function se(e) {
3210
+ function N(e) {
73
3211
  let t = ref(0), n = ref(0);
74
- if (!e) e = ref(document);
75
- return k(e, "scroll", () => {
76
- let o = unref(e);
77
- if (o instanceof Document) o = o.scrollingElement;
78
- t.value = o?.scrollLeft ?? 0, n.value = o?.scrollTop ?? 0;
3212
+ return e ||= ref(document), h(e, `scroll`, () => {
3213
+ let r = unref(e);
3214
+ r instanceof Document && (r = r.scrollingElement), t.value = r?.scrollLeft ?? 0, n.value = r?.scrollTop ?? 0;
79
3215
  }), {
80
3216
  x: t,
81
3217
  y: n
@@ -95,8 +3231,8 @@ var Dashboard_module_default = {
95
3231
  var FluxDashboard_default = /* @__PURE__ */ defineComponent({
96
3232
  __name: "FluxDashboard",
97
3233
  setup(__props) {
98
- const isMenuCollapsed = ne("dashboard-menu-collapsed", true);
99
- const isNavigationCollapsed = ne("dashboard-navigation-collapsed", true);
3234
+ const isMenuCollapsed = M("dashboard-menu-collapsed", true);
3235
+ const isNavigationCollapsed = M("dashboard-navigation-collapsed", true);
100
3236
  const isResizing = ref(false);
101
3237
  provide(FluxDashboardInjectionKey, {
102
3238
  isMenuCollapsed,
@@ -174,7 +3310,7 @@ var FluxDashboardHeader_default = /* @__PURE__ */ defineComponent({
174
3310
  title: {}
175
3311
  },
176
3312
  setup(__props) {
177
- const { y } = se();
3313
+ const { y } = N();
178
3314
  return (_ctx, _cache) => {
179
3315
  return openBlock(), createBlock(FluxDashboardTopBar_default, { class: normalizeClass(unref(y) > 0 ? unref(DashboardTopBar_module_default).dashboardHeaderScrolled : unref(DashboardTopBar_module_default).dashboardHeader) }, {
180
3316
  default: withCtx(() => [