@vuelor/picker 0.1.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/README.md +25 -0
  2. package/dist/index.cjs.js +2 -0
  3. package/dist/index.cjs.js.map +1 -0
  4. package/dist/index.es.js +4950 -0
  5. package/dist/index.es.js.map +1 -0
  6. package/dist/index.umd.js +2 -0
  7. package/dist/index.umd.js.map +1 -0
  8. package/env.d.ts +1 -0
  9. package/eslint.config.ts +22 -0
  10. package/index.html +13 -0
  11. package/package.json +60 -0
  12. package/shims-vue.d.ts +5 -0
  13. package/src/components/ColorPickerCanvas.vue +84 -0
  14. package/src/components/ColorPickerEyeDropper.vue +45 -0
  15. package/src/components/ColorPickerInputHSB.vue +106 -0
  16. package/src/components/ColorPickerInputHSL.vue +109 -0
  17. package/src/components/ColorPickerInputHex.vue +73 -0
  18. package/src/components/ColorPickerInputRGB.vue +104 -0
  19. package/src/components/ColorPickerRoot.vue +110 -0
  20. package/src/components/ColorPickerSliderAlpha.vue +58 -0
  21. package/src/components/ColorPickerSliderBlue.vue +62 -0
  22. package/src/components/ColorPickerSliderGreen.vue +62 -0
  23. package/src/components/ColorPickerSliderHue.vue +61 -0
  24. package/src/components/ColorPickerSliderLightness.vue +62 -0
  25. package/src/components/ColorPickerSliderRed.vue +62 -0
  26. package/src/components/ColorPickerSliderSaturation.vue +63 -0
  27. package/src/composables/useColor.ts +247 -0
  28. package/src/composables/useThumb.ts +131 -0
  29. package/src/index.ts +15 -0
  30. package/src/styles/index.css +154 -0
  31. package/src/theme/index.ts +7 -0
  32. package/src/theme/tailwindcss.ts +25 -0
  33. package/src/theme/vanillacss.ts +23 -0
  34. package/src/utils/canvas.ts +59 -0
  35. package/src/utils/color.ts +114 -0
  36. package/src/utils/helpers.ts +13 -0
  37. package/src/utils/parsers.ts +144 -0
  38. package/src/utils/styles.ts +47 -0
  39. package/src/utils/types.ts +19 -0
  40. package/tsconfig.app.json +12 -0
  41. package/tsconfig.json +11 -0
  42. package/tsconfig.node.json +19 -0
  43. package/vite.config.ts +39 -0
@@ -0,0 +1,4950 @@
1
+ import { ref as N, computed as x, toRaw as le, inject as pt, provide as mt, Fragment as Te, toValue as ft, getCurrentInstance as Ke, watch as fe, nextTick as Ht, shallowRef as Dt, onMounted as Ae, defineComponent as R, Comment as Ft, mergeProps as oe, cloneVNode as Tt, h as xe, watchEffect as vt, markRaw as Gt, createBlock as H, openBlock as M, unref as n, withCtx as j, renderSlot as ee, createElementBlock as Z, createCommentVNode as se, renderList as Lt, toRefs as Ue, normalizeStyle as L, resolveDynamicComponent as qt, onUnmounted as bt, createVNode as U, normalizeClass as m, useTemplateRef as Nt, withModifiers as jt, createElementVNode as E } from "vue";
2
+ const Ot = {
3
+ picker: {
4
+ root: "w-60 bg-white rounded-[13px] p-4 flex flex-col gap-2 shadow-vuelor-card"
5
+ },
6
+ dropper: {
7
+ base: "hover:bg-[#0000000d] rounded-[5px] focus-within:outline-1 focus-within:outline-[#0d99ff] p-1"
8
+ },
9
+ shared: {
10
+ thumb: "block w-4 h-4 rounded-full border-4 border-white shadow-vuelor-thumb focus:outline-1 outline-[#0d99ff]"
11
+ },
12
+ canvas: {
13
+ root: "relative touch-none data-disabled:pointer-events-none data-disabled:opacity-50",
14
+ area: "rounded-[5px] outline-1 outline-solid -outline-offset-1 outline-[#0000001a]"
15
+ },
16
+ slider: {
17
+ root: "relative h-4 w-full data-[orientation=vertical]:h-auto data-[orientation=vertical]:w-4 flex items-center data-[orientation=vertical]:flex-col select-none touch-none data-disabled:pointer-events-none data-disabled:opacity-50",
18
+ track: "relative h-4 w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-4 grow rounded-full shadow-[inset_0_0_0_1px_#0000001a]"
19
+ },
20
+ input: {
21
+ group: "w-full flex gap-[1px] rounded-[5px] hover:outline-1 outline-[#e6e6e6] focus-within:outline-1 focus-within:outline-[#0d99ff] data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
22
+ item: "flex flex-1 data-[alpha-input]:grow-0 items-center px-1.5 gap-1 bg-[#f5f5f5] first:rounded-l-[5px] last:rounded-r-[5px]",
23
+ label: "hidden select-none text-black text-[11px] opacity-40",
24
+ field: "w-full h-6 min-w-5 text-[11px] focus:outline-none"
25
+ }
26
+ }, Kt = {
27
+ picker: {
28
+ root: "vuelor-picker-root"
29
+ },
30
+ dropper: {
31
+ base: "vuelor-picker-eye-dropper"
32
+ },
33
+ shared: {
34
+ thumb: "vuelor-picker-shared-thumb"
35
+ },
36
+ canvas: {
37
+ root: "vuelor-picker-canvas-root",
38
+ area: "vuelor-picker-canvas-area"
39
+ },
40
+ slider: {
41
+ root: "vuelor-picker-slider-root",
42
+ track: "vuelor-picker-slider-track"
43
+ },
44
+ input: {
45
+ group: "vuelor-picker-input-group",
46
+ field: "vuelor-picker-input-field"
47
+ }
48
+ }, Ut = {
49
+ tailwindcss: Ot,
50
+ vanillacss: Kt
51
+ };
52
+ function J(t, e = 0, r = 1) {
53
+ return Math.max(e, Math.min(r, t));
54
+ }
55
+ function Wt(t, e = 1) {
56
+ const r = [];
57
+ let o = 0;
58
+ for (; o < t.length; )
59
+ r.push(t.substring(o, o + e)), o += e;
60
+ return r;
61
+ }
62
+ function gt(t) {
63
+ const { h: e, s: r, l: o } = t, s = o + r * Math.min(o, 1 - o), i = s === 0 ? 0 : 2 - 2 * o / s;
64
+ return { h: e, s: i, v: s };
65
+ }
66
+ function ht(t) {
67
+ const { h: e, s: r, v: o } = t, s = o - o * r / 2, i = s === 1 || s === 0 ? 0 : (o - s) / Math.min(s, 1 - s);
68
+ return { h: e, s: i, l: s };
69
+ }
70
+ function We(t) {
71
+ const { h: e, s: r, v: o } = t, s = (a) => {
72
+ const l = (a + e / 60) % 6;
73
+ return o - o * r * Math.max(Math.min(l, 4 - l, 1), 0);
74
+ }, i = [s(5), s(3), s(1)].map((a) => Math.round(a * 255));
75
+ return { r: i[0], g: i[1], b: i[2] };
76
+ }
77
+ function Yt(t) {
78
+ if (!t) return { h: 0, s: 1, v: 1 };
79
+ const e = t.r / 255, r = t.g / 255, o = t.b / 255, s = Math.max(e, r, o), i = Math.min(e, r, o);
80
+ let a = 0;
81
+ s !== i && (s === e ? a = 60 * (0 + (r - o) / (s - i)) : s === r ? a = 60 * (2 + (o - e) / (s - i)) : s === o && (a = 60 * (4 + (e - r) / (s - i)))), a < 0 && (a = a + 360);
82
+ const l = s === 0 ? 0 : (s - i) / s, u = [a, l, s];
83
+ return { h: u[0], s: u[1], v: u[2] };
84
+ }
85
+ const Ve = (t) => {
86
+ const e = Math.round(t).toString(16);
87
+ return ("00".substring(0, 2 - e.length) + e).toUpperCase();
88
+ };
89
+ function rt(t) {
90
+ return `#${[
91
+ Ve(t.r),
92
+ Ve(t.g),
93
+ Ve(t.b)
94
+ ].join("")}`;
95
+ }
96
+ function ot(t) {
97
+ const e = Wt(t.slice(1), 2).map((r) => parseInt(r, 16));
98
+ return {
99
+ r: e[0],
100
+ g: e[1],
101
+ b: e[2]
102
+ };
103
+ }
104
+ function Xt(t) {
105
+ return `rgba(${t.r}, ${t.g}, ${t.b}, ${t.a})`;
106
+ }
107
+ function Jt(t, e) {
108
+ return t === void 0 || e === void 0 || t === null || e === null ? !1 : t === e ? !0 : typeof t == "string" && typeof e == "string" ? t === e : typeof t == "object" && typeof e == "object" ? t.hsva.h === e.hsva.h && t.hsva.s === e.hsva.s && t.hsva.v === e.hsva.v && t.hsva.a === e.hsva.a && t.rgb.r === e.rgb.r && t.rgb.g === e.rgb.g && t.rgb.b === e.rgb.b : !1;
109
+ }
110
+ const Ye = "-", Zt = (t) => {
111
+ const e = er(t), {
112
+ conflictingClassGroups: r,
113
+ conflictingClassGroupModifiers: o
114
+ } = t;
115
+ return {
116
+ getClassGroupId: (a) => {
117
+ const l = a.split(Ye);
118
+ return l[0] === "" && l.length !== 1 && l.shift(), yt(l, e) || Qt(a);
119
+ },
120
+ getConflictingClassGroupIds: (a, l) => {
121
+ const u = r[a] || [];
122
+ return l && o[a] ? [...u, ...o[a]] : u;
123
+ }
124
+ };
125
+ }, yt = (t, e) => {
126
+ if (t.length === 0)
127
+ return e.classGroupId;
128
+ const r = t[0], o = e.nextPart.get(r), s = o ? yt(t.slice(1), o) : void 0;
129
+ if (s)
130
+ return s;
131
+ if (e.validators.length === 0)
132
+ return;
133
+ const i = t.join(Ye);
134
+ return e.validators.find(({
135
+ validator: a
136
+ }) => a(i))?.classGroupId;
137
+ }, at = /^\[(.+)\]$/, Qt = (t) => {
138
+ if (at.test(t)) {
139
+ const e = at.exec(t)[1], r = e?.substring(0, e.indexOf(":"));
140
+ if (r)
141
+ return "arbitrary.." + r;
142
+ }
143
+ }, er = (t) => {
144
+ const {
145
+ theme: e,
146
+ classGroups: r
147
+ } = t, o = {
148
+ nextPart: /* @__PURE__ */ new Map(),
149
+ validators: []
150
+ };
151
+ for (const s in r)
152
+ Ge(r[s], o, s, e);
153
+ return o;
154
+ }, Ge = (t, e, r, o) => {
155
+ t.forEach((s) => {
156
+ if (typeof s == "string") {
157
+ const i = s === "" ? e : nt(e, s);
158
+ i.classGroupId = r;
159
+ return;
160
+ }
161
+ if (typeof s == "function") {
162
+ if (tr(s)) {
163
+ Ge(s(o), e, r, o);
164
+ return;
165
+ }
166
+ e.validators.push({
167
+ validator: s,
168
+ classGroupId: r
169
+ });
170
+ return;
171
+ }
172
+ Object.entries(s).forEach(([i, a]) => {
173
+ Ge(a, nt(e, i), r, o);
174
+ });
175
+ });
176
+ }, nt = (t, e) => {
177
+ let r = t;
178
+ return e.split(Ye).forEach((o) => {
179
+ r.nextPart.has(o) || r.nextPart.set(o, {
180
+ nextPart: /* @__PURE__ */ new Map(),
181
+ validators: []
182
+ }), r = r.nextPart.get(o);
183
+ }), r;
184
+ }, tr = (t) => t.isThemeGetter, rr = (t) => {
185
+ if (t < 1)
186
+ return {
187
+ get: () => {
188
+ },
189
+ set: () => {
190
+ }
191
+ };
192
+ let e = 0, r = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map();
193
+ const s = (i, a) => {
194
+ r.set(i, a), e++, e > t && (e = 0, o = r, r = /* @__PURE__ */ new Map());
195
+ };
196
+ return {
197
+ get(i) {
198
+ let a = r.get(i);
199
+ if (a !== void 0)
200
+ return a;
201
+ if ((a = o.get(i)) !== void 0)
202
+ return s(i, a), a;
203
+ },
204
+ set(i, a) {
205
+ r.has(i) ? r.set(i, a) : s(i, a);
206
+ }
207
+ };
208
+ }, Le = "!", qe = ":", or = qe.length, ar = (t) => {
209
+ const {
210
+ prefix: e,
211
+ experimentalParseClassName: r
212
+ } = t;
213
+ let o = (s) => {
214
+ const i = [];
215
+ let a = 0, l = 0, u = 0, c;
216
+ for (let C = 0; C < s.length; C++) {
217
+ let h = s[C];
218
+ if (a === 0 && l === 0) {
219
+ if (h === qe) {
220
+ i.push(s.slice(u, C)), u = C + or;
221
+ continue;
222
+ }
223
+ if (h === "/") {
224
+ c = C;
225
+ continue;
226
+ }
227
+ }
228
+ h === "[" ? a++ : h === "]" ? a-- : h === "(" ? l++ : h === ")" && l--;
229
+ }
230
+ const p = i.length === 0 ? s : s.substring(u), f = nr(p), g = f !== p, S = c && c > u ? c - u : void 0;
231
+ return {
232
+ modifiers: i,
233
+ hasImportantModifier: g,
234
+ baseClassName: f,
235
+ maybePostfixModifierPosition: S
236
+ };
237
+ };
238
+ if (e) {
239
+ const s = e + qe, i = o;
240
+ o = (a) => a.startsWith(s) ? i(a.substring(s.length)) : {
241
+ isExternal: !0,
242
+ modifiers: [],
243
+ hasImportantModifier: !1,
244
+ baseClassName: a,
245
+ maybePostfixModifierPosition: void 0
246
+ };
247
+ }
248
+ if (r) {
249
+ const s = o;
250
+ o = (i) => r({
251
+ className: i,
252
+ parseClassName: s
253
+ });
254
+ }
255
+ return o;
256
+ }, nr = (t) => t.endsWith(Le) ? t.substring(0, t.length - 1) : t.startsWith(Le) ? t.substring(1) : t, lr = (t) => {
257
+ const e = Object.fromEntries(t.orderSensitiveModifiers.map((o) => [o, !0]));
258
+ return (o) => {
259
+ if (o.length <= 1)
260
+ return o;
261
+ const s = [];
262
+ let i = [];
263
+ return o.forEach((a) => {
264
+ a[0] === "[" || e[a] ? (s.push(...i.sort(), a), i = []) : i.push(a);
265
+ }), s.push(...i.sort()), s;
266
+ };
267
+ }, sr = (t) => ({
268
+ cache: rr(t.cacheSize),
269
+ parseClassName: ar(t),
270
+ sortModifiers: lr(t),
271
+ ...Zt(t)
272
+ }), ir = /\s+/, ur = (t, e) => {
273
+ const {
274
+ parseClassName: r,
275
+ getClassGroupId: o,
276
+ getConflictingClassGroupIds: s,
277
+ sortModifiers: i
278
+ } = e, a = [], l = t.trim().split(ir);
279
+ let u = "";
280
+ for (let c = l.length - 1; c >= 0; c -= 1) {
281
+ const p = l[c], {
282
+ isExternal: f,
283
+ modifiers: g,
284
+ hasImportantModifier: S,
285
+ baseClassName: C,
286
+ maybePostfixModifierPosition: h
287
+ } = r(p);
288
+ if (f) {
289
+ u = p + (u.length > 0 ? " " + u : u);
290
+ continue;
291
+ }
292
+ let I = !!h, V = o(I ? C.substring(0, h) : C);
293
+ if (!V) {
294
+ if (!I) {
295
+ u = p + (u.length > 0 ? " " + u : u);
296
+ continue;
297
+ }
298
+ if (V = o(C), !V) {
299
+ u = p + (u.length > 0 ? " " + u : u);
300
+ continue;
301
+ }
302
+ I = !1;
303
+ }
304
+ const _ = i(g).join(":"), d = S ? _ + Le : _, y = d + V;
305
+ if (a.includes(y))
306
+ continue;
307
+ a.push(y);
308
+ const $ = s(V, I);
309
+ for (let A = 0; A < $.length; ++A) {
310
+ const D = $[A];
311
+ a.push(d + D);
312
+ }
313
+ u = p + (u.length > 0 ? " " + u : u);
314
+ }
315
+ return u;
316
+ };
317
+ function dr() {
318
+ let t = 0, e, r, o = "";
319
+ for (; t < arguments.length; )
320
+ (e = arguments[t++]) && (r = xt(e)) && (o && (o += " "), o += r);
321
+ return o;
322
+ }
323
+ const xt = (t) => {
324
+ if (typeof t == "string")
325
+ return t;
326
+ let e, r = "";
327
+ for (let o = 0; o < t.length; o++)
328
+ t[o] && (e = xt(t[o])) && (r && (r += " "), r += e);
329
+ return r;
330
+ };
331
+ function cr(t, ...e) {
332
+ let r, o, s, i = a;
333
+ function a(u) {
334
+ const c = e.reduce((p, f) => f(p), t());
335
+ return r = sr(c), o = r.cache.get, s = r.cache.set, i = l, l(u);
336
+ }
337
+ function l(u) {
338
+ const c = o(u);
339
+ if (c)
340
+ return c;
341
+ const p = ur(u, r);
342
+ return s(u, p), p;
343
+ }
344
+ return function() {
345
+ return i(dr.apply(null, arguments));
346
+ };
347
+ }
348
+ const F = (t) => {
349
+ const e = (r) => r[t] || [];
350
+ return e.isThemeGetter = !0, e;
351
+ }, wt = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, kt = /^\((?:(\w[\w-]*):)?(.+)\)$/i, pr = /^\d+\/\d+$/, mr = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, fr = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, vr = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, br = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, gr = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, me = (t) => pr.test(t), P = (t) => !!t && !Number.isNaN(Number(t)), re = (t) => !!t && Number.isInteger(Number(t)), De = (t) => t.endsWith("%") && P(t.slice(0, -1)), te = (t) => mr.test(t), hr = () => !0, yr = (t) => (
352
+ // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
353
+ // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
354
+ // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
355
+ fr.test(t) && !vr.test(t)
356
+ ), St = () => !1, xr = (t) => br.test(t), wr = (t) => gr.test(t), kr = (t) => !v(t) && !b(t), Sr = (t) => ve(t, _t, St), v = (t) => wt.test(t), ne = (t) => ve(t, Et, yr), Fe = (t) => ve(t, Pr, P), lt = (t) => ve(t, Ct, St), Cr = (t) => ve(t, $t, wr), Ee = (t) => ve(t, Pt, xr), b = (t) => kt.test(t), ye = (t) => be(t, Et), $r = (t) => be(t, Ir), st = (t) => be(t, Ct), _r = (t) => be(t, _t), Er = (t) => be(t, $t), Pe = (t) => be(t, Pt, !0), ve = (t, e, r) => {
357
+ const o = wt.exec(t);
358
+ return o ? o[1] ? e(o[1]) : r(o[2]) : !1;
359
+ }, be = (t, e, r = !1) => {
360
+ const o = kt.exec(t);
361
+ return o ? o[1] ? e(o[1]) : r : !1;
362
+ }, Ct = (t) => t === "position" || t === "percentage", $t = (t) => t === "image" || t === "url", _t = (t) => t === "length" || t === "size" || t === "bg-size", Et = (t) => t === "length", Pr = (t) => t === "number", Ir = (t) => t === "family-name", Pt = (t) => t === "shadow", Vr = () => {
363
+ const t = F("color"), e = F("font"), r = F("text"), o = F("font-weight"), s = F("tracking"), i = F("leading"), a = F("breakpoint"), l = F("container"), u = F("spacing"), c = F("radius"), p = F("shadow"), f = F("inset-shadow"), g = F("text-shadow"), S = F("drop-shadow"), C = F("blur"), h = F("perspective"), I = F("aspect"), V = F("ease"), _ = F("animate"), d = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], y = () => [
364
+ "center",
365
+ "top",
366
+ "bottom",
367
+ "left",
368
+ "right",
369
+ "top-left",
370
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
371
+ "left-top",
372
+ "top-right",
373
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
374
+ "right-top",
375
+ "bottom-right",
376
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
377
+ "right-bottom",
378
+ "bottom-left",
379
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
380
+ "left-bottom"
381
+ ], $ = () => [...y(), b, v], A = () => ["auto", "hidden", "clip", "visible", "scroll"], D = () => ["auto", "contain", "none"], w = () => [b, v, u], O = () => [me, "full", "auto", ...w()], z = () => [re, "none", "subgrid", b, v], B = () => ["auto", {
382
+ span: ["full", re, b, v]
383
+ }, re, b, v], T = () => [re, "auto", b, v], ce = () => ["auto", "min", "max", "fr", b, v], pe = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], Q = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], q = () => ["auto", ...w()], Y = () => [me, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...w()], k = () => [t, b, v], ke = () => [...y(), st, lt, {
384
+ position: [b, v]
385
+ }], Ze = () => ["no-repeat", {
386
+ repeat: ["", "x", "y", "space", "round"]
387
+ }], Qe = () => ["auto", "cover", "contain", _r, Sr, {
388
+ size: [b, v]
389
+ }], Be = () => [De, ye, ne], K = () => [
390
+ // Deprecated since Tailwind CSS v4.0.0
391
+ "",
392
+ "none",
393
+ "full",
394
+ c,
395
+ b,
396
+ v
397
+ ], X = () => ["", P, ye, ne], Se = () => ["solid", "dashed", "dotted", "double"], et = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], G = () => [P, De, st, lt], tt = () => [
398
+ // Deprecated since Tailwind CSS v4.0.0
399
+ "",
400
+ "none",
401
+ C,
402
+ b,
403
+ v
404
+ ], Ce = () => ["none", P, b, v], $e = () => ["none", P, b, v], He = () => [P, b, v], _e = () => [me, "full", ...w()];
405
+ return {
406
+ cacheSize: 500,
407
+ theme: {
408
+ animate: ["spin", "ping", "pulse", "bounce"],
409
+ aspect: ["video"],
410
+ blur: [te],
411
+ breakpoint: [te],
412
+ color: [hr],
413
+ container: [te],
414
+ "drop-shadow": [te],
415
+ ease: ["in", "out", "in-out"],
416
+ font: [kr],
417
+ "font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"],
418
+ "inset-shadow": [te],
419
+ leading: ["none", "tight", "snug", "normal", "relaxed", "loose"],
420
+ perspective: ["dramatic", "near", "normal", "midrange", "distant", "none"],
421
+ radius: [te],
422
+ shadow: [te],
423
+ spacing: ["px", P],
424
+ text: [te],
425
+ "text-shadow": [te],
426
+ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"]
427
+ },
428
+ classGroups: {
429
+ // --------------
430
+ // --- Layout ---
431
+ // --------------
432
+ /**
433
+ * Aspect Ratio
434
+ * @see https://tailwindcss.com/docs/aspect-ratio
435
+ */
436
+ aspect: [{
437
+ aspect: ["auto", "square", me, v, b, I]
438
+ }],
439
+ /**
440
+ * Container
441
+ * @see https://tailwindcss.com/docs/container
442
+ * @deprecated since Tailwind CSS v4.0.0
443
+ */
444
+ container: ["container"],
445
+ /**
446
+ * Columns
447
+ * @see https://tailwindcss.com/docs/columns
448
+ */
449
+ columns: [{
450
+ columns: [P, v, b, l]
451
+ }],
452
+ /**
453
+ * Break After
454
+ * @see https://tailwindcss.com/docs/break-after
455
+ */
456
+ "break-after": [{
457
+ "break-after": d()
458
+ }],
459
+ /**
460
+ * Break Before
461
+ * @see https://tailwindcss.com/docs/break-before
462
+ */
463
+ "break-before": [{
464
+ "break-before": d()
465
+ }],
466
+ /**
467
+ * Break Inside
468
+ * @see https://tailwindcss.com/docs/break-inside
469
+ */
470
+ "break-inside": [{
471
+ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
472
+ }],
473
+ /**
474
+ * Box Decoration Break
475
+ * @see https://tailwindcss.com/docs/box-decoration-break
476
+ */
477
+ "box-decoration": [{
478
+ "box-decoration": ["slice", "clone"]
479
+ }],
480
+ /**
481
+ * Box Sizing
482
+ * @see https://tailwindcss.com/docs/box-sizing
483
+ */
484
+ box: [{
485
+ box: ["border", "content"]
486
+ }],
487
+ /**
488
+ * Display
489
+ * @see https://tailwindcss.com/docs/display
490
+ */
491
+ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"],
492
+ /**
493
+ * Screen Reader Only
494
+ * @see https://tailwindcss.com/docs/display#screen-reader-only
495
+ */
496
+ sr: ["sr-only", "not-sr-only"],
497
+ /**
498
+ * Floats
499
+ * @see https://tailwindcss.com/docs/float
500
+ */
501
+ float: [{
502
+ float: ["right", "left", "none", "start", "end"]
503
+ }],
504
+ /**
505
+ * Clear
506
+ * @see https://tailwindcss.com/docs/clear
507
+ */
508
+ clear: [{
509
+ clear: ["left", "right", "both", "none", "start", "end"]
510
+ }],
511
+ /**
512
+ * Isolation
513
+ * @see https://tailwindcss.com/docs/isolation
514
+ */
515
+ isolation: ["isolate", "isolation-auto"],
516
+ /**
517
+ * Object Fit
518
+ * @see https://tailwindcss.com/docs/object-fit
519
+ */
520
+ "object-fit": [{
521
+ object: ["contain", "cover", "fill", "none", "scale-down"]
522
+ }],
523
+ /**
524
+ * Object Position
525
+ * @see https://tailwindcss.com/docs/object-position
526
+ */
527
+ "object-position": [{
528
+ object: $()
529
+ }],
530
+ /**
531
+ * Overflow
532
+ * @see https://tailwindcss.com/docs/overflow
533
+ */
534
+ overflow: [{
535
+ overflow: A()
536
+ }],
537
+ /**
538
+ * Overflow X
539
+ * @see https://tailwindcss.com/docs/overflow
540
+ */
541
+ "overflow-x": [{
542
+ "overflow-x": A()
543
+ }],
544
+ /**
545
+ * Overflow Y
546
+ * @see https://tailwindcss.com/docs/overflow
547
+ */
548
+ "overflow-y": [{
549
+ "overflow-y": A()
550
+ }],
551
+ /**
552
+ * Overscroll Behavior
553
+ * @see https://tailwindcss.com/docs/overscroll-behavior
554
+ */
555
+ overscroll: [{
556
+ overscroll: D()
557
+ }],
558
+ /**
559
+ * Overscroll Behavior X
560
+ * @see https://tailwindcss.com/docs/overscroll-behavior
561
+ */
562
+ "overscroll-x": [{
563
+ "overscroll-x": D()
564
+ }],
565
+ /**
566
+ * Overscroll Behavior Y
567
+ * @see https://tailwindcss.com/docs/overscroll-behavior
568
+ */
569
+ "overscroll-y": [{
570
+ "overscroll-y": D()
571
+ }],
572
+ /**
573
+ * Position
574
+ * @see https://tailwindcss.com/docs/position
575
+ */
576
+ position: ["static", "fixed", "absolute", "relative", "sticky"],
577
+ /**
578
+ * Top / Right / Bottom / Left
579
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
580
+ */
581
+ inset: [{
582
+ inset: O()
583
+ }],
584
+ /**
585
+ * Right / Left
586
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
587
+ */
588
+ "inset-x": [{
589
+ "inset-x": O()
590
+ }],
591
+ /**
592
+ * Top / Bottom
593
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
594
+ */
595
+ "inset-y": [{
596
+ "inset-y": O()
597
+ }],
598
+ /**
599
+ * Start
600
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
601
+ */
602
+ start: [{
603
+ start: O()
604
+ }],
605
+ /**
606
+ * End
607
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
608
+ */
609
+ end: [{
610
+ end: O()
611
+ }],
612
+ /**
613
+ * Top
614
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
615
+ */
616
+ top: [{
617
+ top: O()
618
+ }],
619
+ /**
620
+ * Right
621
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
622
+ */
623
+ right: [{
624
+ right: O()
625
+ }],
626
+ /**
627
+ * Bottom
628
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
629
+ */
630
+ bottom: [{
631
+ bottom: O()
632
+ }],
633
+ /**
634
+ * Left
635
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
636
+ */
637
+ left: [{
638
+ left: O()
639
+ }],
640
+ /**
641
+ * Visibility
642
+ * @see https://tailwindcss.com/docs/visibility
643
+ */
644
+ visibility: ["visible", "invisible", "collapse"],
645
+ /**
646
+ * Z-Index
647
+ * @see https://tailwindcss.com/docs/z-index
648
+ */
649
+ z: [{
650
+ z: [re, "auto", b, v]
651
+ }],
652
+ // ------------------------
653
+ // --- Flexbox and Grid ---
654
+ // ------------------------
655
+ /**
656
+ * Flex Basis
657
+ * @see https://tailwindcss.com/docs/flex-basis
658
+ */
659
+ basis: [{
660
+ basis: [me, "full", "auto", l, ...w()]
661
+ }],
662
+ /**
663
+ * Flex Direction
664
+ * @see https://tailwindcss.com/docs/flex-direction
665
+ */
666
+ "flex-direction": [{
667
+ flex: ["row", "row-reverse", "col", "col-reverse"]
668
+ }],
669
+ /**
670
+ * Flex Wrap
671
+ * @see https://tailwindcss.com/docs/flex-wrap
672
+ */
673
+ "flex-wrap": [{
674
+ flex: ["nowrap", "wrap", "wrap-reverse"]
675
+ }],
676
+ /**
677
+ * Flex
678
+ * @see https://tailwindcss.com/docs/flex
679
+ */
680
+ flex: [{
681
+ flex: [P, me, "auto", "initial", "none", v]
682
+ }],
683
+ /**
684
+ * Flex Grow
685
+ * @see https://tailwindcss.com/docs/flex-grow
686
+ */
687
+ grow: [{
688
+ grow: ["", P, b, v]
689
+ }],
690
+ /**
691
+ * Flex Shrink
692
+ * @see https://tailwindcss.com/docs/flex-shrink
693
+ */
694
+ shrink: [{
695
+ shrink: ["", P, b, v]
696
+ }],
697
+ /**
698
+ * Order
699
+ * @see https://tailwindcss.com/docs/order
700
+ */
701
+ order: [{
702
+ order: [re, "first", "last", "none", b, v]
703
+ }],
704
+ /**
705
+ * Grid Template Columns
706
+ * @see https://tailwindcss.com/docs/grid-template-columns
707
+ */
708
+ "grid-cols": [{
709
+ "grid-cols": z()
710
+ }],
711
+ /**
712
+ * Grid Column Start / End
713
+ * @see https://tailwindcss.com/docs/grid-column
714
+ */
715
+ "col-start-end": [{
716
+ col: B()
717
+ }],
718
+ /**
719
+ * Grid Column Start
720
+ * @see https://tailwindcss.com/docs/grid-column
721
+ */
722
+ "col-start": [{
723
+ "col-start": T()
724
+ }],
725
+ /**
726
+ * Grid Column End
727
+ * @see https://tailwindcss.com/docs/grid-column
728
+ */
729
+ "col-end": [{
730
+ "col-end": T()
731
+ }],
732
+ /**
733
+ * Grid Template Rows
734
+ * @see https://tailwindcss.com/docs/grid-template-rows
735
+ */
736
+ "grid-rows": [{
737
+ "grid-rows": z()
738
+ }],
739
+ /**
740
+ * Grid Row Start / End
741
+ * @see https://tailwindcss.com/docs/grid-row
742
+ */
743
+ "row-start-end": [{
744
+ row: B()
745
+ }],
746
+ /**
747
+ * Grid Row Start
748
+ * @see https://tailwindcss.com/docs/grid-row
749
+ */
750
+ "row-start": [{
751
+ "row-start": T()
752
+ }],
753
+ /**
754
+ * Grid Row End
755
+ * @see https://tailwindcss.com/docs/grid-row
756
+ */
757
+ "row-end": [{
758
+ "row-end": T()
759
+ }],
760
+ /**
761
+ * Grid Auto Flow
762
+ * @see https://tailwindcss.com/docs/grid-auto-flow
763
+ */
764
+ "grid-flow": [{
765
+ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
766
+ }],
767
+ /**
768
+ * Grid Auto Columns
769
+ * @see https://tailwindcss.com/docs/grid-auto-columns
770
+ */
771
+ "auto-cols": [{
772
+ "auto-cols": ce()
773
+ }],
774
+ /**
775
+ * Grid Auto Rows
776
+ * @see https://tailwindcss.com/docs/grid-auto-rows
777
+ */
778
+ "auto-rows": [{
779
+ "auto-rows": ce()
780
+ }],
781
+ /**
782
+ * Gap
783
+ * @see https://tailwindcss.com/docs/gap
784
+ */
785
+ gap: [{
786
+ gap: w()
787
+ }],
788
+ /**
789
+ * Gap X
790
+ * @see https://tailwindcss.com/docs/gap
791
+ */
792
+ "gap-x": [{
793
+ "gap-x": w()
794
+ }],
795
+ /**
796
+ * Gap Y
797
+ * @see https://tailwindcss.com/docs/gap
798
+ */
799
+ "gap-y": [{
800
+ "gap-y": w()
801
+ }],
802
+ /**
803
+ * Justify Content
804
+ * @see https://tailwindcss.com/docs/justify-content
805
+ */
806
+ "justify-content": [{
807
+ justify: [...pe(), "normal"]
808
+ }],
809
+ /**
810
+ * Justify Items
811
+ * @see https://tailwindcss.com/docs/justify-items
812
+ */
813
+ "justify-items": [{
814
+ "justify-items": [...Q(), "normal"]
815
+ }],
816
+ /**
817
+ * Justify Self
818
+ * @see https://tailwindcss.com/docs/justify-self
819
+ */
820
+ "justify-self": [{
821
+ "justify-self": ["auto", ...Q()]
822
+ }],
823
+ /**
824
+ * Align Content
825
+ * @see https://tailwindcss.com/docs/align-content
826
+ */
827
+ "align-content": [{
828
+ content: ["normal", ...pe()]
829
+ }],
830
+ /**
831
+ * Align Items
832
+ * @see https://tailwindcss.com/docs/align-items
833
+ */
834
+ "align-items": [{
835
+ items: [...Q(), {
836
+ baseline: ["", "last"]
837
+ }]
838
+ }],
839
+ /**
840
+ * Align Self
841
+ * @see https://tailwindcss.com/docs/align-self
842
+ */
843
+ "align-self": [{
844
+ self: ["auto", ...Q(), {
845
+ baseline: ["", "last"]
846
+ }]
847
+ }],
848
+ /**
849
+ * Place Content
850
+ * @see https://tailwindcss.com/docs/place-content
851
+ */
852
+ "place-content": [{
853
+ "place-content": pe()
854
+ }],
855
+ /**
856
+ * Place Items
857
+ * @see https://tailwindcss.com/docs/place-items
858
+ */
859
+ "place-items": [{
860
+ "place-items": [...Q(), "baseline"]
861
+ }],
862
+ /**
863
+ * Place Self
864
+ * @see https://tailwindcss.com/docs/place-self
865
+ */
866
+ "place-self": [{
867
+ "place-self": ["auto", ...Q()]
868
+ }],
869
+ // Spacing
870
+ /**
871
+ * Padding
872
+ * @see https://tailwindcss.com/docs/padding
873
+ */
874
+ p: [{
875
+ p: w()
876
+ }],
877
+ /**
878
+ * Padding X
879
+ * @see https://tailwindcss.com/docs/padding
880
+ */
881
+ px: [{
882
+ px: w()
883
+ }],
884
+ /**
885
+ * Padding Y
886
+ * @see https://tailwindcss.com/docs/padding
887
+ */
888
+ py: [{
889
+ py: w()
890
+ }],
891
+ /**
892
+ * Padding Start
893
+ * @see https://tailwindcss.com/docs/padding
894
+ */
895
+ ps: [{
896
+ ps: w()
897
+ }],
898
+ /**
899
+ * Padding End
900
+ * @see https://tailwindcss.com/docs/padding
901
+ */
902
+ pe: [{
903
+ pe: w()
904
+ }],
905
+ /**
906
+ * Padding Top
907
+ * @see https://tailwindcss.com/docs/padding
908
+ */
909
+ pt: [{
910
+ pt: w()
911
+ }],
912
+ /**
913
+ * Padding Right
914
+ * @see https://tailwindcss.com/docs/padding
915
+ */
916
+ pr: [{
917
+ pr: w()
918
+ }],
919
+ /**
920
+ * Padding Bottom
921
+ * @see https://tailwindcss.com/docs/padding
922
+ */
923
+ pb: [{
924
+ pb: w()
925
+ }],
926
+ /**
927
+ * Padding Left
928
+ * @see https://tailwindcss.com/docs/padding
929
+ */
930
+ pl: [{
931
+ pl: w()
932
+ }],
933
+ /**
934
+ * Margin
935
+ * @see https://tailwindcss.com/docs/margin
936
+ */
937
+ m: [{
938
+ m: q()
939
+ }],
940
+ /**
941
+ * Margin X
942
+ * @see https://tailwindcss.com/docs/margin
943
+ */
944
+ mx: [{
945
+ mx: q()
946
+ }],
947
+ /**
948
+ * Margin Y
949
+ * @see https://tailwindcss.com/docs/margin
950
+ */
951
+ my: [{
952
+ my: q()
953
+ }],
954
+ /**
955
+ * Margin Start
956
+ * @see https://tailwindcss.com/docs/margin
957
+ */
958
+ ms: [{
959
+ ms: q()
960
+ }],
961
+ /**
962
+ * Margin End
963
+ * @see https://tailwindcss.com/docs/margin
964
+ */
965
+ me: [{
966
+ me: q()
967
+ }],
968
+ /**
969
+ * Margin Top
970
+ * @see https://tailwindcss.com/docs/margin
971
+ */
972
+ mt: [{
973
+ mt: q()
974
+ }],
975
+ /**
976
+ * Margin Right
977
+ * @see https://tailwindcss.com/docs/margin
978
+ */
979
+ mr: [{
980
+ mr: q()
981
+ }],
982
+ /**
983
+ * Margin Bottom
984
+ * @see https://tailwindcss.com/docs/margin
985
+ */
986
+ mb: [{
987
+ mb: q()
988
+ }],
989
+ /**
990
+ * Margin Left
991
+ * @see https://tailwindcss.com/docs/margin
992
+ */
993
+ ml: [{
994
+ ml: q()
995
+ }],
996
+ /**
997
+ * Space Between X
998
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
999
+ */
1000
+ "space-x": [{
1001
+ "space-x": w()
1002
+ }],
1003
+ /**
1004
+ * Space Between X Reverse
1005
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1006
+ */
1007
+ "space-x-reverse": ["space-x-reverse"],
1008
+ /**
1009
+ * Space Between Y
1010
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1011
+ */
1012
+ "space-y": [{
1013
+ "space-y": w()
1014
+ }],
1015
+ /**
1016
+ * Space Between Y Reverse
1017
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1018
+ */
1019
+ "space-y-reverse": ["space-y-reverse"],
1020
+ // --------------
1021
+ // --- Sizing ---
1022
+ // --------------
1023
+ /**
1024
+ * Size
1025
+ * @see https://tailwindcss.com/docs/width#setting-both-width-and-height
1026
+ */
1027
+ size: [{
1028
+ size: Y()
1029
+ }],
1030
+ /**
1031
+ * Width
1032
+ * @see https://tailwindcss.com/docs/width
1033
+ */
1034
+ w: [{
1035
+ w: [l, "screen", ...Y()]
1036
+ }],
1037
+ /**
1038
+ * Min-Width
1039
+ * @see https://tailwindcss.com/docs/min-width
1040
+ */
1041
+ "min-w": [{
1042
+ "min-w": [
1043
+ l,
1044
+ "screen",
1045
+ /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1046
+ "none",
1047
+ ...Y()
1048
+ ]
1049
+ }],
1050
+ /**
1051
+ * Max-Width
1052
+ * @see https://tailwindcss.com/docs/max-width
1053
+ */
1054
+ "max-w": [{
1055
+ "max-w": [
1056
+ l,
1057
+ "screen",
1058
+ "none",
1059
+ /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1060
+ "prose",
1061
+ /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1062
+ {
1063
+ screen: [a]
1064
+ },
1065
+ ...Y()
1066
+ ]
1067
+ }],
1068
+ /**
1069
+ * Height
1070
+ * @see https://tailwindcss.com/docs/height
1071
+ */
1072
+ h: [{
1073
+ h: ["screen", "lh", ...Y()]
1074
+ }],
1075
+ /**
1076
+ * Min-Height
1077
+ * @see https://tailwindcss.com/docs/min-height
1078
+ */
1079
+ "min-h": [{
1080
+ "min-h": ["screen", "lh", "none", ...Y()]
1081
+ }],
1082
+ /**
1083
+ * Max-Height
1084
+ * @see https://tailwindcss.com/docs/max-height
1085
+ */
1086
+ "max-h": [{
1087
+ "max-h": ["screen", "lh", ...Y()]
1088
+ }],
1089
+ // ------------------
1090
+ // --- Typography ---
1091
+ // ------------------
1092
+ /**
1093
+ * Font Size
1094
+ * @see https://tailwindcss.com/docs/font-size
1095
+ */
1096
+ "font-size": [{
1097
+ text: ["base", r, ye, ne]
1098
+ }],
1099
+ /**
1100
+ * Font Smoothing
1101
+ * @see https://tailwindcss.com/docs/font-smoothing
1102
+ */
1103
+ "font-smoothing": ["antialiased", "subpixel-antialiased"],
1104
+ /**
1105
+ * Font Style
1106
+ * @see https://tailwindcss.com/docs/font-style
1107
+ */
1108
+ "font-style": ["italic", "not-italic"],
1109
+ /**
1110
+ * Font Weight
1111
+ * @see https://tailwindcss.com/docs/font-weight
1112
+ */
1113
+ "font-weight": [{
1114
+ font: [o, b, Fe]
1115
+ }],
1116
+ /**
1117
+ * Font Stretch
1118
+ * @see https://tailwindcss.com/docs/font-stretch
1119
+ */
1120
+ "font-stretch": [{
1121
+ "font-stretch": ["ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded", De, v]
1122
+ }],
1123
+ /**
1124
+ * Font Family
1125
+ * @see https://tailwindcss.com/docs/font-family
1126
+ */
1127
+ "font-family": [{
1128
+ font: [$r, v, e]
1129
+ }],
1130
+ /**
1131
+ * Font Variant Numeric
1132
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1133
+ */
1134
+ "fvn-normal": ["normal-nums"],
1135
+ /**
1136
+ * Font Variant Numeric
1137
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1138
+ */
1139
+ "fvn-ordinal": ["ordinal"],
1140
+ /**
1141
+ * Font Variant Numeric
1142
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1143
+ */
1144
+ "fvn-slashed-zero": ["slashed-zero"],
1145
+ /**
1146
+ * Font Variant Numeric
1147
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1148
+ */
1149
+ "fvn-figure": ["lining-nums", "oldstyle-nums"],
1150
+ /**
1151
+ * Font Variant Numeric
1152
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1153
+ */
1154
+ "fvn-spacing": ["proportional-nums", "tabular-nums"],
1155
+ /**
1156
+ * Font Variant Numeric
1157
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1158
+ */
1159
+ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
1160
+ /**
1161
+ * Letter Spacing
1162
+ * @see https://tailwindcss.com/docs/letter-spacing
1163
+ */
1164
+ tracking: [{
1165
+ tracking: [s, b, v]
1166
+ }],
1167
+ /**
1168
+ * Line Clamp
1169
+ * @see https://tailwindcss.com/docs/line-clamp
1170
+ */
1171
+ "line-clamp": [{
1172
+ "line-clamp": [P, "none", b, Fe]
1173
+ }],
1174
+ /**
1175
+ * Line Height
1176
+ * @see https://tailwindcss.com/docs/line-height
1177
+ */
1178
+ leading: [{
1179
+ leading: [
1180
+ /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1181
+ i,
1182
+ ...w()
1183
+ ]
1184
+ }],
1185
+ /**
1186
+ * List Style Image
1187
+ * @see https://tailwindcss.com/docs/list-style-image
1188
+ */
1189
+ "list-image": [{
1190
+ "list-image": ["none", b, v]
1191
+ }],
1192
+ /**
1193
+ * List Style Position
1194
+ * @see https://tailwindcss.com/docs/list-style-position
1195
+ */
1196
+ "list-style-position": [{
1197
+ list: ["inside", "outside"]
1198
+ }],
1199
+ /**
1200
+ * List Style Type
1201
+ * @see https://tailwindcss.com/docs/list-style-type
1202
+ */
1203
+ "list-style-type": [{
1204
+ list: ["disc", "decimal", "none", b, v]
1205
+ }],
1206
+ /**
1207
+ * Text Alignment
1208
+ * @see https://tailwindcss.com/docs/text-align
1209
+ */
1210
+ "text-alignment": [{
1211
+ text: ["left", "center", "right", "justify", "start", "end"]
1212
+ }],
1213
+ /**
1214
+ * Placeholder Color
1215
+ * @deprecated since Tailwind CSS v3.0.0
1216
+ * @see https://v3.tailwindcss.com/docs/placeholder-color
1217
+ */
1218
+ "placeholder-color": [{
1219
+ placeholder: k()
1220
+ }],
1221
+ /**
1222
+ * Text Color
1223
+ * @see https://tailwindcss.com/docs/text-color
1224
+ */
1225
+ "text-color": [{
1226
+ text: k()
1227
+ }],
1228
+ /**
1229
+ * Text Decoration
1230
+ * @see https://tailwindcss.com/docs/text-decoration
1231
+ */
1232
+ "text-decoration": ["underline", "overline", "line-through", "no-underline"],
1233
+ /**
1234
+ * Text Decoration Style
1235
+ * @see https://tailwindcss.com/docs/text-decoration-style
1236
+ */
1237
+ "text-decoration-style": [{
1238
+ decoration: [...Se(), "wavy"]
1239
+ }],
1240
+ /**
1241
+ * Text Decoration Thickness
1242
+ * @see https://tailwindcss.com/docs/text-decoration-thickness
1243
+ */
1244
+ "text-decoration-thickness": [{
1245
+ decoration: [P, "from-font", "auto", b, ne]
1246
+ }],
1247
+ /**
1248
+ * Text Decoration Color
1249
+ * @see https://tailwindcss.com/docs/text-decoration-color
1250
+ */
1251
+ "text-decoration-color": [{
1252
+ decoration: k()
1253
+ }],
1254
+ /**
1255
+ * Text Underline Offset
1256
+ * @see https://tailwindcss.com/docs/text-underline-offset
1257
+ */
1258
+ "underline-offset": [{
1259
+ "underline-offset": [P, "auto", b, v]
1260
+ }],
1261
+ /**
1262
+ * Text Transform
1263
+ * @see https://tailwindcss.com/docs/text-transform
1264
+ */
1265
+ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
1266
+ /**
1267
+ * Text Overflow
1268
+ * @see https://tailwindcss.com/docs/text-overflow
1269
+ */
1270
+ "text-overflow": ["truncate", "text-ellipsis", "text-clip"],
1271
+ /**
1272
+ * Text Wrap
1273
+ * @see https://tailwindcss.com/docs/text-wrap
1274
+ */
1275
+ "text-wrap": [{
1276
+ text: ["wrap", "nowrap", "balance", "pretty"]
1277
+ }],
1278
+ /**
1279
+ * Text Indent
1280
+ * @see https://tailwindcss.com/docs/text-indent
1281
+ */
1282
+ indent: [{
1283
+ indent: w()
1284
+ }],
1285
+ /**
1286
+ * Vertical Alignment
1287
+ * @see https://tailwindcss.com/docs/vertical-align
1288
+ */
1289
+ "vertical-align": [{
1290
+ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", b, v]
1291
+ }],
1292
+ /**
1293
+ * Whitespace
1294
+ * @see https://tailwindcss.com/docs/whitespace
1295
+ */
1296
+ whitespace: [{
1297
+ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
1298
+ }],
1299
+ /**
1300
+ * Word Break
1301
+ * @see https://tailwindcss.com/docs/word-break
1302
+ */
1303
+ break: [{
1304
+ break: ["normal", "words", "all", "keep"]
1305
+ }],
1306
+ /**
1307
+ * Overflow Wrap
1308
+ * @see https://tailwindcss.com/docs/overflow-wrap
1309
+ */
1310
+ wrap: [{
1311
+ wrap: ["break-word", "anywhere", "normal"]
1312
+ }],
1313
+ /**
1314
+ * Hyphens
1315
+ * @see https://tailwindcss.com/docs/hyphens
1316
+ */
1317
+ hyphens: [{
1318
+ hyphens: ["none", "manual", "auto"]
1319
+ }],
1320
+ /**
1321
+ * Content
1322
+ * @see https://tailwindcss.com/docs/content
1323
+ */
1324
+ content: [{
1325
+ content: ["none", b, v]
1326
+ }],
1327
+ // -------------------
1328
+ // --- Backgrounds ---
1329
+ // -------------------
1330
+ /**
1331
+ * Background Attachment
1332
+ * @see https://tailwindcss.com/docs/background-attachment
1333
+ */
1334
+ "bg-attachment": [{
1335
+ bg: ["fixed", "local", "scroll"]
1336
+ }],
1337
+ /**
1338
+ * Background Clip
1339
+ * @see https://tailwindcss.com/docs/background-clip
1340
+ */
1341
+ "bg-clip": [{
1342
+ "bg-clip": ["border", "padding", "content", "text"]
1343
+ }],
1344
+ /**
1345
+ * Background Origin
1346
+ * @see https://tailwindcss.com/docs/background-origin
1347
+ */
1348
+ "bg-origin": [{
1349
+ "bg-origin": ["border", "padding", "content"]
1350
+ }],
1351
+ /**
1352
+ * Background Position
1353
+ * @see https://tailwindcss.com/docs/background-position
1354
+ */
1355
+ "bg-position": [{
1356
+ bg: ke()
1357
+ }],
1358
+ /**
1359
+ * Background Repeat
1360
+ * @see https://tailwindcss.com/docs/background-repeat
1361
+ */
1362
+ "bg-repeat": [{
1363
+ bg: Ze()
1364
+ }],
1365
+ /**
1366
+ * Background Size
1367
+ * @see https://tailwindcss.com/docs/background-size
1368
+ */
1369
+ "bg-size": [{
1370
+ bg: Qe()
1371
+ }],
1372
+ /**
1373
+ * Background Image
1374
+ * @see https://tailwindcss.com/docs/background-image
1375
+ */
1376
+ "bg-image": [{
1377
+ bg: ["none", {
1378
+ linear: [{
1379
+ to: ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
1380
+ }, re, b, v],
1381
+ radial: ["", b, v],
1382
+ conic: [re, b, v]
1383
+ }, Er, Cr]
1384
+ }],
1385
+ /**
1386
+ * Background Color
1387
+ * @see https://tailwindcss.com/docs/background-color
1388
+ */
1389
+ "bg-color": [{
1390
+ bg: k()
1391
+ }],
1392
+ /**
1393
+ * Gradient Color Stops From Position
1394
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1395
+ */
1396
+ "gradient-from-pos": [{
1397
+ from: Be()
1398
+ }],
1399
+ /**
1400
+ * Gradient Color Stops Via Position
1401
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1402
+ */
1403
+ "gradient-via-pos": [{
1404
+ via: Be()
1405
+ }],
1406
+ /**
1407
+ * Gradient Color Stops To Position
1408
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1409
+ */
1410
+ "gradient-to-pos": [{
1411
+ to: Be()
1412
+ }],
1413
+ /**
1414
+ * Gradient Color Stops From
1415
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1416
+ */
1417
+ "gradient-from": [{
1418
+ from: k()
1419
+ }],
1420
+ /**
1421
+ * Gradient Color Stops Via
1422
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1423
+ */
1424
+ "gradient-via": [{
1425
+ via: k()
1426
+ }],
1427
+ /**
1428
+ * Gradient Color Stops To
1429
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1430
+ */
1431
+ "gradient-to": [{
1432
+ to: k()
1433
+ }],
1434
+ // ---------------
1435
+ // --- Borders ---
1436
+ // ---------------
1437
+ /**
1438
+ * Border Radius
1439
+ * @see https://tailwindcss.com/docs/border-radius
1440
+ */
1441
+ rounded: [{
1442
+ rounded: K()
1443
+ }],
1444
+ /**
1445
+ * Border Radius Start
1446
+ * @see https://tailwindcss.com/docs/border-radius
1447
+ */
1448
+ "rounded-s": [{
1449
+ "rounded-s": K()
1450
+ }],
1451
+ /**
1452
+ * Border Radius End
1453
+ * @see https://tailwindcss.com/docs/border-radius
1454
+ */
1455
+ "rounded-e": [{
1456
+ "rounded-e": K()
1457
+ }],
1458
+ /**
1459
+ * Border Radius Top
1460
+ * @see https://tailwindcss.com/docs/border-radius
1461
+ */
1462
+ "rounded-t": [{
1463
+ "rounded-t": K()
1464
+ }],
1465
+ /**
1466
+ * Border Radius Right
1467
+ * @see https://tailwindcss.com/docs/border-radius
1468
+ */
1469
+ "rounded-r": [{
1470
+ "rounded-r": K()
1471
+ }],
1472
+ /**
1473
+ * Border Radius Bottom
1474
+ * @see https://tailwindcss.com/docs/border-radius
1475
+ */
1476
+ "rounded-b": [{
1477
+ "rounded-b": K()
1478
+ }],
1479
+ /**
1480
+ * Border Radius Left
1481
+ * @see https://tailwindcss.com/docs/border-radius
1482
+ */
1483
+ "rounded-l": [{
1484
+ "rounded-l": K()
1485
+ }],
1486
+ /**
1487
+ * Border Radius Start Start
1488
+ * @see https://tailwindcss.com/docs/border-radius
1489
+ */
1490
+ "rounded-ss": [{
1491
+ "rounded-ss": K()
1492
+ }],
1493
+ /**
1494
+ * Border Radius Start End
1495
+ * @see https://tailwindcss.com/docs/border-radius
1496
+ */
1497
+ "rounded-se": [{
1498
+ "rounded-se": K()
1499
+ }],
1500
+ /**
1501
+ * Border Radius End End
1502
+ * @see https://tailwindcss.com/docs/border-radius
1503
+ */
1504
+ "rounded-ee": [{
1505
+ "rounded-ee": K()
1506
+ }],
1507
+ /**
1508
+ * Border Radius End Start
1509
+ * @see https://tailwindcss.com/docs/border-radius
1510
+ */
1511
+ "rounded-es": [{
1512
+ "rounded-es": K()
1513
+ }],
1514
+ /**
1515
+ * Border Radius Top Left
1516
+ * @see https://tailwindcss.com/docs/border-radius
1517
+ */
1518
+ "rounded-tl": [{
1519
+ "rounded-tl": K()
1520
+ }],
1521
+ /**
1522
+ * Border Radius Top Right
1523
+ * @see https://tailwindcss.com/docs/border-radius
1524
+ */
1525
+ "rounded-tr": [{
1526
+ "rounded-tr": K()
1527
+ }],
1528
+ /**
1529
+ * Border Radius Bottom Right
1530
+ * @see https://tailwindcss.com/docs/border-radius
1531
+ */
1532
+ "rounded-br": [{
1533
+ "rounded-br": K()
1534
+ }],
1535
+ /**
1536
+ * Border Radius Bottom Left
1537
+ * @see https://tailwindcss.com/docs/border-radius
1538
+ */
1539
+ "rounded-bl": [{
1540
+ "rounded-bl": K()
1541
+ }],
1542
+ /**
1543
+ * Border Width
1544
+ * @see https://tailwindcss.com/docs/border-width
1545
+ */
1546
+ "border-w": [{
1547
+ border: X()
1548
+ }],
1549
+ /**
1550
+ * Border Width X
1551
+ * @see https://tailwindcss.com/docs/border-width
1552
+ */
1553
+ "border-w-x": [{
1554
+ "border-x": X()
1555
+ }],
1556
+ /**
1557
+ * Border Width Y
1558
+ * @see https://tailwindcss.com/docs/border-width
1559
+ */
1560
+ "border-w-y": [{
1561
+ "border-y": X()
1562
+ }],
1563
+ /**
1564
+ * Border Width Start
1565
+ * @see https://tailwindcss.com/docs/border-width
1566
+ */
1567
+ "border-w-s": [{
1568
+ "border-s": X()
1569
+ }],
1570
+ /**
1571
+ * Border Width End
1572
+ * @see https://tailwindcss.com/docs/border-width
1573
+ */
1574
+ "border-w-e": [{
1575
+ "border-e": X()
1576
+ }],
1577
+ /**
1578
+ * Border Width Top
1579
+ * @see https://tailwindcss.com/docs/border-width
1580
+ */
1581
+ "border-w-t": [{
1582
+ "border-t": X()
1583
+ }],
1584
+ /**
1585
+ * Border Width Right
1586
+ * @see https://tailwindcss.com/docs/border-width
1587
+ */
1588
+ "border-w-r": [{
1589
+ "border-r": X()
1590
+ }],
1591
+ /**
1592
+ * Border Width Bottom
1593
+ * @see https://tailwindcss.com/docs/border-width
1594
+ */
1595
+ "border-w-b": [{
1596
+ "border-b": X()
1597
+ }],
1598
+ /**
1599
+ * Border Width Left
1600
+ * @see https://tailwindcss.com/docs/border-width
1601
+ */
1602
+ "border-w-l": [{
1603
+ "border-l": X()
1604
+ }],
1605
+ /**
1606
+ * Divide Width X
1607
+ * @see https://tailwindcss.com/docs/border-width#between-children
1608
+ */
1609
+ "divide-x": [{
1610
+ "divide-x": X()
1611
+ }],
1612
+ /**
1613
+ * Divide Width X Reverse
1614
+ * @see https://tailwindcss.com/docs/border-width#between-children
1615
+ */
1616
+ "divide-x-reverse": ["divide-x-reverse"],
1617
+ /**
1618
+ * Divide Width Y
1619
+ * @see https://tailwindcss.com/docs/border-width#between-children
1620
+ */
1621
+ "divide-y": [{
1622
+ "divide-y": X()
1623
+ }],
1624
+ /**
1625
+ * Divide Width Y Reverse
1626
+ * @see https://tailwindcss.com/docs/border-width#between-children
1627
+ */
1628
+ "divide-y-reverse": ["divide-y-reverse"],
1629
+ /**
1630
+ * Border Style
1631
+ * @see https://tailwindcss.com/docs/border-style
1632
+ */
1633
+ "border-style": [{
1634
+ border: [...Se(), "hidden", "none"]
1635
+ }],
1636
+ /**
1637
+ * Divide Style
1638
+ * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style
1639
+ */
1640
+ "divide-style": [{
1641
+ divide: [...Se(), "hidden", "none"]
1642
+ }],
1643
+ /**
1644
+ * Border Color
1645
+ * @see https://tailwindcss.com/docs/border-color
1646
+ */
1647
+ "border-color": [{
1648
+ border: k()
1649
+ }],
1650
+ /**
1651
+ * Border Color X
1652
+ * @see https://tailwindcss.com/docs/border-color
1653
+ */
1654
+ "border-color-x": [{
1655
+ "border-x": k()
1656
+ }],
1657
+ /**
1658
+ * Border Color Y
1659
+ * @see https://tailwindcss.com/docs/border-color
1660
+ */
1661
+ "border-color-y": [{
1662
+ "border-y": k()
1663
+ }],
1664
+ /**
1665
+ * Border Color S
1666
+ * @see https://tailwindcss.com/docs/border-color
1667
+ */
1668
+ "border-color-s": [{
1669
+ "border-s": k()
1670
+ }],
1671
+ /**
1672
+ * Border Color E
1673
+ * @see https://tailwindcss.com/docs/border-color
1674
+ */
1675
+ "border-color-e": [{
1676
+ "border-e": k()
1677
+ }],
1678
+ /**
1679
+ * Border Color Top
1680
+ * @see https://tailwindcss.com/docs/border-color
1681
+ */
1682
+ "border-color-t": [{
1683
+ "border-t": k()
1684
+ }],
1685
+ /**
1686
+ * Border Color Right
1687
+ * @see https://tailwindcss.com/docs/border-color
1688
+ */
1689
+ "border-color-r": [{
1690
+ "border-r": k()
1691
+ }],
1692
+ /**
1693
+ * Border Color Bottom
1694
+ * @see https://tailwindcss.com/docs/border-color
1695
+ */
1696
+ "border-color-b": [{
1697
+ "border-b": k()
1698
+ }],
1699
+ /**
1700
+ * Border Color Left
1701
+ * @see https://tailwindcss.com/docs/border-color
1702
+ */
1703
+ "border-color-l": [{
1704
+ "border-l": k()
1705
+ }],
1706
+ /**
1707
+ * Divide Color
1708
+ * @see https://tailwindcss.com/docs/divide-color
1709
+ */
1710
+ "divide-color": [{
1711
+ divide: k()
1712
+ }],
1713
+ /**
1714
+ * Outline Style
1715
+ * @see https://tailwindcss.com/docs/outline-style
1716
+ */
1717
+ "outline-style": [{
1718
+ outline: [...Se(), "none", "hidden"]
1719
+ }],
1720
+ /**
1721
+ * Outline Offset
1722
+ * @see https://tailwindcss.com/docs/outline-offset
1723
+ */
1724
+ "outline-offset": [{
1725
+ "outline-offset": [P, b, v]
1726
+ }],
1727
+ /**
1728
+ * Outline Width
1729
+ * @see https://tailwindcss.com/docs/outline-width
1730
+ */
1731
+ "outline-w": [{
1732
+ outline: ["", P, ye, ne]
1733
+ }],
1734
+ /**
1735
+ * Outline Color
1736
+ * @see https://tailwindcss.com/docs/outline-color
1737
+ */
1738
+ "outline-color": [{
1739
+ outline: k()
1740
+ }],
1741
+ // ---------------
1742
+ // --- Effects ---
1743
+ // ---------------
1744
+ /**
1745
+ * Box Shadow
1746
+ * @see https://tailwindcss.com/docs/box-shadow
1747
+ */
1748
+ shadow: [{
1749
+ shadow: [
1750
+ // Deprecated since Tailwind CSS v4.0.0
1751
+ "",
1752
+ "none",
1753
+ p,
1754
+ Pe,
1755
+ Ee
1756
+ ]
1757
+ }],
1758
+ /**
1759
+ * Box Shadow Color
1760
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color
1761
+ */
1762
+ "shadow-color": [{
1763
+ shadow: k()
1764
+ }],
1765
+ /**
1766
+ * Inset Box Shadow
1767
+ * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
1768
+ */
1769
+ "inset-shadow": [{
1770
+ "inset-shadow": ["none", f, Pe, Ee]
1771
+ }],
1772
+ /**
1773
+ * Inset Box Shadow Color
1774
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color
1775
+ */
1776
+ "inset-shadow-color": [{
1777
+ "inset-shadow": k()
1778
+ }],
1779
+ /**
1780
+ * Ring Width
1781
+ * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
1782
+ */
1783
+ "ring-w": [{
1784
+ ring: X()
1785
+ }],
1786
+ /**
1787
+ * Ring Width Inset
1788
+ * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings
1789
+ * @deprecated since Tailwind CSS v4.0.0
1790
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
1791
+ */
1792
+ "ring-w-inset": ["ring-inset"],
1793
+ /**
1794
+ * Ring Color
1795
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color
1796
+ */
1797
+ "ring-color": [{
1798
+ ring: k()
1799
+ }],
1800
+ /**
1801
+ * Ring Offset Width
1802
+ * @see https://v3.tailwindcss.com/docs/ring-offset-width
1803
+ * @deprecated since Tailwind CSS v4.0.0
1804
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
1805
+ */
1806
+ "ring-offset-w": [{
1807
+ "ring-offset": [P, ne]
1808
+ }],
1809
+ /**
1810
+ * Ring Offset Color
1811
+ * @see https://v3.tailwindcss.com/docs/ring-offset-color
1812
+ * @deprecated since Tailwind CSS v4.0.0
1813
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
1814
+ */
1815
+ "ring-offset-color": [{
1816
+ "ring-offset": k()
1817
+ }],
1818
+ /**
1819
+ * Inset Ring Width
1820
+ * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
1821
+ */
1822
+ "inset-ring-w": [{
1823
+ "inset-ring": X()
1824
+ }],
1825
+ /**
1826
+ * Inset Ring Color
1827
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color
1828
+ */
1829
+ "inset-ring-color": [{
1830
+ "inset-ring": k()
1831
+ }],
1832
+ /**
1833
+ * Text Shadow
1834
+ * @see https://tailwindcss.com/docs/text-shadow
1835
+ */
1836
+ "text-shadow": [{
1837
+ "text-shadow": ["none", g, Pe, Ee]
1838
+ }],
1839
+ /**
1840
+ * Text Shadow Color
1841
+ * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color
1842
+ */
1843
+ "text-shadow-color": [{
1844
+ "text-shadow": k()
1845
+ }],
1846
+ /**
1847
+ * Opacity
1848
+ * @see https://tailwindcss.com/docs/opacity
1849
+ */
1850
+ opacity: [{
1851
+ opacity: [P, b, v]
1852
+ }],
1853
+ /**
1854
+ * Mix Blend Mode
1855
+ * @see https://tailwindcss.com/docs/mix-blend-mode
1856
+ */
1857
+ "mix-blend": [{
1858
+ "mix-blend": [...et(), "plus-darker", "plus-lighter"]
1859
+ }],
1860
+ /**
1861
+ * Background Blend Mode
1862
+ * @see https://tailwindcss.com/docs/background-blend-mode
1863
+ */
1864
+ "bg-blend": [{
1865
+ "bg-blend": et()
1866
+ }],
1867
+ /**
1868
+ * Mask Clip
1869
+ * @see https://tailwindcss.com/docs/mask-clip
1870
+ */
1871
+ "mask-clip": [{
1872
+ "mask-clip": ["border", "padding", "content", "fill", "stroke", "view"]
1873
+ }, "mask-no-clip"],
1874
+ /**
1875
+ * Mask Composite
1876
+ * @see https://tailwindcss.com/docs/mask-composite
1877
+ */
1878
+ "mask-composite": [{
1879
+ mask: ["add", "subtract", "intersect", "exclude"]
1880
+ }],
1881
+ /**
1882
+ * Mask Image
1883
+ * @see https://tailwindcss.com/docs/mask-image
1884
+ */
1885
+ "mask-image-linear-pos": [{
1886
+ "mask-linear": [P]
1887
+ }],
1888
+ "mask-image-linear-from-pos": [{
1889
+ "mask-linear-from": G()
1890
+ }],
1891
+ "mask-image-linear-to-pos": [{
1892
+ "mask-linear-to": G()
1893
+ }],
1894
+ "mask-image-linear-from-color": [{
1895
+ "mask-linear-from": k()
1896
+ }],
1897
+ "mask-image-linear-to-color": [{
1898
+ "mask-linear-to": k()
1899
+ }],
1900
+ "mask-image-t-from-pos": [{
1901
+ "mask-t-from": G()
1902
+ }],
1903
+ "mask-image-t-to-pos": [{
1904
+ "mask-t-to": G()
1905
+ }],
1906
+ "mask-image-t-from-color": [{
1907
+ "mask-t-from": k()
1908
+ }],
1909
+ "mask-image-t-to-color": [{
1910
+ "mask-t-to": k()
1911
+ }],
1912
+ "mask-image-r-from-pos": [{
1913
+ "mask-r-from": G()
1914
+ }],
1915
+ "mask-image-r-to-pos": [{
1916
+ "mask-r-to": G()
1917
+ }],
1918
+ "mask-image-r-from-color": [{
1919
+ "mask-r-from": k()
1920
+ }],
1921
+ "mask-image-r-to-color": [{
1922
+ "mask-r-to": k()
1923
+ }],
1924
+ "mask-image-b-from-pos": [{
1925
+ "mask-b-from": G()
1926
+ }],
1927
+ "mask-image-b-to-pos": [{
1928
+ "mask-b-to": G()
1929
+ }],
1930
+ "mask-image-b-from-color": [{
1931
+ "mask-b-from": k()
1932
+ }],
1933
+ "mask-image-b-to-color": [{
1934
+ "mask-b-to": k()
1935
+ }],
1936
+ "mask-image-l-from-pos": [{
1937
+ "mask-l-from": G()
1938
+ }],
1939
+ "mask-image-l-to-pos": [{
1940
+ "mask-l-to": G()
1941
+ }],
1942
+ "mask-image-l-from-color": [{
1943
+ "mask-l-from": k()
1944
+ }],
1945
+ "mask-image-l-to-color": [{
1946
+ "mask-l-to": k()
1947
+ }],
1948
+ "mask-image-x-from-pos": [{
1949
+ "mask-x-from": G()
1950
+ }],
1951
+ "mask-image-x-to-pos": [{
1952
+ "mask-x-to": G()
1953
+ }],
1954
+ "mask-image-x-from-color": [{
1955
+ "mask-x-from": k()
1956
+ }],
1957
+ "mask-image-x-to-color": [{
1958
+ "mask-x-to": k()
1959
+ }],
1960
+ "mask-image-y-from-pos": [{
1961
+ "mask-y-from": G()
1962
+ }],
1963
+ "mask-image-y-to-pos": [{
1964
+ "mask-y-to": G()
1965
+ }],
1966
+ "mask-image-y-from-color": [{
1967
+ "mask-y-from": k()
1968
+ }],
1969
+ "mask-image-y-to-color": [{
1970
+ "mask-y-to": k()
1971
+ }],
1972
+ "mask-image-radial": [{
1973
+ "mask-radial": [b, v]
1974
+ }],
1975
+ "mask-image-radial-from-pos": [{
1976
+ "mask-radial-from": G()
1977
+ }],
1978
+ "mask-image-radial-to-pos": [{
1979
+ "mask-radial-to": G()
1980
+ }],
1981
+ "mask-image-radial-from-color": [{
1982
+ "mask-radial-from": k()
1983
+ }],
1984
+ "mask-image-radial-to-color": [{
1985
+ "mask-radial-to": k()
1986
+ }],
1987
+ "mask-image-radial-shape": [{
1988
+ "mask-radial": ["circle", "ellipse"]
1989
+ }],
1990
+ "mask-image-radial-size": [{
1991
+ "mask-radial": [{
1992
+ closest: ["side", "corner"],
1993
+ farthest: ["side", "corner"]
1994
+ }]
1995
+ }],
1996
+ "mask-image-radial-pos": [{
1997
+ "mask-radial-at": y()
1998
+ }],
1999
+ "mask-image-conic-pos": [{
2000
+ "mask-conic": [P]
2001
+ }],
2002
+ "mask-image-conic-from-pos": [{
2003
+ "mask-conic-from": G()
2004
+ }],
2005
+ "mask-image-conic-to-pos": [{
2006
+ "mask-conic-to": G()
2007
+ }],
2008
+ "mask-image-conic-from-color": [{
2009
+ "mask-conic-from": k()
2010
+ }],
2011
+ "mask-image-conic-to-color": [{
2012
+ "mask-conic-to": k()
2013
+ }],
2014
+ /**
2015
+ * Mask Mode
2016
+ * @see https://tailwindcss.com/docs/mask-mode
2017
+ */
2018
+ "mask-mode": [{
2019
+ mask: ["alpha", "luminance", "match"]
2020
+ }],
2021
+ /**
2022
+ * Mask Origin
2023
+ * @see https://tailwindcss.com/docs/mask-origin
2024
+ */
2025
+ "mask-origin": [{
2026
+ "mask-origin": ["border", "padding", "content", "fill", "stroke", "view"]
2027
+ }],
2028
+ /**
2029
+ * Mask Position
2030
+ * @see https://tailwindcss.com/docs/mask-position
2031
+ */
2032
+ "mask-position": [{
2033
+ mask: ke()
2034
+ }],
2035
+ /**
2036
+ * Mask Repeat
2037
+ * @see https://tailwindcss.com/docs/mask-repeat
2038
+ */
2039
+ "mask-repeat": [{
2040
+ mask: Ze()
2041
+ }],
2042
+ /**
2043
+ * Mask Size
2044
+ * @see https://tailwindcss.com/docs/mask-size
2045
+ */
2046
+ "mask-size": [{
2047
+ mask: Qe()
2048
+ }],
2049
+ /**
2050
+ * Mask Type
2051
+ * @see https://tailwindcss.com/docs/mask-type
2052
+ */
2053
+ "mask-type": [{
2054
+ "mask-type": ["alpha", "luminance"]
2055
+ }],
2056
+ /**
2057
+ * Mask Image
2058
+ * @see https://tailwindcss.com/docs/mask-image
2059
+ */
2060
+ "mask-image": [{
2061
+ mask: ["none", b, v]
2062
+ }],
2063
+ // ---------------
2064
+ // --- Filters ---
2065
+ // ---------------
2066
+ /**
2067
+ * Filter
2068
+ * @see https://tailwindcss.com/docs/filter
2069
+ */
2070
+ filter: [{
2071
+ filter: [
2072
+ // Deprecated since Tailwind CSS v3.0.0
2073
+ "",
2074
+ "none",
2075
+ b,
2076
+ v
2077
+ ]
2078
+ }],
2079
+ /**
2080
+ * Blur
2081
+ * @see https://tailwindcss.com/docs/blur
2082
+ */
2083
+ blur: [{
2084
+ blur: tt()
2085
+ }],
2086
+ /**
2087
+ * Brightness
2088
+ * @see https://tailwindcss.com/docs/brightness
2089
+ */
2090
+ brightness: [{
2091
+ brightness: [P, b, v]
2092
+ }],
2093
+ /**
2094
+ * Contrast
2095
+ * @see https://tailwindcss.com/docs/contrast
2096
+ */
2097
+ contrast: [{
2098
+ contrast: [P, b, v]
2099
+ }],
2100
+ /**
2101
+ * Drop Shadow
2102
+ * @see https://tailwindcss.com/docs/drop-shadow
2103
+ */
2104
+ "drop-shadow": [{
2105
+ "drop-shadow": [
2106
+ // Deprecated since Tailwind CSS v4.0.0
2107
+ "",
2108
+ "none",
2109
+ S,
2110
+ Pe,
2111
+ Ee
2112
+ ]
2113
+ }],
2114
+ /**
2115
+ * Drop Shadow Color
2116
+ * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color
2117
+ */
2118
+ "drop-shadow-color": [{
2119
+ "drop-shadow": k()
2120
+ }],
2121
+ /**
2122
+ * Grayscale
2123
+ * @see https://tailwindcss.com/docs/grayscale
2124
+ */
2125
+ grayscale: [{
2126
+ grayscale: ["", P, b, v]
2127
+ }],
2128
+ /**
2129
+ * Hue Rotate
2130
+ * @see https://tailwindcss.com/docs/hue-rotate
2131
+ */
2132
+ "hue-rotate": [{
2133
+ "hue-rotate": [P, b, v]
2134
+ }],
2135
+ /**
2136
+ * Invert
2137
+ * @see https://tailwindcss.com/docs/invert
2138
+ */
2139
+ invert: [{
2140
+ invert: ["", P, b, v]
2141
+ }],
2142
+ /**
2143
+ * Saturate
2144
+ * @see https://tailwindcss.com/docs/saturate
2145
+ */
2146
+ saturate: [{
2147
+ saturate: [P, b, v]
2148
+ }],
2149
+ /**
2150
+ * Sepia
2151
+ * @see https://tailwindcss.com/docs/sepia
2152
+ */
2153
+ sepia: [{
2154
+ sepia: ["", P, b, v]
2155
+ }],
2156
+ /**
2157
+ * Backdrop Filter
2158
+ * @see https://tailwindcss.com/docs/backdrop-filter
2159
+ */
2160
+ "backdrop-filter": [{
2161
+ "backdrop-filter": [
2162
+ // Deprecated since Tailwind CSS v3.0.0
2163
+ "",
2164
+ "none",
2165
+ b,
2166
+ v
2167
+ ]
2168
+ }],
2169
+ /**
2170
+ * Backdrop Blur
2171
+ * @see https://tailwindcss.com/docs/backdrop-blur
2172
+ */
2173
+ "backdrop-blur": [{
2174
+ "backdrop-blur": tt()
2175
+ }],
2176
+ /**
2177
+ * Backdrop Brightness
2178
+ * @see https://tailwindcss.com/docs/backdrop-brightness
2179
+ */
2180
+ "backdrop-brightness": [{
2181
+ "backdrop-brightness": [P, b, v]
2182
+ }],
2183
+ /**
2184
+ * Backdrop Contrast
2185
+ * @see https://tailwindcss.com/docs/backdrop-contrast
2186
+ */
2187
+ "backdrop-contrast": [{
2188
+ "backdrop-contrast": [P, b, v]
2189
+ }],
2190
+ /**
2191
+ * Backdrop Grayscale
2192
+ * @see https://tailwindcss.com/docs/backdrop-grayscale
2193
+ */
2194
+ "backdrop-grayscale": [{
2195
+ "backdrop-grayscale": ["", P, b, v]
2196
+ }],
2197
+ /**
2198
+ * Backdrop Hue Rotate
2199
+ * @see https://tailwindcss.com/docs/backdrop-hue-rotate
2200
+ */
2201
+ "backdrop-hue-rotate": [{
2202
+ "backdrop-hue-rotate": [P, b, v]
2203
+ }],
2204
+ /**
2205
+ * Backdrop Invert
2206
+ * @see https://tailwindcss.com/docs/backdrop-invert
2207
+ */
2208
+ "backdrop-invert": [{
2209
+ "backdrop-invert": ["", P, b, v]
2210
+ }],
2211
+ /**
2212
+ * Backdrop Opacity
2213
+ * @see https://tailwindcss.com/docs/backdrop-opacity
2214
+ */
2215
+ "backdrop-opacity": [{
2216
+ "backdrop-opacity": [P, b, v]
2217
+ }],
2218
+ /**
2219
+ * Backdrop Saturate
2220
+ * @see https://tailwindcss.com/docs/backdrop-saturate
2221
+ */
2222
+ "backdrop-saturate": [{
2223
+ "backdrop-saturate": [P, b, v]
2224
+ }],
2225
+ /**
2226
+ * Backdrop Sepia
2227
+ * @see https://tailwindcss.com/docs/backdrop-sepia
2228
+ */
2229
+ "backdrop-sepia": [{
2230
+ "backdrop-sepia": ["", P, b, v]
2231
+ }],
2232
+ // --------------
2233
+ // --- Tables ---
2234
+ // --------------
2235
+ /**
2236
+ * Border Collapse
2237
+ * @see https://tailwindcss.com/docs/border-collapse
2238
+ */
2239
+ "border-collapse": [{
2240
+ border: ["collapse", "separate"]
2241
+ }],
2242
+ /**
2243
+ * Border Spacing
2244
+ * @see https://tailwindcss.com/docs/border-spacing
2245
+ */
2246
+ "border-spacing": [{
2247
+ "border-spacing": w()
2248
+ }],
2249
+ /**
2250
+ * Border Spacing X
2251
+ * @see https://tailwindcss.com/docs/border-spacing
2252
+ */
2253
+ "border-spacing-x": [{
2254
+ "border-spacing-x": w()
2255
+ }],
2256
+ /**
2257
+ * Border Spacing Y
2258
+ * @see https://tailwindcss.com/docs/border-spacing
2259
+ */
2260
+ "border-spacing-y": [{
2261
+ "border-spacing-y": w()
2262
+ }],
2263
+ /**
2264
+ * Table Layout
2265
+ * @see https://tailwindcss.com/docs/table-layout
2266
+ */
2267
+ "table-layout": [{
2268
+ table: ["auto", "fixed"]
2269
+ }],
2270
+ /**
2271
+ * Caption Side
2272
+ * @see https://tailwindcss.com/docs/caption-side
2273
+ */
2274
+ caption: [{
2275
+ caption: ["top", "bottom"]
2276
+ }],
2277
+ // ---------------------------------
2278
+ // --- Transitions and Animation ---
2279
+ // ---------------------------------
2280
+ /**
2281
+ * Transition Property
2282
+ * @see https://tailwindcss.com/docs/transition-property
2283
+ */
2284
+ transition: [{
2285
+ transition: ["", "all", "colors", "opacity", "shadow", "transform", "none", b, v]
2286
+ }],
2287
+ /**
2288
+ * Transition Behavior
2289
+ * @see https://tailwindcss.com/docs/transition-behavior
2290
+ */
2291
+ "transition-behavior": [{
2292
+ transition: ["normal", "discrete"]
2293
+ }],
2294
+ /**
2295
+ * Transition Duration
2296
+ * @see https://tailwindcss.com/docs/transition-duration
2297
+ */
2298
+ duration: [{
2299
+ duration: [P, "initial", b, v]
2300
+ }],
2301
+ /**
2302
+ * Transition Timing Function
2303
+ * @see https://tailwindcss.com/docs/transition-timing-function
2304
+ */
2305
+ ease: [{
2306
+ ease: ["linear", "initial", V, b, v]
2307
+ }],
2308
+ /**
2309
+ * Transition Delay
2310
+ * @see https://tailwindcss.com/docs/transition-delay
2311
+ */
2312
+ delay: [{
2313
+ delay: [P, b, v]
2314
+ }],
2315
+ /**
2316
+ * Animation
2317
+ * @see https://tailwindcss.com/docs/animation
2318
+ */
2319
+ animate: [{
2320
+ animate: ["none", _, b, v]
2321
+ }],
2322
+ // ------------------
2323
+ // --- Transforms ---
2324
+ // ------------------
2325
+ /**
2326
+ * Backface Visibility
2327
+ * @see https://tailwindcss.com/docs/backface-visibility
2328
+ */
2329
+ backface: [{
2330
+ backface: ["hidden", "visible"]
2331
+ }],
2332
+ /**
2333
+ * Perspective
2334
+ * @see https://tailwindcss.com/docs/perspective
2335
+ */
2336
+ perspective: [{
2337
+ perspective: [h, b, v]
2338
+ }],
2339
+ /**
2340
+ * Perspective Origin
2341
+ * @see https://tailwindcss.com/docs/perspective-origin
2342
+ */
2343
+ "perspective-origin": [{
2344
+ "perspective-origin": $()
2345
+ }],
2346
+ /**
2347
+ * Rotate
2348
+ * @see https://tailwindcss.com/docs/rotate
2349
+ */
2350
+ rotate: [{
2351
+ rotate: Ce()
2352
+ }],
2353
+ /**
2354
+ * Rotate X
2355
+ * @see https://tailwindcss.com/docs/rotate
2356
+ */
2357
+ "rotate-x": [{
2358
+ "rotate-x": Ce()
2359
+ }],
2360
+ /**
2361
+ * Rotate Y
2362
+ * @see https://tailwindcss.com/docs/rotate
2363
+ */
2364
+ "rotate-y": [{
2365
+ "rotate-y": Ce()
2366
+ }],
2367
+ /**
2368
+ * Rotate Z
2369
+ * @see https://tailwindcss.com/docs/rotate
2370
+ */
2371
+ "rotate-z": [{
2372
+ "rotate-z": Ce()
2373
+ }],
2374
+ /**
2375
+ * Scale
2376
+ * @see https://tailwindcss.com/docs/scale
2377
+ */
2378
+ scale: [{
2379
+ scale: $e()
2380
+ }],
2381
+ /**
2382
+ * Scale X
2383
+ * @see https://tailwindcss.com/docs/scale
2384
+ */
2385
+ "scale-x": [{
2386
+ "scale-x": $e()
2387
+ }],
2388
+ /**
2389
+ * Scale Y
2390
+ * @see https://tailwindcss.com/docs/scale
2391
+ */
2392
+ "scale-y": [{
2393
+ "scale-y": $e()
2394
+ }],
2395
+ /**
2396
+ * Scale Z
2397
+ * @see https://tailwindcss.com/docs/scale
2398
+ */
2399
+ "scale-z": [{
2400
+ "scale-z": $e()
2401
+ }],
2402
+ /**
2403
+ * Scale 3D
2404
+ * @see https://tailwindcss.com/docs/scale
2405
+ */
2406
+ "scale-3d": ["scale-3d"],
2407
+ /**
2408
+ * Skew
2409
+ * @see https://tailwindcss.com/docs/skew
2410
+ */
2411
+ skew: [{
2412
+ skew: He()
2413
+ }],
2414
+ /**
2415
+ * Skew X
2416
+ * @see https://tailwindcss.com/docs/skew
2417
+ */
2418
+ "skew-x": [{
2419
+ "skew-x": He()
2420
+ }],
2421
+ /**
2422
+ * Skew Y
2423
+ * @see https://tailwindcss.com/docs/skew
2424
+ */
2425
+ "skew-y": [{
2426
+ "skew-y": He()
2427
+ }],
2428
+ /**
2429
+ * Transform
2430
+ * @see https://tailwindcss.com/docs/transform
2431
+ */
2432
+ transform: [{
2433
+ transform: [b, v, "", "none", "gpu", "cpu"]
2434
+ }],
2435
+ /**
2436
+ * Transform Origin
2437
+ * @see https://tailwindcss.com/docs/transform-origin
2438
+ */
2439
+ "transform-origin": [{
2440
+ origin: $()
2441
+ }],
2442
+ /**
2443
+ * Transform Style
2444
+ * @see https://tailwindcss.com/docs/transform-style
2445
+ */
2446
+ "transform-style": [{
2447
+ transform: ["3d", "flat"]
2448
+ }],
2449
+ /**
2450
+ * Translate
2451
+ * @see https://tailwindcss.com/docs/translate
2452
+ */
2453
+ translate: [{
2454
+ translate: _e()
2455
+ }],
2456
+ /**
2457
+ * Translate X
2458
+ * @see https://tailwindcss.com/docs/translate
2459
+ */
2460
+ "translate-x": [{
2461
+ "translate-x": _e()
2462
+ }],
2463
+ /**
2464
+ * Translate Y
2465
+ * @see https://tailwindcss.com/docs/translate
2466
+ */
2467
+ "translate-y": [{
2468
+ "translate-y": _e()
2469
+ }],
2470
+ /**
2471
+ * Translate Z
2472
+ * @see https://tailwindcss.com/docs/translate
2473
+ */
2474
+ "translate-z": [{
2475
+ "translate-z": _e()
2476
+ }],
2477
+ /**
2478
+ * Translate None
2479
+ * @see https://tailwindcss.com/docs/translate
2480
+ */
2481
+ "translate-none": ["translate-none"],
2482
+ // ---------------------
2483
+ // --- Interactivity ---
2484
+ // ---------------------
2485
+ /**
2486
+ * Accent Color
2487
+ * @see https://tailwindcss.com/docs/accent-color
2488
+ */
2489
+ accent: [{
2490
+ accent: k()
2491
+ }],
2492
+ /**
2493
+ * Appearance
2494
+ * @see https://tailwindcss.com/docs/appearance
2495
+ */
2496
+ appearance: [{
2497
+ appearance: ["none", "auto"]
2498
+ }],
2499
+ /**
2500
+ * Caret Color
2501
+ * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
2502
+ */
2503
+ "caret-color": [{
2504
+ caret: k()
2505
+ }],
2506
+ /**
2507
+ * Color Scheme
2508
+ * @see https://tailwindcss.com/docs/color-scheme
2509
+ */
2510
+ "color-scheme": [{
2511
+ scheme: ["normal", "dark", "light", "light-dark", "only-dark", "only-light"]
2512
+ }],
2513
+ /**
2514
+ * Cursor
2515
+ * @see https://tailwindcss.com/docs/cursor
2516
+ */
2517
+ cursor: [{
2518
+ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", b, v]
2519
+ }],
2520
+ /**
2521
+ * Field Sizing
2522
+ * @see https://tailwindcss.com/docs/field-sizing
2523
+ */
2524
+ "field-sizing": [{
2525
+ "field-sizing": ["fixed", "content"]
2526
+ }],
2527
+ /**
2528
+ * Pointer Events
2529
+ * @see https://tailwindcss.com/docs/pointer-events
2530
+ */
2531
+ "pointer-events": [{
2532
+ "pointer-events": ["auto", "none"]
2533
+ }],
2534
+ /**
2535
+ * Resize
2536
+ * @see https://tailwindcss.com/docs/resize
2537
+ */
2538
+ resize: [{
2539
+ resize: ["none", "", "y", "x"]
2540
+ }],
2541
+ /**
2542
+ * Scroll Behavior
2543
+ * @see https://tailwindcss.com/docs/scroll-behavior
2544
+ */
2545
+ "scroll-behavior": [{
2546
+ scroll: ["auto", "smooth"]
2547
+ }],
2548
+ /**
2549
+ * Scroll Margin
2550
+ * @see https://tailwindcss.com/docs/scroll-margin
2551
+ */
2552
+ "scroll-m": [{
2553
+ "scroll-m": w()
2554
+ }],
2555
+ /**
2556
+ * Scroll Margin X
2557
+ * @see https://tailwindcss.com/docs/scroll-margin
2558
+ */
2559
+ "scroll-mx": [{
2560
+ "scroll-mx": w()
2561
+ }],
2562
+ /**
2563
+ * Scroll Margin Y
2564
+ * @see https://tailwindcss.com/docs/scroll-margin
2565
+ */
2566
+ "scroll-my": [{
2567
+ "scroll-my": w()
2568
+ }],
2569
+ /**
2570
+ * Scroll Margin Start
2571
+ * @see https://tailwindcss.com/docs/scroll-margin
2572
+ */
2573
+ "scroll-ms": [{
2574
+ "scroll-ms": w()
2575
+ }],
2576
+ /**
2577
+ * Scroll Margin End
2578
+ * @see https://tailwindcss.com/docs/scroll-margin
2579
+ */
2580
+ "scroll-me": [{
2581
+ "scroll-me": w()
2582
+ }],
2583
+ /**
2584
+ * Scroll Margin Top
2585
+ * @see https://tailwindcss.com/docs/scroll-margin
2586
+ */
2587
+ "scroll-mt": [{
2588
+ "scroll-mt": w()
2589
+ }],
2590
+ /**
2591
+ * Scroll Margin Right
2592
+ * @see https://tailwindcss.com/docs/scroll-margin
2593
+ */
2594
+ "scroll-mr": [{
2595
+ "scroll-mr": w()
2596
+ }],
2597
+ /**
2598
+ * Scroll Margin Bottom
2599
+ * @see https://tailwindcss.com/docs/scroll-margin
2600
+ */
2601
+ "scroll-mb": [{
2602
+ "scroll-mb": w()
2603
+ }],
2604
+ /**
2605
+ * Scroll Margin Left
2606
+ * @see https://tailwindcss.com/docs/scroll-margin
2607
+ */
2608
+ "scroll-ml": [{
2609
+ "scroll-ml": w()
2610
+ }],
2611
+ /**
2612
+ * Scroll Padding
2613
+ * @see https://tailwindcss.com/docs/scroll-padding
2614
+ */
2615
+ "scroll-p": [{
2616
+ "scroll-p": w()
2617
+ }],
2618
+ /**
2619
+ * Scroll Padding X
2620
+ * @see https://tailwindcss.com/docs/scroll-padding
2621
+ */
2622
+ "scroll-px": [{
2623
+ "scroll-px": w()
2624
+ }],
2625
+ /**
2626
+ * Scroll Padding Y
2627
+ * @see https://tailwindcss.com/docs/scroll-padding
2628
+ */
2629
+ "scroll-py": [{
2630
+ "scroll-py": w()
2631
+ }],
2632
+ /**
2633
+ * Scroll Padding Start
2634
+ * @see https://tailwindcss.com/docs/scroll-padding
2635
+ */
2636
+ "scroll-ps": [{
2637
+ "scroll-ps": w()
2638
+ }],
2639
+ /**
2640
+ * Scroll Padding End
2641
+ * @see https://tailwindcss.com/docs/scroll-padding
2642
+ */
2643
+ "scroll-pe": [{
2644
+ "scroll-pe": w()
2645
+ }],
2646
+ /**
2647
+ * Scroll Padding Top
2648
+ * @see https://tailwindcss.com/docs/scroll-padding
2649
+ */
2650
+ "scroll-pt": [{
2651
+ "scroll-pt": w()
2652
+ }],
2653
+ /**
2654
+ * Scroll Padding Right
2655
+ * @see https://tailwindcss.com/docs/scroll-padding
2656
+ */
2657
+ "scroll-pr": [{
2658
+ "scroll-pr": w()
2659
+ }],
2660
+ /**
2661
+ * Scroll Padding Bottom
2662
+ * @see https://tailwindcss.com/docs/scroll-padding
2663
+ */
2664
+ "scroll-pb": [{
2665
+ "scroll-pb": w()
2666
+ }],
2667
+ /**
2668
+ * Scroll Padding Left
2669
+ * @see https://tailwindcss.com/docs/scroll-padding
2670
+ */
2671
+ "scroll-pl": [{
2672
+ "scroll-pl": w()
2673
+ }],
2674
+ /**
2675
+ * Scroll Snap Align
2676
+ * @see https://tailwindcss.com/docs/scroll-snap-align
2677
+ */
2678
+ "snap-align": [{
2679
+ snap: ["start", "end", "center", "align-none"]
2680
+ }],
2681
+ /**
2682
+ * Scroll Snap Stop
2683
+ * @see https://tailwindcss.com/docs/scroll-snap-stop
2684
+ */
2685
+ "snap-stop": [{
2686
+ snap: ["normal", "always"]
2687
+ }],
2688
+ /**
2689
+ * Scroll Snap Type
2690
+ * @see https://tailwindcss.com/docs/scroll-snap-type
2691
+ */
2692
+ "snap-type": [{
2693
+ snap: ["none", "x", "y", "both"]
2694
+ }],
2695
+ /**
2696
+ * Scroll Snap Type Strictness
2697
+ * @see https://tailwindcss.com/docs/scroll-snap-type
2698
+ */
2699
+ "snap-strictness": [{
2700
+ snap: ["mandatory", "proximity"]
2701
+ }],
2702
+ /**
2703
+ * Touch Action
2704
+ * @see https://tailwindcss.com/docs/touch-action
2705
+ */
2706
+ touch: [{
2707
+ touch: ["auto", "none", "manipulation"]
2708
+ }],
2709
+ /**
2710
+ * Touch Action X
2711
+ * @see https://tailwindcss.com/docs/touch-action
2712
+ */
2713
+ "touch-x": [{
2714
+ "touch-pan": ["x", "left", "right"]
2715
+ }],
2716
+ /**
2717
+ * Touch Action Y
2718
+ * @see https://tailwindcss.com/docs/touch-action
2719
+ */
2720
+ "touch-y": [{
2721
+ "touch-pan": ["y", "up", "down"]
2722
+ }],
2723
+ /**
2724
+ * Touch Action Pinch Zoom
2725
+ * @see https://tailwindcss.com/docs/touch-action
2726
+ */
2727
+ "touch-pz": ["touch-pinch-zoom"],
2728
+ /**
2729
+ * User Select
2730
+ * @see https://tailwindcss.com/docs/user-select
2731
+ */
2732
+ select: [{
2733
+ select: ["none", "text", "all", "auto"]
2734
+ }],
2735
+ /**
2736
+ * Will Change
2737
+ * @see https://tailwindcss.com/docs/will-change
2738
+ */
2739
+ "will-change": [{
2740
+ "will-change": ["auto", "scroll", "contents", "transform", b, v]
2741
+ }],
2742
+ // -----------
2743
+ // --- SVG ---
2744
+ // -----------
2745
+ /**
2746
+ * Fill
2747
+ * @see https://tailwindcss.com/docs/fill
2748
+ */
2749
+ fill: [{
2750
+ fill: ["none", ...k()]
2751
+ }],
2752
+ /**
2753
+ * Stroke Width
2754
+ * @see https://tailwindcss.com/docs/stroke-width
2755
+ */
2756
+ "stroke-w": [{
2757
+ stroke: [P, ye, ne, Fe]
2758
+ }],
2759
+ /**
2760
+ * Stroke
2761
+ * @see https://tailwindcss.com/docs/stroke
2762
+ */
2763
+ stroke: [{
2764
+ stroke: ["none", ...k()]
2765
+ }],
2766
+ // ---------------------
2767
+ // --- Accessibility ---
2768
+ // ---------------------
2769
+ /**
2770
+ * Forced Color Adjust
2771
+ * @see https://tailwindcss.com/docs/forced-color-adjust
2772
+ */
2773
+ "forced-color-adjust": [{
2774
+ "forced-color-adjust": ["auto", "none"]
2775
+ }]
2776
+ },
2777
+ conflictingClassGroups: {
2778
+ overflow: ["overflow-x", "overflow-y"],
2779
+ overscroll: ["overscroll-x", "overscroll-y"],
2780
+ inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
2781
+ "inset-x": ["right", "left"],
2782
+ "inset-y": ["top", "bottom"],
2783
+ flex: ["basis", "grow", "shrink"],
2784
+ gap: ["gap-x", "gap-y"],
2785
+ p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
2786
+ px: ["pr", "pl"],
2787
+ py: ["pt", "pb"],
2788
+ m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
2789
+ mx: ["mr", "ml"],
2790
+ my: ["mt", "mb"],
2791
+ size: ["w", "h"],
2792
+ "font-size": ["leading"],
2793
+ "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
2794
+ "fvn-ordinal": ["fvn-normal"],
2795
+ "fvn-slashed-zero": ["fvn-normal"],
2796
+ "fvn-figure": ["fvn-normal"],
2797
+ "fvn-spacing": ["fvn-normal"],
2798
+ "fvn-fraction": ["fvn-normal"],
2799
+ "line-clamp": ["display", "overflow"],
2800
+ rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
2801
+ "rounded-s": ["rounded-ss", "rounded-es"],
2802
+ "rounded-e": ["rounded-se", "rounded-ee"],
2803
+ "rounded-t": ["rounded-tl", "rounded-tr"],
2804
+ "rounded-r": ["rounded-tr", "rounded-br"],
2805
+ "rounded-b": ["rounded-br", "rounded-bl"],
2806
+ "rounded-l": ["rounded-tl", "rounded-bl"],
2807
+ "border-spacing": ["border-spacing-x", "border-spacing-y"],
2808
+ "border-w": ["border-w-x", "border-w-y", "border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
2809
+ "border-w-x": ["border-w-r", "border-w-l"],
2810
+ "border-w-y": ["border-w-t", "border-w-b"],
2811
+ "border-color": ["border-color-x", "border-color-y", "border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
2812
+ "border-color-x": ["border-color-r", "border-color-l"],
2813
+ "border-color-y": ["border-color-t", "border-color-b"],
2814
+ translate: ["translate-x", "translate-y", "translate-none"],
2815
+ "translate-none": ["translate", "translate-x", "translate-y", "translate-z"],
2816
+ "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
2817
+ "scroll-mx": ["scroll-mr", "scroll-ml"],
2818
+ "scroll-my": ["scroll-mt", "scroll-mb"],
2819
+ "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
2820
+ "scroll-px": ["scroll-pr", "scroll-pl"],
2821
+ "scroll-py": ["scroll-pt", "scroll-pb"],
2822
+ touch: ["touch-x", "touch-y", "touch-pz"],
2823
+ "touch-x": ["touch"],
2824
+ "touch-y": ["touch"],
2825
+ "touch-pz": ["touch"]
2826
+ },
2827
+ conflictingClassGroupModifiers: {
2828
+ "font-size": ["leading"]
2829
+ },
2830
+ orderSensitiveModifiers: ["*", "**", "after", "backdrop", "before", "details-content", "file", "first-letter", "first-line", "marker", "placeholder", "selection"]
2831
+ };
2832
+ }, Ar = /* @__PURE__ */ cr(Vr);
2833
+ function Mr(t, e) {
2834
+ return (...r) => {
2835
+ const o = {};
2836
+ for (const s of r) {
2837
+ const i = t[s];
2838
+ if (i)
2839
+ for (const [a, l] of Object.entries(i))
2840
+ o[a] = (...u) => {
2841
+ const p = e?.[s]?.[a];
2842
+ return Ar(
2843
+ l,
2844
+ p,
2845
+ ...u.filter(Boolean)
2846
+ );
2847
+ };
2848
+ }
2849
+ return o;
2850
+ };
2851
+ }
2852
+ function Ne(t) {
2853
+ const e = t.trim(), r = e.match(/^#?(?<r>[A-Fa-f0-9]{2})(?<g>[A-Fa-f0-9]{2})(?<b>[A-Fa-f0-9]{2})$/);
2854
+ if (r?.groups) {
2855
+ const { r: a, g: l, b: u } = r.groups;
2856
+ return {
2857
+ r: parseInt(a, 16),
2858
+ g: parseInt(l, 16),
2859
+ b: parseInt(u, 16),
2860
+ a: 1
2861
+ };
2862
+ }
2863
+ const o = e.match(/^#?(?<r>[A-Fa-f0-9]{2})(?<g>[A-Fa-f0-9]{2})(?<b>[A-Fa-f0-9]{2})(?<a>[A-Fa-f0-9]{2})$/);
2864
+ if (o?.groups) {
2865
+ const { r: a, g: l, b: u, a: c } = o.groups;
2866
+ return {
2867
+ r: parseInt(a, 16),
2868
+ g: parseInt(l, 16),
2869
+ b: parseInt(u, 16),
2870
+ a: parseInt(c, 16) / 255
2871
+ };
2872
+ }
2873
+ const s = e.match(/^#?(?<r>[A-Fa-f0-9])(?<g>[A-Fa-f0-9])(?<b>[A-Fa-f0-9])$/);
2874
+ if (s?.groups) {
2875
+ const { r: a, g: l, b: u } = s.groups, c = a + a, p = l + l, f = u + u;
2876
+ return {
2877
+ r: parseInt(c, 16),
2878
+ g: parseInt(p, 16),
2879
+ b: parseInt(f, 16),
2880
+ a: 1
2881
+ };
2882
+ }
2883
+ const i = e.match(/^#?(?<r>[A-Fa-f0-9])(?<g>[A-Fa-f0-9])(?<b>[A-Fa-f0-9])(?<a>[A-Fa-f0-9])$/);
2884
+ if (i?.groups) {
2885
+ const { r: a, g: l, b: u, a: c } = i.groups, p = a + a, f = l + l, g = u + u, S = c + c;
2886
+ return {
2887
+ r: parseInt(p, 16),
2888
+ g: parseInt(f, 16),
2889
+ b: parseInt(g, 16),
2890
+ a: parseInt(S, 16) / 255
2891
+ };
2892
+ }
2893
+ return { r: 255, g: 0, b: 0, a: 1 };
2894
+ }
2895
+ function ge(t) {
2896
+ const e = /^([a-zA-Z]{3,4})\(\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+)%?)\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+)%?)\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+)%?)(?:\s*,\s*([+-]?(?:\d+(?:\.\d+)?|\.\d+)%?))?\s*\)$/i, r = t.match(e);
2897
+ if (!r) return null;
2898
+ const [, o, s, i, a, l] = r;
2899
+ return {
2900
+ type: o,
2901
+ values: [s, i, a, l].filter(Boolean)
2902
+ };
2903
+ }
2904
+ function ae(t) {
2905
+ return t.endsWith("%") ? parseFloat(t) / 100 : parseFloat(t);
2906
+ }
2907
+ function Rr(t) {
2908
+ const e = ge(t);
2909
+ return e && e.type?.toLowerCase() === "rgb" ? {
2910
+ r: parseInt(e.values[0], 10),
2911
+ g: parseInt(e.values[1], 10),
2912
+ b: parseInt(e.values[2], 10)
2913
+ } : { r: 255, g: 0, b: 0 };
2914
+ }
2915
+ function zr(t) {
2916
+ const e = ge(t);
2917
+ return e && e.type?.toLowerCase() === "rgb" ? {
2918
+ r: parseInt(e.values[0], 10),
2919
+ g: parseInt(e.values[1], 10),
2920
+ b: parseInt(e.values[2], 10),
2921
+ a: e.values[3] ? parseFloat(e.values[3]) : 1
2922
+ } : { r: 255, g: 0, b: 0, a: 1 };
2923
+ }
2924
+ function Br(t) {
2925
+ const e = ge(t);
2926
+ return e && e.type?.toLowerCase() === "hsl" ? {
2927
+ h: parseFloat(e.values[0]),
2928
+ s: ae(e.values[1]),
2929
+ l: ae(e.values[2])
2930
+ } : { h: 0, s: 0, l: 0 };
2931
+ }
2932
+ function Hr(t) {
2933
+ const e = ge(t);
2934
+ return e && e.type?.toLowerCase() === "hsla" ? {
2935
+ h: parseFloat(e.values[0]),
2936
+ s: ae(e.values[1]),
2937
+ l: ae(e.values[2]),
2938
+ a: e.values[3] ? parseFloat(e.values[3]) : 1
2939
+ } : { h: 0, s: 0, l: 0, a: 1 };
2940
+ }
2941
+ function Dr(t) {
2942
+ const e = ge(t);
2943
+ return e && e.type?.toLowerCase() === "hsv" ? {
2944
+ h: parseFloat(e.values[0]),
2945
+ s: ae(e.values[1]),
2946
+ v: ae(e.values[2])
2947
+ } : { h: 0, s: 0, v: 0 };
2948
+ }
2949
+ function Fr(t) {
2950
+ const e = ge(t);
2951
+ return e && e.type?.toLowerCase() === "hsva" ? {
2952
+ h: parseFloat(e.values[0]),
2953
+ s: ae(e.values[1]),
2954
+ v: ae(e.values[2]),
2955
+ a: e.values[3] ? parseFloat(e.values[3]) : 1
2956
+ } : { h: 0, s: 0, v: 0, a: 1 };
2957
+ }
2958
+ function Ie(t) {
2959
+ const e = Yt(t), r = ht(e);
2960
+ return { hsv: e, hsl: r, rgb: t };
2961
+ }
2962
+ function it(t) {
2963
+ const e = gt(t), r = We(e);
2964
+ return { hsv: e, hsl: t, rgb: r };
2965
+ }
2966
+ function ut(t) {
2967
+ const e = ht(t), r = We(t);
2968
+ return { hsv: t, hsl: e, rgb: r };
2969
+ }
2970
+ function Tr() {
2971
+ const t = N({
2972
+ hsv: { h: 0, s: 0, v: 0 },
2973
+ hsl: { h: 0, s: 0, l: 0 },
2974
+ rgb: { r: 0, g: 0, b: 0 }
2975
+ }), e = N(100), r = x({
2976
+ get: () => t.value.rgb,
2977
+ set: (d) => t.value = Ie(d)
2978
+ }), o = x({
2979
+ get: () => ({ ...t.value.rgb, a: e.value / 100 }),
2980
+ set: (d) => {
2981
+ e.value = Math.round((d.a ?? 1) * 100), t.value = Ie({ r: d.r, g: d.g, b: d.b });
2982
+ }
2983
+ }), s = x({
2984
+ get: () => t.value.hsl,
2985
+ set: (d) => t.value = it(d)
2986
+ }), i = x({
2987
+ get: () => ({ ...t.value.hsl, a: e.value / 100 }),
2988
+ set: (d) => {
2989
+ e.value = Math.round((d.a ?? 1) * 100), t.value = it({ h: d.h, s: d.s, l: d.l });
2990
+ }
2991
+ }), a = x({
2992
+ get: () => t.value.hsv,
2993
+ set: (d) => t.value = ut(d)
2994
+ }), l = x({
2995
+ get: () => ({ ...t.value.hsv, a: e.value / 100 }),
2996
+ set: (d) => {
2997
+ e.value = Math.round((d.a ?? 1) * 100), t.value = ut({ h: d.h, s: d.s, v: d.v });
2998
+ }
2999
+ }), u = x({
3000
+ get: () => rt(t.value.rgb),
3001
+ set: (d) => {
3002
+ const y = ot(d);
3003
+ t.value = Ie(y);
3004
+ }
3005
+ }), c = x({
3006
+ get: () => {
3007
+ const d = rt(t.value.rgb), y = Ve(e.value / 100 * 255);
3008
+ return d + y;
3009
+ },
3010
+ set: (d) => {
3011
+ const y = ot(d.slice(0, 7)), $ = d.slice(7, 9), A = $ ? parseInt($, 16) / 255 : 1;
3012
+ e.value = Math.round(A * 100), t.value = Ie(y);
3013
+ }
3014
+ });
3015
+ function p() {
3016
+ const { r: d, g: y, b: $ } = t.value.rgb;
3017
+ return `rgb(${d}, ${y}, ${$})`;
3018
+ }
3019
+ function f() {
3020
+ const { r: d, g: y, b: $ } = t.value.rgb, A = (e.value / 100).toFixed(2);
3021
+ return `rgba(${d}, ${y}, ${$}, ${A})`;
3022
+ }
3023
+ function g() {
3024
+ const { h: d, s: y, l: $ } = t.value.hsl, A = (y * 100).toFixed(1), D = ($ * 100).toFixed(1);
3025
+ return `hsl(${d}, ${A}%, ${D}%)`;
3026
+ }
3027
+ function S() {
3028
+ const { h: d, s: y, l: $ } = t.value.hsl, A = (y * 100).toFixed(1), D = ($ * 100).toFixed(1), w = (e.value / 100).toFixed(2);
3029
+ return `hsla(${d}, ${A}%, ${D}%, ${w})`;
3030
+ }
3031
+ function C() {
3032
+ const { h: d, s: y, v: $ } = t.value.hsv, A = (y * 100).toFixed(1), D = ($ * 100).toFixed(1);
3033
+ return `hsv(${d}, ${A}%, ${D}%)`;
3034
+ }
3035
+ function h() {
3036
+ const { h: d, s: y, v: $ } = t.value.hsv, A = (y * 100).toFixed(1), D = ($ * 100).toFixed(1), w = (e.value / 100).toFixed(2);
3037
+ return `hsva(${d}, ${A}%, ${D}%, ${w})`;
3038
+ }
3039
+ function I() {
3040
+ return {
3041
+ rgb: le(r.value),
3042
+ rgba: le(o.value),
3043
+ hsl: le(s.value),
3044
+ hsla: le(i.value),
3045
+ hsv: le(a.value),
3046
+ hsva: le(l.value),
3047
+ hex: u.value,
3048
+ hexa: c.value
3049
+ };
3050
+ }
3051
+ function V(d) {
3052
+ switch (d) {
3053
+ case "hex":
3054
+ return u.value;
3055
+ case "hexa":
3056
+ return c.value;
3057
+ case "rgb":
3058
+ return p();
3059
+ case "rgba":
3060
+ return f();
3061
+ case "hsl":
3062
+ return g();
3063
+ case "hsla":
3064
+ return S();
3065
+ case "hsv":
3066
+ return C();
3067
+ case "hsva":
3068
+ return h();
3069
+ case "object":
3070
+ return I();
3071
+ default:
3072
+ return u.value;
3073
+ }
3074
+ }
3075
+ function _(d, y) {
3076
+ switch (y) {
3077
+ case "hex": {
3078
+ o.value = Ne(d);
3079
+ break;
3080
+ }
3081
+ case "hexa": {
3082
+ o.value = Ne(d);
3083
+ break;
3084
+ }
3085
+ case "rgb": {
3086
+ r.value = Rr(d);
3087
+ break;
3088
+ }
3089
+ case "rgba": {
3090
+ o.value = zr(d);
3091
+ break;
3092
+ }
3093
+ case "hsl": {
3094
+ s.value = Br(d);
3095
+ break;
3096
+ }
3097
+ case "hsla": {
3098
+ i.value = Hr(d);
3099
+ break;
3100
+ }
3101
+ case "hsv": {
3102
+ a.value = Dr(d);
3103
+ break;
3104
+ }
3105
+ case "hsva": {
3106
+ l.value = Fr(d);
3107
+ break;
3108
+ }
3109
+ case "object": {
3110
+ t.value = {
3111
+ hsv: d.hsv,
3112
+ hsl: d.hsl,
3113
+ rgb: d.rgb
3114
+ }, e.value = (d.hsva?.a ?? 1) * 100;
3115
+ break;
3116
+ }
3117
+ }
3118
+ }
3119
+ return {
3120
+ state: t,
3121
+ alpha: e,
3122
+ rgb: r,
3123
+ rgba: o,
3124
+ hsl: s,
3125
+ hsla: i,
3126
+ hsv: a,
3127
+ hsva: l,
3128
+ hex: u,
3129
+ hexa: c,
3130
+ toRGBString: p,
3131
+ toRGBAString: f,
3132
+ toHSLString: g,
3133
+ toHSLAString: S,
3134
+ toHSVString: C,
3135
+ toHSVAString: h,
3136
+ toObject: I,
3137
+ toFormat: V,
3138
+ fromFormat: _
3139
+ };
3140
+ }
3141
+ function It(t, e = Number.NEGATIVE_INFINITY, r = Number.POSITIVE_INFINITY) {
3142
+ return Math.min(r, Math.max(e, t));
3143
+ }
3144
+ function Me(t, e) {
3145
+ const r = typeof t == "string" && !e ? `${t}Context` : e, o = Symbol(r);
3146
+ return [(a) => {
3147
+ const l = pt(o, a);
3148
+ if (l || l === null) return l;
3149
+ throw new Error(`Injection \`${o.toString()}\` not found. Component must be used within ${Array.isArray(t) ? `one of the following components: ${t.join(", ")}` : `\`${t}\``}`);
3150
+ }, (a) => (mt(o, a), a)];
3151
+ }
3152
+ function Vt(t) {
3153
+ return t ? t.flatMap((e) => e.type === Te ? Vt(e.children) : [e]) : [];
3154
+ }
3155
+ const [Gr] = Me("ConfigProvider");
3156
+ typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
3157
+ const Lr = (t) => typeof t < "u", qr = ft;
3158
+ function Re(t) {
3159
+ var e;
3160
+ const r = ft(t);
3161
+ return (e = r?.$el) != null ? e : r;
3162
+ }
3163
+ function Nr() {
3164
+ const t = Dt(!1), e = Ke();
3165
+ return e && Ae(() => {
3166
+ t.value = !0;
3167
+ }, e), t;
3168
+ }
3169
+ function jr(t) {
3170
+ return JSON.parse(JSON.stringify(t));
3171
+ }
3172
+ function Or(t, e, r, o = {}) {
3173
+ var s, i, a;
3174
+ const {
3175
+ clone: l = !1,
3176
+ passive: u = !1,
3177
+ eventName: c,
3178
+ deep: p = !1,
3179
+ defaultValue: f,
3180
+ shouldEmit: g
3181
+ } = o, S = Ke(), C = r || S?.emit || ((s = S?.$emit) == null ? void 0 : s.bind(S)) || ((a = (i = S?.proxy) == null ? void 0 : i.$emit) == null ? void 0 : a.bind(S?.proxy));
3182
+ let h = c;
3183
+ h = h || `update:${e.toString()}`;
3184
+ const I = (d) => l ? typeof l == "function" ? l(d) : jr(d) : d, V = () => Lr(t[e]) ? I(t[e]) : f, _ = (d) => {
3185
+ g ? g(d) && C(h, d) : C(h, d);
3186
+ };
3187
+ if (u) {
3188
+ const d = V(), y = N(d);
3189
+ let $ = !1;
3190
+ return fe(
3191
+ () => t[e],
3192
+ (A) => {
3193
+ $ || ($ = !0, y.value = I(A), Ht(() => $ = !1));
3194
+ }
3195
+ ), fe(
3196
+ y,
3197
+ (A) => {
3198
+ !$ && (A !== t[e] || p) && _(A);
3199
+ },
3200
+ { deep: p }
3201
+ ), y;
3202
+ } else
3203
+ return x({
3204
+ get() {
3205
+ return V();
3206
+ },
3207
+ set(d) {
3208
+ _(d);
3209
+ }
3210
+ });
3211
+ }
3212
+ function Kr(t) {
3213
+ const e = Gr({ dir: N("ltr") });
3214
+ return x(() => t?.value || e.dir?.value || "ltr");
3215
+ }
3216
+ function Ur(t) {
3217
+ return x(() => qr(t) ? !!Re(t)?.closest("form") : !0);
3218
+ }
3219
+ function he() {
3220
+ const t = Ke(), e = N(), r = x(() => ["#text", "#comment"].includes(e.value?.$el.nodeName) ? e.value?.$el.nextElementSibling : Re(e)), o = Object.assign({}, t.exposed), s = {};
3221
+ for (const a in t.props) Object.defineProperty(s, a, {
3222
+ enumerable: !0,
3223
+ configurable: !0,
3224
+ get: () => t.props[a]
3225
+ });
3226
+ if (Object.keys(o).length > 0) for (const a in o) Object.defineProperty(s, a, {
3227
+ enumerable: !0,
3228
+ configurable: !0,
3229
+ get: () => o[a]
3230
+ });
3231
+ Object.defineProperty(s, "$el", {
3232
+ enumerable: !0,
3233
+ configurable: !0,
3234
+ get: () => t.vnode.el
3235
+ }), t.exposed = s;
3236
+ function i(a) {
3237
+ e.value = a, a && (Object.defineProperty(s, "$el", {
3238
+ enumerable: !0,
3239
+ configurable: !0,
3240
+ get: () => a instanceof Element ? a : a.$el
3241
+ }), t.exposed = s);
3242
+ }
3243
+ return {
3244
+ forwardRef: i,
3245
+ currentRef: e,
3246
+ currentElement: r
3247
+ };
3248
+ }
3249
+ function Wr(t) {
3250
+ const e = N(), r = x(() => e.value?.width ?? 0), o = x(() => e.value?.height ?? 0);
3251
+ return Ae(() => {
3252
+ const s = Re(t);
3253
+ if (s) {
3254
+ e.value = {
3255
+ width: s.offsetWidth,
3256
+ height: s.offsetHeight
3257
+ };
3258
+ const i = new ResizeObserver((a) => {
3259
+ if (!Array.isArray(a) || !a.length) return;
3260
+ const l = a[0];
3261
+ let u, c;
3262
+ if ("borderBoxSize" in l) {
3263
+ const p = l.borderBoxSize, f = Array.isArray(p) ? p[0] : p;
3264
+ u = f.inlineSize, c = f.blockSize;
3265
+ } else
3266
+ u = s.offsetWidth, c = s.offsetHeight;
3267
+ e.value = {
3268
+ width: u,
3269
+ height: c
3270
+ };
3271
+ });
3272
+ return i.observe(s, { box: "border-box" }), () => i.unobserve(s);
3273
+ } else e.value = void 0;
3274
+ }), {
3275
+ width: r,
3276
+ height: o
3277
+ };
3278
+ }
3279
+ const je = R({
3280
+ name: "PrimitiveSlot",
3281
+ inheritAttrs: !1,
3282
+ setup(t, { attrs: e, slots: r }) {
3283
+ return () => {
3284
+ if (!r.default) return null;
3285
+ const o = Vt(r.default()), s = o.findIndex((u) => u.type !== Ft);
3286
+ if (s === -1) return o;
3287
+ const i = o[s];
3288
+ delete i.props?.ref;
3289
+ const a = i.props ? oe(e, i.props) : e, l = Tt({
3290
+ ...i,
3291
+ props: {}
3292
+ }, a);
3293
+ return o.length === 1 ? l : (o[s] = l, o);
3294
+ };
3295
+ }
3296
+ }), Yr = [
3297
+ "area",
3298
+ "img",
3299
+ "input"
3300
+ ], ze = R({
3301
+ name: "Primitive",
3302
+ inheritAttrs: !1,
3303
+ props: {
3304
+ asChild: {
3305
+ type: Boolean,
3306
+ default: !1
3307
+ },
3308
+ as: {
3309
+ type: [String, Object],
3310
+ default: "div"
3311
+ }
3312
+ },
3313
+ setup(t, { attrs: e, slots: r }) {
3314
+ const o = t.asChild ? "template" : t.as;
3315
+ return typeof o == "string" && Yr.includes(o) ? () => xe(o, e) : o !== "template" ? () => xe(t.as, e, { default: r.default }) : () => xe(je, e, { default: r.default });
3316
+ }
3317
+ });
3318
+ function Oe() {
3319
+ const t = N(), e = x(() => ["#text", "#comment"].includes(t.value?.$el.nodeName) ? t.value?.$el.nextElementSibling : Re(t));
3320
+ return {
3321
+ primitiveElement: t,
3322
+ currentElement: e
3323
+ };
3324
+ }
3325
+ const dt = "data-reka-collection-item";
3326
+ function Xe(t = {}) {
3327
+ const { key: e = "", isProvider: r = !1 } = t, o = `${e}CollectionProvider`;
3328
+ let s;
3329
+ if (r) {
3330
+ const p = N(/* @__PURE__ */ new Map());
3331
+ s = {
3332
+ collectionRef: N(),
3333
+ itemMap: p
3334
+ }, mt(o, s);
3335
+ } else s = pt(o);
3336
+ const i = (p = !1) => {
3337
+ const f = s.collectionRef.value;
3338
+ if (!f) return [];
3339
+ const g = Array.from(f.querySelectorAll(`[${dt}]`)), C = Array.from(s.itemMap.value.values()).sort((h, I) => g.indexOf(h.ref) - g.indexOf(I.ref));
3340
+ return p ? C : C.filter((h) => h.ref.dataset.disabled !== "");
3341
+ }, a = R({
3342
+ name: "CollectionSlot",
3343
+ setup(p, { slots: f }) {
3344
+ const { primitiveElement: g, currentElement: S } = Oe();
3345
+ return fe(S, () => {
3346
+ s.collectionRef.value = S.value;
3347
+ }), () => xe(je, { ref: g }, f);
3348
+ }
3349
+ }), l = R({
3350
+ name: "CollectionItem",
3351
+ inheritAttrs: !1,
3352
+ props: { value: { validator: () => !0 } },
3353
+ setup(p, { slots: f, attrs: g }) {
3354
+ const { primitiveElement: S, currentElement: C } = Oe();
3355
+ return vt((h) => {
3356
+ if (C.value) {
3357
+ const I = Gt(C.value);
3358
+ s.itemMap.value.set(I, {
3359
+ ref: C.value,
3360
+ value: p.value
3361
+ }), h(() => s.itemMap.value.delete(I));
3362
+ }
3363
+ }), () => xe(je, {
3364
+ ...g,
3365
+ [dt]: "",
3366
+ ref: S
3367
+ }, f);
3368
+ }
3369
+ }), u = x(() => Array.from(s.itemMap.value.values())), c = x(() => s.itemMap.value.size);
3370
+ return {
3371
+ getItems: i,
3372
+ reactiveItems: u,
3373
+ itemMapSize: c,
3374
+ CollectionSlot: a,
3375
+ CollectionItem: l
3376
+ };
3377
+ }
3378
+ var Xr = /* @__PURE__ */ R({
3379
+ __name: "VisuallyHidden",
3380
+ props: {
3381
+ feature: {
3382
+ type: String,
3383
+ required: !1,
3384
+ default: "focusable"
3385
+ },
3386
+ asChild: {
3387
+ type: Boolean,
3388
+ required: !1
3389
+ },
3390
+ as: {
3391
+ type: null,
3392
+ required: !1,
3393
+ default: "span"
3394
+ }
3395
+ },
3396
+ setup(t) {
3397
+ return (e, r) => (M(), H(n(ze), {
3398
+ as: e.as,
3399
+ "as-child": e.asChild,
3400
+ "aria-hidden": e.feature === "focusable" ? "true" : void 0,
3401
+ "data-hidden": e.feature === "fully-hidden" ? "" : void 0,
3402
+ tabindex: e.feature === "fully-hidden" ? "-1" : void 0,
3403
+ style: {
3404
+ position: "absolute",
3405
+ border: 0,
3406
+ width: "1px",
3407
+ height: "1px",
3408
+ padding: 0,
3409
+ margin: "-1px",
3410
+ overflow: "hidden",
3411
+ clip: "rect(0, 0, 0, 0)",
3412
+ clipPath: "inset(50%)",
3413
+ whiteSpace: "nowrap",
3414
+ wordWrap: "normal",
3415
+ top: "-1px",
3416
+ left: "-1px"
3417
+ }
3418
+ }, {
3419
+ default: j(() => [ee(e.$slots, "default")]),
3420
+ _: 3
3421
+ }, 8, [
3422
+ "as",
3423
+ "as-child",
3424
+ "aria-hidden",
3425
+ "data-hidden",
3426
+ "tabindex"
3427
+ ]));
3428
+ }
3429
+ }), Jr = Xr, Zr = /* @__PURE__ */ R({
3430
+ inheritAttrs: !1,
3431
+ __name: "VisuallyHiddenInputBubble",
3432
+ props: {
3433
+ name: {
3434
+ type: String,
3435
+ required: !0
3436
+ },
3437
+ value: {
3438
+ type: null,
3439
+ required: !0
3440
+ },
3441
+ checked: {
3442
+ type: Boolean,
3443
+ required: !1,
3444
+ default: void 0
3445
+ },
3446
+ required: {
3447
+ type: Boolean,
3448
+ required: !1
3449
+ },
3450
+ disabled: {
3451
+ type: Boolean,
3452
+ required: !1
3453
+ },
3454
+ feature: {
3455
+ type: String,
3456
+ required: !1,
3457
+ default: "fully-hidden"
3458
+ }
3459
+ },
3460
+ setup(t) {
3461
+ const e = t, { primitiveElement: r, currentElement: o } = Oe(), s = x(() => e.checked ?? e.value);
3462
+ return fe(s, (i, a) => {
3463
+ if (!o.value) return;
3464
+ const l = o.value, u = window.HTMLInputElement.prototype, p = Object.getOwnPropertyDescriptor(u, "value").set;
3465
+ if (p && i !== a) {
3466
+ const f = new Event("input", { bubbles: !0 }), g = new Event("change", { bubbles: !0 });
3467
+ p.call(l, i), l.dispatchEvent(f), l.dispatchEvent(g);
3468
+ }
3469
+ }), (i, a) => (M(), H(Jr, oe({
3470
+ ref_key: "primitiveElement",
3471
+ ref: r
3472
+ }, {
3473
+ ...e,
3474
+ ...i.$attrs
3475
+ }, { as: "input" }), null, 16));
3476
+ }
3477
+ }), ct = Zr, Qr = /* @__PURE__ */ R({
3478
+ inheritAttrs: !1,
3479
+ __name: "VisuallyHiddenInput",
3480
+ props: {
3481
+ name: {
3482
+ type: String,
3483
+ required: !0
3484
+ },
3485
+ value: {
3486
+ type: null,
3487
+ required: !0
3488
+ },
3489
+ checked: {
3490
+ type: Boolean,
3491
+ required: !1,
3492
+ default: void 0
3493
+ },
3494
+ required: {
3495
+ type: Boolean,
3496
+ required: !1
3497
+ },
3498
+ disabled: {
3499
+ type: Boolean,
3500
+ required: !1
3501
+ },
3502
+ feature: {
3503
+ type: String,
3504
+ required: !1,
3505
+ default: "fully-hidden"
3506
+ }
3507
+ },
3508
+ setup(t) {
3509
+ const e = t, r = x(() => typeof e.value == "object" && Array.isArray(e.value) && e.value.length === 0 && e.required), o = x(() => typeof e.value == "string" || typeof e.value == "number" || typeof e.value == "boolean" || e.value === null || e.value === void 0 ? [{
3510
+ name: e.name,
3511
+ value: e.value
3512
+ }] : typeof e.value == "object" && Array.isArray(e.value) ? e.value.flatMap((s, i) => typeof s == "object" ? Object.entries(s).map(([a, l]) => ({
3513
+ name: `${e.name}[${i}][${a}]`,
3514
+ value: l
3515
+ })) : {
3516
+ name: `${e.name}[${i}]`,
3517
+ value: s
3518
+ }) : e.value !== null && typeof e.value == "object" && !Array.isArray(e.value) ? Object.entries(e.value).map(([s, i]) => ({
3519
+ name: `${e.name}[${s}]`,
3520
+ value: i
3521
+ })) : []);
3522
+ return (s, i) => (M(), Z(Te, null, [se(" We render single input if it's required "), r.value ? (M(), H(ct, oe({ key: s.name }, {
3523
+ ...e,
3524
+ ...s.$attrs
3525
+ }, {
3526
+ name: s.name,
3527
+ value: s.value
3528
+ }), null, 16, ["name", "value"])) : (M(!0), Z(Te, { key: 1 }, Lt(o.value, (a) => (M(), H(ct, oe({ key: a.name }, { ref_for: !0 }, {
3529
+ ...e,
3530
+ ...s.$attrs
3531
+ }, {
3532
+ name: a.name,
3533
+ value: a.value
3534
+ }), null, 16, ["name", "value"]))), 128))], 2112));
3535
+ }
3536
+ }), eo = Qr;
3537
+ function to(t = [], e, r) {
3538
+ const o = [...t];
3539
+ return o[r] = e, o.sort((s, i) => s - i);
3540
+ }
3541
+ function ro(t, e, r) {
3542
+ const i = 100 / (r - e) * (t - e);
3543
+ return It(i, 0, 100);
3544
+ }
3545
+ function oo(t, e) {
3546
+ return e > 2 ? `Value ${t + 1} of ${e}` : e === 2 ? ["Minimum", "Maximum"][t] : void 0;
3547
+ }
3548
+ function ao(t, e) {
3549
+ if (t.length === 1) return 0;
3550
+ const r = t.map((s) => Math.abs(s - e)), o = Math.min(...r);
3551
+ return r.indexOf(o);
3552
+ }
3553
+ function no(t, e, r) {
3554
+ const o = t / 2, i = Je([0, 50], [0, o]);
3555
+ return (o - i(e) * r) * r;
3556
+ }
3557
+ function lo(t) {
3558
+ return t.slice(0, -1).map((e, r) => t[r + 1] - e);
3559
+ }
3560
+ function so(t, e) {
3561
+ if (e > 0) {
3562
+ const r = lo(t);
3563
+ return Math.min(...r) >= e;
3564
+ }
3565
+ return !0;
3566
+ }
3567
+ function Je(t, e) {
3568
+ return (r) => {
3569
+ if (t[0] === t[1] || e[0] === e[1]) return e[0];
3570
+ const o = (e[1] - e[0]) / (t[1] - t[0]);
3571
+ return e[0] + o * (r - t[0]);
3572
+ };
3573
+ }
3574
+ function io(t) {
3575
+ return (String(t).split(".")[1] || "").length;
3576
+ }
3577
+ function uo(t, e) {
3578
+ const r = 10 ** e;
3579
+ return Math.round(t * r) / r;
3580
+ }
3581
+ const At = ["PageUp", "PageDown"], Mt = [
3582
+ "ArrowUp",
3583
+ "ArrowDown",
3584
+ "ArrowLeft",
3585
+ "ArrowRight"
3586
+ ], Rt = {
3587
+ "from-left": [
3588
+ "Home",
3589
+ "PageDown",
3590
+ "ArrowDown",
3591
+ "ArrowLeft"
3592
+ ],
3593
+ "from-right": [
3594
+ "Home",
3595
+ "PageDown",
3596
+ "ArrowDown",
3597
+ "ArrowRight"
3598
+ ],
3599
+ "from-bottom": [
3600
+ "Home",
3601
+ "PageDown",
3602
+ "ArrowDown",
3603
+ "ArrowLeft"
3604
+ ],
3605
+ "from-top": [
3606
+ "Home",
3607
+ "PageUp",
3608
+ "ArrowUp",
3609
+ "ArrowLeft"
3610
+ ]
3611
+ }, [co, zt] = Me(["SliderVertical", "SliderHorizontal"]);
3612
+ var po = /* @__PURE__ */ R({
3613
+ __name: "SliderHorizontal",
3614
+ props: {
3615
+ dir: {
3616
+ type: String,
3617
+ required: !1
3618
+ },
3619
+ min: {
3620
+ type: Number,
3621
+ required: !0
3622
+ },
3623
+ max: {
3624
+ type: Number,
3625
+ required: !0
3626
+ },
3627
+ inverted: {
3628
+ type: Boolean,
3629
+ required: !0
3630
+ }
3631
+ },
3632
+ emits: [
3633
+ "slideEnd",
3634
+ "slideStart",
3635
+ "slideMove",
3636
+ "homeKeyDown",
3637
+ "endKeyDown",
3638
+ "stepKeyDown"
3639
+ ],
3640
+ setup(t, { emit: e }) {
3641
+ const r = t, o = e, { max: s, min: i, dir: a, inverted: l } = Ue(r), { forwardRef: u, currentElement: c } = he(), p = we(), f = N(), g = N(), S = x(() => a?.value !== "rtl" && !l.value || a?.value !== "ltr" && l.value);
3642
+ function C(_, d) {
3643
+ const y = g.value || c.value.getBoundingClientRect(), $ = [...p.thumbElements.value][p.valueIndexToChangeRef.value], A = p.thumbAlignment.value === "contain" ? $.clientWidth : 0;
3644
+ !f.value && !d && p.thumbAlignment.value === "contain" && (f.value = _.clientX - $.getBoundingClientRect().left);
3645
+ const D = [0, y.width - A], w = S.value ? [i.value, s.value] : [s.value, i.value], O = Je(D, w);
3646
+ g.value = y;
3647
+ const z = d ? _.clientX - y.left - A / 2 : _.clientX - y.left - (f.value ?? 0);
3648
+ return O(z);
3649
+ }
3650
+ const h = x(() => S.value ? "left" : "right"), I = x(() => S.value ? "right" : "left"), V = x(() => S.value ? 1 : -1);
3651
+ return zt({
3652
+ startEdge: h,
3653
+ endEdge: I,
3654
+ direction: V,
3655
+ size: "width"
3656
+ }), (_, d) => (M(), H(Bt, {
3657
+ ref: n(u),
3658
+ dir: n(a),
3659
+ "data-orientation": "horizontal",
3660
+ style: L({ "--reka-slider-thumb-transform": !S.value && n(p).thumbAlignment.value === "overflow" ? "translateX(50%)" : "translateX(-50%)" }),
3661
+ onSlideStart: d[0] || (d[0] = (y) => {
3662
+ const $ = C(y, !0);
3663
+ o("slideStart", $);
3664
+ }),
3665
+ onSlideMove: d[1] || (d[1] = (y) => {
3666
+ const $ = C(y);
3667
+ o("slideMove", $);
3668
+ }),
3669
+ onSlideEnd: d[2] || (d[2] = () => {
3670
+ g.value = void 0, f.value = void 0, o("slideEnd");
3671
+ }),
3672
+ onStepKeyDown: d[3] || (d[3] = (y) => {
3673
+ const $ = S.value ? "from-left" : "from-right", A = n(Rt)[$].includes(y.key);
3674
+ o("stepKeyDown", y, A ? -1 : 1);
3675
+ }),
3676
+ onEndKeyDown: d[4] || (d[4] = (y) => o("endKeyDown", y)),
3677
+ onHomeKeyDown: d[5] || (d[5] = (y) => o("homeKeyDown", y))
3678
+ }, {
3679
+ default: j(() => [ee(_.$slots, "default")]),
3680
+ _: 3
3681
+ }, 8, ["dir", "style"]));
3682
+ }
3683
+ }), mo = po, fo = /* @__PURE__ */ R({
3684
+ __name: "SliderVertical",
3685
+ props: {
3686
+ min: {
3687
+ type: Number,
3688
+ required: !0
3689
+ },
3690
+ max: {
3691
+ type: Number,
3692
+ required: !0
3693
+ },
3694
+ inverted: {
3695
+ type: Boolean,
3696
+ required: !0
3697
+ }
3698
+ },
3699
+ emits: [
3700
+ "slideEnd",
3701
+ "slideStart",
3702
+ "slideMove",
3703
+ "homeKeyDown",
3704
+ "endKeyDown",
3705
+ "stepKeyDown"
3706
+ ],
3707
+ setup(t, { emit: e }) {
3708
+ const r = t, o = e, { max: s, min: i, inverted: a } = Ue(r), l = we(), { forwardRef: u, currentElement: c } = he(), p = N(), f = N(), g = x(() => !a.value);
3709
+ function S(V, _) {
3710
+ const d = f.value || c.value.getBoundingClientRect(), y = [...l.thumbElements.value][l.valueIndexToChangeRef.value], $ = l.thumbAlignment.value === "contain" ? y.clientHeight : 0;
3711
+ !p.value && !_ && l.thumbAlignment.value === "contain" && (p.value = V.clientY - y.getBoundingClientRect().top);
3712
+ const A = [0, d.height - $], D = g.value ? [s.value, i.value] : [i.value, s.value], w = Je(A, D), O = _ ? V.clientY - d.top - $ / 2 : V.clientY - d.top - (p.value ?? 0);
3713
+ return f.value = d, w(O);
3714
+ }
3715
+ const C = x(() => g.value ? "bottom" : "top"), h = x(() => g.value ? "top" : "bottom"), I = x(() => g.value ? 1 : -1);
3716
+ return zt({
3717
+ startEdge: C,
3718
+ endEdge: h,
3719
+ direction: I,
3720
+ size: "height"
3721
+ }), (V, _) => (M(), H(Bt, {
3722
+ ref: n(u),
3723
+ "data-orientation": "vertical",
3724
+ style: L({ "--reka-slider-thumb-transform": !g.value && n(l).thumbAlignment.value === "overflow" ? "translateY(-50%)" : "translateY(50%)" }),
3725
+ onSlideStart: _[0] || (_[0] = (d) => {
3726
+ const y = S(d, !0);
3727
+ o("slideStart", y);
3728
+ }),
3729
+ onSlideMove: _[1] || (_[1] = (d) => {
3730
+ const y = S(d);
3731
+ o("slideMove", y);
3732
+ }),
3733
+ onSlideEnd: _[2] || (_[2] = () => {
3734
+ f.value = void 0, p.value = void 0, o("slideEnd");
3735
+ }),
3736
+ onStepKeyDown: _[3] || (_[3] = (d) => {
3737
+ const y = g.value ? "from-bottom" : "from-top", $ = n(Rt)[y].includes(d.key);
3738
+ o("stepKeyDown", d, $ ? -1 : 1);
3739
+ }),
3740
+ onEndKeyDown: _[4] || (_[4] = (d) => o("endKeyDown", d)),
3741
+ onHomeKeyDown: _[5] || (_[5] = (d) => o("homeKeyDown", d))
3742
+ }, {
3743
+ default: j(() => [ee(V.$slots, "default")]),
3744
+ _: 3
3745
+ }, 8, ["style"]));
3746
+ }
3747
+ }), vo = fo;
3748
+ const [we, bo] = Me("SliderRoot");
3749
+ var go = /* @__PURE__ */ R({
3750
+ inheritAttrs: !1,
3751
+ __name: "SliderRoot",
3752
+ props: {
3753
+ defaultValue: {
3754
+ type: Array,
3755
+ required: !1,
3756
+ default: () => [0]
3757
+ },
3758
+ modelValue: {
3759
+ type: [Array, null],
3760
+ required: !1
3761
+ },
3762
+ disabled: {
3763
+ type: Boolean,
3764
+ required: !1,
3765
+ default: !1
3766
+ },
3767
+ orientation: {
3768
+ type: String,
3769
+ required: !1,
3770
+ default: "horizontal"
3771
+ },
3772
+ dir: {
3773
+ type: String,
3774
+ required: !1
3775
+ },
3776
+ inverted: {
3777
+ type: Boolean,
3778
+ required: !1,
3779
+ default: !1
3780
+ },
3781
+ min: {
3782
+ type: Number,
3783
+ required: !1,
3784
+ default: 0
3785
+ },
3786
+ max: {
3787
+ type: Number,
3788
+ required: !1,
3789
+ default: 100
3790
+ },
3791
+ step: {
3792
+ type: Number,
3793
+ required: !1,
3794
+ default: 1
3795
+ },
3796
+ minStepsBetweenThumbs: {
3797
+ type: Number,
3798
+ required: !1,
3799
+ default: 0
3800
+ },
3801
+ thumbAlignment: {
3802
+ type: String,
3803
+ required: !1,
3804
+ default: "contain"
3805
+ },
3806
+ asChild: {
3807
+ type: Boolean,
3808
+ required: !1
3809
+ },
3810
+ as: {
3811
+ type: null,
3812
+ required: !1,
3813
+ default: "span"
3814
+ },
3815
+ name: {
3816
+ type: String,
3817
+ required: !1
3818
+ },
3819
+ required: {
3820
+ type: Boolean,
3821
+ required: !1
3822
+ }
3823
+ },
3824
+ emits: ["update:modelValue", "valueCommit"],
3825
+ setup(t, { emit: e }) {
3826
+ const r = t, o = e, { min: s, max: i, step: a, minStepsBetweenThumbs: l, orientation: u, disabled: c, thumbAlignment: p, dir: f } = Ue(r), g = Kr(f), { forwardRef: S, currentElement: C } = he(), h = Ur(C), { CollectionSlot: I } = Xe({ isProvider: !0 }), V = Or(r, "modelValue", o, {
3827
+ defaultValue: r.defaultValue,
3828
+ passive: r.modelValue === void 0
3829
+ }), _ = x(() => Array.isArray(V.value) ? [...V.value] : []), d = N(0), y = N(_.value);
3830
+ function $(z) {
3831
+ const B = ao(_.value, z);
3832
+ w(z, B);
3833
+ }
3834
+ function A(z) {
3835
+ w(z, d.value);
3836
+ }
3837
+ function D() {
3838
+ const z = y.value[d.value];
3839
+ _.value[d.value] !== z && o("valueCommit", le(_.value));
3840
+ }
3841
+ function w(z, B, { commit: T } = { commit: !1 }) {
3842
+ const ce = io(a.value), pe = uo(Math.round((z - s.value) / a.value) * a.value + s.value, ce), Q = It(pe, s.value, i.value), q = to(_.value, Q, B);
3843
+ if (so(q, l.value * a.value)) {
3844
+ d.value = q.indexOf(Q);
3845
+ const Y = String(q) !== String(V.value);
3846
+ Y && T && o("valueCommit", q), Y && (O.value[d.value]?.focus(), V.value = q);
3847
+ }
3848
+ }
3849
+ const O = N([]);
3850
+ return bo({
3851
+ modelValue: V,
3852
+ currentModelValue: _,
3853
+ valueIndexToChangeRef: d,
3854
+ thumbElements: O,
3855
+ orientation: u,
3856
+ min: s,
3857
+ max: i,
3858
+ disabled: c,
3859
+ thumbAlignment: p
3860
+ }), (z, B) => (M(), H(n(I), null, {
3861
+ default: j(() => [(M(), H(qt(n(u) === "horizontal" ? mo : vo), oe(z.$attrs, {
3862
+ ref: n(S),
3863
+ "as-child": z.asChild,
3864
+ as: z.as,
3865
+ min: n(s),
3866
+ max: n(i),
3867
+ dir: n(g),
3868
+ inverted: z.inverted,
3869
+ "aria-disabled": n(c),
3870
+ "data-disabled": n(c) ? "" : void 0,
3871
+ onPointerdown: B[0] || (B[0] = () => {
3872
+ n(c) || (y.value = _.value);
3873
+ }),
3874
+ onSlideStart: B[1] || (B[1] = (T) => !n(c) && $(T)),
3875
+ onSlideMove: B[2] || (B[2] = (T) => !n(c) && A(T)),
3876
+ onSlideEnd: B[3] || (B[3] = (T) => !n(c) && D()),
3877
+ onHomeKeyDown: B[4] || (B[4] = (T) => !n(c) && w(n(s), 0, { commit: !0 })),
3878
+ onEndKeyDown: B[5] || (B[5] = (T) => !n(c) && w(n(i), _.value.length - 1, { commit: !0 })),
3879
+ onStepKeyDown: B[6] || (B[6] = (T, ce) => {
3880
+ if (!n(c)) {
3881
+ const q = n(At).includes(T.key) || T.shiftKey && n(Mt).includes(T.key) ? 10 : 1, Y = d.value, k = _.value[Y], ke = n(a) * q * ce;
3882
+ w(k + ke, Y, { commit: !0 });
3883
+ }
3884
+ })
3885
+ }), {
3886
+ default: j(() => [ee(z.$slots, "default", { modelValue: n(V) }), n(h) && z.name ? (M(), H(n(eo), {
3887
+ key: 0,
3888
+ type: "number",
3889
+ value: n(V),
3890
+ name: z.name,
3891
+ required: z.required,
3892
+ disabled: n(c),
3893
+ step: n(a)
3894
+ }, null, 8, [
3895
+ "value",
3896
+ "name",
3897
+ "required",
3898
+ "disabled",
3899
+ "step"
3900
+ ])) : se("v-if", !0)]),
3901
+ _: 3
3902
+ }, 16, [
3903
+ "as-child",
3904
+ "as",
3905
+ "min",
3906
+ "max",
3907
+ "dir",
3908
+ "inverted",
3909
+ "aria-disabled",
3910
+ "data-disabled"
3911
+ ]))]),
3912
+ _: 3
3913
+ }));
3914
+ }
3915
+ }), ie = go, ho = /* @__PURE__ */ R({
3916
+ __name: "SliderImpl",
3917
+ props: {
3918
+ asChild: {
3919
+ type: Boolean,
3920
+ required: !1
3921
+ },
3922
+ as: {
3923
+ type: null,
3924
+ required: !1,
3925
+ default: "span"
3926
+ }
3927
+ },
3928
+ emits: [
3929
+ "slideStart",
3930
+ "slideMove",
3931
+ "slideEnd",
3932
+ "homeKeyDown",
3933
+ "endKeyDown",
3934
+ "stepKeyDown"
3935
+ ],
3936
+ setup(t, { emit: e }) {
3937
+ const r = t, o = e, s = we();
3938
+ return (i, a) => (M(), H(n(ze), oe({ "data-slider-impl": "" }, r, {
3939
+ onKeydown: a[0] || (a[0] = (l) => {
3940
+ l.key === "Home" ? (o("homeKeyDown", l), l.preventDefault()) : l.key === "End" ? (o("endKeyDown", l), l.preventDefault()) : n(At).concat(n(Mt)).includes(l.key) && (o("stepKeyDown", l), l.preventDefault());
3941
+ }),
3942
+ onPointerdown: a[1] || (a[1] = (l) => {
3943
+ const u = l.target;
3944
+ u.setPointerCapture(l.pointerId), l.preventDefault(), n(s).thumbElements.value.includes(u) ? u.focus() : o("slideStart", l);
3945
+ }),
3946
+ onPointermove: a[2] || (a[2] = (l) => {
3947
+ l.target.hasPointerCapture(l.pointerId) && o("slideMove", l);
3948
+ }),
3949
+ onPointerup: a[3] || (a[3] = (l) => {
3950
+ const u = l.target;
3951
+ u.hasPointerCapture(l.pointerId) && (u.releasePointerCapture(l.pointerId), o("slideEnd", l));
3952
+ })
3953
+ }), {
3954
+ default: j(() => [ee(i.$slots, "default")]),
3955
+ _: 3
3956
+ }, 16));
3957
+ }
3958
+ }), Bt = ho, yo = /* @__PURE__ */ R({
3959
+ inheritAttrs: !1,
3960
+ __name: "SliderThumbImpl",
3961
+ props: {
3962
+ index: {
3963
+ type: Number,
3964
+ required: !0
3965
+ },
3966
+ asChild: {
3967
+ type: Boolean,
3968
+ required: !1
3969
+ },
3970
+ as: {
3971
+ type: null,
3972
+ required: !1
3973
+ }
3974
+ },
3975
+ setup(t) {
3976
+ const e = t, r = we(), o = co(), { forwardRef: s, currentElement: i } = he(), { CollectionItem: a } = Xe(), l = x(() => r.modelValue?.value?.[e.index]), u = x(() => l.value === void 0 ? 0 : ro(l.value, r.min.value ?? 0, r.max.value ?? 100)), c = x(() => oo(e.index, r.modelValue?.value?.length ?? 0)), p = Wr(i), f = x(() => p[o.size].value), g = x(() => r.thumbAlignment.value === "overflow" || !f.value ? 0 : no(f.value, u.value, o.direction.value)), S = Nr();
3977
+ return Ae(() => {
3978
+ r.thumbElements.value.push(i.value);
3979
+ }), bt(() => {
3980
+ const C = r.thumbElements.value.findIndex((h) => h === i.value) ?? -1;
3981
+ r.thumbElements.value.splice(C, 1);
3982
+ }), (C, h) => (M(), H(n(a), null, {
3983
+ default: j(() => [U(n(ze), oe(C.$attrs, {
3984
+ ref: n(s),
3985
+ role: "slider",
3986
+ tabindex: n(r).disabled.value ? void 0 : 0,
3987
+ "aria-label": C.$attrs["aria-label"] || c.value,
3988
+ "data-disabled": n(r).disabled.value ? "" : void 0,
3989
+ "data-orientation": n(r).orientation.value,
3990
+ "aria-valuenow": l.value,
3991
+ "aria-valuemin": n(r).min.value,
3992
+ "aria-valuemax": n(r).max.value,
3993
+ "aria-orientation": n(r).orientation.value,
3994
+ "as-child": C.asChild,
3995
+ as: C.as,
3996
+ style: {
3997
+ transform: "var(--reka-slider-thumb-transform)",
3998
+ position: "absolute",
3999
+ [n(o).startEdge.value]: `calc(${u.value}% + ${g.value}px)`,
4000
+ display: !n(S) && l.value === void 0 ? "none" : void 0
4001
+ },
4002
+ onFocus: h[0] || (h[0] = () => {
4003
+ n(r).valueIndexToChangeRef.value = C.index;
4004
+ })
4005
+ }), {
4006
+ default: j(() => [ee(C.$slots, "default")]),
4007
+ _: 3
4008
+ }, 16, [
4009
+ "tabindex",
4010
+ "aria-label",
4011
+ "data-disabled",
4012
+ "data-orientation",
4013
+ "aria-valuenow",
4014
+ "aria-valuemin",
4015
+ "aria-valuemax",
4016
+ "aria-orientation",
4017
+ "as-child",
4018
+ "as",
4019
+ "style"
4020
+ ])]),
4021
+ _: 3
4022
+ }));
4023
+ }
4024
+ }), xo = yo, wo = /* @__PURE__ */ R({
4025
+ __name: "SliderThumb",
4026
+ props: {
4027
+ asChild: {
4028
+ type: Boolean,
4029
+ required: !1
4030
+ },
4031
+ as: {
4032
+ type: null,
4033
+ required: !1,
4034
+ default: "span"
4035
+ }
4036
+ },
4037
+ setup(t) {
4038
+ const e = t, { getItems: r } = Xe(), { forwardRef: o, currentElement: s } = he(), i = x(() => s.value ? r(!0).findIndex((a) => a.ref === s.value) : -1);
4039
+ return (a, l) => (M(), H(xo, oe({ ref: n(o) }, e, { index: i.value }), {
4040
+ default: j(() => [ee(a.$slots, "default")]),
4041
+ _: 3
4042
+ }, 16, ["index"]));
4043
+ }
4044
+ }), ue = wo, ko = /* @__PURE__ */ R({
4045
+ __name: "SliderTrack",
4046
+ props: {
4047
+ asChild: {
4048
+ type: Boolean,
4049
+ required: !1
4050
+ },
4051
+ as: {
4052
+ type: null,
4053
+ required: !1,
4054
+ default: "span"
4055
+ }
4056
+ },
4057
+ setup(t) {
4058
+ const e = we();
4059
+ return he(), (r, o) => (M(), H(n(ze), {
4060
+ "as-child": r.asChild,
4061
+ as: r.as,
4062
+ "data-disabled": n(e).disabled.value ? "" : void 0,
4063
+ "data-orientation": n(e).orientation.value
4064
+ }, {
4065
+ default: j(() => [ee(r.$slots, "default")]),
4066
+ _: 3
4067
+ }, 8, [
4068
+ "as-child",
4069
+ "as",
4070
+ "data-disabled",
4071
+ "data-orientation"
4072
+ ]));
4073
+ }
4074
+ }), de = ko;
4075
+ const [W, So] = Me("ColorPickerRoot"), No = /* @__PURE__ */ R({
4076
+ __name: "ColorPickerRoot",
4077
+ props: {
4078
+ ui: {},
4079
+ class: {},
4080
+ styling: { default: "tailwindcss" },
4081
+ disabled: { type: Boolean, default: !1 },
4082
+ defaultValue: { default: "#B63DDAFF" },
4083
+ modelValue: {},
4084
+ format: { default: "hexa" }
4085
+ },
4086
+ emits: ["update:end", "update:modelValue"],
4087
+ setup(t, { expose: e, emit: r }) {
4088
+ const o = t, s = r, i = Tr();
4089
+ fe(
4090
+ () => [i.hexa.value, i.hsv.value],
4091
+ () => s("update:modelValue", i.toFormat(o.format))
4092
+ ), fe(
4093
+ () => o.modelValue,
4094
+ (p, f) => {
4095
+ p === null || o.format === "object" && typeof p != "object" || o.format !== "object" && typeof p == "object" ? i.hexa.value = o.defaultValue : Jt(p, f) || i.fromFormat(p, o.format);
4096
+ },
4097
+ { immediate: !0 }
4098
+ );
4099
+ const a = x(() => o.disabled ?? !1), l = x(() => ["hexa", "rgba", "hsva", "object"].includes(o.format)), u = Mr(Ut[o.styling], o.ui);
4100
+ So({
4101
+ ...i,
4102
+ uiSlots: u,
4103
+ disabled: a,
4104
+ isAlphaEnabled: l,
4105
+ emitUpdateEnd: () => {
4106
+ o.disabled || s("update:end", i.toFormat(o.format));
4107
+ }
4108
+ }), e({
4109
+ color: i
4110
+ });
4111
+ const c = u("picker");
4112
+ return (p, f) => (M(), Z("div", {
4113
+ class: m(n(c).root(o.class))
4114
+ }, [
4115
+ ee(p.$slots, "default")
4116
+ ], 2));
4117
+ }
4118
+ });
4119
+ function Co(t, e) {
4120
+ const r = t.canvas.width, o = t.canvas.height, s = `hsl(${e},100%,50%)`;
4121
+ t.rect(0, 0, r, o), t.fillStyle = s, t.fillRect(0, 0, r, o);
4122
+ const i = t.createLinearGradient(0, 0, r, 0);
4123
+ i.addColorStop(0, "rgba(255,255,255,1)"), i.addColorStop(1, "rgba(255,255,255,0)"), t.fillStyle = i, t.fillRect(0, 0, r, o);
4124
+ const a = t.createLinearGradient(0, 0, 0, o);
4125
+ a.addColorStop(0, "rgba(0,0,0,0)"), a.addColorStop(1, "rgba(0,0,0,1)"), t.fillStyle = a, t.fillRect(0, 0, r, o);
4126
+ }
4127
+ function $o(t, e) {
4128
+ const r = t.canvas.width, o = t.canvas.height;
4129
+ t.clearRect(0, 0, r, o);
4130
+ const s = t.createLinearGradient(0, 0, r, 0), i = 12;
4131
+ for (let u = 0; u <= i; u++) {
4132
+ const c = u / i, { r: p, g: f, b: g } = We(gt({ h: e, s: c, l: 0.5 }));
4133
+ s.addColorStop(c, `rgb(${p} ${f} ${g})`);
4134
+ }
4135
+ t.fillStyle = s, t.fillRect(0, 0, r, o), t.globalCompositeOperation = "screen";
4136
+ let a = t.createLinearGradient(0, 0, 0, o);
4137
+ a.addColorStop(0, "white"), a.addColorStop(0.5, "rgba(255,255,255,0)"), t.fillStyle = a, t.fillRect(0, 0, r, o), t.globalCompositeOperation = "multiply";
4138
+ let l = t.createLinearGradient(0, 0, 0, o);
4139
+ l.addColorStop(0.5, "rgba(0,0,0,0)"), l.addColorStop(1, "black"), t.fillStyle = l, t.fillRect(0, 0, r, o), t.globalCompositeOperation = "source-over";
4140
+ }
4141
+ function _o(t, e) {
4142
+ const r = W(), o = N({
4143
+ top: 1,
4144
+ left: 1,
4145
+ width: 1,
4146
+ height: 1
4147
+ }), { hsl: s, hsv: i } = r, a = x({
4148
+ get: () => e.value === "HSV" ? 1 - i.value.v : 1 - s.value.l,
4149
+ set: (h) => {
4150
+ e.value === "HSV" ? i.value = { ...i.value, v: J(1 - h, 0, 1) } : s.value = { ...s.value, l: J(1 - h, 0, 1) };
4151
+ }
4152
+ }), l = x({
4153
+ get: () => e.value === "HSV" ? i.value.s : s.value.s,
4154
+ set: (h) => {
4155
+ e.value === "HSV" ? i.value = { ...i.value, s: J(h, 0, 1) } : s.value = { ...s.value, s: J(h, 0, 1) };
4156
+ }
4157
+ }), u = x(() => {
4158
+ const h = l.value * o.value.width, I = a.value * o.value.height;
4159
+ return {
4160
+ top: 0,
4161
+ left: 0,
4162
+ position: "absolute",
4163
+ backgroundColor: Xt({ ...r.rgba.value, a: 1 }),
4164
+ transform: `translate3d(calc(-50% + ${h}px), calc(-50% + ${I}px), 0px)`
4165
+ };
4166
+ });
4167
+ Ae(() => {
4168
+ c(), window.addEventListener("resize", c);
4169
+ }), bt(() => {
4170
+ window.removeEventListener("resize", c);
4171
+ });
4172
+ function c() {
4173
+ const h = t.value;
4174
+ h && (o.value = h.getBoundingClientRect());
4175
+ }
4176
+ function p(h) {
4177
+ document.addEventListener("pointermove", f), document.addEventListener("pointerup", g), c(), f(h);
4178
+ }
4179
+ function f(h) {
4180
+ h.preventDefault();
4181
+ const I = h.clientY - o.value.top, V = h.clientX - o.value.left;
4182
+ l.value = J(V, 0, o.value.width) / o.value.width, a.value = J(I, 0, o.value.height) / o.value.height;
4183
+ }
4184
+ function g() {
4185
+ document.removeEventListener("pointermove", f), document.removeEventListener("pointerup", g), r.emitUpdateEnd();
4186
+ }
4187
+ function S(h) {
4188
+ const I = h.shiftKey ? 0.1 : 0.01;
4189
+ switch (h.key) {
4190
+ case "ArrowUp":
4191
+ h.preventDefault(), a.value -= I, r.emitUpdateEnd();
4192
+ break;
4193
+ case "ArrowDown":
4194
+ h.preventDefault(), a.value += I, r.emitUpdateEnd();
4195
+ break;
4196
+ case "ArrowLeft":
4197
+ h.preventDefault(), l.value -= I, r.emitUpdateEnd();
4198
+ break;
4199
+ case "ArrowRight":
4200
+ h.preventDefault(), l.value += I, r.emitUpdateEnd();
4201
+ break;
4202
+ }
4203
+ }
4204
+ function C(h) {
4205
+ const I = h.deltaY * 0.1, V = (r.hsv.value.h + I) % 360;
4206
+ h.preventDefault(), r.hsv.value = {
4207
+ ...r.hsv.value,
4208
+ h: V < 0 ? 360 : V
4209
+ };
4210
+ }
4211
+ return {
4212
+ thumbStyles: u,
4213
+ handleWheel: C,
4214
+ handleKeyDown: S,
4215
+ handlePointerDown: p
4216
+ };
4217
+ }
4218
+ const Eo = ["height", "width"], jo = /* @__PURE__ */ R({
4219
+ __name: "ColorPickerCanvas",
4220
+ props: {
4221
+ type: { default: "HSV" },
4222
+ height: { default: 208 },
4223
+ width: { default: 208 },
4224
+ class: {},
4225
+ ui: {}
4226
+ },
4227
+ setup(t) {
4228
+ const e = W(), r = Nt("canvasRef"), o = t, s = x(() => ({
4229
+ position: "relative",
4230
+ height: `${o.height}px`,
4231
+ width: `${o.width}px`
4232
+ }));
4233
+ vt(() => {
4234
+ const f = r.value?.getContext("2d");
4235
+ if (f)
4236
+ switch (o.type) {
4237
+ case "HSL":
4238
+ $o(f, e.hsv.value.h);
4239
+ break;
4240
+ case "HSV":
4241
+ Co(f, e.hsv.value.h);
4242
+ break;
4243
+ }
4244
+ });
4245
+ const i = x(() => o.type), {
4246
+ thumbStyles: a,
4247
+ handleWheel: l,
4248
+ handleKeyDown: u,
4249
+ handlePointerDown: c
4250
+ } = _o(r, i), p = e.uiSlots("canvas", "shared");
4251
+ return (f, g) => (M(), Z("div", {
4252
+ style: L(s.value),
4253
+ class: m(n(p).root(o.ui?.root, o.class)),
4254
+ onContextmenu: g[0] || (g[0] = jt(() => {
4255
+ }, ["prevent"])),
4256
+ onWheel: g[1] || (g[1] = //@ts-ignore
4257
+ (...S) => n(l) && n(l)(...S)),
4258
+ onKeydown: g[2] || (g[2] = //@ts-ignore
4259
+ (...S) => n(u) && n(u)(...S)),
4260
+ onPointerdown: g[3] || (g[3] = //@ts-ignore
4261
+ (...S) => n(c) && n(c)(...S))
4262
+ }, [
4263
+ E("canvas", {
4264
+ ref_key: "canvasRef",
4265
+ ref: r,
4266
+ height: o.height,
4267
+ width: o.width,
4268
+ class: m(n(p).area(o.ui?.area))
4269
+ }, null, 10, Eo),
4270
+ E("span", {
4271
+ tabindex: "0",
4272
+ style: L(n(a)),
4273
+ class: m(n(p).thumb(o.ui?.thumb))
4274
+ }, null, 6)
4275
+ ], 38));
4276
+ }
4277
+ }), Oo = /* @__PURE__ */ R({
4278
+ __name: "ColorPickerEyeDropper",
4279
+ props: {
4280
+ class: {}
4281
+ },
4282
+ setup(t) {
4283
+ const e = t, r = W(), o = x(() => typeof window < "u" && !!window.EyeDropper);
4284
+ function s() {
4285
+ if (!o.value) {
4286
+ console.warn("EyeDropper API is not available in this environment.");
4287
+ return;
4288
+ }
4289
+ const a = window.EyeDropper;
4290
+ new a().open().then((u) => {
4291
+ r.hexa.value = u.sRGBHex;
4292
+ }).catch((u) => {
4293
+ console.error(u);
4294
+ });
4295
+ }
4296
+ const i = r.uiSlots("dropper");
4297
+ return (a, l) => o.value ? (M(), Z("button", {
4298
+ key: 0,
4299
+ class: m(n(i).base(e.class)),
4300
+ onClick: s
4301
+ }, [
4302
+ ee(a.$slots, "default")
4303
+ ], 2)) : se("", !0);
4304
+ }
4305
+ }), Po = ["value", "disabled"], Io = ["value", "disabled"], Ko = /* @__PURE__ */ R({
4306
+ __name: "ColorPickerInputHex",
4307
+ props: {
4308
+ class: {},
4309
+ ui: {}
4310
+ },
4311
+ setup(t) {
4312
+ const e = t, r = W();
4313
+ function o(a) {
4314
+ const l = a.target, u = Ne(l.value);
4315
+ u ? (r.rgba.value = u, r.emitUpdateEnd()) : l.value = r.hex.value;
4316
+ }
4317
+ function s(a) {
4318
+ const l = a.target, u = parseInt(l.value, 10), c = isNaN(u) ? r.alpha.value : J(u, 0, 100);
4319
+ r.alpha.value !== c ? (r.alpha.value = c, r.emitUpdateEnd()) : l.value = c.toString();
4320
+ }
4321
+ const i = r.uiSlots("input");
4322
+ return (a, l) => (M(), Z("div", {
4323
+ class: m(n(i).group(e.ui?.group, e.class))
4324
+ }, [
4325
+ E("div", {
4326
+ class: m(n(i).item(e.ui?.item))
4327
+ }, [
4328
+ E("span", {
4329
+ class: m(n(i).label(e.ui?.label))
4330
+ }, "#", 2),
4331
+ E("input", {
4332
+ type: "text",
4333
+ name: "hex",
4334
+ "aria-label": "Hex",
4335
+ value: n(r).hex.value.replace("#", ""),
4336
+ disabled: n(r).disabled.value,
4337
+ class: m(n(i).field(e.ui?.field)),
4338
+ onBlur: o
4339
+ }, null, 42, Po)
4340
+ ], 2),
4341
+ n(r).isAlphaEnabled.value ? (M(), Z("div", {
4342
+ key: 0,
4343
+ "data-alpha-input": "",
4344
+ class: m(n(i).item(e.ui?.item))
4345
+ }, [
4346
+ E("input", {
4347
+ type: "text",
4348
+ name: "opacity",
4349
+ "aria-label": "Opacity",
4350
+ value: n(r).alpha.value,
4351
+ disabled: n(r).disabled.value,
4352
+ class: m(n(i).field(e.ui?.field)),
4353
+ onBlur: s
4354
+ }, null, 42, Io),
4355
+ E("span", {
4356
+ class: m(n(i).label(e.ui?.label))
4357
+ }, "%", 2)
4358
+ ], 2)) : se("", !0)
4359
+ ], 2));
4360
+ }
4361
+ }), Vo = ["disabled", "value"], Ao = ["disabled", "value"], Mo = ["disabled", "value"], Ro = ["value", "disabled"], Uo = /* @__PURE__ */ R({
4362
+ __name: "ColorPickerInputRGB",
4363
+ props: {
4364
+ class: {},
4365
+ ui: {}
4366
+ },
4367
+ setup(t) {
4368
+ const e = t, r = W();
4369
+ function o(l, u) {
4370
+ const c = l.target, p = parseInt(c.value, 10), f = isNaN(p) ? r.rgb.value[u] : J(p, 0, 255);
4371
+ r.rgb.value[u] !== f ? (r.rgb.value = {
4372
+ ...r.rgb.value,
4373
+ [u]: f
4374
+ }, r.emitUpdateEnd()) : c.value = f.toString();
4375
+ }
4376
+ function s(l) {
4377
+ const u = l.target, c = parseInt(u.value, 10), p = isNaN(c) ? r.alpha.value : J(c, 0, 100);
4378
+ r.alpha.value !== p ? (r.alpha.value = p, r.emitUpdateEnd()) : u.value = p.toString();
4379
+ }
4380
+ const i = (l) => Math.round(l), a = r.uiSlots("input");
4381
+ return (l, u) => (M(), Z("div", {
4382
+ class: m(n(a).group(e.ui?.group, e.class))
4383
+ }, [
4384
+ E("div", {
4385
+ class: m(n(a).item(e.ui?.item))
4386
+ }, [
4387
+ E("span", {
4388
+ class: m(n(a).label(e.ui?.label))
4389
+ }, "R", 2),
4390
+ E("input", {
4391
+ type: "text",
4392
+ name: "red",
4393
+ "aria-label": "Red",
4394
+ disabled: n(r).disabled.value,
4395
+ class: m(n(a).field(e.ui?.field)),
4396
+ value: i(n(r).rgb.value.r),
4397
+ onBlur: u[0] || (u[0] = (c) => o(c, "r"))
4398
+ }, null, 42, Vo)
4399
+ ], 2),
4400
+ E("div", {
4401
+ class: m(n(a).item(e.ui?.item))
4402
+ }, [
4403
+ E("span", {
4404
+ class: m(n(a).label(e.ui?.label))
4405
+ }, "G", 2),
4406
+ E("input", {
4407
+ type: "text",
4408
+ name: "green",
4409
+ "aria-label": "Green",
4410
+ disabled: n(r).disabled.value,
4411
+ class: m(n(a).field(e.ui?.field)),
4412
+ value: i(n(r).rgb.value.g),
4413
+ onBlur: u[1] || (u[1] = (c) => o(c, "g"))
4414
+ }, null, 42, Ao)
4415
+ ], 2),
4416
+ E("div", {
4417
+ class: m(n(a).item(e.ui?.item))
4418
+ }, [
4419
+ E("span", {
4420
+ class: m(n(a).label(e.ui?.label))
4421
+ }, "B", 2),
4422
+ E("input", {
4423
+ type: "text",
4424
+ name: "blue",
4425
+ "aria-label": "Blue",
4426
+ disabled: n(r).disabled.value,
4427
+ class: m(n(a).field(e.ui?.field)),
4428
+ value: i(n(r).rgb.value.b),
4429
+ onBlur: u[2] || (u[2] = (c) => o(c, "b"))
4430
+ }, null, 42, Mo)
4431
+ ], 2),
4432
+ n(r).isAlphaEnabled.value ? (M(), Z("div", {
4433
+ key: 0,
4434
+ "data-alpha-input": "",
4435
+ class: m(n(a).item(e.ui?.item))
4436
+ }, [
4437
+ E("input", {
4438
+ type: "text",
4439
+ name: "opacity",
4440
+ "aria-label": "Opacity",
4441
+ value: n(r).alpha.value,
4442
+ disabled: n(r).disabled.value,
4443
+ class: m(n(a).field(e.ui?.field)),
4444
+ onBlur: s
4445
+ }, null, 42, Ro),
4446
+ E("span", {
4447
+ class: m(n(a).label(e.ui?.label))
4448
+ }, "%", 2)
4449
+ ], 2)) : se("", !0)
4450
+ ], 2));
4451
+ }
4452
+ }), zo = ["disabled", "value"], Bo = ["disabled", "value"], Ho = ["disabled", "value"], Do = ["value", "disabled"], Wo = /* @__PURE__ */ R({
4453
+ __name: "ColorPickerInputHSL",
4454
+ props: {
4455
+ class: {},
4456
+ ui: {}
4457
+ },
4458
+ setup(t) {
4459
+ const e = t, r = W();
4460
+ function o(l, u, c) {
4461
+ const p = l.target, f = parseInt(p.value, 10), g = isNaN(f) ? r.hsl.value[u] : J(f, 0, c);
4462
+ r.hsl.value[u] !== g ? (r.hsl.value = {
4463
+ ...r.hsl.value,
4464
+ [u]: u === "h" ? g : g / 100
4465
+ }, r.emitUpdateEnd()) : p.value = u !== "h" ? Math.round(g * 100).toString() : g.toString();
4466
+ }
4467
+ function s(l) {
4468
+ const u = l.target, c = parseInt(u.value, 10), p = isNaN(c) ? r.alpha.value : J(c, 0, 100);
4469
+ r.alpha.value !== p ? (r.alpha.value = p, r.emitUpdateEnd()) : u.value = p.toString();
4470
+ }
4471
+ const i = (l) => Math.round(l * 100), a = r.uiSlots("input");
4472
+ return (l, u) => (M(), Z("div", {
4473
+ class: m(n(a).group(e.ui?.group, e.class))
4474
+ }, [
4475
+ E("div", {
4476
+ class: m(n(a).item(e.ui?.item))
4477
+ }, [
4478
+ E("span", {
4479
+ class: m(n(a).label(e.ui?.label))
4480
+ }, "H", 2),
4481
+ E("input", {
4482
+ type: "text",
4483
+ name: "hue",
4484
+ "aria-label": "Hue",
4485
+ disabled: n(r).disabled.value,
4486
+ class: m(n(a).field(e.ui?.field)),
4487
+ value: Math.round(n(r).hsl.value.h),
4488
+ onBlur: u[0] || (u[0] = (c) => o(c, "h", 360))
4489
+ }, null, 42, zo)
4490
+ ], 2),
4491
+ E("div", {
4492
+ class: m(n(a).item(e.ui?.item))
4493
+ }, [
4494
+ E("span", {
4495
+ class: m(n(a).label(e.ui?.label))
4496
+ }, "S", 2),
4497
+ E("input", {
4498
+ type: "text",
4499
+ name: "saturation",
4500
+ "aria-label": "Saturation",
4501
+ disabled: n(r).disabled.value,
4502
+ class: m(n(a).field(e.ui?.field)),
4503
+ value: i(n(r).hsl.value.s),
4504
+ onBlur: u[1] || (u[1] = (c) => o(c, "s", 100))
4505
+ }, null, 42, Bo)
4506
+ ], 2),
4507
+ E("div", {
4508
+ class: m(n(a).item(e.ui?.item))
4509
+ }, [
4510
+ E("span", {
4511
+ class: m(n(a).label(e.ui?.label))
4512
+ }, "L", 2),
4513
+ E("input", {
4514
+ type: "text",
4515
+ name: "lightness",
4516
+ "aria-label": "Lightness",
4517
+ disabled: n(r).disabled.value,
4518
+ class: m(n(a).field(e.ui?.field)),
4519
+ value: i(n(r).hsl.value.l),
4520
+ onBlur: u[2] || (u[2] = (c) => o(c, "l", 100))
4521
+ }, null, 42, Ho)
4522
+ ], 2),
4523
+ n(r).isAlphaEnabled.value ? (M(), Z("div", {
4524
+ key: 0,
4525
+ "data-alpha-input": "",
4526
+ class: m(n(a).item(e.ui?.item))
4527
+ }, [
4528
+ E("input", {
4529
+ type: "text",
4530
+ name: "opacity",
4531
+ "aria-label": "Opacity",
4532
+ value: n(r).alpha.value,
4533
+ disabled: n(r).disabled.value,
4534
+ class: m(n(a).field(e.ui?.field)),
4535
+ onBlur: s
4536
+ }, null, 42, Do),
4537
+ E("span", {
4538
+ class: m(n(a).label(e.ui?.label))
4539
+ }, "%", 2)
4540
+ ], 2)) : se("", !0)
4541
+ ], 2));
4542
+ }
4543
+ }), Fo = ["disabled", "value"], To = ["disabled", "value"], Go = ["disabled", "value"], Lo = ["value", "disabled"], Yo = /* @__PURE__ */ R({
4544
+ __name: "ColorPickerInputHSB",
4545
+ props: {
4546
+ class: {},
4547
+ ui: {}
4548
+ },
4549
+ setup(t) {
4550
+ const e = t, r = W();
4551
+ function o(l, u, c) {
4552
+ const p = l.target, f = parseInt(p.value, 10), g = isNaN(f) ? r.hsv.value[u] : J(f, 0, c);
4553
+ r.hsv.value[u] !== g ? (r.hsv.value = {
4554
+ ...r.hsv.value,
4555
+ [u]: u === "h" ? g : g / 100
4556
+ }, r.emitUpdateEnd()) : p.value = u !== "h" ? Math.round(g * 100).toString() : g.toString();
4557
+ }
4558
+ function s(l) {
4559
+ const u = l.target, c = parseInt(u.value, 10), p = isNaN(c) ? r.alpha.value : J(c, 0, 100);
4560
+ r.alpha.value !== p ? (r.alpha.value = p, r.emitUpdateEnd()) : u.value = p.toString();
4561
+ }
4562
+ const i = (l) => Math.round(l * 100), a = r.uiSlots("input");
4563
+ return (l, u) => (M(), Z("div", {
4564
+ class: m(n(a).group(e.ui?.group, e.class))
4565
+ }, [
4566
+ E("div", {
4567
+ class: m(n(a).item(e.ui?.item))
4568
+ }, [
4569
+ E("span", {
4570
+ class: m(n(a).label(e.ui?.label))
4571
+ }, "H", 2),
4572
+ E("input", {
4573
+ type: "text",
4574
+ name: "hue",
4575
+ "aria-label": "Hue",
4576
+ disabled: n(r).disabled.value,
4577
+ class: m(n(a).field(e.ui?.field)),
4578
+ value: Math.round(n(r).hsv.value.h),
4579
+ onBlur: u[0] || (u[0] = (c) => o(c, "h", 360))
4580
+ }, null, 42, Fo)
4581
+ ], 2),
4582
+ E("div", {
4583
+ class: m(n(a).item(e.ui?.item))
4584
+ }, [
4585
+ E("span", {
4586
+ class: m(n(a).label(e.ui?.label))
4587
+ }, "S", 2),
4588
+ E("input", {
4589
+ type: "text",
4590
+ name: "saturation",
4591
+ "aria-label": "Saturation",
4592
+ disabled: n(r).disabled.value,
4593
+ class: m(n(a).field(e.ui?.field)),
4594
+ value: i(n(r).hsv.value.s),
4595
+ onBlur: u[1] || (u[1] = (c) => o(c, "s", 100))
4596
+ }, null, 42, To)
4597
+ ], 2),
4598
+ E("div", {
4599
+ class: m(n(a).item(e.ui?.item))
4600
+ }, [
4601
+ E("span", {
4602
+ class: m(n(a).label(e.ui?.label))
4603
+ }, "B", 2),
4604
+ E("input", {
4605
+ type: "text",
4606
+ name: "brightness",
4607
+ "aria-label": "Brightness",
4608
+ disabled: n(r).disabled.value,
4609
+ class: m(n(a).field(e.ui?.field)),
4610
+ value: i(n(r).hsv.value.v),
4611
+ onBlur: u[2] || (u[2] = (c) => o(c, "v", 100))
4612
+ }, null, 42, Go)
4613
+ ], 2),
4614
+ n(r).isAlphaEnabled.value ? (M(), Z("div", {
4615
+ key: 0,
4616
+ "data-alpha-input": "",
4617
+ class: m(n(a).item(e.ui?.item))
4618
+ }, [
4619
+ E("input", {
4620
+ type: "text",
4621
+ name: "opacity",
4622
+ "aria-label": "Opacity",
4623
+ value: n(r).alpha.value,
4624
+ disabled: n(r).disabled.value,
4625
+ class: m(n(a).field(e.ui?.field)),
4626
+ onBlur: s
4627
+ }, null, 42, Lo),
4628
+ E("span", {
4629
+ class: m(n(a).label(e.ui?.label))
4630
+ }, "%", 2)
4631
+ ], 2)) : se("", !0)
4632
+ ], 2));
4633
+ }
4634
+ }), Xo = /* @__PURE__ */ R({
4635
+ __name: "ColorPickerSliderAlpha",
4636
+ props: {
4637
+ class: {},
4638
+ orientation: { default: "horizontal" },
4639
+ ui: {}
4640
+ },
4641
+ setup(t) {
4642
+ const e = W(), r = x({
4643
+ get: () => [e.alpha.value],
4644
+ set: ([a]) => {
4645
+ e.alpha.value = a;
4646
+ }
4647
+ }), o = t, s = x(() => ({
4648
+ background: [
4649
+ `linear-gradient(${o.orientation === "horizontal" ? "to right" : "to top"}, rgba(0, 0, 0, 0) 0%, ${e.hex.value} 100%)`,
4650
+ "repeating-conic-gradient(#ddd 0% 25%, transparent 0% 50%) 50% / 8px 8px"
4651
+ ].join(",")
4652
+ })), i = e.uiSlots("slider", "shared");
4653
+ return (a, l) => (M(), H(n(ie), {
4654
+ modelValue: r.value,
4655
+ "onUpdate:modelValue": l[0] || (l[0] = (u) => r.value = u),
4656
+ disabled: n(e).disabled.value,
4657
+ orientation: o.orientation,
4658
+ class: m(n(i).root(o.ui?.root, o.class)),
4659
+ onPointerup: l[1] || (l[1] = (u) => n(e).emitUpdateEnd())
4660
+ }, {
4661
+ default: j(() => [
4662
+ U(n(de), {
4663
+ style: L(s.value),
4664
+ class: m(n(i).track(o.ui?.track))
4665
+ }, null, 8, ["style", "class"]),
4666
+ U(n(ue), {
4667
+ style: L({ backgroundColor: n(e).hexa.value }),
4668
+ class: m(n(i).thumb(o.ui?.thumb)),
4669
+ "aria-label": "Opacity"
4670
+ }, null, 8, ["style", "class"])
4671
+ ]),
4672
+ _: 1
4673
+ }, 8, ["modelValue", "disabled", "orientation", "class"]));
4674
+ }
4675
+ }), Jo = /* @__PURE__ */ R({
4676
+ __name: "ColorPickerSliderHue",
4677
+ props: {
4678
+ class: {},
4679
+ orientation: { default: "horizontal" },
4680
+ ui: {}
4681
+ },
4682
+ setup(t) {
4683
+ const e = t, r = W(), o = x({
4684
+ get: () => [r.hsv.value.h],
4685
+ set: ([a]) => {
4686
+ r.hsv.value = {
4687
+ ...r.hsv.value,
4688
+ h: a
4689
+ };
4690
+ }
4691
+ }), s = x(() => `linear-gradient(${e.orientation === "vertical" ? "to bottom" : "to right"}, red, yellow, lime, cyan, blue, magenta, red)`), i = r.uiSlots("slider", "shared");
4692
+ return (a, l) => (M(), H(n(ie), {
4693
+ modelValue: o.value,
4694
+ "onUpdate:modelValue": l[0] || (l[0] = (u) => o.value = u),
4695
+ disabled: n(r).disabled.value,
4696
+ max: 360,
4697
+ inverted: e.orientation === "vertical",
4698
+ orientation: e.orientation,
4699
+ class: m(n(i).root(e.ui?.root, e.class)),
4700
+ onPointerup: l[1] || (l[1] = (u) => n(r).emitUpdateEnd())
4701
+ }, {
4702
+ default: j(() => [
4703
+ U(n(de), {
4704
+ style: L({ background: s.value }),
4705
+ class: m(n(i).track(e.ui?.track))
4706
+ }, null, 8, ["style", "class"]),
4707
+ U(n(ue), {
4708
+ "aria-label": "Hue",
4709
+ style: L({ background: `hsl(${n(r).hsv.value.h},100%,50%)` }),
4710
+ class: m(n(i).thumb(e.ui?.thumb))
4711
+ }, null, 8, ["style", "class"])
4712
+ ]),
4713
+ _: 1
4714
+ }, 8, ["modelValue", "disabled", "inverted", "orientation", "class"]));
4715
+ }
4716
+ }), Zo = /* @__PURE__ */ R({
4717
+ __name: "ColorPickerSliderSaturation",
4718
+ props: {
4719
+ class: {},
4720
+ orientation: { default: "horizontal" },
4721
+ ui: {}
4722
+ },
4723
+ setup(t) {
4724
+ const e = t, r = W(), o = x({
4725
+ get: () => [r.hsl.value.s],
4726
+ set: ([a]) => {
4727
+ r.hsl.value = {
4728
+ ...r.hsl.value,
4729
+ s: a
4730
+ };
4731
+ }
4732
+ }), s = x(() => {
4733
+ const a = e.orientation === "vertical" ? "to top" : "to right", l = `hsl(${r.hsl.value.h} 0 ${r.hsl.value.l * 100}%)`, u = `hsl(${r.hsl.value.h} 100% ${r.hsl.value.l * 100}%)`;
4734
+ return `linear-gradient(${a}, ${l}, ${u})`;
4735
+ }), i = r.uiSlots("slider", "shared");
4736
+ return (a, l) => (M(), H(n(ie), {
4737
+ modelValue: o.value,
4738
+ "onUpdate:modelValue": l[0] || (l[0] = (u) => o.value = u),
4739
+ max: 1,
4740
+ step: 0.01,
4741
+ disabled: n(r).disabled.value,
4742
+ orientation: e.orientation,
4743
+ class: m(n(i).root(e.ui?.root, e.class)),
4744
+ onPointerup: l[1] || (l[1] = (u) => n(r).emitUpdateEnd())
4745
+ }, {
4746
+ default: j(() => [
4747
+ U(n(de), {
4748
+ style: L({ background: s.value }),
4749
+ class: m(n(i).track(e.ui?.track))
4750
+ }, null, 8, ["style", "class"]),
4751
+ U(n(ue), {
4752
+ "aria-label": "Saturation",
4753
+ style: L({ background: n(r).hex.value }),
4754
+ class: m(n(i).thumb(e.ui?.thumb))
4755
+ }, null, 8, ["style", "class"])
4756
+ ]),
4757
+ _: 1
4758
+ }, 8, ["modelValue", "disabled", "orientation", "class"]));
4759
+ }
4760
+ }), Qo = /* @__PURE__ */ R({
4761
+ __name: "ColorPickerSliderLightness",
4762
+ props: {
4763
+ class: {},
4764
+ orientation: { default: "horizontal" },
4765
+ ui: {}
4766
+ },
4767
+ setup(t) {
4768
+ const e = t, r = W(), o = x({
4769
+ get: () => [r.hsl.value.l],
4770
+ set: ([a]) => {
4771
+ r.hsl.value = {
4772
+ ...r.hsl.value,
4773
+ l: a
4774
+ };
4775
+ }
4776
+ }), s = x(() => {
4777
+ const a = e.orientation === "vertical" ? "to top" : "to right", l = `hsl(${r.hsl.value.h}, ${r.hsl.value.s * 100}%, 50%)`;
4778
+ return `linear-gradient(${a}, hsl(0, 0%, 0%), ${l}, hsl(0, 0%, 100%))`;
4779
+ }), i = r.uiSlots("slider", "shared");
4780
+ return (a, l) => (M(), H(n(ie), {
4781
+ modelValue: o.value,
4782
+ "onUpdate:modelValue": l[0] || (l[0] = (u) => o.value = u),
4783
+ max: 1,
4784
+ step: 0.01,
4785
+ disabled: n(r).disabled.value,
4786
+ orientation: e.orientation,
4787
+ class: m(n(i).root(e.ui?.root, e.class)),
4788
+ onPointerup: l[1] || (l[1] = (u) => n(r).emitUpdateEnd())
4789
+ }, {
4790
+ default: j(() => [
4791
+ U(n(de), {
4792
+ style: L({ background: s.value }),
4793
+ class: m(n(i).track(e.ui?.track))
4794
+ }, null, 8, ["style", "class"]),
4795
+ U(n(ue), {
4796
+ "aria-label": "Lightness",
4797
+ style: L({ background: n(r).hex.value }),
4798
+ class: m(n(i).thumb(e.ui?.thumb))
4799
+ }, null, 8, ["style", "class"])
4800
+ ]),
4801
+ _: 1
4802
+ }, 8, ["modelValue", "disabled", "orientation", "class"]));
4803
+ }
4804
+ }), ea = /* @__PURE__ */ R({
4805
+ __name: "ColorPickerSliderRed",
4806
+ props: {
4807
+ class: {},
4808
+ orientation: { default: "horizontal" },
4809
+ ui: {}
4810
+ },
4811
+ setup(t) {
4812
+ const e = t, r = W(), o = x({
4813
+ get: () => [r.rgb.value.r],
4814
+ set: ([a]) => {
4815
+ r.rgb.value = {
4816
+ ...r.rgb.value,
4817
+ r: a
4818
+ };
4819
+ }
4820
+ }), s = x(() => {
4821
+ const a = e.orientation === "vertical" ? "to top" : "to right", l = `rgb(0, ${r.rgb.value.g}, ${r.rgb.value.b})`, u = `rgb(255, ${r.rgb.value.g}, ${r.rgb.value.b})`;
4822
+ return `linear-gradient(${a}, ${l}, ${u})`;
4823
+ }), i = r.uiSlots("slider", "shared");
4824
+ return (a, l) => (M(), H(n(ie), {
4825
+ modelValue: o.value,
4826
+ "onUpdate:modelValue": l[0] || (l[0] = (u) => o.value = u),
4827
+ disabled: n(r).disabled.value,
4828
+ max: 255,
4829
+ orientation: e.orientation,
4830
+ class: m(n(i).root(e.ui?.root, e.class)),
4831
+ onPointerup: l[1] || (l[1] = (u) => n(r).emitUpdateEnd())
4832
+ }, {
4833
+ default: j(() => [
4834
+ U(n(de), {
4835
+ style: L({ background: s.value }),
4836
+ class: m(n(i).track(e.ui?.track))
4837
+ }, null, 8, ["style", "class"]),
4838
+ U(n(ue), {
4839
+ "aria-label": "Red",
4840
+ style: L({ background: n(r).hex.value }),
4841
+ class: m(n(i).thumb(e.ui?.thumb))
4842
+ }, null, 8, ["style", "class"])
4843
+ ]),
4844
+ _: 1
4845
+ }, 8, ["modelValue", "disabled", "orientation", "class"]));
4846
+ }
4847
+ }), ta = /* @__PURE__ */ R({
4848
+ __name: "ColorPickerSliderGreen",
4849
+ props: {
4850
+ class: {},
4851
+ orientation: { default: "horizontal" },
4852
+ ui: {}
4853
+ },
4854
+ setup(t) {
4855
+ const e = t, r = W(), o = x({
4856
+ get: () => [r.rgb.value.g],
4857
+ set: ([a]) => {
4858
+ r.rgb.value = {
4859
+ ...r.rgb.value,
4860
+ g: a
4861
+ };
4862
+ }
4863
+ }), s = x(() => {
4864
+ const a = e.orientation === "vertical" ? "to top" : "to right", l = `rgb(${r.rgb.value.r}, 0, ${r.rgb.value.b})`, u = `rgb(${r.rgb.value.r}, 255, ${r.rgb.value.b})`;
4865
+ return `linear-gradient(${a}, ${l}, ${u})`;
4866
+ }), i = r.uiSlots("slider", "shared");
4867
+ return (a, l) => (M(), H(n(ie), {
4868
+ modelValue: o.value,
4869
+ "onUpdate:modelValue": l[0] || (l[0] = (u) => o.value = u),
4870
+ disabled: n(r).disabled.value,
4871
+ max: 255,
4872
+ orientation: e.orientation,
4873
+ class: m(n(i).root(e.ui?.root, e.class)),
4874
+ onPointerup: l[1] || (l[1] = (u) => n(r).emitUpdateEnd())
4875
+ }, {
4876
+ default: j(() => [
4877
+ U(n(de), {
4878
+ style: L({ background: s.value }),
4879
+ class: m(n(i).track(e.ui?.track))
4880
+ }, null, 8, ["style", "class"]),
4881
+ U(n(ue), {
4882
+ "aria-label": "Green",
4883
+ style: L({ background: n(r).hex.value }),
4884
+ class: m(n(i).thumb(e.ui?.thumb))
4885
+ }, null, 8, ["style", "class"])
4886
+ ]),
4887
+ _: 1
4888
+ }, 8, ["modelValue", "disabled", "orientation", "class"]));
4889
+ }
4890
+ }), ra = /* @__PURE__ */ R({
4891
+ __name: "ColorPickerSliderBlue",
4892
+ props: {
4893
+ class: {},
4894
+ orientation: { default: "horizontal" },
4895
+ ui: {}
4896
+ },
4897
+ setup(t) {
4898
+ const e = t, r = W(), o = x({
4899
+ get: () => [r.rgb.value.b],
4900
+ set: ([a]) => {
4901
+ r.rgb.value = {
4902
+ ...r.rgb.value,
4903
+ b: a
4904
+ };
4905
+ }
4906
+ }), s = x(() => {
4907
+ const a = e.orientation === "vertical" ? "to top" : "to right", l = `rgb(${r.rgb.value.r}, ${r.rgb.value.g}, 0)`, u = `rgb(${r.rgb.value.r}, ${r.rgb.value.g}, 255)`;
4908
+ return `linear-gradient(${a}, ${l}, ${u})`;
4909
+ }), i = r.uiSlots("slider", "shared");
4910
+ return (a, l) => (M(), H(n(ie), {
4911
+ modelValue: o.value,
4912
+ "onUpdate:modelValue": l[0] || (l[0] = (u) => o.value = u),
4913
+ disabled: n(r).disabled.value,
4914
+ max: 255,
4915
+ orientation: e.orientation,
4916
+ class: m(n(i).root(e.ui?.root, e.class)),
4917
+ onPointerup: l[1] || (l[1] = (u) => n(r).emitUpdateEnd())
4918
+ }, {
4919
+ default: j(() => [
4920
+ U(n(de), {
4921
+ style: L({ background: s.value }),
4922
+ class: m(n(i).track(e.ui?.track))
4923
+ }, null, 8, ["style", "class"]),
4924
+ U(n(ue), {
4925
+ "aria-label": "Blue",
4926
+ style: L({ background: n(r).hex.value }),
4927
+ class: m(n(i).thumb(e.ui?.thumb))
4928
+ }, null, 8, ["style", "class"])
4929
+ ]),
4930
+ _: 1
4931
+ }, 8, ["modelValue", "disabled", "orientation", "class"]));
4932
+ }
4933
+ });
4934
+ export {
4935
+ jo as ColorPickerCanvas,
4936
+ Oo as ColorPickerEyeDropper,
4937
+ Yo as ColorPickerInputHSB,
4938
+ Wo as ColorPickerInputHSL,
4939
+ Ko as ColorPickerInputHex,
4940
+ Uo as ColorPickerInputRGB,
4941
+ No as ColorPickerRoot,
4942
+ Xo as ColorPickerSliderAlpha,
4943
+ ra as ColorPickerSliderBlue,
4944
+ ta as ColorPickerSliderGreen,
4945
+ Jo as ColorPickerSliderHue,
4946
+ Qo as ColorPickerSliderLightness,
4947
+ ea as ColorPickerSliderRed,
4948
+ Zo as ColorPickerSliderSaturation
4949
+ };
4950
+ //# sourceMappingURL=index.es.js.map