@takazudo/zdtp 0.4.4 → 0.4.5

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.
@@ -0,0 +1,1958 @@
1
+ import { E as gt, g, e as mt, d as yt, b as bt, h as xt, F as U, t as Z, p as Ne, q as Oe, G as Mt, i as kt, H as vt, r as B, j as St, I as Ie, J as wt, m as $t } from "./panel-config-CipeKMTz.js";
2
+ const Re = (e, t) => {
3
+ if (typeof e == "number") {
4
+ if (t === 3)
5
+ return {
6
+ mode: "rgb",
7
+ r: (e >> 8 & 15 | e >> 4 & 240) / 255,
8
+ g: (e >> 4 & 15 | e & 240) / 255,
9
+ b: (e & 15 | e << 4 & 240) / 255
10
+ };
11
+ if (t === 4)
12
+ return {
13
+ mode: "rgb",
14
+ r: (e >> 12 & 15 | e >> 8 & 240) / 255,
15
+ g: (e >> 8 & 15 | e >> 4 & 240) / 255,
16
+ b: (e >> 4 & 15 | e & 240) / 255,
17
+ alpha: (e & 15 | e << 4 & 240) / 255
18
+ };
19
+ if (t === 6)
20
+ return {
21
+ mode: "rgb",
22
+ r: (e >> 16 & 255) / 255,
23
+ g: (e >> 8 & 255) / 255,
24
+ b: (e & 255) / 255
25
+ };
26
+ if (t === 8)
27
+ return {
28
+ mode: "rgb",
29
+ r: (e >> 24 & 255) / 255,
30
+ g: (e >> 16 & 255) / 255,
31
+ b: (e >> 8 & 255) / 255,
32
+ alpha: (e & 255) / 255
33
+ };
34
+ }
35
+ }, Nt = {
36
+ aliceblue: 15792383,
37
+ antiquewhite: 16444375,
38
+ aqua: 65535,
39
+ aquamarine: 8388564,
40
+ azure: 15794175,
41
+ beige: 16119260,
42
+ bisque: 16770244,
43
+ black: 0,
44
+ blanchedalmond: 16772045,
45
+ blue: 255,
46
+ blueviolet: 9055202,
47
+ brown: 10824234,
48
+ burlywood: 14596231,
49
+ cadetblue: 6266528,
50
+ chartreuse: 8388352,
51
+ chocolate: 13789470,
52
+ coral: 16744272,
53
+ cornflowerblue: 6591981,
54
+ cornsilk: 16775388,
55
+ crimson: 14423100,
56
+ cyan: 65535,
57
+ darkblue: 139,
58
+ darkcyan: 35723,
59
+ darkgoldenrod: 12092939,
60
+ darkgray: 11119017,
61
+ darkgreen: 25600,
62
+ darkgrey: 11119017,
63
+ darkkhaki: 12433259,
64
+ darkmagenta: 9109643,
65
+ darkolivegreen: 5597999,
66
+ darkorange: 16747520,
67
+ darkorchid: 10040012,
68
+ darkred: 9109504,
69
+ darksalmon: 15308410,
70
+ darkseagreen: 9419919,
71
+ darkslateblue: 4734347,
72
+ darkslategray: 3100495,
73
+ darkslategrey: 3100495,
74
+ darkturquoise: 52945,
75
+ darkviolet: 9699539,
76
+ deeppink: 16716947,
77
+ deepskyblue: 49151,
78
+ dimgray: 6908265,
79
+ dimgrey: 6908265,
80
+ dodgerblue: 2003199,
81
+ firebrick: 11674146,
82
+ floralwhite: 16775920,
83
+ forestgreen: 2263842,
84
+ fuchsia: 16711935,
85
+ gainsboro: 14474460,
86
+ ghostwhite: 16316671,
87
+ gold: 16766720,
88
+ goldenrod: 14329120,
89
+ gray: 8421504,
90
+ green: 32768,
91
+ greenyellow: 11403055,
92
+ grey: 8421504,
93
+ honeydew: 15794160,
94
+ hotpink: 16738740,
95
+ indianred: 13458524,
96
+ indigo: 4915330,
97
+ ivory: 16777200,
98
+ khaki: 15787660,
99
+ lavender: 15132410,
100
+ lavenderblush: 16773365,
101
+ lawngreen: 8190976,
102
+ lemonchiffon: 16775885,
103
+ lightblue: 11393254,
104
+ lightcoral: 15761536,
105
+ lightcyan: 14745599,
106
+ lightgoldenrodyellow: 16448210,
107
+ lightgray: 13882323,
108
+ lightgreen: 9498256,
109
+ lightgrey: 13882323,
110
+ lightpink: 16758465,
111
+ lightsalmon: 16752762,
112
+ lightseagreen: 2142890,
113
+ lightskyblue: 8900346,
114
+ lightslategray: 7833753,
115
+ lightslategrey: 7833753,
116
+ lightsteelblue: 11584734,
117
+ lightyellow: 16777184,
118
+ lime: 65280,
119
+ limegreen: 3329330,
120
+ linen: 16445670,
121
+ magenta: 16711935,
122
+ maroon: 8388608,
123
+ mediumaquamarine: 6737322,
124
+ mediumblue: 205,
125
+ mediumorchid: 12211667,
126
+ mediumpurple: 9662683,
127
+ mediumseagreen: 3978097,
128
+ mediumslateblue: 8087790,
129
+ mediumspringgreen: 64154,
130
+ mediumturquoise: 4772300,
131
+ mediumvioletred: 13047173,
132
+ midnightblue: 1644912,
133
+ mintcream: 16121850,
134
+ mistyrose: 16770273,
135
+ moccasin: 16770229,
136
+ navajowhite: 16768685,
137
+ navy: 128,
138
+ oldlace: 16643558,
139
+ olive: 8421376,
140
+ olivedrab: 7048739,
141
+ orange: 16753920,
142
+ orangered: 16729344,
143
+ orchid: 14315734,
144
+ palegoldenrod: 15657130,
145
+ palegreen: 10025880,
146
+ paleturquoise: 11529966,
147
+ palevioletred: 14381203,
148
+ papayawhip: 16773077,
149
+ peachpuff: 16767673,
150
+ peru: 13468991,
151
+ pink: 16761035,
152
+ plum: 14524637,
153
+ powderblue: 11591910,
154
+ purple: 8388736,
155
+ // Added in CSS Colors Level 4:
156
+ // https://drafts.csswg.org/css-color/#changes-from-3
157
+ rebeccapurple: 6697881,
158
+ red: 16711680,
159
+ rosybrown: 12357519,
160
+ royalblue: 4286945,
161
+ saddlebrown: 9127187,
162
+ salmon: 16416882,
163
+ sandybrown: 16032864,
164
+ seagreen: 3050327,
165
+ seashell: 16774638,
166
+ sienna: 10506797,
167
+ silver: 12632256,
168
+ skyblue: 8900331,
169
+ slateblue: 6970061,
170
+ slategray: 7372944,
171
+ slategrey: 7372944,
172
+ snow: 16775930,
173
+ springgreen: 65407,
174
+ steelblue: 4620980,
175
+ tan: 13808780,
176
+ teal: 32896,
177
+ thistle: 14204888,
178
+ tomato: 16737095,
179
+ turquoise: 4251856,
180
+ violet: 15631086,
181
+ wheat: 16113331,
182
+ white: 16777215,
183
+ whitesmoke: 16119285,
184
+ yellow: 16776960,
185
+ yellowgreen: 10145074
186
+ }, Ot = (e) => Re(Nt[e.toLowerCase()], 6), It = /^#?([0-9a-f]{8}|[0-9a-f]{6}|[0-9a-f]{4}|[0-9a-f]{3})$/i, Tt = (e) => {
187
+ let t;
188
+ return (t = e.match(It)) ? Re(parseInt(t[1], 16), t[1].length) : void 0;
189
+ }, w = "([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)", H = `${w}%`, be = `(?:${w}%|${w})`, Ct = `(?:${w}(deg|grad|rad|turn)|${w})`, T = "\\s*,\\s*", At = new RegExp(
190
+ `^rgba?\\(\\s*${w}${T}${w}${T}${w}\\s*(?:,\\s*${be}\\s*)?\\)$`
191
+ ), Pt = new RegExp(
192
+ `^rgba?\\(\\s*${H}${T}${H}${T}${H}\\s*(?:,\\s*${be}\\s*)?\\)$`
193
+ ), _t = (e) => {
194
+ let t = { mode: "rgb" }, n;
195
+ if (n = e.match(At))
196
+ n[1] !== void 0 && (t.r = n[1] / 255), n[2] !== void 0 && (t.g = n[2] / 255), n[3] !== void 0 && (t.b = n[3] / 255);
197
+ else if (n = e.match(Pt))
198
+ n[1] !== void 0 && (t.r = n[1] / 100), n[2] !== void 0 && (t.g = n[2] / 100), n[3] !== void 0 && (t.b = n[3] / 100);
199
+ else
200
+ return;
201
+ return n[4] !== void 0 ? t.alpha = Math.max(0, Math.min(1, n[4] / 100)) : n[5] !== void 0 && (t.alpha = Math.max(0, Math.min(1, +n[5]))), t;
202
+ }, G = (e, t) => e === void 0 ? void 0 : typeof e != "object" ? Le(e) : e.mode !== void 0 ? e : t ? { ...e, mode: t } : void 0, x = (e = "rgb") => (t) => (t = G(t, e)) !== void 0 ? (
203
+ // if the color's mode corresponds to our target mode
204
+ t.mode === e ? (
205
+ // then just return the color
206
+ t
207
+ ) : (
208
+ // otherwise check to see if we have a dedicated
209
+ // converter for the target mode
210
+ M[t.mode][e] ? (
211
+ // and return its result...
212
+ M[t.mode][e](t)
213
+ ) : (
214
+ // ...otherwise pass through RGB as an intermediary step.
215
+ // if the target mode is RGB...
216
+ e === "rgb" ? (
217
+ // just return the RGB
218
+ M[t.mode].rgb(t)
219
+ ) : (
220
+ // otherwise convert color.mode -> RGB -> target_mode
221
+ M.rgb[e](M[t.mode].rgb(t))
222
+ )
223
+ )
224
+ )
225
+ ) : void 0, M = {}, je = {}, q = [], ze = {}, Ht = (e) => e, xe = (e) => (M[e.mode] = {
226
+ ...M[e.mode],
227
+ ...e.toMode
228
+ }, Object.keys(e.fromMode || {}).forEach((t) => {
229
+ M[t] || (M[t] = {}), M[t][e.mode] = e.fromMode[t];
230
+ }), e.ranges || (e.ranges = {}), e.difference || (e.difference = {}), e.channels.forEach((t) => {
231
+ if (e.ranges[t] === void 0 && (e.ranges[t] = [0, 1]), !e.interpolate[t])
232
+ throw new Error(`Missing interpolator for: ${t}`);
233
+ typeof e.interpolate[t] == "function" && (e.interpolate[t] = {
234
+ use: e.interpolate[t]
235
+ }), e.interpolate[t].fixup || (e.interpolate[t].fixup = Ht);
236
+ }), je[e.mode] = e, (e.parse || []).forEach((t) => {
237
+ Vt(t, e.mode);
238
+ }), x(e.mode)), Q = (e) => je[e], Vt = (e, t) => {
239
+ if (typeof e == "string") {
240
+ if (!t)
241
+ throw new Error("'mode' required when 'parser' is a string");
242
+ ze[e] = t;
243
+ } else typeof e == "function" && q.indexOf(e) < 0 && q.push(e);
244
+ }, fe = /[^\x00-\x7F]|[a-zA-Z_]/, Et = /[^\x00-\x7F]|[-\w]/, l = {
245
+ Function: "function",
246
+ Ident: "ident",
247
+ Number: "number",
248
+ Percentage: "percentage",
249
+ ParenClose: ")",
250
+ None: "none",
251
+ Hue: "hue",
252
+ Alpha: "alpha"
253
+ };
254
+ let c = 0;
255
+ function z(e) {
256
+ let t = e[c], n = e[c + 1];
257
+ return t === "-" || t === "+" ? /\d/.test(n) || n === "." && /\d/.test(e[c + 2]) : t === "." ? /\d/.test(n) : /\d/.test(t);
258
+ }
259
+ function le(e) {
260
+ if (c >= e.length)
261
+ return !1;
262
+ let t = e[c];
263
+ if (fe.test(t))
264
+ return !0;
265
+ if (t === "-") {
266
+ if (e.length - c < 2)
267
+ return !1;
268
+ let n = e[c + 1];
269
+ return !!(n === "-" || fe.test(n));
270
+ }
271
+ return !1;
272
+ }
273
+ const Rt = {
274
+ deg: 1,
275
+ rad: 180 / Math.PI,
276
+ grad: 9 / 10,
277
+ turn: 360
278
+ };
279
+ function P(e) {
280
+ let t = "";
281
+ if ((e[c] === "-" || e[c] === "+") && (t += e[c++]), t += F(e), e[c] === "." && /\d/.test(e[c + 1]) && (t += e[c++] + F(e)), (e[c] === "e" || e[c] === "E") && ((e[c + 1] === "-" || e[c + 1] === "+") && /\d/.test(e[c + 2]) ? t += e[c++] + e[c++] + F(e) : /\d/.test(e[c + 1]) && (t += e[c++] + F(e))), le(e)) {
282
+ let n = J(e);
283
+ return n === "deg" || n === "rad" || n === "turn" || n === "grad" ? { type: l.Hue, value: t * Rt[n] } : void 0;
284
+ }
285
+ return e[c] === "%" ? (c++, { type: l.Percentage, value: +t }) : { type: l.Number, value: +t };
286
+ }
287
+ function F(e) {
288
+ let t = "";
289
+ for (; /\d/.test(e[c]); )
290
+ t += e[c++];
291
+ return t;
292
+ }
293
+ function J(e) {
294
+ let t = "";
295
+ for (; c < e.length && Et.test(e[c]); )
296
+ t += e[c++];
297
+ return t;
298
+ }
299
+ function jt(e) {
300
+ let t = J(e);
301
+ return e[c] === "(" ? (c++, { type: l.Function, value: t }) : t === "none" ? { type: l.None, value: void 0 } : { type: l.Ident, value: t };
302
+ }
303
+ function zt(e = "") {
304
+ let t = e.trim(), n = [], r;
305
+ for (c = 0; c < t.length; ) {
306
+ if (r = t[c++], r === `
307
+ ` || r === " " || r === " ") {
308
+ for (; c < t.length && (t[c] === `
309
+ ` || t[c] === " " || t[c] === " "); )
310
+ c++;
311
+ continue;
312
+ }
313
+ if (r === ",")
314
+ return;
315
+ if (r === ")") {
316
+ n.push({ type: l.ParenClose });
317
+ continue;
318
+ }
319
+ if (r === "+") {
320
+ if (c--, z(t)) {
321
+ n.push(P(t));
322
+ continue;
323
+ }
324
+ return;
325
+ }
326
+ if (r === "-") {
327
+ if (c--, z(t)) {
328
+ n.push(P(t));
329
+ continue;
330
+ }
331
+ if (le(t)) {
332
+ n.push({ type: l.Ident, value: J(t) });
333
+ continue;
334
+ }
335
+ return;
336
+ }
337
+ if (r === ".") {
338
+ if (c--, z(t)) {
339
+ n.push(P(t));
340
+ continue;
341
+ }
342
+ return;
343
+ }
344
+ if (r === "/") {
345
+ for (; c < t.length && (t[c] === `
346
+ ` || t[c] === " " || t[c] === " "); )
347
+ c++;
348
+ let o;
349
+ if (z(t) && (o = P(t), o.type !== l.Hue)) {
350
+ n.push({ type: l.Alpha, value: o });
351
+ continue;
352
+ }
353
+ if (le(t) && J(t) === "none") {
354
+ n.push({
355
+ type: l.Alpha,
356
+ value: { type: l.None, value: void 0 }
357
+ });
358
+ continue;
359
+ }
360
+ return;
361
+ }
362
+ if (/\d/.test(r)) {
363
+ c--, n.push(P(t));
364
+ continue;
365
+ }
366
+ if (fe.test(r)) {
367
+ c--, n.push(jt(t));
368
+ continue;
369
+ }
370
+ return;
371
+ }
372
+ return n;
373
+ }
374
+ function Ft(e) {
375
+ e._i = 0;
376
+ let t = e[e._i++];
377
+ if (!t || t.type !== l.Function || t.value !== "color" || (t = e[e._i++], t.type !== l.Ident))
378
+ return;
379
+ const n = ze[t.value];
380
+ if (!n)
381
+ return;
382
+ const r = { mode: n }, o = Fe(e, !1);
383
+ if (!o)
384
+ return;
385
+ const i = Q(n).channels;
386
+ for (let a = 0, s, f; a < i.length; a++)
387
+ s = o[a], f = i[a], s.type !== l.None && (r[f] = s.type === l.Number ? s.value : s.value / 100, f === "alpha" && (r[f] = Math.max(0, Math.min(1, r[f]))));
388
+ return r;
389
+ }
390
+ function Fe(e, t) {
391
+ const n = [];
392
+ let r;
393
+ for (; e._i < e.length; ) {
394
+ if (r = e[e._i++], r.type === l.None || r.type === l.Number || r.type === l.Alpha || r.type === l.Percentage || t && r.type === l.Hue) {
395
+ n.push(r);
396
+ continue;
397
+ }
398
+ if (r.type === l.ParenClose) {
399
+ if (e._i < e.length)
400
+ return;
401
+ continue;
402
+ }
403
+ return;
404
+ }
405
+ if (!(n.length < 3 || n.length > 4)) {
406
+ if (n.length === 4) {
407
+ if (n[3].type !== l.Alpha)
408
+ return;
409
+ n[3] = n[3].value;
410
+ }
411
+ return n.length === 3 && n.push({ type: l.None, value: void 0 }), n.every((o) => o.type !== l.Alpha) ? n : void 0;
412
+ }
413
+ }
414
+ function Lt(e, t) {
415
+ e._i = 0;
416
+ let n = e[e._i++];
417
+ if (!n || n.type !== l.Function)
418
+ return;
419
+ let r = Fe(e, t);
420
+ if (r)
421
+ return r.unshift(n.value), r;
422
+ }
423
+ const Le = (e) => {
424
+ if (typeof e != "string")
425
+ return;
426
+ const t = zt(e), n = t ? Lt(t, !0) : void 0;
427
+ let r, o = 0, i = q.length;
428
+ for (; o < i; )
429
+ if ((r = q[o++](e, n)) !== void 0)
430
+ return r;
431
+ return t ? Ft(t) : void 0;
432
+ };
433
+ function Dt(e, t) {
434
+ if (!t || t[0] !== "rgb" && t[0] !== "rgba")
435
+ return;
436
+ const n = { mode: "rgb" }, [, r, o, i, a] = t;
437
+ if (!(r.type === l.Hue || o.type === l.Hue || i.type === l.Hue))
438
+ return r.type !== l.None && (n.r = r.type === l.Number ? r.value / 255 : r.value / 100), o.type !== l.None && (n.g = o.type === l.Number ? o.value / 255 : o.value / 100), i.type !== l.None && (n.b = i.type === l.Number ? i.value / 255 : i.value / 100), a.type !== l.None && (n.alpha = Math.min(
439
+ 1,
440
+ Math.max(
441
+ 0,
442
+ a.type === l.Number ? a.value : a.value / 100
443
+ )
444
+ )), n;
445
+ }
446
+ const Kt = (e) => e === "transparent" ? { mode: "rgb", r: 0, g: 0, b: 0, alpha: 0 } : void 0, Bt = (e, t, n) => e + n * (t - e), Gt = (e) => {
447
+ let t = [];
448
+ for (let n = 0; n < e.length - 1; n++) {
449
+ let r = e[n], o = e[n + 1];
450
+ r === void 0 && o === void 0 ? t.push(void 0) : r !== void 0 && o !== void 0 ? t.push([r, o]) : t.push(r !== void 0 ? [r, r] : [o, o]);
451
+ }
452
+ return t;
453
+ }, qt = (e) => (t) => {
454
+ let n = Gt(t);
455
+ return (r) => {
456
+ let o = r * n.length, i = r >= 1 ? n.length - 1 : Math.max(Math.floor(o), 0), a = n[i];
457
+ return a === void 0 ? void 0 : e(a[0], a[1], o - i);
458
+ };
459
+ }, y = qt(Bt), Me = (e) => {
460
+ let t = !1, n = e.map((r) => r !== void 0 ? (t = !0, r) : 1);
461
+ return t ? n : e;
462
+ }, Jt = {
463
+ mode: "rgb",
464
+ channels: ["r", "g", "b", "alpha"],
465
+ parse: [
466
+ Dt,
467
+ Tt,
468
+ _t,
469
+ Ot,
470
+ Kt,
471
+ "srgb"
472
+ ],
473
+ serialize: "srgb",
474
+ interpolate: {
475
+ r: y,
476
+ g: y,
477
+ b: y,
478
+ alpha: { use: y, fixup: Me }
479
+ },
480
+ gamut: !0,
481
+ white: { r: 1, g: 1, b: 1 },
482
+ black: { r: 0, g: 0, b: 0 }
483
+ }, ne = (e = 0) => {
484
+ const t = Math.abs(e);
485
+ return t <= 0.04045 ? e / 12.92 : (Math.sign(e) || 1) * Math.pow((t + 0.055) / 1.055, 2.4);
486
+ }, De = ({ r: e, g: t, b: n, alpha: r }) => {
487
+ let o = {
488
+ mode: "lrgb",
489
+ r: ne(e),
490
+ g: ne(t),
491
+ b: ne(n)
492
+ };
493
+ return r !== void 0 && (o.alpha = r), o;
494
+ }, re = (e = 0) => {
495
+ const t = Math.abs(e);
496
+ return t > 31308e-7 ? (Math.sign(e) || 1) * (1.055 * Math.pow(t, 1 / 2.4) - 0.055) : e * 12.92;
497
+ }, Ke = ({ r: e, g: t, b: n, alpha: r }, o = "rgb") => {
498
+ let i = {
499
+ mode: o,
500
+ r: re(e),
501
+ g: re(t),
502
+ b: re(n)
503
+ };
504
+ return r !== void 0 && (i.alpha = r), i;
505
+ }, $ = (e) => (e = e % 360) < 0 ? e + 360 : e, Wt = (e, t) => e.map((n, r, o) => {
506
+ if (n === void 0)
507
+ return n;
508
+ let i = $(n);
509
+ return r === 0 || e[r - 1] === void 0 ? i : t(i - $(o[r - 1]));
510
+ }).reduce((n, r) => !n.length || r === void 0 || n[n.length - 1] === void 0 ? (n.push(r), n) : (n.push(r + n[n.length - 1]), n), []), Be = (e) => Wt(e, (t) => Math.abs(t) <= 180 ? t : t - 360 * Math.sign(t)), Xt = (e, t) => {
511
+ if (e.h === void 0 || t.h === void 0 || !e.s || !t.s)
512
+ return 0;
513
+ let n = $(e.h), r = $(t.h), o = Math.sin((r - n + 360) / 2 * Math.PI / 180);
514
+ return 2 * Math.sqrt(e.s * t.s) * o;
515
+ }, Yt = (e, t) => {
516
+ if (e.h === void 0 || t.h === void 0 || !e.c || !t.c)
517
+ return 0;
518
+ let n = $(e.h), r = $(t.h), o = Math.sin((r - n + 360) / 2 * Math.PI / 180);
519
+ return 2 * Math.sqrt(e.c * t.c) * o;
520
+ }, Ge = (e) => {
521
+ let t = e.reduce(
522
+ (r, o) => {
523
+ if (o !== void 0) {
524
+ let i = o * Math.PI / 180;
525
+ r.sin += Math.sin(i), r.cos += Math.cos(i);
526
+ }
527
+ return r;
528
+ },
529
+ { sin: 0, cos: 0 }
530
+ ), n = Math.atan2(t.sin, t.cos) * 180 / Math.PI;
531
+ return n < 0 ? 360 + n : n;
532
+ }, W = ({ l: e, a: t, b: n, alpha: r }, o = "lch") => {
533
+ t === void 0 && (t = 0), n === void 0 && (n = 0);
534
+ let i = Math.sqrt(t * t + n * n), a = { mode: o, l: e, c: i };
535
+ return i && (a.h = $(Math.atan2(n, t) * 180 / Math.PI)), r !== void 0 && (a.alpha = r), a;
536
+ }, X = ({ l: e, c: t, h: n, alpha: r }, o = "lab") => {
537
+ n === void 0 && (n = 0);
538
+ let i = {
539
+ mode: o,
540
+ l: e,
541
+ a: t ? t * Math.cos(n / 180 * Math.PI) : 0,
542
+ b: t ? t * Math.sin(n / 180 * Math.PI) : 0
543
+ };
544
+ return r !== void 0 && (i.alpha = r), i;
545
+ }, I = {
546
+ X: 0.3457 / 0.3585,
547
+ Y: 1,
548
+ Z: (1 - 0.3457 - 0.3585) / 0.3585
549
+ };
550
+ function Ut({ h: e, s: t, l: n, alpha: r }) {
551
+ e = $(e !== void 0 ? e : 0), t === void 0 && (t = 0), n === void 0 && (n = 0);
552
+ let o = n + t * (n < 0.5 ? n : 1 - n), i = o - (o - n) * 2 * Math.abs(e / 60 % 2 - 1), a;
553
+ switch (Math.floor(e / 60)) {
554
+ case 0:
555
+ a = { r: o, g: i, b: 2 * n - o };
556
+ break;
557
+ case 1:
558
+ a = { r: i, g: o, b: 2 * n - o };
559
+ break;
560
+ case 2:
561
+ a = { r: 2 * n - o, g: o, b: i };
562
+ break;
563
+ case 3:
564
+ a = { r: 2 * n - o, g: i, b: o };
565
+ break;
566
+ case 4:
567
+ a = { r: i, g: 2 * n - o, b: o };
568
+ break;
569
+ case 5:
570
+ a = { r: o, g: 2 * n - o, b: i };
571
+ break;
572
+ default:
573
+ a = { r: 2 * n - o, g: 2 * n - o, b: 2 * n - o };
574
+ }
575
+ return a.mode = "rgb", r !== void 0 && (a.alpha = r), a;
576
+ }
577
+ function Zt({ r: e, g: t, b: n, alpha: r }) {
578
+ e === void 0 && (e = 0), t === void 0 && (t = 0), n === void 0 && (n = 0);
579
+ let o = Math.max(e, t, n), i = Math.min(e, t, n), a = {
580
+ mode: "hsl",
581
+ s: o === i ? 0 : (o - i) / (1 - Math.abs(o + i - 1)),
582
+ l: 0.5 * (o + i)
583
+ };
584
+ return o - i !== 0 && (a.h = (o === e ? (t - n) / (o - i) + (t < n) * 6 : o === t ? (n - e) / (o - i) + 2 : (e - t) / (o - i) + 4) * 60), r !== void 0 && (a.alpha = r), a;
585
+ }
586
+ const Qt = (e, t) => {
587
+ switch (t) {
588
+ case "deg":
589
+ return +e;
590
+ case "rad":
591
+ return e / Math.PI * 180;
592
+ case "grad":
593
+ return e / 10 * 9;
594
+ case "turn":
595
+ return e * 360;
596
+ }
597
+ }, en = new RegExp(
598
+ `^hsla?\\(\\s*${Ct}${T}${H}${T}${H}\\s*(?:,\\s*${be}\\s*)?\\)$`
599
+ ), tn = (e) => {
600
+ let t = e.match(en);
601
+ if (!t) return;
602
+ let n = { mode: "hsl" };
603
+ return t[3] !== void 0 ? n.h = +t[3] : t[1] !== void 0 && t[2] !== void 0 && (n.h = Qt(t[1], t[2])), t[4] !== void 0 && (n.s = Math.min(Math.max(0, t[4] / 100), 1)), t[5] !== void 0 && (n.l = Math.min(Math.max(0, t[5] / 100), 1)), t[6] !== void 0 ? n.alpha = Math.max(0, Math.min(1, t[6] / 100)) : t[7] !== void 0 && (n.alpha = Math.max(0, Math.min(1, +t[7]))), n;
604
+ };
605
+ function nn(e, t) {
606
+ if (!t || t[0] !== "hsl" && t[0] !== "hsla")
607
+ return;
608
+ const n = { mode: "hsl" }, [, r, o, i, a] = t;
609
+ if (r.type !== l.None) {
610
+ if (r.type === l.Percentage)
611
+ return;
612
+ n.h = r.value;
613
+ }
614
+ if (o.type !== l.None) {
615
+ if (o.type === l.Hue)
616
+ return;
617
+ n.s = o.value / 100;
618
+ }
619
+ if (i.type !== l.None) {
620
+ if (i.type === l.Hue)
621
+ return;
622
+ n.l = i.value / 100;
623
+ }
624
+ return a.type !== l.None && (n.alpha = Math.min(
625
+ 1,
626
+ Math.max(
627
+ 0,
628
+ a.type === l.Number ? a.value : a.value / 100
629
+ )
630
+ )), n;
631
+ }
632
+ const rn = {
633
+ mode: "hsl",
634
+ toMode: {
635
+ rgb: Ut
636
+ },
637
+ fromMode: {
638
+ rgb: Zt
639
+ },
640
+ channels: ["h", "s", "l", "alpha"],
641
+ ranges: {
642
+ h: [0, 360]
643
+ },
644
+ gamut: "rgb",
645
+ parse: [nn, tn],
646
+ serialize: (e) => `hsl(${e.h !== void 0 ? e.h : "none"} ${e.s !== void 0 ? e.s * 100 + "%" : "none"} ${e.l !== void 0 ? e.l * 100 + "%" : "none"}${e.alpha < 1 ? ` / ${e.alpha}` : ""})`,
647
+ interpolate: {
648
+ h: { use: y, fixup: Be },
649
+ s: y,
650
+ l: y,
651
+ alpha: { use: y, fixup: Me }
652
+ },
653
+ difference: {
654
+ h: Xt
655
+ },
656
+ average: {
657
+ h: Ge
658
+ }
659
+ }, qe = Math.pow(29, 3) / Math.pow(3, 3), Je = Math.pow(6, 3) / Math.pow(29, 3);
660
+ let oe = (e) => Math.pow(e, 3) > Je ? Math.pow(e, 3) : (116 * e - 16) / qe;
661
+ const on = ({ l: e, a: t, b: n, alpha: r }) => {
662
+ e === void 0 && (e = 0), t === void 0 && (t = 0), n === void 0 && (n = 0);
663
+ let o = (e + 16) / 116, i = t / 500 + o, a = o - n / 200, s = {
664
+ mode: "xyz50",
665
+ x: oe(i) * I.X,
666
+ y: oe(o) * I.Y,
667
+ z: oe(a) * I.Z
668
+ };
669
+ return r !== void 0 && (s.alpha = r), s;
670
+ }, an = ({ x: e, y: t, z: n, alpha: r }) => {
671
+ e === void 0 && (e = 0), t === void 0 && (t = 0), n === void 0 && (n = 0);
672
+ let o = Ke({
673
+ r: e * 3.1341359569958707 - t * 1.6173863321612538 - 0.4906619460083532 * n,
674
+ g: e * -0.978795502912089 + t * 1.916254567259524 + 0.03344273116131949 * n,
675
+ b: e * 0.07195537988411677 - t * 0.2289768264158322 + 1.405386058324125 * n
676
+ });
677
+ return r !== void 0 && (o.alpha = r), o;
678
+ }, sn = (e) => an(on(e)), fn = (e) => {
679
+ let { r: t, g: n, b: r, alpha: o } = De(e), i = {
680
+ mode: "xyz50",
681
+ x: 0.436065742824811 * t + 0.3851514688337912 * n + 0.14307845442264197 * r,
682
+ y: 0.22249319175623702 * t + 0.7168870538238823 * n + 0.06061979053616537 * r,
683
+ z: 0.013923904500943465 * t + 0.09708128566574634 * n + 0.7140993584005155 * r
684
+ };
685
+ return o !== void 0 && (i.alpha = o), i;
686
+ }, ie = (e) => e > Je ? Math.cbrt(e) : (qe * e + 16) / 116, ln = ({ x: e, y: t, z: n, alpha: r }) => {
687
+ e === void 0 && (e = 0), t === void 0 && (t = 0), n === void 0 && (n = 0);
688
+ let o = ie(e / I.X), i = ie(t / I.Y), a = ie(n / I.Z), s = {
689
+ mode: "lab",
690
+ l: 116 * i - 16,
691
+ a: 500 * (o - i),
692
+ b: 200 * (i - a)
693
+ };
694
+ return r !== void 0 && (s.alpha = r), s;
695
+ }, un = (e) => {
696
+ let t = ln(fn(e));
697
+ return e.r === e.b && e.b === e.g && (t.a = t.b = 0), t;
698
+ };
699
+ function cn(e, t) {
700
+ if (!t || t[0] !== "lch")
701
+ return;
702
+ const n = { mode: "lch" }, [, r, o, i, a] = t;
703
+ if (r.type !== l.None) {
704
+ if (r.type === l.Hue)
705
+ return;
706
+ n.l = Math.min(Math.max(0, r.value), 100);
707
+ }
708
+ if (o.type !== l.None && (n.c = Math.max(
709
+ 0,
710
+ o.type === l.Number ? o.value : o.value * 150 / 100
711
+ )), i.type !== l.None) {
712
+ if (i.type === l.Percentage)
713
+ return;
714
+ n.h = i.value;
715
+ }
716
+ return a.type !== l.None && (n.alpha = Math.min(
717
+ 1,
718
+ Math.max(
719
+ 0,
720
+ a.type === l.Number ? a.value : a.value / 100
721
+ )
722
+ )), n;
723
+ }
724
+ const dn = {
725
+ mode: "lch",
726
+ toMode: {
727
+ lab: X,
728
+ rgb: (e) => sn(X(e))
729
+ },
730
+ fromMode: {
731
+ rgb: (e) => W(un(e)),
732
+ lab: W
733
+ },
734
+ channels: ["l", "c", "h", "alpha"],
735
+ ranges: {
736
+ l: [0, 100],
737
+ c: [0, 150],
738
+ h: [0, 360]
739
+ },
740
+ parse: [cn],
741
+ serialize: (e) => `lch(${e.l !== void 0 ? e.l : "none"} ${e.c !== void 0 ? e.c : "none"} ${e.h !== void 0 ? e.h : "none"}${e.alpha < 1 ? ` / ${e.alpha}` : ""})`,
742
+ interpolate: {
743
+ h: { use: y, fixup: Be },
744
+ c: y,
745
+ l: y,
746
+ alpha: { use: y, fixup: Me }
747
+ },
748
+ difference: {
749
+ h: Yt
750
+ },
751
+ average: {
752
+ h: Ge
753
+ }
754
+ }, hn = ({ r: e, g: t, b: n, alpha: r }) => {
755
+ e === void 0 && (e = 0), t === void 0 && (t = 0), n === void 0 && (n = 0);
756
+ let o = Math.cbrt(
757
+ 0.412221469470763 * e + 0.5363325372617348 * t + 0.0514459932675022 * n
758
+ ), i = Math.cbrt(
759
+ 0.2119034958178252 * e + 0.6806995506452344 * t + 0.1073969535369406 * n
760
+ ), a = Math.cbrt(
761
+ 0.0883024591900564 * e + 0.2817188391361215 * t + 0.6299787016738222 * n
762
+ ), s = {
763
+ mode: "oklab",
764
+ l: 0.210454268309314 * o + 0.7936177747023054 * i - 0.0040720430116193 * a,
765
+ a: 1.9779985324311684 * o - 2.42859224204858 * i + 0.450593709617411 * a,
766
+ b: 0.0259040424655478 * o + 0.7827717124575296 * i - 0.8086757549230774 * a
767
+ };
768
+ return r !== void 0 && (s.alpha = r), s;
769
+ }, pn = (e) => {
770
+ let t = hn(De(e));
771
+ return e.r === e.b && e.b === e.g && (t.a = t.b = 0), t;
772
+ }, gn = ({ l: e, a: t, b: n, alpha: r }) => {
773
+ e === void 0 && (e = 0), t === void 0 && (t = 0), n === void 0 && (n = 0);
774
+ let o = Math.pow(e + 0.3963377773761749 * t + 0.2158037573099136 * n, 3), i = Math.pow(e - 0.1055613458156586 * t - 0.0638541728258133 * n, 3), a = Math.pow(e - 0.0894841775298119 * t - 1.2914855480194092 * n, 3), s = {
775
+ mode: "lrgb",
776
+ r: 4.076741636075957 * o - 3.3077115392580616 * i + 0.2309699031821044 * a,
777
+ g: -1.2684379732850317 * o + 2.6097573492876887 * i - 0.3413193760026573 * a,
778
+ b: -0.0041960761386756 * o - 0.7034186179359362 * i + 1.7076146940746117 * a
779
+ };
780
+ return r !== void 0 && (s.alpha = r), s;
781
+ }, mn = (e) => Ke(gn(e));
782
+ function yn(e, t) {
783
+ if (!t || t[0] !== "oklch")
784
+ return;
785
+ const n = { mode: "oklch" }, [, r, o, i, a] = t;
786
+ if (r.type !== l.None) {
787
+ if (r.type === l.Hue)
788
+ return;
789
+ n.l = Math.min(
790
+ Math.max(0, r.type === l.Number ? r.value : r.value / 100),
791
+ 1
792
+ );
793
+ }
794
+ if (o.type !== l.None && (n.c = Math.max(
795
+ 0,
796
+ o.type === l.Number ? o.value : o.value * 0.4 / 100
797
+ )), i.type !== l.None) {
798
+ if (i.type === l.Percentage)
799
+ return;
800
+ n.h = i.value;
801
+ }
802
+ return a.type !== l.None && (n.alpha = Math.min(
803
+ 1,
804
+ Math.max(
805
+ 0,
806
+ a.type === l.Number ? a.value : a.value / 100
807
+ )
808
+ )), n;
809
+ }
810
+ const bn = {
811
+ ...dn,
812
+ mode: "oklch",
813
+ toMode: {
814
+ oklab: (e) => X(e, "oklab"),
815
+ rgb: (e) => mn(X(e, "oklab"))
816
+ },
817
+ fromMode: {
818
+ rgb: (e) => W(pn(e), "oklch"),
819
+ oklab: (e) => W(e, "oklch")
820
+ },
821
+ parse: [yn],
822
+ serialize: (e) => `oklch(${e.l !== void 0 ? e.l : "none"} ${e.c !== void 0 ? e.c : "none"} ${e.h !== void 0 ? e.h : "none"}${e.alpha < 1 ? ` / ${e.alpha}` : ""})`,
823
+ ranges: {
824
+ l: [0, 1],
825
+ c: [0, 0.4],
826
+ h: [0, 360]
827
+ }
828
+ }, xn = (e) => Math.max(0, Math.min(1, e || 0)), D = (e) => Math.round(xn(e) * 255), We = x("rgb"), Xe = (e) => {
829
+ if (e === void 0)
830
+ return;
831
+ let t = D(e.r), n = D(e.g), r = D(e.b);
832
+ return "#" + (1 << 24 | t << 16 | n << 8 | r).toString(16).slice(1);
833
+ }, Mn = (e) => {
834
+ if (e === void 0)
835
+ return;
836
+ let t = D(e.alpha !== void 0 ? e.alpha : 1);
837
+ return Xe(e) + (256 | t).toString(16).slice(1);
838
+ }, kn = (e) => Xe(We(e)), vn = (e) => Mn(We(e)), Ye = x("rgb"), Ue = (e) => {
839
+ const t = {
840
+ mode: e.mode,
841
+ r: Math.max(0, Math.min(e.r !== void 0 ? e.r : 0, 1)),
842
+ g: Math.max(0, Math.min(e.g !== void 0 ? e.g : 0, 1)),
843
+ b: Math.max(0, Math.min(e.b !== void 0 ? e.b : 0, 1))
844
+ };
845
+ return e.alpha !== void 0 && (t.alpha = e.alpha), t;
846
+ }, Sn = (e) => Ue(Ye(e)), Ze = (e) => e !== void 0 && (e.r === void 0 || e.r >= 0 && e.r <= 1) && (e.g === void 0 || e.g >= 0 && e.g <= 1) && (e.b === void 0 || e.b >= 0 && e.b <= 1);
847
+ function wn(e) {
848
+ return Ze(Ye(e));
849
+ }
850
+ function ke(e = "rgb") {
851
+ const { gamut: t } = Q(e);
852
+ if (!t)
853
+ return (r) => !0;
854
+ const n = x(typeof t == "string" ? t : e);
855
+ return (r) => Ze(n(r));
856
+ }
857
+ function $n(e = "rgb") {
858
+ const { gamut: t } = Q(e);
859
+ if (!t)
860
+ return (i) => G(i);
861
+ const n = typeof t == "string" ? t : e, r = x(n), o = ke(n);
862
+ return (i) => {
863
+ const a = G(i);
864
+ if (!a)
865
+ return;
866
+ const s = r(a);
867
+ if (o(s))
868
+ return a;
869
+ const f = Ue(s);
870
+ return a.mode === f.mode ? f : x(a.mode)(f);
871
+ };
872
+ }
873
+ function Nn(e, t = "lch", n = "rgb") {
874
+ e = G(e);
875
+ let r = n === "rgb" ? wn : ke(n), o = n === "rgb" ? Sn : $n(n);
876
+ if (e === void 0 || r(e)) return e;
877
+ let i = x(e.mode);
878
+ e = x(t)(e);
879
+ let a = { ...e, c: 0 };
880
+ if (!r(a))
881
+ return i(o(a));
882
+ let s = 0, f = e.c !== void 0 ? e.c : 0, u = Q(t).ranges.c, d = (u[1] - u[0]) / Math.pow(2, 13), h = a.c;
883
+ for (; f - s > d; )
884
+ a.c = s + (f - s) * 0.5, r(a) ? (h = a.c, s = a.c) : f = a.c;
885
+ return i(
886
+ r(a) ? a : { ...a, c: h }
887
+ );
888
+ }
889
+ xe(bn);
890
+ xe(Jt);
891
+ xe(rn);
892
+ const sr = 0.37, Qe = x("oklch"), et = x("rgb"), On = x("hsl"), In = ke("rgb");
893
+ function ee(e) {
894
+ return {
895
+ mode: "oklch",
896
+ l: e.l / 100,
897
+ c: e.c,
898
+ h: e.h,
899
+ alpha: e.a / 100
900
+ };
901
+ }
902
+ function Tn(e) {
903
+ return {
904
+ l: (e.l ?? 0) * 100,
905
+ c: e.c ?? 0,
906
+ h: e.h ?? 0,
907
+ a: (e.alpha ?? 1) * 100
908
+ };
909
+ }
910
+ function fr(e) {
911
+ const t = (e.l / 100).toFixed(4), n = e.c.toFixed(4), r = e.h.toFixed(2);
912
+ if (e.a >= 100)
913
+ return `oklch(${t} ${n} ${r})`;
914
+ const o = (e.a / 100).toFixed(4);
915
+ return `oklch(${t} ${n} ${r} / ${o})`;
916
+ }
917
+ function lr(e) {
918
+ const t = { l: 0, c: 0, h: 0, a: 100 };
919
+ try {
920
+ const n = Le(e);
921
+ if (!n) return t;
922
+ const r = Qe(n);
923
+ if (!r) return t;
924
+ const o = r.alpha === void 0 ? 1 : r.alpha;
925
+ return {
926
+ l: (r.l ?? 0) * 100,
927
+ c: r.c ?? 0,
928
+ h: r.h ?? 0,
929
+ a: o * 100
930
+ };
931
+ } catch {
932
+ return t;
933
+ }
934
+ }
935
+ function ur(e, t) {
936
+ const n = ee(e), r = et(n);
937
+ return r ? e.a < 100 ? vn({ ...r, alpha: e.a / 100 }) ?? "#000000ff" : kn(r) ?? "#000000" : "#000000";
938
+ }
939
+ function cr(e) {
940
+ const t = ee(e), n = On(t);
941
+ return n ? {
942
+ h: n.h ?? 0,
943
+ s: (n.s ?? 0) * 100,
944
+ l: (n.l ?? 0) * 100,
945
+ a: e.a
946
+ } : { h: 0, s: 0, l: 0, a: e.a };
947
+ }
948
+ function dr(e) {
949
+ const t = {
950
+ mode: "hsl",
951
+ h: e.h,
952
+ s: e.s / 100,
953
+ l: e.l / 100,
954
+ alpha: e.a / 100
955
+ }, n = Qe(t);
956
+ return n ? Tn(n) : { l: 0, c: 0, h: 0, a: e.a };
957
+ }
958
+ function hr(e) {
959
+ const t = ee(e), n = Nn(t, "oklch", "rgb");
960
+ return n ? {
961
+ l: (n.l ?? e.l / 100) * 100,
962
+ c: n.c ?? 0,
963
+ h: n.h ?? e.h,
964
+ a: e.a
965
+ } : { l: e.l, c: 0, h: e.h, a: e.a };
966
+ }
967
+ function pr(e) {
968
+ const t = et(ee(e));
969
+ return t ? In(t) : !1;
970
+ }
971
+ function Cn(e, t) {
972
+ const n = parseFloat(e);
973
+ let r;
974
+ switch (t.toLowerCase()) {
975
+ case "rad":
976
+ r = n * (180 / Math.PI);
977
+ break;
978
+ case "grad":
979
+ r = n * (360 / 400);
980
+ break;
981
+ case "turn":
982
+ r = n * 360;
983
+ break;
984
+ default:
985
+ r = n;
986
+ }
987
+ return (r % 360 + 360) % 360;
988
+ }
989
+ function ue(e) {
990
+ const n = e.trim().match(/^oklch\(\s*(.*?)\s*\)$/i);
991
+ if (!n) return null;
992
+ const o = n[1].split("/");
993
+ if (o.length > 2) return null;
994
+ const i = o[0].trim(), a = o.length === 2 ? o[1].trim() : null, s = i.split(/\s+/).filter(Boolean);
995
+ if (s.length !== 3) return null;
996
+ const f = (m) => {
997
+ if (m.toLowerCase() === "none") return { value: 0, isPercent: !1 };
998
+ const A = m.match(/^([+-]?(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?)(%?)$/i);
999
+ if (!A) return null;
1000
+ const j = parseFloat(A[1]);
1001
+ return isNaN(j) ? null : { value: j, isPercent: A[2] === "%" };
1002
+ }, u = f(s[0]);
1003
+ if (!u) return null;
1004
+ const d = u.isPercent ? u.value : u.value * 100, h = f(s[1]);
1005
+ if (!h) return null;
1006
+ const p = h.isPercent ? h.value / 100 * 0.4 : h.value, k = s[2];
1007
+ let v;
1008
+ if (k.toLowerCase() === "none")
1009
+ v = 0;
1010
+ else {
1011
+ const m = k.match(/^([+-]?(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?)(deg|rad|grad|turn)?$/i);
1012
+ if (!m) return null;
1013
+ const A = m[1], j = m[2] ?? "deg";
1014
+ v = Cn(A, j);
1015
+ }
1016
+ let C = 100;
1017
+ if (a !== null) {
1018
+ const m = f(a.trim());
1019
+ if (!m) return null;
1020
+ C = m.isPercent ? m.value : m.value * 100;
1021
+ }
1022
+ return {
1023
+ l: d,
1024
+ c: p,
1025
+ h: v,
1026
+ a: C
1027
+ };
1028
+ }
1029
+ function tt(e = g()) {
1030
+ return St(e);
1031
+ }
1032
+ function nt(e = g()) {
1033
+ return bt(e);
1034
+ }
1035
+ function rt(e = g()) {
1036
+ return yt(e);
1037
+ }
1038
+ function R(e = g()) {
1039
+ return mt(e);
1040
+ }
1041
+ function gr(e = g()) {
1042
+ return xt(e);
1043
+ }
1044
+ function ot(e = g()) {
1045
+ return kt(e);
1046
+ }
1047
+ function it(e = g()) {
1048
+ return Mt(e);
1049
+ }
1050
+ function at(e = g()) {
1051
+ return vt(e);
1052
+ }
1053
+ const An = { top: 60, left: 20 };
1054
+ function Pn() {
1055
+ if (typeof window > "u") return An;
1056
+ const e = Math.min(1200, 0.8 * window.innerWidth), t = Math.min(800, 0.8 * window.innerHeight), n = Math.max(0, Math.round((window.innerHeight - t) / 2)), r = Math.max(0, Math.round((window.innerWidth - e) / 2));
1057
+ return { top: n, left: r };
1058
+ }
1059
+ function mr(e) {
1060
+ try {
1061
+ const t = localStorage.getItem(ot(e));
1062
+ if (t) {
1063
+ const n = JSON.parse(t);
1064
+ if (typeof n.top == "number" && typeof n.left == "number" && Number.isFinite(n.top) && Number.isFinite(n.left))
1065
+ return n;
1066
+ }
1067
+ } catch {
1068
+ }
1069
+ return Pn();
1070
+ }
1071
+ function yr(e, t) {
1072
+ try {
1073
+ localStorage.setItem(ot(t), JSON.stringify(e));
1074
+ } catch {
1075
+ }
1076
+ }
1077
+ const ae = 60, Te = 320, Ce = 240, Ae = 1600, Pe = 1200, _n = { width: 1024 * 0.8, height: 768 * 0.8 };
1078
+ function Hn() {
1079
+ return typeof window > "u" ? _n : st(
1080
+ Math.min(1200, 0.8 * window.innerWidth),
1081
+ Math.min(800, 0.8 * window.innerHeight)
1082
+ );
1083
+ }
1084
+ const _e = 32;
1085
+ function st(e, t) {
1086
+ const n = typeof window < "u" ? window.innerWidth : Ae, r = typeof window < "u" ? window.innerHeight : Pe, o = Math.max(Te, Math.min(Ae, n - _e)), i = Math.max(Ce, Math.min(Pe, r - _e));
1087
+ return {
1088
+ width: Math.max(Te, Math.min(e, o)),
1089
+ height: Math.max(Ce, Math.min(t, i))
1090
+ };
1091
+ }
1092
+ function br(e) {
1093
+ try {
1094
+ const t = localStorage.getItem(it(e));
1095
+ if (t) {
1096
+ const n = JSON.parse(t);
1097
+ if (typeof n.width == "number" && typeof n.height == "number" && Number.isFinite(n.width) && Number.isFinite(n.height))
1098
+ return st(n.width, n.height);
1099
+ }
1100
+ } catch {
1101
+ }
1102
+ return Hn();
1103
+ }
1104
+ function xr(e, t) {
1105
+ try {
1106
+ localStorage.setItem(it(t), JSON.stringify(e));
1107
+ } catch {
1108
+ }
1109
+ }
1110
+ const Vn = 1;
1111
+ function Mr(e) {
1112
+ return e === 0 ? "192px" : e === 2 ? "100%" : "288px";
1113
+ }
1114
+ function kr(e) {
1115
+ try {
1116
+ const t = localStorage.getItem(at(e));
1117
+ if (t === "0" || t === "1" || t === "2")
1118
+ return Number(t);
1119
+ } catch {
1120
+ }
1121
+ return Vn;
1122
+ }
1123
+ function vr(e, t) {
1124
+ try {
1125
+ localStorage.setItem(at(t), String(e));
1126
+ } catch {
1127
+ }
1128
+ }
1129
+ function Sr(e, t, n, r) {
1130
+ const o = -(n - ae), i = window.innerWidth - ae, a = -30, s = window.innerHeight - ae, f = Math.max(s, a), u = Math.max(i, o);
1131
+ return {
1132
+ top: Math.max(a, Math.min(e, f)),
1133
+ left: Math.max(o, Math.min(t, u))
1134
+ };
1135
+ }
1136
+ async function wr(e) {
1137
+ }
1138
+ function En(e) {
1139
+ return typeof e == "number" || e === "bg" || e === "fg";
1140
+ }
1141
+ function ce(e) {
1142
+ return typeof e == "object" && e !== null && "literal" in e;
1143
+ }
1144
+ function de(e) {
1145
+ return ce(e) && typeof e.literal == "object" && e.literal !== null;
1146
+ }
1147
+ function Rn(e) {
1148
+ return typeof e == "object" && e !== null && "ref" in e;
1149
+ }
1150
+ function se() {
1151
+ return {};
1152
+ }
1153
+ const jn = {
1154
+ id: "stub",
1155
+ label: "STUB",
1156
+ paletteSize: 0,
1157
+ baseRoles: {},
1158
+ paletteCssVarTemplate: "--zudo-stub-p{n}",
1159
+ semanticDefaults: {},
1160
+ semanticCssNames: {},
1161
+ baseDefaults: {},
1162
+ defaultShikiTheme: "dracula",
1163
+ colorSchemes: {},
1164
+ panelSettings: { colorScheme: "", colorMode: !1 }
1165
+ };
1166
+ function b(e = g()) {
1167
+ return gt(e.tabs) ?? jn;
1168
+ }
1169
+ function te(e) {
1170
+ const t = e.paletteSize;
1171
+ return {
1172
+ palette: Array.from({ length: t }, (r, o) => {
1173
+ if (t === 1) return "#808080";
1174
+ const a = Math.round(o / (t - 1) * 255).toString(16).padStart(2, "0");
1175
+ return `#${a}${a}${a}`;
1176
+ }),
1177
+ background: e.baseDefaults.background ?? 0,
1178
+ foreground: e.baseDefaults.foreground ?? 0,
1179
+ cursor: e.baseDefaults.cursor ?? 0,
1180
+ selectionBg: e.baseDefaults.selectionBg ?? 0,
1181
+ selectionFg: e.baseDefaults.selectionFg ?? 0,
1182
+ semanticMappings: { ...e.semanticDefaults },
1183
+ shikiTheme: e.defaultShikiTheme
1184
+ };
1185
+ }
1186
+ function $r(e) {
1187
+ const t = Z(e);
1188
+ return t ? te(t) : void 0;
1189
+ }
1190
+ function zn() {
1191
+ try {
1192
+ const e = document.createElement("canvas").getContext("2d");
1193
+ return e ? (e.fillStyle = "#ffffff", e.fillStyle === "#ffffff") : !1;
1194
+ } catch {
1195
+ return !1;
1196
+ }
1197
+ }
1198
+ const Fn = zn();
1199
+ function Ln(e) {
1200
+ const t = e.match(/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*([\d.]+))?/);
1201
+ if (!t) return null;
1202
+ const n = parseInt(t[1], 10), r = parseInt(t[2], 10), o = parseInt(t[3], 10), i = `#${(1 << 24 | n << 16 | r << 8 | o).toString(16).slice(1)}`;
1203
+ if (t[4] !== void 0) {
1204
+ const a = parseFloat(t[4]);
1205
+ if (a < 1) {
1206
+ const s = Math.round(a * 255).toString(16).padStart(2, "0");
1207
+ return `${i}${s}`;
1208
+ }
1209
+ }
1210
+ return i;
1211
+ }
1212
+ function Dn(e, t, n, r) {
1213
+ const o = (a) => a.toString(16).padStart(2, "0"), i = `#${o(e)}${o(t)}${o(n)}`;
1214
+ return r < 255 ? `${i}${o(r)}` : i;
1215
+ }
1216
+ let S = null;
1217
+ function he(e) {
1218
+ if (!e || e === "initial" || e === "inherit") return "#000000";
1219
+ const t = e.trim();
1220
+ if (/^#[0-9a-fA-F]{6}$/.test(t) || /^#[0-9a-fA-F]{8}$/.test(t)) return t;
1221
+ if (/^#[0-9a-fA-F]{3}$/.test(t))
1222
+ return `#${t[1]}${t[1]}${t[2]}${t[2]}${t[3]}${t[3]}`;
1223
+ if (/^#[0-9a-fA-F]{4}$/.test(t))
1224
+ return `#${t[1]}${t[1]}${t[2]}${t[2]}${t[3]}${t[3]}${t[4]}${t[4]}`;
1225
+ const n = Ln(t);
1226
+ if (n) return n;
1227
+ if (!Fn) return "#000000";
1228
+ try {
1229
+ if (S || (S = document.createElement("canvas").getContext("2d")), !S) return "#000000";
1230
+ S.fillStyle = "#000000", S.fillStyle = t, S.clearRect(0, 0, 1, 1), S.fillRect(0, 0, 1, 1);
1231
+ const [r, o, i, a] = S.getImageData(0, 0, 1, 1).data;
1232
+ return Dn(r, o, i, a);
1233
+ } catch {
1234
+ return "#000000";
1235
+ }
1236
+ }
1237
+ function _(e, t) {
1238
+ document.documentElement.style.setProperty(e, t);
1239
+ }
1240
+ function Kn(e, t) {
1241
+ let n = Math.abs(e.h - t.h) % 360;
1242
+ return n > 180 && (n = 360 - n), Math.abs(e.l - t.l) <= 1e-3 && Math.abs(e.c - t.c) <= 1e-5 && n <= 1e-3 && Math.abs(e.a - t.a) <= 1e-3;
1243
+ }
1244
+ function O(e, t, n) {
1245
+ if (e === void 0) return n;
1246
+ if (typeof e == "number") return e;
1247
+ const r = t.indexOf(e);
1248
+ if (r >= 0) return r;
1249
+ const o = ue(e);
1250
+ if (o)
1251
+ for (let h = 0; h < t.length; h++) {
1252
+ const p = ue(t[h]);
1253
+ if (p && Kn(o, p)) return h;
1254
+ }
1255
+ const i = he(e), a = t.map((h) => he(h)), s = a.indexOf(i);
1256
+ if (s >= 0) return s;
1257
+ const f = He(i);
1258
+ let u = n, d = 1 / 0;
1259
+ for (let h = 0; h < a.length; h++) {
1260
+ const p = He(a[h]), k = (f.r - p.r) ** 2 + (f.g - p.g) ** 2 + (f.b - p.b) ** 2;
1261
+ k < d && (d = k, u = h);
1262
+ }
1263
+ return u;
1264
+ }
1265
+ function He(e) {
1266
+ const t = e.replace("#", "");
1267
+ return {
1268
+ r: parseInt(t.substring(0, 2), 16) || 0,
1269
+ g: parseInt(t.substring(2, 4), 16) || 0,
1270
+ b: parseInt(t.substring(4, 6), 16) || 0,
1271
+ aa: t.length >= 8 ? parseInt(t.substring(6, 8), 16) || 0 : 255
1272
+ };
1273
+ }
1274
+ function ft(e = b(), t) {
1275
+ const n = e.panelSettings, r = t !== void 0 && t.applySink !== void 0;
1276
+ if (n.colorMode && !r) {
1277
+ const o = document.documentElement.getAttribute("data-theme");
1278
+ if (o === "light") return n.colorMode.lightScheme;
1279
+ if (o === "dark") return n.colorMode.darkScheme;
1280
+ }
1281
+ return n.colorScheme;
1282
+ }
1283
+ function Bn(e = b(), t) {
1284
+ const n = e.colorSchemes;
1285
+ if (Object.keys(n).length === 0)
1286
+ return te(e);
1287
+ const r = ft(e, t), o = n[r] ?? Object.values(n)[0];
1288
+ return qn(o, e);
1289
+ }
1290
+ function ve(e = b(), t) {
1291
+ return ft(e, t);
1292
+ }
1293
+ function Gn(e) {
1294
+ return ue(e) ? e : he(e);
1295
+ }
1296
+ function qn(e, t = b()) {
1297
+ if (t.paletteSize === 0)
1298
+ return console.warn(
1299
+ `[tweak] Scheme/preset load ignored for palette-less cluster "${t.id}" (paletteSize: 0) — schemes cannot seed a tier with no palette.`
1300
+ ), te(t);
1301
+ const n = e.palette.map(Gn), r = {};
1302
+ for (const [o, i] of Object.entries(t.semanticDefaults)) {
1303
+ const a = e.semantic?.[o];
1304
+ if (a === void 0)
1305
+ r[o] = i;
1306
+ else if (typeof a == "number")
1307
+ r[o] = a;
1308
+ else {
1309
+ const s = typeof i == "number" ? i : 0;
1310
+ r[o] = O(a, e.palette, s);
1311
+ }
1312
+ }
1313
+ return {
1314
+ palette: n,
1315
+ background: O(
1316
+ e.background,
1317
+ e.palette,
1318
+ t.baseDefaults.background ?? 0
1319
+ ),
1320
+ foreground: O(
1321
+ e.foreground,
1322
+ e.palette,
1323
+ t.baseDefaults.foreground ?? 0
1324
+ ),
1325
+ cursor: O(e.cursor, e.palette, t.baseDefaults.cursor ?? 0),
1326
+ selectionBg: O(
1327
+ e.selectionBg,
1328
+ e.palette,
1329
+ t.baseDefaults.selectionBg ?? 0
1330
+ ),
1331
+ selectionFg: O(
1332
+ e.selectionFg,
1333
+ e.palette,
1334
+ t.baseDefaults.selectionFg ?? 0
1335
+ ),
1336
+ semanticMappings: r,
1337
+ shikiTheme: String(e.shikiTheme ?? t.defaultShikiTheme)
1338
+ };
1339
+ }
1340
+ function Jn(e, t, n, r) {
1341
+ const o = t.length;
1342
+ return e === "bg" ? t[V(n, o)] ?? "#000000" : e === "fg" ? t[V(r, o)] ?? "#ffffff" : t[V(e, o)] ?? "#000000";
1343
+ }
1344
+ function V(e, t) {
1345
+ return e >= 0 && e < t ? e : 0;
1346
+ }
1347
+ function pe(e, t, n, r, o, i, a) {
1348
+ if (En(e)) return Jn(e, t, n, r);
1349
+ if (ce(e) && de(e))
1350
+ return a ? e.literal[a] : `light-dark(${e.literal.light}, ${e.literal.dark})`;
1351
+ if (ce(e) && !de(e)) return e.literal;
1352
+ if (Rn(e) && o)
1353
+ try {
1354
+ return `var(${$t(e.ref, o, i ?? [o])})`;
1355
+ } catch {
1356
+ return null;
1357
+ }
1358
+ return null;
1359
+ }
1360
+ function Wn(e) {
1361
+ const t = e.panelSettings.colorMode;
1362
+ return t ? t.defaultMode : "light";
1363
+ }
1364
+ function Nr(e, t) {
1365
+ return e.literal[t];
1366
+ }
1367
+ function Or(e, t, n = b(), r, o) {
1368
+ return pe(
1369
+ e,
1370
+ t.palette,
1371
+ t.background,
1372
+ t.foreground,
1373
+ r,
1374
+ o,
1375
+ Wn(n)
1376
+ ) ?? "#000000";
1377
+ }
1378
+ const N = "color-scheme", ge = "light dark";
1379
+ function Y(e, t) {
1380
+ for (const n of Object.keys(t.semanticCssNames)) {
1381
+ const r = e.semanticMappings[n] ?? t.semanticDefaults[n];
1382
+ if (r !== void 0 && de(r)) return !0;
1383
+ }
1384
+ return !1;
1385
+ }
1386
+ function Ve(e, t = b(), n, r, o, i) {
1387
+ const a = e.palette.length;
1388
+ if (n) {
1389
+ const s = [];
1390
+ for (let f = 0; f < a; f++)
1391
+ s.push([B(t, f), e.palette[f]]);
1392
+ for (const [f, u] of Object.entries(t.baseRoles)) {
1393
+ if (typeof u != "string" || u.length === 0) continue;
1394
+ const d = e[f];
1395
+ typeof d == "number" && s.push([u, e.palette[V(d, a)]]);
1396
+ }
1397
+ for (const [f, u] of Object.entries(t.semanticCssNames)) {
1398
+ const d = e.semanticMappings[f] ?? t.semanticDefaults[f], h = pe(
1399
+ d,
1400
+ e.palette,
1401
+ e.background,
1402
+ e.foreground,
1403
+ r,
1404
+ o
1405
+ );
1406
+ h !== null && s.push([u, h]);
1407
+ }
1408
+ Y(e, t) && (s.push([N, ge]), i && Ie(i));
1409
+ try {
1410
+ n.apply(s);
1411
+ } catch (f) {
1412
+ console.warn("[design-token-panel] applySink.apply threw; falling back silently.", f);
1413
+ }
1414
+ return;
1415
+ }
1416
+ for (let s = 0; s < a; s++)
1417
+ _(B(t, s), e.palette[s]);
1418
+ for (const [s, f] of Object.entries(t.baseRoles)) {
1419
+ if (typeof f != "string" || f.length === 0) continue;
1420
+ const u = e[s];
1421
+ typeof u == "number" && _(f, e.palette[V(u, a)]);
1422
+ }
1423
+ for (const [s, f] of Object.entries(t.semanticCssNames)) {
1424
+ const u = e.semanticMappings[s] ?? t.semanticDefaults[s], d = pe(
1425
+ u,
1426
+ e.palette,
1427
+ e.background,
1428
+ e.foreground,
1429
+ r,
1430
+ o
1431
+ );
1432
+ d !== null && _(f, d);
1433
+ }
1434
+ Y(e, t) && (_(N, ge), i && Ie(i));
1435
+ }
1436
+ function Xn(e, t, n) {
1437
+ const r = n ?? g(), o = r.applySink, i = r.tabs.find((u) => u.id === "color"), a = b(r);
1438
+ Ve(e, a, o, i, r.tabs, r.storagePrefix);
1439
+ const s = Z(r);
1440
+ let f = !1;
1441
+ if (s && t) {
1442
+ const u = r.tabs.find((d) => d.id === "color-secondary");
1443
+ Ve(
1444
+ t,
1445
+ s,
1446
+ o,
1447
+ u,
1448
+ r.tabs,
1449
+ r.storagePrefix
1450
+ ), f = Y(t, s);
1451
+ }
1452
+ if (!Y(e, a) && !f)
1453
+ if (o) {
1454
+ try {
1455
+ o.clear([N]);
1456
+ } catch (u) {
1457
+ console.warn("[design-token-panel] applySink.clear threw; falling back silently.", u);
1458
+ }
1459
+ U(r.storagePrefix);
1460
+ } else
1461
+ ct(r.storagePrefix);
1462
+ }
1463
+ function Ir(e, t) {
1464
+ const n = t ?? g();
1465
+ Xn(e.color, e.secondary, n), Yn(e, n);
1466
+ }
1467
+ function Yn(e, t) {
1468
+ const n = t ?? g(), r = n.applySink;
1469
+ if (L(n.tabs, "spacing", e.spacing, r), L(n.tabs, "font", e.typography, r), L(n.tabs, "size", e.size, r), e.tabs)
1470
+ for (const [o, i] of Object.entries(e.tabs)) {
1471
+ const a = {};
1472
+ for (const s of Object.values(i))
1473
+ for (const [f, u] of Object.entries(s))
1474
+ a[f] = u;
1475
+ L(n.tabs, o, a, r);
1476
+ }
1477
+ }
1478
+ function L(e, t, n, r) {
1479
+ const o = e.find((s) => s.id === t);
1480
+ if (!o) return;
1481
+ const i = {};
1482
+ for (const s of o.tiers) {
1483
+ const f = {};
1484
+ for (const u of s.items) {
1485
+ const d = n[u.id];
1486
+ typeof d == "string" && d.length > 0 && (f[u.id] = d);
1487
+ }
1488
+ i[s.id] = f;
1489
+ }
1490
+ if (r) {
1491
+ const s = [], f = [];
1492
+ for (const u of o.tiers)
1493
+ for (const d of u.items)
1494
+ if (!d.readonly)
1495
+ try {
1496
+ const h = Ne(o, u.id, d.id, i), p = Oe(h);
1497
+ typeof n[d.id] == "string" && n[d.id].length > 0 || u.referencesTier !== void 0 ? s.push([d.cssVar, p]) : f.push(d.cssVar);
1498
+ } catch {
1499
+ f.push(d.cssVar);
1500
+ }
1501
+ if (s.length > 0)
1502
+ try {
1503
+ r.apply(s);
1504
+ } catch (u) {
1505
+ console.warn("[design-token-panel] applySink.apply threw; falling back silently.", u);
1506
+ }
1507
+ if (f.length > 0)
1508
+ try {
1509
+ r.clear(f);
1510
+ } catch (u) {
1511
+ console.warn("[design-token-panel] applySink.clear threw; falling back silently.", u);
1512
+ }
1513
+ return;
1514
+ }
1515
+ const a = document.documentElement;
1516
+ for (const s of o.tiers)
1517
+ for (const f of s.items)
1518
+ if (!f.readonly)
1519
+ try {
1520
+ const u = Ne(o, s.id, f.id, i), d = Oe(u);
1521
+ typeof n[f.id] == "string" && n[f.id].length > 0 || s.referencesTier !== void 0 ? _(f.cssVar, d) : a.style.removeProperty(f.cssVar);
1522
+ } catch {
1523
+ a.style.removeProperty(f.cssVar);
1524
+ }
1525
+ }
1526
+ function lt(e) {
1527
+ const t = e ?? g(), n = b(t), r = Z(t);
1528
+ return r ? [n, r] : [n];
1529
+ }
1530
+ function ut(e) {
1531
+ const t = [];
1532
+ for (let n = 0; n < e.paletteSize; n++)
1533
+ t.push(B(e, n));
1534
+ for (const n of Object.values(e.baseRoles))
1535
+ typeof n == "string" && n.length > 0 && t.push(n);
1536
+ for (const n of Object.values(e.semanticCssNames))
1537
+ t.push(n);
1538
+ return t;
1539
+ }
1540
+ function Un(e) {
1541
+ const t = [];
1542
+ for (const n of e.tabs)
1543
+ if (!(n.id === "color" || n.id === "color-secondary"))
1544
+ for (const r of n.tiers)
1545
+ for (const o of r.items)
1546
+ o.readonly || t.push(o.cssVar);
1547
+ return t;
1548
+ }
1549
+ function ct(e) {
1550
+ if (!wt(e)) return;
1551
+ const t = document.documentElement;
1552
+ t.style.getPropertyValue(N) === ge && t.style.removeProperty(N), U(e);
1553
+ }
1554
+ function Zn(e, t, n) {
1555
+ const r = e ?? lt(n), o = n?.applySink, i = (n ?? g()).storagePrefix;
1556
+ return Qn(r, o, i);
1557
+ }
1558
+ function Qn(e, t, n) {
1559
+ if (t) {
1560
+ const o = [];
1561
+ for (const i of e)
1562
+ o.push(...ut(i));
1563
+ if (e.length > 0 && o.push(N), o.length > 0)
1564
+ try {
1565
+ t.clear(o);
1566
+ } catch (i) {
1567
+ console.warn("[design-token-panel] applySink.clear threw; falling back silently.", i);
1568
+ }
1569
+ n && e.length > 0 && U(n);
1570
+ return;
1571
+ }
1572
+ const r = document.documentElement;
1573
+ for (const o of e) {
1574
+ for (let i = 0; i < o.paletteSize; i++)
1575
+ r.style.removeProperty(B(o, i));
1576
+ for (const i of Object.values(o.baseRoles))
1577
+ r.style.removeProperty(i);
1578
+ for (const i of Object.values(o.semanticCssNames))
1579
+ r.style.removeProperty(i);
1580
+ }
1581
+ e.length > 0 && n && ct(n);
1582
+ }
1583
+ function Tr(e, t) {
1584
+ const n = t ?? g(), r = n.applySink, o = lt(n);
1585
+ if (r) {
1586
+ const a = [];
1587
+ for (const s of o)
1588
+ a.push(...ut(s));
1589
+ if (o.length > 0 && a.push(N), a.push(...Un(n)), a.length > 0)
1590
+ try {
1591
+ r.clear(a);
1592
+ } catch (s) {
1593
+ console.warn("[design-token-panel] applySink.clear threw; falling back silently.", s);
1594
+ }
1595
+ o.length > 0 && U(n.storagePrefix);
1596
+ return;
1597
+ }
1598
+ Zn(o, void 0, n);
1599
+ const i = document.documentElement;
1600
+ for (const a of n.tabs)
1601
+ if (!(a.id === "color" || a.id === "color-secondary"))
1602
+ for (const s of a.tiers)
1603
+ for (const f of s.items)
1604
+ f.readonly || i.style.removeProperty(f.cssVar);
1605
+ }
1606
+ function dt(e, t) {
1607
+ if (!e || typeof e != "object") return !1;
1608
+ const n = e;
1609
+ return Array.isArray(n.palette) && n.palette.length === t && typeof n.background == "number" && typeof n.foreground == "number" && typeof n.cursor == "number" && typeof n.selectionBg == "number" && typeof n.selectionFg == "number" && typeof n.semanticMappings == "object" && n.semanticMappings !== null;
1610
+ }
1611
+ function er(e, t) {
1612
+ if (typeof e == "number")
1613
+ return Number.isInteger(e) && e >= 0 && e < t ? e : void 0;
1614
+ if (e === "bg" || e === "fg") return e;
1615
+ if (!e || typeof e != "object" || Array.isArray(e)) return;
1616
+ const n = e;
1617
+ if ("literal" in n) {
1618
+ const r = n.literal;
1619
+ if (typeof r == "string") return { literal: r };
1620
+ if (r && typeof r == "object" && !Array.isArray(r)) {
1621
+ const o = r;
1622
+ if (typeof o.light == "string" && typeof o.dark == "string")
1623
+ return { literal: { light: o.light, dark: o.dark } };
1624
+ }
1625
+ return;
1626
+ }
1627
+ if ("ref" in n) {
1628
+ const r = n.ref;
1629
+ if (r && typeof r == "object" && !Array.isArray(r)) {
1630
+ const o = r;
1631
+ if (typeof o.tier == "string" && typeof o.item == "string")
1632
+ return {
1633
+ ref: {
1634
+ tier: o.tier,
1635
+ item: o.item,
1636
+ ...typeof o.tab == "string" ? { tab: o.tab } : {}
1637
+ }
1638
+ };
1639
+ }
1640
+ return;
1641
+ }
1642
+ }
1643
+ function tr(e, t, n) {
1644
+ if (!e || typeof e != "object" || Array.isArray(e)) return { ...t };
1645
+ const r = { ...t };
1646
+ for (const [o, i] of Object.entries(e)) {
1647
+ const a = er(i, n);
1648
+ a !== void 0 && (r[o] = a);
1649
+ }
1650
+ return r;
1651
+ }
1652
+ function me(e, t, n) {
1653
+ const r = Array.isArray(e.palette) ? e.palette : null;
1654
+ let o;
1655
+ return r && r.length === t.palette.length && r.every((i) => typeof i == "string") ? o = r : (r && r.some((i) => typeof i != "string") && console.error(
1656
+ "[design-token-panel] Persisted palette contained non-string elements; falling back to defaults."
1657
+ ), o = t.palette), {
1658
+ palette: o,
1659
+ background: typeof e.background == "number" ? e.background : t.background,
1660
+ foreground: typeof e.foreground == "number" ? e.foreground : t.foreground,
1661
+ cursor: typeof e.cursor == "number" ? e.cursor : t.cursor,
1662
+ selectionBg: typeof e.selectionBg == "number" ? e.selectionBg : t.selectionBg,
1663
+ selectionFg: typeof e.selectionFg == "number" ? e.selectionFg : t.selectionFg,
1664
+ semanticMappings: tr(
1665
+ e.semanticMappings,
1666
+ t.semanticMappings,
1667
+ n
1668
+ ),
1669
+ shikiTheme: typeof e.shikiTheme == "string" && e.shikiTheme.length > 0 ? e.shikiTheme : t.shikiTheme
1670
+ };
1671
+ }
1672
+ const Cr = {
1673
+ "text-caption": "text-xs",
1674
+ "text-small": "text-sm",
1675
+ "text-body": "text-base",
1676
+ "text-subheading": "text-lg",
1677
+ "text-heading": "text-3xl",
1678
+ "text-display": "text-5xl",
1679
+ // Dropped — no main-site equivalent. `null` signals "discard".
1680
+ "text-micro": null
1681
+ };
1682
+ function Ee(e) {
1683
+ if (!e || typeof e != "object") return {};
1684
+ const t = {};
1685
+ for (const [n, r] of Object.entries(e))
1686
+ typeof r == "string" && (t[n] = r);
1687
+ return t;
1688
+ }
1689
+ function nr(e, t = {}) {
1690
+ if (!e || typeof e != "object") return {};
1691
+ const n = {};
1692
+ for (const [r, o] of Object.entries(e))
1693
+ if (typeof o == "string")
1694
+ if (Object.hasOwn(t, r)) {
1695
+ const i = t[r];
1696
+ if (i === null) continue;
1697
+ Object.hasOwn(n, i) || (n[i] = o);
1698
+ } else
1699
+ n[r] = o;
1700
+ return n;
1701
+ }
1702
+ function rr(e) {
1703
+ if (!e || typeof e != "object" || Array.isArray(e)) return {};
1704
+ const t = {};
1705
+ for (const [n, r] of Object.entries(e)) {
1706
+ if (!r || typeof r != "object" || Array.isArray(r)) continue;
1707
+ const o = {};
1708
+ for (const [i, a] of Object.entries(r)) {
1709
+ if (!a || typeof a != "object" || Array.isArray(a)) continue;
1710
+ const s = {};
1711
+ for (const [f, u] of Object.entries(a))
1712
+ typeof u == "string" && (s[f] = u);
1713
+ o[i] = s;
1714
+ }
1715
+ t[n] = o;
1716
+ }
1717
+ return t;
1718
+ }
1719
+ function ye(e, t, n, r = g()) {
1720
+ if (!e.color || typeof e.color != "object") return null;
1721
+ const o = n ?? $e(t, r), i = e.typography !== void 0 ? e.typography : e.font, a = r.legacyIdRenameMap ?? {}, s = {
1722
+ color: me(e.color, o, t.paletteSize),
1723
+ // New sections added after v1 migration — tolerate their absence so
1724
+ // older v2 payloads (Color-only) still load cleanly.
1725
+ spacing: Ee(e.spacing),
1726
+ // Typography slice: apply the host-configured rename map (if any)
1727
+ // so payloads persisted under the host's "old" ids survive a
1728
+ // host-driven id rename without losing the user's tweaks.
1729
+ typography: nr(i, a),
1730
+ size: Ee(e.size)
1731
+ }, f = Z(r);
1732
+ f && e.secondary && dt(e.secondary, f.paletteSize) && (s.secondary = me(
1733
+ e.secondary,
1734
+ te(f),
1735
+ f.paletteSize
1736
+ ));
1737
+ const u = rr(e.tabs);
1738
+ return Object.keys(u).length > 0 && (s.tabs = u), s;
1739
+ }
1740
+ function or(e = localStorage, t, n = b(), r = g()) {
1741
+ const o = tt(r), i = nt(r), a = rt(r), s = E(e, a);
1742
+ if (s !== null) {
1743
+ const d = K(s);
1744
+ if (d && typeof d == "object") {
1745
+ const h = d, p = ye(h, n, t, r);
1746
+ if (p !== null) {
1747
+ const k = h.typography !== void 0 ? h.typography : h.font, v = JSON.stringify(k ?? {}) !== JSON.stringify(p.typography), C = h.color, m = Array.isArray(C?.palette) && C.palette.length !== n.paletteSize;
1748
+ if (v || h.typography === void 0 || m)
1749
+ try {
1750
+ e.setItem(a, JSON.stringify(p));
1751
+ } catch {
1752
+ }
1753
+ return p;
1754
+ }
1755
+ }
1756
+ console.warn(`[tweak] Malformed ${a}, attempting v2 migration`);
1757
+ }
1758
+ const f = E(e, i);
1759
+ if (f !== null) {
1760
+ const d = K(f);
1761
+ if (d && typeof d == "object") {
1762
+ const p = ye(d, n, t, r);
1763
+ if (p !== null) {
1764
+ try {
1765
+ e.setItem(a, JSON.stringify(p)), e.removeItem(i);
1766
+ } catch {
1767
+ }
1768
+ return p;
1769
+ }
1770
+ }
1771
+ console.warn(`[tweak] Malformed ${i}, attempting v1 migration`);
1772
+ }
1773
+ const u = E(e, o);
1774
+ if (u !== null) {
1775
+ const d = K(u);
1776
+ if (d && typeof d == "object" && dt(d, n.paletteSize)) {
1777
+ const h = t ?? $e(n, r), p = d;
1778
+ p.shikiTheme || (p.shikiTheme = h.shikiTheme);
1779
+ const v = {
1780
+ color: me(p, h, n.paletteSize),
1781
+ spacing: se(),
1782
+ typography: se(),
1783
+ size: se()
1784
+ };
1785
+ try {
1786
+ e.setItem(a, JSON.stringify(v)), e.removeItem(o);
1787
+ } catch {
1788
+ }
1789
+ return v;
1790
+ }
1791
+ console.warn(`[tweak] Malformed ${o}; discarding and using fresh defaults`);
1792
+ try {
1793
+ e.removeItem(o);
1794
+ } catch {
1795
+ }
1796
+ }
1797
+ return null;
1798
+ }
1799
+ function Se(e, t) {
1800
+ const n = E(e, R(t));
1801
+ if (n === null) return null;
1802
+ const r = K(n);
1803
+ if (!r || typeof r != "object" || Array.isArray(r)) return null;
1804
+ const o = r, i = o.color;
1805
+ return !i || typeof i != "object" || Array.isArray(i) || Array.isArray(i.palette) ? null : o;
1806
+ }
1807
+ function we(e) {
1808
+ const t = e?.color;
1809
+ return t && typeof t == "object" && !Array.isArray(t) ? t : void 0;
1810
+ }
1811
+ function ht(e) {
1812
+ const t = e?.secondary;
1813
+ return t && typeof t == "object" && !Array.isArray(t) ? t : void 0;
1814
+ }
1815
+ function ir(e, t, n, r) {
1816
+ const o = ve(t, r), i = we(e)?.[o], a = i && typeof i == "object" && !Array.isArray(i) ? i : void 0, s = ht(e)?.[o], f = n ?? $e(t, r), u = {
1817
+ color: a ?? f,
1818
+ secondary: s,
1819
+ spacing: e.spacing,
1820
+ typography: e.typography,
1821
+ font: e.font,
1822
+ size: e.size,
1823
+ tabs: e.tabs
1824
+ };
1825
+ return ye(u, t, f, r);
1826
+ }
1827
+ function Ar(e = g(), t = b(e), n = localStorage) {
1828
+ const r = Se(n, e);
1829
+ if (!r) return !1;
1830
+ const o = ve(t, e), i = we(r)?.[o];
1831
+ return !!i && typeof i == "object" && !Array.isArray(i);
1832
+ }
1833
+ function pt(e, t, n, r, o) {
1834
+ const i = ve(r, o), s = {
1835
+ color: {
1836
+ ...we(t),
1837
+ [i]: e.color
1838
+ },
1839
+ spacing: e.spacing,
1840
+ typography: e.typography,
1841
+ size: e.size
1842
+ }, f = { ...ht(t) };
1843
+ e.secondary !== void 0 ? f[i] = e.secondary : delete f[i], Object.keys(f).length > 0 && (s.secondary = f), e.tabs && Object.keys(e.tabs).length > 0 && (s.tabs = e.tabs);
1844
+ try {
1845
+ n.setItem(R(o), JSON.stringify(s));
1846
+ } catch {
1847
+ }
1848
+ }
1849
+ function Pr(e = localStorage, t, n = b(), r = g()) {
1850
+ const o = Se(e, r);
1851
+ if (o !== null)
1852
+ return ir(o, n, t, r);
1853
+ E(e, R(r)) !== null && console.warn(`[tweak] Malformed ${R(r)}, attempting v3/v2/v1 migration`);
1854
+ const i = or(e, t, n, r);
1855
+ return i === null ? null : (pt(i, null, e, n, r), i);
1856
+ }
1857
+ function _r(e, t = localStorage, n = g()) {
1858
+ const r = b(n), o = Se(t, n);
1859
+ pt(e, o, t, r, n);
1860
+ }
1861
+ function Hr(e = localStorage, t = g()) {
1862
+ for (const n of [
1863
+ R(t),
1864
+ rt(t),
1865
+ nt(t),
1866
+ tt(t)
1867
+ ])
1868
+ try {
1869
+ e.removeItem(n);
1870
+ } catch {
1871
+ }
1872
+ }
1873
+ function E(e, t) {
1874
+ try {
1875
+ return e.getItem(t);
1876
+ } catch {
1877
+ return null;
1878
+ }
1879
+ }
1880
+ function K(e) {
1881
+ try {
1882
+ return JSON.parse(e);
1883
+ } catch {
1884
+ return null;
1885
+ }
1886
+ }
1887
+ function $e(e, t) {
1888
+ try {
1889
+ return Bn(e, t);
1890
+ } catch {
1891
+ return {
1892
+ palette: Array.from(
1893
+ { length: e.paletteSize },
1894
+ (r, o) => o === 0 ? "#000000" : o === e.paletteSize - 1 ? "#ffffff" : "#808080"
1895
+ ),
1896
+ background: e.baseDefaults.background ?? 0,
1897
+ foreground: e.baseDefaults.foreground ?? 0,
1898
+ cursor: e.baseDefaults.cursor ?? 0,
1899
+ selectionBg: e.baseDefaults.selectionBg ?? 0,
1900
+ selectionFg: e.baseDefaults.selectionFg ?? 0,
1901
+ semanticMappings: { ...e.semanticDefaults },
1902
+ shikiTheme: e.defaultShikiTheme
1903
+ };
1904
+ }
1905
+ }
1906
+ export {
1907
+ Vn as A,
1908
+ br as B,
1909
+ mr as C,
1910
+ An as D,
1911
+ Sr as E,
1912
+ kr as F,
1913
+ vr as G,
1914
+ Ar as H,
1915
+ Yn as I,
1916
+ Zn as J,
1917
+ Hr as K,
1918
+ Tr as L,
1919
+ sr as M,
1920
+ $r as N,
1921
+ Mr as O,
1922
+ Bn as P,
1923
+ Xn as Q,
1924
+ yr as R,
1925
+ xr as S,
1926
+ st as T,
1927
+ se as U,
1928
+ R as V,
1929
+ rt as W,
1930
+ Or as X,
1931
+ Cr as Z,
1932
+ tt as a,
1933
+ nt as b,
1934
+ b as c,
1935
+ de as d,
1936
+ ce as e,
1937
+ Rn as f,
1938
+ gr as g,
1939
+ qn as h,
1940
+ En as i,
1941
+ lr as j,
1942
+ cr as k,
1943
+ Pr as l,
1944
+ hr as m,
1945
+ Gn as n,
1946
+ ur as o,
1947
+ fr as p,
1948
+ dr as q,
1949
+ pr as r,
1950
+ V as s,
1951
+ ue as t,
1952
+ Nr as u,
1953
+ Wn as v,
1954
+ wr as w,
1955
+ Ir as x,
1956
+ _r as y,
1957
+ Hn as z
1958
+ };