@blakesteve/roster 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3956 @@
1
+ import ye, { useRef as Y, useCallback as _, useEffect as ae, useState as ge, useMemo as ut, useLayoutEffect as Vt, useContext as Dt, createContext as Gt, forwardRef as Ht, isValidElement as Wt, cloneElement as Bt, createElement as Kt, Fragment as Yt } from "react";
2
+ var $e = { exports: {} }, fe = {};
3
+ var Xe;
4
+ function Ut() {
5
+ if (Xe) return fe;
6
+ Xe = 1;
7
+ var e = /* @__PURE__ */ Symbol.for("react.transitional.element"), r = /* @__PURE__ */ Symbol.for("react.fragment");
8
+ function t(o, n, a) {
9
+ var s = null;
10
+ if (a !== void 0 && (s = "" + a), n.key !== void 0 && (s = "" + n.key), "key" in n) {
11
+ a = {};
12
+ for (var c in n)
13
+ c !== "key" && (a[c] = n[c]);
14
+ } else a = n;
15
+ return n = a.ref, {
16
+ $$typeof: e,
17
+ type: o,
18
+ key: s,
19
+ ref: n !== void 0 ? n : null,
20
+ props: a
21
+ };
22
+ }
23
+ return fe.Fragment = r, fe.jsx = t, fe.jsxs = t, fe;
24
+ }
25
+ var me = {};
26
+ var Ze;
27
+ function qt() {
28
+ return Ze || (Ze = 1, process.env.NODE_ENV !== "production" && (function() {
29
+ function e(l) {
30
+ if (l == null) return null;
31
+ if (typeof l == "function")
32
+ return l.$$typeof === ke ? null : l.displayName || l.name || null;
33
+ if (typeof l == "string") return l;
34
+ switch (l) {
35
+ case $:
36
+ return "Fragment";
37
+ case O:
38
+ return "Profiler";
39
+ case N:
40
+ return "StrictMode";
41
+ case j:
42
+ return "Suspense";
43
+ case J:
44
+ return "SuspenseList";
45
+ case xe:
46
+ return "Activity";
47
+ }
48
+ if (typeof l == "object")
49
+ switch (typeof l.tag == "number" && console.error(
50
+ "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
51
+ ), l.$$typeof) {
52
+ case g:
53
+ return "Portal";
54
+ case D:
55
+ return l.displayName || "Context";
56
+ case q:
57
+ return (l._context.displayName || "Context") + ".Consumer";
58
+ case G:
59
+ var h = l.render;
60
+ return l = l.displayName, l || (l = h.displayName || h.name || "", l = l !== "" ? "ForwardRef(" + l + ")" : "ForwardRef"), l;
61
+ case v:
62
+ return h = l.displayName || null, h !== null ? h : e(l.type) || "Memo";
63
+ case R:
64
+ h = l._payload, l = l._init;
65
+ try {
66
+ return e(l(h));
67
+ } catch {
68
+ }
69
+ }
70
+ return null;
71
+ }
72
+ function r(l) {
73
+ return "" + l;
74
+ }
75
+ function t(l) {
76
+ try {
77
+ r(l);
78
+ var h = !1;
79
+ } catch {
80
+ h = !0;
81
+ }
82
+ if (h) {
83
+ h = console;
84
+ var x = h.error, T = typeof Symbol == "function" && Symbol.toStringTag && l[Symbol.toStringTag] || l.constructor.name || "Object";
85
+ return x.call(
86
+ h,
87
+ "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
88
+ T
89
+ ), r(l);
90
+ }
91
+ }
92
+ function o(l) {
93
+ if (l === $) return "<>";
94
+ if (typeof l == "object" && l !== null && l.$$typeof === R)
95
+ return "<...>";
96
+ try {
97
+ var h = e(l);
98
+ return h ? "<" + h + ">" : "<...>";
99
+ } catch {
100
+ return "<...>";
101
+ }
102
+ }
103
+ function n() {
104
+ var l = H.A;
105
+ return l === null ? null : l.getOwner();
106
+ }
107
+ function a() {
108
+ return Error("react-stack-top-frame");
109
+ }
110
+ function s(l) {
111
+ if (le.call(l, "key")) {
112
+ var h = Object.getOwnPropertyDescriptor(l, "key").get;
113
+ if (h && h.isReactWarning) return !1;
114
+ }
115
+ return l.key !== void 0;
116
+ }
117
+ function c(l, h) {
118
+ function x() {
119
+ A || (A = !0, console.error(
120
+ "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
121
+ h
122
+ ));
123
+ }
124
+ x.isReactWarning = !0, Object.defineProperty(l, "key", {
125
+ get: x,
126
+ configurable: !0
127
+ });
128
+ }
129
+ function i() {
130
+ var l = e(this.type);
131
+ return F[l] || (F[l] = !0, console.error(
132
+ "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
133
+ )), l = this.props.ref, l !== void 0 ? l : null;
134
+ }
135
+ function u(l, h, x, T, M, ee) {
136
+ var k = x.ref;
137
+ return l = {
138
+ $$typeof: S,
139
+ type: l,
140
+ key: h,
141
+ props: x,
142
+ _owner: T
143
+ }, (k !== void 0 ? k : null) !== null ? Object.defineProperty(l, "ref", {
144
+ enumerable: !1,
145
+ get: i
146
+ }) : Object.defineProperty(l, "ref", { enumerable: !1, value: null }), l._store = {}, Object.defineProperty(l._store, "validated", {
147
+ configurable: !1,
148
+ enumerable: !1,
149
+ writable: !0,
150
+ value: 0
151
+ }), Object.defineProperty(l, "_debugInfo", {
152
+ configurable: !1,
153
+ enumerable: !1,
154
+ writable: !0,
155
+ value: null
156
+ }), Object.defineProperty(l, "_debugStack", {
157
+ configurable: !1,
158
+ enumerable: !1,
159
+ writable: !0,
160
+ value: M
161
+ }), Object.defineProperty(l, "_debugTask", {
162
+ configurable: !1,
163
+ enumerable: !1,
164
+ writable: !0,
165
+ value: ee
166
+ }), Object.freeze && (Object.freeze(l.props), Object.freeze(l)), l;
167
+ }
168
+ function m(l, h, x, T, M, ee) {
169
+ var k = h.children;
170
+ if (k !== void 0)
171
+ if (T)
172
+ if (ce(k)) {
173
+ for (T = 0; T < k.length; T++)
174
+ p(k[T]);
175
+ Object.freeze && Object.freeze(k);
176
+ } else
177
+ console.error(
178
+ "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
179
+ );
180
+ else p(k);
181
+ if (le.call(h, "key")) {
182
+ k = e(l);
183
+ var z = Object.keys(h).filter(function(te) {
184
+ return te !== "key";
185
+ });
186
+ T = 0 < z.length ? "{key: someKey, " + z.join(": ..., ") + ": ...}" : "{key: someKey}", de[k + T] || (z = 0 < z.length ? "{" + z.join(": ..., ") + ": ...}" : "{}", console.error(
187
+ `A props object containing a "key" prop is being spread into JSX:
188
+ let props = %s;
189
+ <%s {...props} />
190
+ React keys must be passed directly to JSX without using spread:
191
+ let props = %s;
192
+ <%s key={someKey} {...props} />`,
193
+ T,
194
+ k,
195
+ z,
196
+ k
197
+ ), de[k + T] = !0);
198
+ }
199
+ if (k = null, x !== void 0 && (t(x), k = "" + x), s(h) && (t(h.key), k = "" + h.key), "key" in h) {
200
+ x = {};
201
+ for (var W in h)
202
+ W !== "key" && (x[W] = h[W]);
203
+ } else x = h;
204
+ return k && c(
205
+ x,
206
+ typeof l == "function" ? l.displayName || l.name || "Unknown" : l
207
+ ), u(
208
+ l,
209
+ k,
210
+ x,
211
+ n(),
212
+ M,
213
+ ee
214
+ );
215
+ }
216
+ function p(l) {
217
+ y(l) ? l._store && (l._store.validated = 1) : typeof l == "object" && l !== null && l.$$typeof === R && (l._payload.status === "fulfilled" ? y(l._payload.value) && l._payload.value._store && (l._payload.value._store.validated = 1) : l._store && (l._store.validated = 1));
218
+ }
219
+ function y(l) {
220
+ return typeof l == "object" && l !== null && l.$$typeof === S;
221
+ }
222
+ var E = ye, S = /* @__PURE__ */ Symbol.for("react.transitional.element"), g = /* @__PURE__ */ Symbol.for("react.portal"), $ = /* @__PURE__ */ Symbol.for("react.fragment"), N = /* @__PURE__ */ Symbol.for("react.strict_mode"), O = /* @__PURE__ */ Symbol.for("react.profiler"), q = /* @__PURE__ */ Symbol.for("react.consumer"), D = /* @__PURE__ */ Symbol.for("react.context"), G = /* @__PURE__ */ Symbol.for("react.forward_ref"), j = /* @__PURE__ */ Symbol.for("react.suspense"), J = /* @__PURE__ */ Symbol.for("react.suspense_list"), v = /* @__PURE__ */ Symbol.for("react.memo"), R = /* @__PURE__ */ Symbol.for("react.lazy"), xe = /* @__PURE__ */ Symbol.for("react.activity"), ke = /* @__PURE__ */ Symbol.for("react.client.reference"), H = E.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, le = Object.prototype.hasOwnProperty, ce = Array.isArray, C = console.createTask ? console.createTask : function() {
223
+ return null;
224
+ };
225
+ E = {
226
+ react_stack_bottom_frame: function(l) {
227
+ return l();
228
+ }
229
+ };
230
+ var A, F = {}, b = E.react_stack_bottom_frame.bind(
231
+ E,
232
+ a
233
+ )(), ue = C(o(a)), de = {};
234
+ me.Fragment = $, me.jsx = function(l, h, x) {
235
+ var T = 1e4 > H.recentlyCreatedOwnerStacks++;
236
+ return m(
237
+ l,
238
+ h,
239
+ x,
240
+ !1,
241
+ T ? Error("react-stack-top-frame") : b,
242
+ T ? C(o(l)) : ue
243
+ );
244
+ }, me.jsxs = function(l, h, x) {
245
+ var T = 1e4 > H.recentlyCreatedOwnerStacks++;
246
+ return m(
247
+ l,
248
+ h,
249
+ x,
250
+ !0,
251
+ T ? Error("react-stack-top-frame") : b,
252
+ T ? C(o(l)) : ue
253
+ );
254
+ };
255
+ })()), me;
256
+ }
257
+ var Qe;
258
+ function Jt() {
259
+ return Qe || (Qe = 1, process.env.NODE_ENV === "production" ? $e.exports = Ut() : $e.exports = qt()), $e.exports;
260
+ }
261
+ var ne = Jt();
262
+ function dt(e) {
263
+ var r, t, o = "";
264
+ if (typeof e == "string" || typeof e == "number") o += e;
265
+ else if (typeof e == "object") if (Array.isArray(e)) {
266
+ var n = e.length;
267
+ for (r = 0; r < n; r++) e[r] && (t = dt(e[r])) && (o && (o += " "), o += t);
268
+ } else for (t in e) e[t] && (o && (o += " "), o += t);
269
+ return o;
270
+ }
271
+ function ft() {
272
+ for (var e, r, t = 0, o = "", n = arguments.length; t < n; t++) (e = arguments[t]) && (r = dt(e)) && (o && (o += " "), o += r);
273
+ return o;
274
+ }
275
+ const et = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, tt = ft, mt = (e, r) => (t) => {
276
+ var o;
277
+ if (r?.variants == null) return tt(e, t?.class, t?.className);
278
+ const { variants: n, defaultVariants: a } = r, s = Object.keys(n).map((u) => {
279
+ const m = t?.[u], p = a?.[u];
280
+ if (m === null) return null;
281
+ const y = et(m) || et(p);
282
+ return n[u][y];
283
+ }), c = t && Object.entries(t).reduce((u, m) => {
284
+ let [p, y] = m;
285
+ return y === void 0 || (u[p] = y), u;
286
+ }, {}), i = r == null || (o = r.compoundVariants) === null || o === void 0 ? void 0 : o.reduce((u, m) => {
287
+ let { class: p, className: y, ...E } = m;
288
+ return Object.entries(E).every((S) => {
289
+ let [g, $] = S;
290
+ return Array.isArray($) ? $.includes({
291
+ ...a,
292
+ ...c
293
+ }[g]) : {
294
+ ...a,
295
+ ...c
296
+ }[g] === $;
297
+ }) ? [
298
+ ...u,
299
+ p,
300
+ y
301
+ ] : u;
302
+ }, []);
303
+ return tt(e, s, i, t?.class, t?.className);
304
+ }, Xt = (e, r) => {
305
+ const t = new Array(e.length + r.length);
306
+ for (let o = 0; o < e.length; o++)
307
+ t[o] = e[o];
308
+ for (let o = 0; o < r.length; o++)
309
+ t[e.length + o] = r[o];
310
+ return t;
311
+ }, Zt = (e, r) => ({
312
+ classGroupId: e,
313
+ validator: r
314
+ }), pt = (e = /* @__PURE__ */ new Map(), r = null, t) => ({
315
+ nextPart: e,
316
+ validators: r,
317
+ classGroupId: t
318
+ }), Le = "-", rt = [], Qt = "arbitrary..", er = (e) => {
319
+ const r = rr(e), {
320
+ conflictingClassGroups: t,
321
+ conflictingClassGroupModifiers: o
322
+ } = e;
323
+ return {
324
+ getClassGroupId: (s) => {
325
+ if (s.startsWith("[") && s.endsWith("]"))
326
+ return tr(s);
327
+ const c = s.split(Le), i = c[0] === "" && c.length > 1 ? 1 : 0;
328
+ return bt(c, i, r);
329
+ },
330
+ getConflictingClassGroupIds: (s, c) => {
331
+ if (c) {
332
+ const i = o[s], u = t[s];
333
+ return i ? u ? Xt(u, i) : i : u || rt;
334
+ }
335
+ return t[s] || rt;
336
+ }
337
+ };
338
+ }, bt = (e, r, t) => {
339
+ if (e.length - r === 0)
340
+ return t.classGroupId;
341
+ const n = e[r], a = t.nextPart.get(n);
342
+ if (a) {
343
+ const u = bt(e, r + 1, a);
344
+ if (u) return u;
345
+ }
346
+ const s = t.validators;
347
+ if (s === null)
348
+ return;
349
+ const c = r === 0 ? e.join(Le) : e.slice(r).join(Le), i = s.length;
350
+ for (let u = 0; u < i; u++) {
351
+ const m = s[u];
352
+ if (m.validator(c))
353
+ return m.classGroupId;
354
+ }
355
+ }, tr = (e) => e.slice(1, -1).indexOf(":") === -1 ? void 0 : (() => {
356
+ const r = e.slice(1, -1), t = r.indexOf(":"), o = r.slice(0, t);
357
+ return o ? Qt + o : void 0;
358
+ })(), rr = (e) => {
359
+ const {
360
+ theme: r,
361
+ classGroups: t
362
+ } = e;
363
+ return or(t, r);
364
+ }, or = (e, r) => {
365
+ const t = pt();
366
+ for (const o in e) {
367
+ const n = e[o];
368
+ Ye(n, t, o, r);
369
+ }
370
+ return t;
371
+ }, Ye = (e, r, t, o) => {
372
+ const n = e.length;
373
+ for (let a = 0; a < n; a++) {
374
+ const s = e[a];
375
+ nr(s, r, t, o);
376
+ }
377
+ }, nr = (e, r, t, o) => {
378
+ if (typeof e == "string") {
379
+ ar(e, r, t);
380
+ return;
381
+ }
382
+ if (typeof e == "function") {
383
+ sr(e, r, t, o);
384
+ return;
385
+ }
386
+ ir(e, r, t, o);
387
+ }, ar = (e, r, t) => {
388
+ const o = e === "" ? r : gt(r, e);
389
+ o.classGroupId = t;
390
+ }, sr = (e, r, t, o) => {
391
+ if (lr(e)) {
392
+ Ye(e(o), r, t, o);
393
+ return;
394
+ }
395
+ r.validators === null && (r.validators = []), r.validators.push(Zt(t, e));
396
+ }, ir = (e, r, t, o) => {
397
+ const n = Object.entries(e), a = n.length;
398
+ for (let s = 0; s < a; s++) {
399
+ const [c, i] = n[s];
400
+ Ye(i, gt(r, c), t, o);
401
+ }
402
+ }, gt = (e, r) => {
403
+ let t = e;
404
+ const o = r.split(Le), n = o.length;
405
+ for (let a = 0; a < n; a++) {
406
+ const s = o[a];
407
+ let c = t.nextPart.get(s);
408
+ c || (c = pt(), t.nextPart.set(s, c)), t = c;
409
+ }
410
+ return t;
411
+ }, lr = (e) => "isThemeGetter" in e && e.isThemeGetter === !0, cr = (e) => {
412
+ if (e < 1)
413
+ return {
414
+ get: () => {
415
+ },
416
+ set: () => {
417
+ }
418
+ };
419
+ let r = 0, t = /* @__PURE__ */ Object.create(null), o = /* @__PURE__ */ Object.create(null);
420
+ const n = (a, s) => {
421
+ t[a] = s, r++, r > e && (r = 0, o = t, t = /* @__PURE__ */ Object.create(null));
422
+ };
423
+ return {
424
+ get(a) {
425
+ let s = t[a];
426
+ if (s !== void 0)
427
+ return s;
428
+ if ((s = o[a]) !== void 0)
429
+ return n(a, s), s;
430
+ },
431
+ set(a, s) {
432
+ a in t ? t[a] = s : n(a, s);
433
+ }
434
+ };
435
+ }, Ve = "!", ot = ":", ur = [], nt = (e, r, t, o, n) => ({
436
+ modifiers: e,
437
+ hasImportantModifier: r,
438
+ baseClassName: t,
439
+ maybePostfixModifierPosition: o,
440
+ isExternal: n
441
+ }), dr = (e) => {
442
+ const {
443
+ prefix: r,
444
+ experimentalParseClassName: t
445
+ } = e;
446
+ let o = (n) => {
447
+ const a = [];
448
+ let s = 0, c = 0, i = 0, u;
449
+ const m = n.length;
450
+ for (let g = 0; g < m; g++) {
451
+ const $ = n[g];
452
+ if (s === 0 && c === 0) {
453
+ if ($ === ot) {
454
+ a.push(n.slice(i, g)), i = g + 1;
455
+ continue;
456
+ }
457
+ if ($ === "/") {
458
+ u = g;
459
+ continue;
460
+ }
461
+ }
462
+ $ === "[" ? s++ : $ === "]" ? s-- : $ === "(" ? c++ : $ === ")" && c--;
463
+ }
464
+ const p = a.length === 0 ? n : n.slice(i);
465
+ let y = p, E = !1;
466
+ p.endsWith(Ve) ? (y = p.slice(0, -1), E = !0) : (
467
+ /**
468
+ * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.
469
+ * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864
470
+ */
471
+ p.startsWith(Ve) && (y = p.slice(1), E = !0)
472
+ );
473
+ const S = u && u > i ? u - i : void 0;
474
+ return nt(a, E, y, S);
475
+ };
476
+ if (r) {
477
+ const n = r + ot, a = o;
478
+ o = (s) => s.startsWith(n) ? a(s.slice(n.length)) : nt(ur, !1, s, void 0, !0);
479
+ }
480
+ if (t) {
481
+ const n = o;
482
+ o = (a) => t({
483
+ className: a,
484
+ parseClassName: n
485
+ });
486
+ }
487
+ return o;
488
+ }, fr = (e) => {
489
+ const r = /* @__PURE__ */ new Map();
490
+ return e.orderSensitiveModifiers.forEach((t, o) => {
491
+ r.set(t, 1e6 + o);
492
+ }), (t) => {
493
+ const o = [];
494
+ let n = [];
495
+ for (let a = 0; a < t.length; a++) {
496
+ const s = t[a], c = s[0] === "[", i = r.has(s);
497
+ c || i ? (n.length > 0 && (n.sort(), o.push(...n), n = []), o.push(s)) : n.push(s);
498
+ }
499
+ return n.length > 0 && (n.sort(), o.push(...n)), o;
500
+ };
501
+ }, mr = (e) => ({
502
+ cache: cr(e.cacheSize),
503
+ parseClassName: dr(e),
504
+ sortModifiers: fr(e),
505
+ ...er(e)
506
+ }), pr = /\s+/, br = (e, r) => {
507
+ const {
508
+ parseClassName: t,
509
+ getClassGroupId: o,
510
+ getConflictingClassGroupIds: n,
511
+ sortModifiers: a
512
+ } = r, s = [], c = e.trim().split(pr);
513
+ let i = "";
514
+ for (let u = c.length - 1; u >= 0; u -= 1) {
515
+ const m = c[u], {
516
+ isExternal: p,
517
+ modifiers: y,
518
+ hasImportantModifier: E,
519
+ baseClassName: S,
520
+ maybePostfixModifierPosition: g
521
+ } = t(m);
522
+ if (p) {
523
+ i = m + (i.length > 0 ? " " + i : i);
524
+ continue;
525
+ }
526
+ let $ = !!g, N = o($ ? S.substring(0, g) : S);
527
+ if (!N) {
528
+ if (!$) {
529
+ i = m + (i.length > 0 ? " " + i : i);
530
+ continue;
531
+ }
532
+ if (N = o(S), !N) {
533
+ i = m + (i.length > 0 ? " " + i : i);
534
+ continue;
535
+ }
536
+ $ = !1;
537
+ }
538
+ const O = y.length === 0 ? "" : y.length === 1 ? y[0] : a(y).join(":"), q = E ? O + Ve : O, D = q + N;
539
+ if (s.indexOf(D) > -1)
540
+ continue;
541
+ s.push(D);
542
+ const G = n(N, $);
543
+ for (let j = 0; j < G.length; ++j) {
544
+ const J = G[j];
545
+ s.push(q + J);
546
+ }
547
+ i = m + (i.length > 0 ? " " + i : i);
548
+ }
549
+ return i;
550
+ }, gr = (...e) => {
551
+ let r = 0, t, o, n = "";
552
+ for (; r < e.length; )
553
+ (t = e[r++]) && (o = vt(t)) && (n && (n += " "), n += o);
554
+ return n;
555
+ }, vt = (e) => {
556
+ if (typeof e == "string")
557
+ return e;
558
+ let r, t = "";
559
+ for (let o = 0; o < e.length; o++)
560
+ e[o] && (r = vt(e[o])) && (t && (t += " "), t += r);
561
+ return t;
562
+ }, vr = (e, ...r) => {
563
+ let t, o, n, a;
564
+ const s = (i) => {
565
+ const u = r.reduce((m, p) => p(m), e());
566
+ return t = mr(u), o = t.cache.get, n = t.cache.set, a = c, c(i);
567
+ }, c = (i) => {
568
+ const u = o(i);
569
+ if (u)
570
+ return u;
571
+ const m = br(i, t);
572
+ return n(i, m), m;
573
+ };
574
+ return a = s, (...i) => a(gr(...i));
575
+ }, hr = [], P = (e) => {
576
+ const r = (t) => t[e] || hr;
577
+ return r.isThemeGetter = !0, r;
578
+ }, ht = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, yt = /^\((?:(\w[\w-]*):)?(.+)\)$/i, yr = /^\d+\/\d+$/, wr = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, xr = /\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$/, kr = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, Er = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, $r = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, re = (e) => yr.test(e), w = (e) => !!e && !Number.isNaN(Number(e)), B = (e) => !!e && Number.isInteger(Number(e)), je = (e) => e.endsWith("%") && w(e.slice(0, -1)), I = (e) => wr.test(e), Tr = () => !0, Sr = (e) => (
579
+ // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
580
+ // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
581
+ // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
582
+ xr.test(e) && !kr.test(e)
583
+ ), wt = () => !1, Nr = (e) => Er.test(e), Pr = (e) => $r.test(e), Rr = (e) => !d(e) && !f(e), Ar = (e) => se(e, Et, wt), d = (e) => ht.test(e), X = (e) => se(e, $t, Sr), Me = (e) => se(e, Fr, w), at = (e) => se(e, xt, wt), Lr = (e) => se(e, kt, Pr), Te = (e) => se(e, Tt, Nr), f = (e) => yt.test(e), pe = (e) => ie(e, $t), _r = (e) => ie(e, jr), st = (e) => ie(e, xt), Or = (e) => ie(e, Et), Cr = (e) => ie(e, kt), Se = (e) => ie(e, Tt, !0), se = (e, r, t) => {
584
+ const o = ht.exec(e);
585
+ return o ? o[1] ? r(o[1]) : t(o[2]) : !1;
586
+ }, ie = (e, r, t = !1) => {
587
+ const o = yt.exec(e);
588
+ return o ? o[1] ? r(o[1]) : t : !1;
589
+ }, xt = (e) => e === "position" || e === "percentage", kt = (e) => e === "image" || e === "url", Et = (e) => e === "length" || e === "size" || e === "bg-size", $t = (e) => e === "length", Fr = (e) => e === "number", jr = (e) => e === "family-name", Tt = (e) => e === "shadow", Mr = () => {
590
+ const e = P("color"), r = P("font"), t = P("text"), o = P("font-weight"), n = P("tracking"), a = P("leading"), s = P("breakpoint"), c = P("container"), i = P("spacing"), u = P("radius"), m = P("shadow"), p = P("inset-shadow"), y = P("text-shadow"), E = P("drop-shadow"), S = P("blur"), g = P("perspective"), $ = P("aspect"), N = P("ease"), O = P("animate"), q = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], D = () => [
591
+ "center",
592
+ "top",
593
+ "bottom",
594
+ "left",
595
+ "right",
596
+ "top-left",
597
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
598
+ "left-top",
599
+ "top-right",
600
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
601
+ "right-top",
602
+ "bottom-right",
603
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
604
+ "right-bottom",
605
+ "bottom-left",
606
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
607
+ "left-bottom"
608
+ ], G = () => [...D(), f, d], j = () => ["auto", "hidden", "clip", "visible", "scroll"], J = () => ["auto", "contain", "none"], v = () => [f, d, i], R = () => [re, "full", "auto", ...v()], xe = () => [B, "none", "subgrid", f, d], ke = () => ["auto", {
609
+ span: ["full", B, f, d]
610
+ }, B, f, d], H = () => [B, "auto", f, d], le = () => ["auto", "min", "max", "fr", f, d], ce = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], C = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], A = () => ["auto", ...v()], F = () => [re, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...v()], b = () => [e, f, d], ue = () => [...D(), st, at, {
611
+ position: [f, d]
612
+ }], de = () => ["no-repeat", {
613
+ repeat: ["", "x", "y", "space", "round"]
614
+ }], l = () => ["auto", "cover", "contain", Or, Ar, {
615
+ size: [f, d]
616
+ }], h = () => [je, pe, X], x = () => [
617
+ // Deprecated since Tailwind CSS v4.0.0
618
+ "",
619
+ "none",
620
+ "full",
621
+ u,
622
+ f,
623
+ d
624
+ ], T = () => ["", w, pe, X], M = () => ["solid", "dashed", "dotted", "double"], ee = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], k = () => [w, je, st, at], z = () => [
625
+ // Deprecated since Tailwind CSS v4.0.0
626
+ "",
627
+ "none",
628
+ S,
629
+ f,
630
+ d
631
+ ], W = () => ["none", w, f, d], te = () => ["none", w, f, d], Fe = () => [w, f, d], Ee = () => [re, "full", ...v()];
632
+ return {
633
+ cacheSize: 500,
634
+ theme: {
635
+ animate: ["spin", "ping", "pulse", "bounce"],
636
+ aspect: ["video"],
637
+ blur: [I],
638
+ breakpoint: [I],
639
+ color: [Tr],
640
+ container: [I],
641
+ "drop-shadow": [I],
642
+ ease: ["in", "out", "in-out"],
643
+ font: [Rr],
644
+ "font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"],
645
+ "inset-shadow": [I],
646
+ leading: ["none", "tight", "snug", "normal", "relaxed", "loose"],
647
+ perspective: ["dramatic", "near", "normal", "midrange", "distant", "none"],
648
+ radius: [I],
649
+ shadow: [I],
650
+ spacing: ["px", w],
651
+ text: [I],
652
+ "text-shadow": [I],
653
+ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"]
654
+ },
655
+ classGroups: {
656
+ // --------------
657
+ // --- Layout ---
658
+ // --------------
659
+ /**
660
+ * Aspect Ratio
661
+ * @see https://tailwindcss.com/docs/aspect-ratio
662
+ */
663
+ aspect: [{
664
+ aspect: ["auto", "square", re, d, f, $]
665
+ }],
666
+ /**
667
+ * Container
668
+ * @see https://tailwindcss.com/docs/container
669
+ * @deprecated since Tailwind CSS v4.0.0
670
+ */
671
+ container: ["container"],
672
+ /**
673
+ * Columns
674
+ * @see https://tailwindcss.com/docs/columns
675
+ */
676
+ columns: [{
677
+ columns: [w, d, f, c]
678
+ }],
679
+ /**
680
+ * Break After
681
+ * @see https://tailwindcss.com/docs/break-after
682
+ */
683
+ "break-after": [{
684
+ "break-after": q()
685
+ }],
686
+ /**
687
+ * Break Before
688
+ * @see https://tailwindcss.com/docs/break-before
689
+ */
690
+ "break-before": [{
691
+ "break-before": q()
692
+ }],
693
+ /**
694
+ * Break Inside
695
+ * @see https://tailwindcss.com/docs/break-inside
696
+ */
697
+ "break-inside": [{
698
+ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
699
+ }],
700
+ /**
701
+ * Box Decoration Break
702
+ * @see https://tailwindcss.com/docs/box-decoration-break
703
+ */
704
+ "box-decoration": [{
705
+ "box-decoration": ["slice", "clone"]
706
+ }],
707
+ /**
708
+ * Box Sizing
709
+ * @see https://tailwindcss.com/docs/box-sizing
710
+ */
711
+ box: [{
712
+ box: ["border", "content"]
713
+ }],
714
+ /**
715
+ * Display
716
+ * @see https://tailwindcss.com/docs/display
717
+ */
718
+ 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"],
719
+ /**
720
+ * Screen Reader Only
721
+ * @see https://tailwindcss.com/docs/display#screen-reader-only
722
+ */
723
+ sr: ["sr-only", "not-sr-only"],
724
+ /**
725
+ * Floats
726
+ * @see https://tailwindcss.com/docs/float
727
+ */
728
+ float: [{
729
+ float: ["right", "left", "none", "start", "end"]
730
+ }],
731
+ /**
732
+ * Clear
733
+ * @see https://tailwindcss.com/docs/clear
734
+ */
735
+ clear: [{
736
+ clear: ["left", "right", "both", "none", "start", "end"]
737
+ }],
738
+ /**
739
+ * Isolation
740
+ * @see https://tailwindcss.com/docs/isolation
741
+ */
742
+ isolation: ["isolate", "isolation-auto"],
743
+ /**
744
+ * Object Fit
745
+ * @see https://tailwindcss.com/docs/object-fit
746
+ */
747
+ "object-fit": [{
748
+ object: ["contain", "cover", "fill", "none", "scale-down"]
749
+ }],
750
+ /**
751
+ * Object Position
752
+ * @see https://tailwindcss.com/docs/object-position
753
+ */
754
+ "object-position": [{
755
+ object: G()
756
+ }],
757
+ /**
758
+ * Overflow
759
+ * @see https://tailwindcss.com/docs/overflow
760
+ */
761
+ overflow: [{
762
+ overflow: j()
763
+ }],
764
+ /**
765
+ * Overflow X
766
+ * @see https://tailwindcss.com/docs/overflow
767
+ */
768
+ "overflow-x": [{
769
+ "overflow-x": j()
770
+ }],
771
+ /**
772
+ * Overflow Y
773
+ * @see https://tailwindcss.com/docs/overflow
774
+ */
775
+ "overflow-y": [{
776
+ "overflow-y": j()
777
+ }],
778
+ /**
779
+ * Overscroll Behavior
780
+ * @see https://tailwindcss.com/docs/overscroll-behavior
781
+ */
782
+ overscroll: [{
783
+ overscroll: J()
784
+ }],
785
+ /**
786
+ * Overscroll Behavior X
787
+ * @see https://tailwindcss.com/docs/overscroll-behavior
788
+ */
789
+ "overscroll-x": [{
790
+ "overscroll-x": J()
791
+ }],
792
+ /**
793
+ * Overscroll Behavior Y
794
+ * @see https://tailwindcss.com/docs/overscroll-behavior
795
+ */
796
+ "overscroll-y": [{
797
+ "overscroll-y": J()
798
+ }],
799
+ /**
800
+ * Position
801
+ * @see https://tailwindcss.com/docs/position
802
+ */
803
+ position: ["static", "fixed", "absolute", "relative", "sticky"],
804
+ /**
805
+ * Top / Right / Bottom / Left
806
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
807
+ */
808
+ inset: [{
809
+ inset: R()
810
+ }],
811
+ /**
812
+ * Right / Left
813
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
814
+ */
815
+ "inset-x": [{
816
+ "inset-x": R()
817
+ }],
818
+ /**
819
+ * Top / Bottom
820
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
821
+ */
822
+ "inset-y": [{
823
+ "inset-y": R()
824
+ }],
825
+ /**
826
+ * Start
827
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
828
+ */
829
+ start: [{
830
+ start: R()
831
+ }],
832
+ /**
833
+ * End
834
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
835
+ */
836
+ end: [{
837
+ end: R()
838
+ }],
839
+ /**
840
+ * Top
841
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
842
+ */
843
+ top: [{
844
+ top: R()
845
+ }],
846
+ /**
847
+ * Right
848
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
849
+ */
850
+ right: [{
851
+ right: R()
852
+ }],
853
+ /**
854
+ * Bottom
855
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
856
+ */
857
+ bottom: [{
858
+ bottom: R()
859
+ }],
860
+ /**
861
+ * Left
862
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
863
+ */
864
+ left: [{
865
+ left: R()
866
+ }],
867
+ /**
868
+ * Visibility
869
+ * @see https://tailwindcss.com/docs/visibility
870
+ */
871
+ visibility: ["visible", "invisible", "collapse"],
872
+ /**
873
+ * Z-Index
874
+ * @see https://tailwindcss.com/docs/z-index
875
+ */
876
+ z: [{
877
+ z: [B, "auto", f, d]
878
+ }],
879
+ // ------------------------
880
+ // --- Flexbox and Grid ---
881
+ // ------------------------
882
+ /**
883
+ * Flex Basis
884
+ * @see https://tailwindcss.com/docs/flex-basis
885
+ */
886
+ basis: [{
887
+ basis: [re, "full", "auto", c, ...v()]
888
+ }],
889
+ /**
890
+ * Flex Direction
891
+ * @see https://tailwindcss.com/docs/flex-direction
892
+ */
893
+ "flex-direction": [{
894
+ flex: ["row", "row-reverse", "col", "col-reverse"]
895
+ }],
896
+ /**
897
+ * Flex Wrap
898
+ * @see https://tailwindcss.com/docs/flex-wrap
899
+ */
900
+ "flex-wrap": [{
901
+ flex: ["nowrap", "wrap", "wrap-reverse"]
902
+ }],
903
+ /**
904
+ * Flex
905
+ * @see https://tailwindcss.com/docs/flex
906
+ */
907
+ flex: [{
908
+ flex: [w, re, "auto", "initial", "none", d]
909
+ }],
910
+ /**
911
+ * Flex Grow
912
+ * @see https://tailwindcss.com/docs/flex-grow
913
+ */
914
+ grow: [{
915
+ grow: ["", w, f, d]
916
+ }],
917
+ /**
918
+ * Flex Shrink
919
+ * @see https://tailwindcss.com/docs/flex-shrink
920
+ */
921
+ shrink: [{
922
+ shrink: ["", w, f, d]
923
+ }],
924
+ /**
925
+ * Order
926
+ * @see https://tailwindcss.com/docs/order
927
+ */
928
+ order: [{
929
+ order: [B, "first", "last", "none", f, d]
930
+ }],
931
+ /**
932
+ * Grid Template Columns
933
+ * @see https://tailwindcss.com/docs/grid-template-columns
934
+ */
935
+ "grid-cols": [{
936
+ "grid-cols": xe()
937
+ }],
938
+ /**
939
+ * Grid Column Start / End
940
+ * @see https://tailwindcss.com/docs/grid-column
941
+ */
942
+ "col-start-end": [{
943
+ col: ke()
944
+ }],
945
+ /**
946
+ * Grid Column Start
947
+ * @see https://tailwindcss.com/docs/grid-column
948
+ */
949
+ "col-start": [{
950
+ "col-start": H()
951
+ }],
952
+ /**
953
+ * Grid Column End
954
+ * @see https://tailwindcss.com/docs/grid-column
955
+ */
956
+ "col-end": [{
957
+ "col-end": H()
958
+ }],
959
+ /**
960
+ * Grid Template Rows
961
+ * @see https://tailwindcss.com/docs/grid-template-rows
962
+ */
963
+ "grid-rows": [{
964
+ "grid-rows": xe()
965
+ }],
966
+ /**
967
+ * Grid Row Start / End
968
+ * @see https://tailwindcss.com/docs/grid-row
969
+ */
970
+ "row-start-end": [{
971
+ row: ke()
972
+ }],
973
+ /**
974
+ * Grid Row Start
975
+ * @see https://tailwindcss.com/docs/grid-row
976
+ */
977
+ "row-start": [{
978
+ "row-start": H()
979
+ }],
980
+ /**
981
+ * Grid Row End
982
+ * @see https://tailwindcss.com/docs/grid-row
983
+ */
984
+ "row-end": [{
985
+ "row-end": H()
986
+ }],
987
+ /**
988
+ * Grid Auto Flow
989
+ * @see https://tailwindcss.com/docs/grid-auto-flow
990
+ */
991
+ "grid-flow": [{
992
+ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
993
+ }],
994
+ /**
995
+ * Grid Auto Columns
996
+ * @see https://tailwindcss.com/docs/grid-auto-columns
997
+ */
998
+ "auto-cols": [{
999
+ "auto-cols": le()
1000
+ }],
1001
+ /**
1002
+ * Grid Auto Rows
1003
+ * @see https://tailwindcss.com/docs/grid-auto-rows
1004
+ */
1005
+ "auto-rows": [{
1006
+ "auto-rows": le()
1007
+ }],
1008
+ /**
1009
+ * Gap
1010
+ * @see https://tailwindcss.com/docs/gap
1011
+ */
1012
+ gap: [{
1013
+ gap: v()
1014
+ }],
1015
+ /**
1016
+ * Gap X
1017
+ * @see https://tailwindcss.com/docs/gap
1018
+ */
1019
+ "gap-x": [{
1020
+ "gap-x": v()
1021
+ }],
1022
+ /**
1023
+ * Gap Y
1024
+ * @see https://tailwindcss.com/docs/gap
1025
+ */
1026
+ "gap-y": [{
1027
+ "gap-y": v()
1028
+ }],
1029
+ /**
1030
+ * Justify Content
1031
+ * @see https://tailwindcss.com/docs/justify-content
1032
+ */
1033
+ "justify-content": [{
1034
+ justify: [...ce(), "normal"]
1035
+ }],
1036
+ /**
1037
+ * Justify Items
1038
+ * @see https://tailwindcss.com/docs/justify-items
1039
+ */
1040
+ "justify-items": [{
1041
+ "justify-items": [...C(), "normal"]
1042
+ }],
1043
+ /**
1044
+ * Justify Self
1045
+ * @see https://tailwindcss.com/docs/justify-self
1046
+ */
1047
+ "justify-self": [{
1048
+ "justify-self": ["auto", ...C()]
1049
+ }],
1050
+ /**
1051
+ * Align Content
1052
+ * @see https://tailwindcss.com/docs/align-content
1053
+ */
1054
+ "align-content": [{
1055
+ content: ["normal", ...ce()]
1056
+ }],
1057
+ /**
1058
+ * Align Items
1059
+ * @see https://tailwindcss.com/docs/align-items
1060
+ */
1061
+ "align-items": [{
1062
+ items: [...C(), {
1063
+ baseline: ["", "last"]
1064
+ }]
1065
+ }],
1066
+ /**
1067
+ * Align Self
1068
+ * @see https://tailwindcss.com/docs/align-self
1069
+ */
1070
+ "align-self": [{
1071
+ self: ["auto", ...C(), {
1072
+ baseline: ["", "last"]
1073
+ }]
1074
+ }],
1075
+ /**
1076
+ * Place Content
1077
+ * @see https://tailwindcss.com/docs/place-content
1078
+ */
1079
+ "place-content": [{
1080
+ "place-content": ce()
1081
+ }],
1082
+ /**
1083
+ * Place Items
1084
+ * @see https://tailwindcss.com/docs/place-items
1085
+ */
1086
+ "place-items": [{
1087
+ "place-items": [...C(), "baseline"]
1088
+ }],
1089
+ /**
1090
+ * Place Self
1091
+ * @see https://tailwindcss.com/docs/place-self
1092
+ */
1093
+ "place-self": [{
1094
+ "place-self": ["auto", ...C()]
1095
+ }],
1096
+ // Spacing
1097
+ /**
1098
+ * Padding
1099
+ * @see https://tailwindcss.com/docs/padding
1100
+ */
1101
+ p: [{
1102
+ p: v()
1103
+ }],
1104
+ /**
1105
+ * Padding X
1106
+ * @see https://tailwindcss.com/docs/padding
1107
+ */
1108
+ px: [{
1109
+ px: v()
1110
+ }],
1111
+ /**
1112
+ * Padding Y
1113
+ * @see https://tailwindcss.com/docs/padding
1114
+ */
1115
+ py: [{
1116
+ py: v()
1117
+ }],
1118
+ /**
1119
+ * Padding Start
1120
+ * @see https://tailwindcss.com/docs/padding
1121
+ */
1122
+ ps: [{
1123
+ ps: v()
1124
+ }],
1125
+ /**
1126
+ * Padding End
1127
+ * @see https://tailwindcss.com/docs/padding
1128
+ */
1129
+ pe: [{
1130
+ pe: v()
1131
+ }],
1132
+ /**
1133
+ * Padding Top
1134
+ * @see https://tailwindcss.com/docs/padding
1135
+ */
1136
+ pt: [{
1137
+ pt: v()
1138
+ }],
1139
+ /**
1140
+ * Padding Right
1141
+ * @see https://tailwindcss.com/docs/padding
1142
+ */
1143
+ pr: [{
1144
+ pr: v()
1145
+ }],
1146
+ /**
1147
+ * Padding Bottom
1148
+ * @see https://tailwindcss.com/docs/padding
1149
+ */
1150
+ pb: [{
1151
+ pb: v()
1152
+ }],
1153
+ /**
1154
+ * Padding Left
1155
+ * @see https://tailwindcss.com/docs/padding
1156
+ */
1157
+ pl: [{
1158
+ pl: v()
1159
+ }],
1160
+ /**
1161
+ * Margin
1162
+ * @see https://tailwindcss.com/docs/margin
1163
+ */
1164
+ m: [{
1165
+ m: A()
1166
+ }],
1167
+ /**
1168
+ * Margin X
1169
+ * @see https://tailwindcss.com/docs/margin
1170
+ */
1171
+ mx: [{
1172
+ mx: A()
1173
+ }],
1174
+ /**
1175
+ * Margin Y
1176
+ * @see https://tailwindcss.com/docs/margin
1177
+ */
1178
+ my: [{
1179
+ my: A()
1180
+ }],
1181
+ /**
1182
+ * Margin Start
1183
+ * @see https://tailwindcss.com/docs/margin
1184
+ */
1185
+ ms: [{
1186
+ ms: A()
1187
+ }],
1188
+ /**
1189
+ * Margin End
1190
+ * @see https://tailwindcss.com/docs/margin
1191
+ */
1192
+ me: [{
1193
+ me: A()
1194
+ }],
1195
+ /**
1196
+ * Margin Top
1197
+ * @see https://tailwindcss.com/docs/margin
1198
+ */
1199
+ mt: [{
1200
+ mt: A()
1201
+ }],
1202
+ /**
1203
+ * Margin Right
1204
+ * @see https://tailwindcss.com/docs/margin
1205
+ */
1206
+ mr: [{
1207
+ mr: A()
1208
+ }],
1209
+ /**
1210
+ * Margin Bottom
1211
+ * @see https://tailwindcss.com/docs/margin
1212
+ */
1213
+ mb: [{
1214
+ mb: A()
1215
+ }],
1216
+ /**
1217
+ * Margin Left
1218
+ * @see https://tailwindcss.com/docs/margin
1219
+ */
1220
+ ml: [{
1221
+ ml: A()
1222
+ }],
1223
+ /**
1224
+ * Space Between X
1225
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1226
+ */
1227
+ "space-x": [{
1228
+ "space-x": v()
1229
+ }],
1230
+ /**
1231
+ * Space Between X Reverse
1232
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1233
+ */
1234
+ "space-x-reverse": ["space-x-reverse"],
1235
+ /**
1236
+ * Space Between Y
1237
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1238
+ */
1239
+ "space-y": [{
1240
+ "space-y": v()
1241
+ }],
1242
+ /**
1243
+ * Space Between Y Reverse
1244
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1245
+ */
1246
+ "space-y-reverse": ["space-y-reverse"],
1247
+ // --------------
1248
+ // --- Sizing ---
1249
+ // --------------
1250
+ /**
1251
+ * Size
1252
+ * @see https://tailwindcss.com/docs/width#setting-both-width-and-height
1253
+ */
1254
+ size: [{
1255
+ size: F()
1256
+ }],
1257
+ /**
1258
+ * Width
1259
+ * @see https://tailwindcss.com/docs/width
1260
+ */
1261
+ w: [{
1262
+ w: [c, "screen", ...F()]
1263
+ }],
1264
+ /**
1265
+ * Min-Width
1266
+ * @see https://tailwindcss.com/docs/min-width
1267
+ */
1268
+ "min-w": [{
1269
+ "min-w": [
1270
+ c,
1271
+ "screen",
1272
+ /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1273
+ "none",
1274
+ ...F()
1275
+ ]
1276
+ }],
1277
+ /**
1278
+ * Max-Width
1279
+ * @see https://tailwindcss.com/docs/max-width
1280
+ */
1281
+ "max-w": [{
1282
+ "max-w": [
1283
+ c,
1284
+ "screen",
1285
+ "none",
1286
+ /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1287
+ "prose",
1288
+ /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1289
+ {
1290
+ screen: [s]
1291
+ },
1292
+ ...F()
1293
+ ]
1294
+ }],
1295
+ /**
1296
+ * Height
1297
+ * @see https://tailwindcss.com/docs/height
1298
+ */
1299
+ h: [{
1300
+ h: ["screen", "lh", ...F()]
1301
+ }],
1302
+ /**
1303
+ * Min-Height
1304
+ * @see https://tailwindcss.com/docs/min-height
1305
+ */
1306
+ "min-h": [{
1307
+ "min-h": ["screen", "lh", "none", ...F()]
1308
+ }],
1309
+ /**
1310
+ * Max-Height
1311
+ * @see https://tailwindcss.com/docs/max-height
1312
+ */
1313
+ "max-h": [{
1314
+ "max-h": ["screen", "lh", ...F()]
1315
+ }],
1316
+ // ------------------
1317
+ // --- Typography ---
1318
+ // ------------------
1319
+ /**
1320
+ * Font Size
1321
+ * @see https://tailwindcss.com/docs/font-size
1322
+ */
1323
+ "font-size": [{
1324
+ text: ["base", t, pe, X]
1325
+ }],
1326
+ /**
1327
+ * Font Smoothing
1328
+ * @see https://tailwindcss.com/docs/font-smoothing
1329
+ */
1330
+ "font-smoothing": ["antialiased", "subpixel-antialiased"],
1331
+ /**
1332
+ * Font Style
1333
+ * @see https://tailwindcss.com/docs/font-style
1334
+ */
1335
+ "font-style": ["italic", "not-italic"],
1336
+ /**
1337
+ * Font Weight
1338
+ * @see https://tailwindcss.com/docs/font-weight
1339
+ */
1340
+ "font-weight": [{
1341
+ font: [o, f, Me]
1342
+ }],
1343
+ /**
1344
+ * Font Stretch
1345
+ * @see https://tailwindcss.com/docs/font-stretch
1346
+ */
1347
+ "font-stretch": [{
1348
+ "font-stretch": ["ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded", je, d]
1349
+ }],
1350
+ /**
1351
+ * Font Family
1352
+ * @see https://tailwindcss.com/docs/font-family
1353
+ */
1354
+ "font-family": [{
1355
+ font: [_r, d, r]
1356
+ }],
1357
+ /**
1358
+ * Font Variant Numeric
1359
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1360
+ */
1361
+ "fvn-normal": ["normal-nums"],
1362
+ /**
1363
+ * Font Variant Numeric
1364
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1365
+ */
1366
+ "fvn-ordinal": ["ordinal"],
1367
+ /**
1368
+ * Font Variant Numeric
1369
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1370
+ */
1371
+ "fvn-slashed-zero": ["slashed-zero"],
1372
+ /**
1373
+ * Font Variant Numeric
1374
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1375
+ */
1376
+ "fvn-figure": ["lining-nums", "oldstyle-nums"],
1377
+ /**
1378
+ * Font Variant Numeric
1379
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1380
+ */
1381
+ "fvn-spacing": ["proportional-nums", "tabular-nums"],
1382
+ /**
1383
+ * Font Variant Numeric
1384
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1385
+ */
1386
+ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
1387
+ /**
1388
+ * Letter Spacing
1389
+ * @see https://tailwindcss.com/docs/letter-spacing
1390
+ */
1391
+ tracking: [{
1392
+ tracking: [n, f, d]
1393
+ }],
1394
+ /**
1395
+ * Line Clamp
1396
+ * @see https://tailwindcss.com/docs/line-clamp
1397
+ */
1398
+ "line-clamp": [{
1399
+ "line-clamp": [w, "none", f, Me]
1400
+ }],
1401
+ /**
1402
+ * Line Height
1403
+ * @see https://tailwindcss.com/docs/line-height
1404
+ */
1405
+ leading: [{
1406
+ leading: [
1407
+ /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1408
+ a,
1409
+ ...v()
1410
+ ]
1411
+ }],
1412
+ /**
1413
+ * List Style Image
1414
+ * @see https://tailwindcss.com/docs/list-style-image
1415
+ */
1416
+ "list-image": [{
1417
+ "list-image": ["none", f, d]
1418
+ }],
1419
+ /**
1420
+ * List Style Position
1421
+ * @see https://tailwindcss.com/docs/list-style-position
1422
+ */
1423
+ "list-style-position": [{
1424
+ list: ["inside", "outside"]
1425
+ }],
1426
+ /**
1427
+ * List Style Type
1428
+ * @see https://tailwindcss.com/docs/list-style-type
1429
+ */
1430
+ "list-style-type": [{
1431
+ list: ["disc", "decimal", "none", f, d]
1432
+ }],
1433
+ /**
1434
+ * Text Alignment
1435
+ * @see https://tailwindcss.com/docs/text-align
1436
+ */
1437
+ "text-alignment": [{
1438
+ text: ["left", "center", "right", "justify", "start", "end"]
1439
+ }],
1440
+ /**
1441
+ * Placeholder Color
1442
+ * @deprecated since Tailwind CSS v3.0.0
1443
+ * @see https://v3.tailwindcss.com/docs/placeholder-color
1444
+ */
1445
+ "placeholder-color": [{
1446
+ placeholder: b()
1447
+ }],
1448
+ /**
1449
+ * Text Color
1450
+ * @see https://tailwindcss.com/docs/text-color
1451
+ */
1452
+ "text-color": [{
1453
+ text: b()
1454
+ }],
1455
+ /**
1456
+ * Text Decoration
1457
+ * @see https://tailwindcss.com/docs/text-decoration
1458
+ */
1459
+ "text-decoration": ["underline", "overline", "line-through", "no-underline"],
1460
+ /**
1461
+ * Text Decoration Style
1462
+ * @see https://tailwindcss.com/docs/text-decoration-style
1463
+ */
1464
+ "text-decoration-style": [{
1465
+ decoration: [...M(), "wavy"]
1466
+ }],
1467
+ /**
1468
+ * Text Decoration Thickness
1469
+ * @see https://tailwindcss.com/docs/text-decoration-thickness
1470
+ */
1471
+ "text-decoration-thickness": [{
1472
+ decoration: [w, "from-font", "auto", f, X]
1473
+ }],
1474
+ /**
1475
+ * Text Decoration Color
1476
+ * @see https://tailwindcss.com/docs/text-decoration-color
1477
+ */
1478
+ "text-decoration-color": [{
1479
+ decoration: b()
1480
+ }],
1481
+ /**
1482
+ * Text Underline Offset
1483
+ * @see https://tailwindcss.com/docs/text-underline-offset
1484
+ */
1485
+ "underline-offset": [{
1486
+ "underline-offset": [w, "auto", f, d]
1487
+ }],
1488
+ /**
1489
+ * Text Transform
1490
+ * @see https://tailwindcss.com/docs/text-transform
1491
+ */
1492
+ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
1493
+ /**
1494
+ * Text Overflow
1495
+ * @see https://tailwindcss.com/docs/text-overflow
1496
+ */
1497
+ "text-overflow": ["truncate", "text-ellipsis", "text-clip"],
1498
+ /**
1499
+ * Text Wrap
1500
+ * @see https://tailwindcss.com/docs/text-wrap
1501
+ */
1502
+ "text-wrap": [{
1503
+ text: ["wrap", "nowrap", "balance", "pretty"]
1504
+ }],
1505
+ /**
1506
+ * Text Indent
1507
+ * @see https://tailwindcss.com/docs/text-indent
1508
+ */
1509
+ indent: [{
1510
+ indent: v()
1511
+ }],
1512
+ /**
1513
+ * Vertical Alignment
1514
+ * @see https://tailwindcss.com/docs/vertical-align
1515
+ */
1516
+ "vertical-align": [{
1517
+ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", f, d]
1518
+ }],
1519
+ /**
1520
+ * Whitespace
1521
+ * @see https://tailwindcss.com/docs/whitespace
1522
+ */
1523
+ whitespace: [{
1524
+ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
1525
+ }],
1526
+ /**
1527
+ * Word Break
1528
+ * @see https://tailwindcss.com/docs/word-break
1529
+ */
1530
+ break: [{
1531
+ break: ["normal", "words", "all", "keep"]
1532
+ }],
1533
+ /**
1534
+ * Overflow Wrap
1535
+ * @see https://tailwindcss.com/docs/overflow-wrap
1536
+ */
1537
+ wrap: [{
1538
+ wrap: ["break-word", "anywhere", "normal"]
1539
+ }],
1540
+ /**
1541
+ * Hyphens
1542
+ * @see https://tailwindcss.com/docs/hyphens
1543
+ */
1544
+ hyphens: [{
1545
+ hyphens: ["none", "manual", "auto"]
1546
+ }],
1547
+ /**
1548
+ * Content
1549
+ * @see https://tailwindcss.com/docs/content
1550
+ */
1551
+ content: [{
1552
+ content: ["none", f, d]
1553
+ }],
1554
+ // -------------------
1555
+ // --- Backgrounds ---
1556
+ // -------------------
1557
+ /**
1558
+ * Background Attachment
1559
+ * @see https://tailwindcss.com/docs/background-attachment
1560
+ */
1561
+ "bg-attachment": [{
1562
+ bg: ["fixed", "local", "scroll"]
1563
+ }],
1564
+ /**
1565
+ * Background Clip
1566
+ * @see https://tailwindcss.com/docs/background-clip
1567
+ */
1568
+ "bg-clip": [{
1569
+ "bg-clip": ["border", "padding", "content", "text"]
1570
+ }],
1571
+ /**
1572
+ * Background Origin
1573
+ * @see https://tailwindcss.com/docs/background-origin
1574
+ */
1575
+ "bg-origin": [{
1576
+ "bg-origin": ["border", "padding", "content"]
1577
+ }],
1578
+ /**
1579
+ * Background Position
1580
+ * @see https://tailwindcss.com/docs/background-position
1581
+ */
1582
+ "bg-position": [{
1583
+ bg: ue()
1584
+ }],
1585
+ /**
1586
+ * Background Repeat
1587
+ * @see https://tailwindcss.com/docs/background-repeat
1588
+ */
1589
+ "bg-repeat": [{
1590
+ bg: de()
1591
+ }],
1592
+ /**
1593
+ * Background Size
1594
+ * @see https://tailwindcss.com/docs/background-size
1595
+ */
1596
+ "bg-size": [{
1597
+ bg: l()
1598
+ }],
1599
+ /**
1600
+ * Background Image
1601
+ * @see https://tailwindcss.com/docs/background-image
1602
+ */
1603
+ "bg-image": [{
1604
+ bg: ["none", {
1605
+ linear: [{
1606
+ to: ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
1607
+ }, B, f, d],
1608
+ radial: ["", f, d],
1609
+ conic: [B, f, d]
1610
+ }, Cr, Lr]
1611
+ }],
1612
+ /**
1613
+ * Background Color
1614
+ * @see https://tailwindcss.com/docs/background-color
1615
+ */
1616
+ "bg-color": [{
1617
+ bg: b()
1618
+ }],
1619
+ /**
1620
+ * Gradient Color Stops From Position
1621
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1622
+ */
1623
+ "gradient-from-pos": [{
1624
+ from: h()
1625
+ }],
1626
+ /**
1627
+ * Gradient Color Stops Via Position
1628
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1629
+ */
1630
+ "gradient-via-pos": [{
1631
+ via: h()
1632
+ }],
1633
+ /**
1634
+ * Gradient Color Stops To Position
1635
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1636
+ */
1637
+ "gradient-to-pos": [{
1638
+ to: h()
1639
+ }],
1640
+ /**
1641
+ * Gradient Color Stops From
1642
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1643
+ */
1644
+ "gradient-from": [{
1645
+ from: b()
1646
+ }],
1647
+ /**
1648
+ * Gradient Color Stops Via
1649
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1650
+ */
1651
+ "gradient-via": [{
1652
+ via: b()
1653
+ }],
1654
+ /**
1655
+ * Gradient Color Stops To
1656
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1657
+ */
1658
+ "gradient-to": [{
1659
+ to: b()
1660
+ }],
1661
+ // ---------------
1662
+ // --- Borders ---
1663
+ // ---------------
1664
+ /**
1665
+ * Border Radius
1666
+ * @see https://tailwindcss.com/docs/border-radius
1667
+ */
1668
+ rounded: [{
1669
+ rounded: x()
1670
+ }],
1671
+ /**
1672
+ * Border Radius Start
1673
+ * @see https://tailwindcss.com/docs/border-radius
1674
+ */
1675
+ "rounded-s": [{
1676
+ "rounded-s": x()
1677
+ }],
1678
+ /**
1679
+ * Border Radius End
1680
+ * @see https://tailwindcss.com/docs/border-radius
1681
+ */
1682
+ "rounded-e": [{
1683
+ "rounded-e": x()
1684
+ }],
1685
+ /**
1686
+ * Border Radius Top
1687
+ * @see https://tailwindcss.com/docs/border-radius
1688
+ */
1689
+ "rounded-t": [{
1690
+ "rounded-t": x()
1691
+ }],
1692
+ /**
1693
+ * Border Radius Right
1694
+ * @see https://tailwindcss.com/docs/border-radius
1695
+ */
1696
+ "rounded-r": [{
1697
+ "rounded-r": x()
1698
+ }],
1699
+ /**
1700
+ * Border Radius Bottom
1701
+ * @see https://tailwindcss.com/docs/border-radius
1702
+ */
1703
+ "rounded-b": [{
1704
+ "rounded-b": x()
1705
+ }],
1706
+ /**
1707
+ * Border Radius Left
1708
+ * @see https://tailwindcss.com/docs/border-radius
1709
+ */
1710
+ "rounded-l": [{
1711
+ "rounded-l": x()
1712
+ }],
1713
+ /**
1714
+ * Border Radius Start Start
1715
+ * @see https://tailwindcss.com/docs/border-radius
1716
+ */
1717
+ "rounded-ss": [{
1718
+ "rounded-ss": x()
1719
+ }],
1720
+ /**
1721
+ * Border Radius Start End
1722
+ * @see https://tailwindcss.com/docs/border-radius
1723
+ */
1724
+ "rounded-se": [{
1725
+ "rounded-se": x()
1726
+ }],
1727
+ /**
1728
+ * Border Radius End End
1729
+ * @see https://tailwindcss.com/docs/border-radius
1730
+ */
1731
+ "rounded-ee": [{
1732
+ "rounded-ee": x()
1733
+ }],
1734
+ /**
1735
+ * Border Radius End Start
1736
+ * @see https://tailwindcss.com/docs/border-radius
1737
+ */
1738
+ "rounded-es": [{
1739
+ "rounded-es": x()
1740
+ }],
1741
+ /**
1742
+ * Border Radius Top Left
1743
+ * @see https://tailwindcss.com/docs/border-radius
1744
+ */
1745
+ "rounded-tl": [{
1746
+ "rounded-tl": x()
1747
+ }],
1748
+ /**
1749
+ * Border Radius Top Right
1750
+ * @see https://tailwindcss.com/docs/border-radius
1751
+ */
1752
+ "rounded-tr": [{
1753
+ "rounded-tr": x()
1754
+ }],
1755
+ /**
1756
+ * Border Radius Bottom Right
1757
+ * @see https://tailwindcss.com/docs/border-radius
1758
+ */
1759
+ "rounded-br": [{
1760
+ "rounded-br": x()
1761
+ }],
1762
+ /**
1763
+ * Border Radius Bottom Left
1764
+ * @see https://tailwindcss.com/docs/border-radius
1765
+ */
1766
+ "rounded-bl": [{
1767
+ "rounded-bl": x()
1768
+ }],
1769
+ /**
1770
+ * Border Width
1771
+ * @see https://tailwindcss.com/docs/border-width
1772
+ */
1773
+ "border-w": [{
1774
+ border: T()
1775
+ }],
1776
+ /**
1777
+ * Border Width X
1778
+ * @see https://tailwindcss.com/docs/border-width
1779
+ */
1780
+ "border-w-x": [{
1781
+ "border-x": T()
1782
+ }],
1783
+ /**
1784
+ * Border Width Y
1785
+ * @see https://tailwindcss.com/docs/border-width
1786
+ */
1787
+ "border-w-y": [{
1788
+ "border-y": T()
1789
+ }],
1790
+ /**
1791
+ * Border Width Start
1792
+ * @see https://tailwindcss.com/docs/border-width
1793
+ */
1794
+ "border-w-s": [{
1795
+ "border-s": T()
1796
+ }],
1797
+ /**
1798
+ * Border Width End
1799
+ * @see https://tailwindcss.com/docs/border-width
1800
+ */
1801
+ "border-w-e": [{
1802
+ "border-e": T()
1803
+ }],
1804
+ /**
1805
+ * Border Width Top
1806
+ * @see https://tailwindcss.com/docs/border-width
1807
+ */
1808
+ "border-w-t": [{
1809
+ "border-t": T()
1810
+ }],
1811
+ /**
1812
+ * Border Width Right
1813
+ * @see https://tailwindcss.com/docs/border-width
1814
+ */
1815
+ "border-w-r": [{
1816
+ "border-r": T()
1817
+ }],
1818
+ /**
1819
+ * Border Width Bottom
1820
+ * @see https://tailwindcss.com/docs/border-width
1821
+ */
1822
+ "border-w-b": [{
1823
+ "border-b": T()
1824
+ }],
1825
+ /**
1826
+ * Border Width Left
1827
+ * @see https://tailwindcss.com/docs/border-width
1828
+ */
1829
+ "border-w-l": [{
1830
+ "border-l": T()
1831
+ }],
1832
+ /**
1833
+ * Divide Width X
1834
+ * @see https://tailwindcss.com/docs/border-width#between-children
1835
+ */
1836
+ "divide-x": [{
1837
+ "divide-x": T()
1838
+ }],
1839
+ /**
1840
+ * Divide Width X Reverse
1841
+ * @see https://tailwindcss.com/docs/border-width#between-children
1842
+ */
1843
+ "divide-x-reverse": ["divide-x-reverse"],
1844
+ /**
1845
+ * Divide Width Y
1846
+ * @see https://tailwindcss.com/docs/border-width#between-children
1847
+ */
1848
+ "divide-y": [{
1849
+ "divide-y": T()
1850
+ }],
1851
+ /**
1852
+ * Divide Width Y Reverse
1853
+ * @see https://tailwindcss.com/docs/border-width#between-children
1854
+ */
1855
+ "divide-y-reverse": ["divide-y-reverse"],
1856
+ /**
1857
+ * Border Style
1858
+ * @see https://tailwindcss.com/docs/border-style
1859
+ */
1860
+ "border-style": [{
1861
+ border: [...M(), "hidden", "none"]
1862
+ }],
1863
+ /**
1864
+ * Divide Style
1865
+ * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style
1866
+ */
1867
+ "divide-style": [{
1868
+ divide: [...M(), "hidden", "none"]
1869
+ }],
1870
+ /**
1871
+ * Border Color
1872
+ * @see https://tailwindcss.com/docs/border-color
1873
+ */
1874
+ "border-color": [{
1875
+ border: b()
1876
+ }],
1877
+ /**
1878
+ * Border Color X
1879
+ * @see https://tailwindcss.com/docs/border-color
1880
+ */
1881
+ "border-color-x": [{
1882
+ "border-x": b()
1883
+ }],
1884
+ /**
1885
+ * Border Color Y
1886
+ * @see https://tailwindcss.com/docs/border-color
1887
+ */
1888
+ "border-color-y": [{
1889
+ "border-y": b()
1890
+ }],
1891
+ /**
1892
+ * Border Color S
1893
+ * @see https://tailwindcss.com/docs/border-color
1894
+ */
1895
+ "border-color-s": [{
1896
+ "border-s": b()
1897
+ }],
1898
+ /**
1899
+ * Border Color E
1900
+ * @see https://tailwindcss.com/docs/border-color
1901
+ */
1902
+ "border-color-e": [{
1903
+ "border-e": b()
1904
+ }],
1905
+ /**
1906
+ * Border Color Top
1907
+ * @see https://tailwindcss.com/docs/border-color
1908
+ */
1909
+ "border-color-t": [{
1910
+ "border-t": b()
1911
+ }],
1912
+ /**
1913
+ * Border Color Right
1914
+ * @see https://tailwindcss.com/docs/border-color
1915
+ */
1916
+ "border-color-r": [{
1917
+ "border-r": b()
1918
+ }],
1919
+ /**
1920
+ * Border Color Bottom
1921
+ * @see https://tailwindcss.com/docs/border-color
1922
+ */
1923
+ "border-color-b": [{
1924
+ "border-b": b()
1925
+ }],
1926
+ /**
1927
+ * Border Color Left
1928
+ * @see https://tailwindcss.com/docs/border-color
1929
+ */
1930
+ "border-color-l": [{
1931
+ "border-l": b()
1932
+ }],
1933
+ /**
1934
+ * Divide Color
1935
+ * @see https://tailwindcss.com/docs/divide-color
1936
+ */
1937
+ "divide-color": [{
1938
+ divide: b()
1939
+ }],
1940
+ /**
1941
+ * Outline Style
1942
+ * @see https://tailwindcss.com/docs/outline-style
1943
+ */
1944
+ "outline-style": [{
1945
+ outline: [...M(), "none", "hidden"]
1946
+ }],
1947
+ /**
1948
+ * Outline Offset
1949
+ * @see https://tailwindcss.com/docs/outline-offset
1950
+ */
1951
+ "outline-offset": [{
1952
+ "outline-offset": [w, f, d]
1953
+ }],
1954
+ /**
1955
+ * Outline Width
1956
+ * @see https://tailwindcss.com/docs/outline-width
1957
+ */
1958
+ "outline-w": [{
1959
+ outline: ["", w, pe, X]
1960
+ }],
1961
+ /**
1962
+ * Outline Color
1963
+ * @see https://tailwindcss.com/docs/outline-color
1964
+ */
1965
+ "outline-color": [{
1966
+ outline: b()
1967
+ }],
1968
+ // ---------------
1969
+ // --- Effects ---
1970
+ // ---------------
1971
+ /**
1972
+ * Box Shadow
1973
+ * @see https://tailwindcss.com/docs/box-shadow
1974
+ */
1975
+ shadow: [{
1976
+ shadow: [
1977
+ // Deprecated since Tailwind CSS v4.0.0
1978
+ "",
1979
+ "none",
1980
+ m,
1981
+ Se,
1982
+ Te
1983
+ ]
1984
+ }],
1985
+ /**
1986
+ * Box Shadow Color
1987
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color
1988
+ */
1989
+ "shadow-color": [{
1990
+ shadow: b()
1991
+ }],
1992
+ /**
1993
+ * Inset Box Shadow
1994
+ * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
1995
+ */
1996
+ "inset-shadow": [{
1997
+ "inset-shadow": ["none", p, Se, Te]
1998
+ }],
1999
+ /**
2000
+ * Inset Box Shadow Color
2001
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color
2002
+ */
2003
+ "inset-shadow-color": [{
2004
+ "inset-shadow": b()
2005
+ }],
2006
+ /**
2007
+ * Ring Width
2008
+ * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
2009
+ */
2010
+ "ring-w": [{
2011
+ ring: T()
2012
+ }],
2013
+ /**
2014
+ * Ring Width Inset
2015
+ * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings
2016
+ * @deprecated since Tailwind CSS v4.0.0
2017
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
2018
+ */
2019
+ "ring-w-inset": ["ring-inset"],
2020
+ /**
2021
+ * Ring Color
2022
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color
2023
+ */
2024
+ "ring-color": [{
2025
+ ring: b()
2026
+ }],
2027
+ /**
2028
+ * Ring Offset Width
2029
+ * @see https://v3.tailwindcss.com/docs/ring-offset-width
2030
+ * @deprecated since Tailwind CSS v4.0.0
2031
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
2032
+ */
2033
+ "ring-offset-w": [{
2034
+ "ring-offset": [w, X]
2035
+ }],
2036
+ /**
2037
+ * Ring Offset Color
2038
+ * @see https://v3.tailwindcss.com/docs/ring-offset-color
2039
+ * @deprecated since Tailwind CSS v4.0.0
2040
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
2041
+ */
2042
+ "ring-offset-color": [{
2043
+ "ring-offset": b()
2044
+ }],
2045
+ /**
2046
+ * Inset Ring Width
2047
+ * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
2048
+ */
2049
+ "inset-ring-w": [{
2050
+ "inset-ring": T()
2051
+ }],
2052
+ /**
2053
+ * Inset Ring Color
2054
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color
2055
+ */
2056
+ "inset-ring-color": [{
2057
+ "inset-ring": b()
2058
+ }],
2059
+ /**
2060
+ * Text Shadow
2061
+ * @see https://tailwindcss.com/docs/text-shadow
2062
+ */
2063
+ "text-shadow": [{
2064
+ "text-shadow": ["none", y, Se, Te]
2065
+ }],
2066
+ /**
2067
+ * Text Shadow Color
2068
+ * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color
2069
+ */
2070
+ "text-shadow-color": [{
2071
+ "text-shadow": b()
2072
+ }],
2073
+ /**
2074
+ * Opacity
2075
+ * @see https://tailwindcss.com/docs/opacity
2076
+ */
2077
+ opacity: [{
2078
+ opacity: [w, f, d]
2079
+ }],
2080
+ /**
2081
+ * Mix Blend Mode
2082
+ * @see https://tailwindcss.com/docs/mix-blend-mode
2083
+ */
2084
+ "mix-blend": [{
2085
+ "mix-blend": [...ee(), "plus-darker", "plus-lighter"]
2086
+ }],
2087
+ /**
2088
+ * Background Blend Mode
2089
+ * @see https://tailwindcss.com/docs/background-blend-mode
2090
+ */
2091
+ "bg-blend": [{
2092
+ "bg-blend": ee()
2093
+ }],
2094
+ /**
2095
+ * Mask Clip
2096
+ * @see https://tailwindcss.com/docs/mask-clip
2097
+ */
2098
+ "mask-clip": [{
2099
+ "mask-clip": ["border", "padding", "content", "fill", "stroke", "view"]
2100
+ }, "mask-no-clip"],
2101
+ /**
2102
+ * Mask Composite
2103
+ * @see https://tailwindcss.com/docs/mask-composite
2104
+ */
2105
+ "mask-composite": [{
2106
+ mask: ["add", "subtract", "intersect", "exclude"]
2107
+ }],
2108
+ /**
2109
+ * Mask Image
2110
+ * @see https://tailwindcss.com/docs/mask-image
2111
+ */
2112
+ "mask-image-linear-pos": [{
2113
+ "mask-linear": [w]
2114
+ }],
2115
+ "mask-image-linear-from-pos": [{
2116
+ "mask-linear-from": k()
2117
+ }],
2118
+ "mask-image-linear-to-pos": [{
2119
+ "mask-linear-to": k()
2120
+ }],
2121
+ "mask-image-linear-from-color": [{
2122
+ "mask-linear-from": b()
2123
+ }],
2124
+ "mask-image-linear-to-color": [{
2125
+ "mask-linear-to": b()
2126
+ }],
2127
+ "mask-image-t-from-pos": [{
2128
+ "mask-t-from": k()
2129
+ }],
2130
+ "mask-image-t-to-pos": [{
2131
+ "mask-t-to": k()
2132
+ }],
2133
+ "mask-image-t-from-color": [{
2134
+ "mask-t-from": b()
2135
+ }],
2136
+ "mask-image-t-to-color": [{
2137
+ "mask-t-to": b()
2138
+ }],
2139
+ "mask-image-r-from-pos": [{
2140
+ "mask-r-from": k()
2141
+ }],
2142
+ "mask-image-r-to-pos": [{
2143
+ "mask-r-to": k()
2144
+ }],
2145
+ "mask-image-r-from-color": [{
2146
+ "mask-r-from": b()
2147
+ }],
2148
+ "mask-image-r-to-color": [{
2149
+ "mask-r-to": b()
2150
+ }],
2151
+ "mask-image-b-from-pos": [{
2152
+ "mask-b-from": k()
2153
+ }],
2154
+ "mask-image-b-to-pos": [{
2155
+ "mask-b-to": k()
2156
+ }],
2157
+ "mask-image-b-from-color": [{
2158
+ "mask-b-from": b()
2159
+ }],
2160
+ "mask-image-b-to-color": [{
2161
+ "mask-b-to": b()
2162
+ }],
2163
+ "mask-image-l-from-pos": [{
2164
+ "mask-l-from": k()
2165
+ }],
2166
+ "mask-image-l-to-pos": [{
2167
+ "mask-l-to": k()
2168
+ }],
2169
+ "mask-image-l-from-color": [{
2170
+ "mask-l-from": b()
2171
+ }],
2172
+ "mask-image-l-to-color": [{
2173
+ "mask-l-to": b()
2174
+ }],
2175
+ "mask-image-x-from-pos": [{
2176
+ "mask-x-from": k()
2177
+ }],
2178
+ "mask-image-x-to-pos": [{
2179
+ "mask-x-to": k()
2180
+ }],
2181
+ "mask-image-x-from-color": [{
2182
+ "mask-x-from": b()
2183
+ }],
2184
+ "mask-image-x-to-color": [{
2185
+ "mask-x-to": b()
2186
+ }],
2187
+ "mask-image-y-from-pos": [{
2188
+ "mask-y-from": k()
2189
+ }],
2190
+ "mask-image-y-to-pos": [{
2191
+ "mask-y-to": k()
2192
+ }],
2193
+ "mask-image-y-from-color": [{
2194
+ "mask-y-from": b()
2195
+ }],
2196
+ "mask-image-y-to-color": [{
2197
+ "mask-y-to": b()
2198
+ }],
2199
+ "mask-image-radial": [{
2200
+ "mask-radial": [f, d]
2201
+ }],
2202
+ "mask-image-radial-from-pos": [{
2203
+ "mask-radial-from": k()
2204
+ }],
2205
+ "mask-image-radial-to-pos": [{
2206
+ "mask-radial-to": k()
2207
+ }],
2208
+ "mask-image-radial-from-color": [{
2209
+ "mask-radial-from": b()
2210
+ }],
2211
+ "mask-image-radial-to-color": [{
2212
+ "mask-radial-to": b()
2213
+ }],
2214
+ "mask-image-radial-shape": [{
2215
+ "mask-radial": ["circle", "ellipse"]
2216
+ }],
2217
+ "mask-image-radial-size": [{
2218
+ "mask-radial": [{
2219
+ closest: ["side", "corner"],
2220
+ farthest: ["side", "corner"]
2221
+ }]
2222
+ }],
2223
+ "mask-image-radial-pos": [{
2224
+ "mask-radial-at": D()
2225
+ }],
2226
+ "mask-image-conic-pos": [{
2227
+ "mask-conic": [w]
2228
+ }],
2229
+ "mask-image-conic-from-pos": [{
2230
+ "mask-conic-from": k()
2231
+ }],
2232
+ "mask-image-conic-to-pos": [{
2233
+ "mask-conic-to": k()
2234
+ }],
2235
+ "mask-image-conic-from-color": [{
2236
+ "mask-conic-from": b()
2237
+ }],
2238
+ "mask-image-conic-to-color": [{
2239
+ "mask-conic-to": b()
2240
+ }],
2241
+ /**
2242
+ * Mask Mode
2243
+ * @see https://tailwindcss.com/docs/mask-mode
2244
+ */
2245
+ "mask-mode": [{
2246
+ mask: ["alpha", "luminance", "match"]
2247
+ }],
2248
+ /**
2249
+ * Mask Origin
2250
+ * @see https://tailwindcss.com/docs/mask-origin
2251
+ */
2252
+ "mask-origin": [{
2253
+ "mask-origin": ["border", "padding", "content", "fill", "stroke", "view"]
2254
+ }],
2255
+ /**
2256
+ * Mask Position
2257
+ * @see https://tailwindcss.com/docs/mask-position
2258
+ */
2259
+ "mask-position": [{
2260
+ mask: ue()
2261
+ }],
2262
+ /**
2263
+ * Mask Repeat
2264
+ * @see https://tailwindcss.com/docs/mask-repeat
2265
+ */
2266
+ "mask-repeat": [{
2267
+ mask: de()
2268
+ }],
2269
+ /**
2270
+ * Mask Size
2271
+ * @see https://tailwindcss.com/docs/mask-size
2272
+ */
2273
+ "mask-size": [{
2274
+ mask: l()
2275
+ }],
2276
+ /**
2277
+ * Mask Type
2278
+ * @see https://tailwindcss.com/docs/mask-type
2279
+ */
2280
+ "mask-type": [{
2281
+ "mask-type": ["alpha", "luminance"]
2282
+ }],
2283
+ /**
2284
+ * Mask Image
2285
+ * @see https://tailwindcss.com/docs/mask-image
2286
+ */
2287
+ "mask-image": [{
2288
+ mask: ["none", f, d]
2289
+ }],
2290
+ // ---------------
2291
+ // --- Filters ---
2292
+ // ---------------
2293
+ /**
2294
+ * Filter
2295
+ * @see https://tailwindcss.com/docs/filter
2296
+ */
2297
+ filter: [{
2298
+ filter: [
2299
+ // Deprecated since Tailwind CSS v3.0.0
2300
+ "",
2301
+ "none",
2302
+ f,
2303
+ d
2304
+ ]
2305
+ }],
2306
+ /**
2307
+ * Blur
2308
+ * @see https://tailwindcss.com/docs/blur
2309
+ */
2310
+ blur: [{
2311
+ blur: z()
2312
+ }],
2313
+ /**
2314
+ * Brightness
2315
+ * @see https://tailwindcss.com/docs/brightness
2316
+ */
2317
+ brightness: [{
2318
+ brightness: [w, f, d]
2319
+ }],
2320
+ /**
2321
+ * Contrast
2322
+ * @see https://tailwindcss.com/docs/contrast
2323
+ */
2324
+ contrast: [{
2325
+ contrast: [w, f, d]
2326
+ }],
2327
+ /**
2328
+ * Drop Shadow
2329
+ * @see https://tailwindcss.com/docs/drop-shadow
2330
+ */
2331
+ "drop-shadow": [{
2332
+ "drop-shadow": [
2333
+ // Deprecated since Tailwind CSS v4.0.0
2334
+ "",
2335
+ "none",
2336
+ E,
2337
+ Se,
2338
+ Te
2339
+ ]
2340
+ }],
2341
+ /**
2342
+ * Drop Shadow Color
2343
+ * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color
2344
+ */
2345
+ "drop-shadow-color": [{
2346
+ "drop-shadow": b()
2347
+ }],
2348
+ /**
2349
+ * Grayscale
2350
+ * @see https://tailwindcss.com/docs/grayscale
2351
+ */
2352
+ grayscale: [{
2353
+ grayscale: ["", w, f, d]
2354
+ }],
2355
+ /**
2356
+ * Hue Rotate
2357
+ * @see https://tailwindcss.com/docs/hue-rotate
2358
+ */
2359
+ "hue-rotate": [{
2360
+ "hue-rotate": [w, f, d]
2361
+ }],
2362
+ /**
2363
+ * Invert
2364
+ * @see https://tailwindcss.com/docs/invert
2365
+ */
2366
+ invert: [{
2367
+ invert: ["", w, f, d]
2368
+ }],
2369
+ /**
2370
+ * Saturate
2371
+ * @see https://tailwindcss.com/docs/saturate
2372
+ */
2373
+ saturate: [{
2374
+ saturate: [w, f, d]
2375
+ }],
2376
+ /**
2377
+ * Sepia
2378
+ * @see https://tailwindcss.com/docs/sepia
2379
+ */
2380
+ sepia: [{
2381
+ sepia: ["", w, f, d]
2382
+ }],
2383
+ /**
2384
+ * Backdrop Filter
2385
+ * @see https://tailwindcss.com/docs/backdrop-filter
2386
+ */
2387
+ "backdrop-filter": [{
2388
+ "backdrop-filter": [
2389
+ // Deprecated since Tailwind CSS v3.0.0
2390
+ "",
2391
+ "none",
2392
+ f,
2393
+ d
2394
+ ]
2395
+ }],
2396
+ /**
2397
+ * Backdrop Blur
2398
+ * @see https://tailwindcss.com/docs/backdrop-blur
2399
+ */
2400
+ "backdrop-blur": [{
2401
+ "backdrop-blur": z()
2402
+ }],
2403
+ /**
2404
+ * Backdrop Brightness
2405
+ * @see https://tailwindcss.com/docs/backdrop-brightness
2406
+ */
2407
+ "backdrop-brightness": [{
2408
+ "backdrop-brightness": [w, f, d]
2409
+ }],
2410
+ /**
2411
+ * Backdrop Contrast
2412
+ * @see https://tailwindcss.com/docs/backdrop-contrast
2413
+ */
2414
+ "backdrop-contrast": [{
2415
+ "backdrop-contrast": [w, f, d]
2416
+ }],
2417
+ /**
2418
+ * Backdrop Grayscale
2419
+ * @see https://tailwindcss.com/docs/backdrop-grayscale
2420
+ */
2421
+ "backdrop-grayscale": [{
2422
+ "backdrop-grayscale": ["", w, f, d]
2423
+ }],
2424
+ /**
2425
+ * Backdrop Hue Rotate
2426
+ * @see https://tailwindcss.com/docs/backdrop-hue-rotate
2427
+ */
2428
+ "backdrop-hue-rotate": [{
2429
+ "backdrop-hue-rotate": [w, f, d]
2430
+ }],
2431
+ /**
2432
+ * Backdrop Invert
2433
+ * @see https://tailwindcss.com/docs/backdrop-invert
2434
+ */
2435
+ "backdrop-invert": [{
2436
+ "backdrop-invert": ["", w, f, d]
2437
+ }],
2438
+ /**
2439
+ * Backdrop Opacity
2440
+ * @see https://tailwindcss.com/docs/backdrop-opacity
2441
+ */
2442
+ "backdrop-opacity": [{
2443
+ "backdrop-opacity": [w, f, d]
2444
+ }],
2445
+ /**
2446
+ * Backdrop Saturate
2447
+ * @see https://tailwindcss.com/docs/backdrop-saturate
2448
+ */
2449
+ "backdrop-saturate": [{
2450
+ "backdrop-saturate": [w, f, d]
2451
+ }],
2452
+ /**
2453
+ * Backdrop Sepia
2454
+ * @see https://tailwindcss.com/docs/backdrop-sepia
2455
+ */
2456
+ "backdrop-sepia": [{
2457
+ "backdrop-sepia": ["", w, f, d]
2458
+ }],
2459
+ // --------------
2460
+ // --- Tables ---
2461
+ // --------------
2462
+ /**
2463
+ * Border Collapse
2464
+ * @see https://tailwindcss.com/docs/border-collapse
2465
+ */
2466
+ "border-collapse": [{
2467
+ border: ["collapse", "separate"]
2468
+ }],
2469
+ /**
2470
+ * Border Spacing
2471
+ * @see https://tailwindcss.com/docs/border-spacing
2472
+ */
2473
+ "border-spacing": [{
2474
+ "border-spacing": v()
2475
+ }],
2476
+ /**
2477
+ * Border Spacing X
2478
+ * @see https://tailwindcss.com/docs/border-spacing
2479
+ */
2480
+ "border-spacing-x": [{
2481
+ "border-spacing-x": v()
2482
+ }],
2483
+ /**
2484
+ * Border Spacing Y
2485
+ * @see https://tailwindcss.com/docs/border-spacing
2486
+ */
2487
+ "border-spacing-y": [{
2488
+ "border-spacing-y": v()
2489
+ }],
2490
+ /**
2491
+ * Table Layout
2492
+ * @see https://tailwindcss.com/docs/table-layout
2493
+ */
2494
+ "table-layout": [{
2495
+ table: ["auto", "fixed"]
2496
+ }],
2497
+ /**
2498
+ * Caption Side
2499
+ * @see https://tailwindcss.com/docs/caption-side
2500
+ */
2501
+ caption: [{
2502
+ caption: ["top", "bottom"]
2503
+ }],
2504
+ // ---------------------------------
2505
+ // --- Transitions and Animation ---
2506
+ // ---------------------------------
2507
+ /**
2508
+ * Transition Property
2509
+ * @see https://tailwindcss.com/docs/transition-property
2510
+ */
2511
+ transition: [{
2512
+ transition: ["", "all", "colors", "opacity", "shadow", "transform", "none", f, d]
2513
+ }],
2514
+ /**
2515
+ * Transition Behavior
2516
+ * @see https://tailwindcss.com/docs/transition-behavior
2517
+ */
2518
+ "transition-behavior": [{
2519
+ transition: ["normal", "discrete"]
2520
+ }],
2521
+ /**
2522
+ * Transition Duration
2523
+ * @see https://tailwindcss.com/docs/transition-duration
2524
+ */
2525
+ duration: [{
2526
+ duration: [w, "initial", f, d]
2527
+ }],
2528
+ /**
2529
+ * Transition Timing Function
2530
+ * @see https://tailwindcss.com/docs/transition-timing-function
2531
+ */
2532
+ ease: [{
2533
+ ease: ["linear", "initial", N, f, d]
2534
+ }],
2535
+ /**
2536
+ * Transition Delay
2537
+ * @see https://tailwindcss.com/docs/transition-delay
2538
+ */
2539
+ delay: [{
2540
+ delay: [w, f, d]
2541
+ }],
2542
+ /**
2543
+ * Animation
2544
+ * @see https://tailwindcss.com/docs/animation
2545
+ */
2546
+ animate: [{
2547
+ animate: ["none", O, f, d]
2548
+ }],
2549
+ // ------------------
2550
+ // --- Transforms ---
2551
+ // ------------------
2552
+ /**
2553
+ * Backface Visibility
2554
+ * @see https://tailwindcss.com/docs/backface-visibility
2555
+ */
2556
+ backface: [{
2557
+ backface: ["hidden", "visible"]
2558
+ }],
2559
+ /**
2560
+ * Perspective
2561
+ * @see https://tailwindcss.com/docs/perspective
2562
+ */
2563
+ perspective: [{
2564
+ perspective: [g, f, d]
2565
+ }],
2566
+ /**
2567
+ * Perspective Origin
2568
+ * @see https://tailwindcss.com/docs/perspective-origin
2569
+ */
2570
+ "perspective-origin": [{
2571
+ "perspective-origin": G()
2572
+ }],
2573
+ /**
2574
+ * Rotate
2575
+ * @see https://tailwindcss.com/docs/rotate
2576
+ */
2577
+ rotate: [{
2578
+ rotate: W()
2579
+ }],
2580
+ /**
2581
+ * Rotate X
2582
+ * @see https://tailwindcss.com/docs/rotate
2583
+ */
2584
+ "rotate-x": [{
2585
+ "rotate-x": W()
2586
+ }],
2587
+ /**
2588
+ * Rotate Y
2589
+ * @see https://tailwindcss.com/docs/rotate
2590
+ */
2591
+ "rotate-y": [{
2592
+ "rotate-y": W()
2593
+ }],
2594
+ /**
2595
+ * Rotate Z
2596
+ * @see https://tailwindcss.com/docs/rotate
2597
+ */
2598
+ "rotate-z": [{
2599
+ "rotate-z": W()
2600
+ }],
2601
+ /**
2602
+ * Scale
2603
+ * @see https://tailwindcss.com/docs/scale
2604
+ */
2605
+ scale: [{
2606
+ scale: te()
2607
+ }],
2608
+ /**
2609
+ * Scale X
2610
+ * @see https://tailwindcss.com/docs/scale
2611
+ */
2612
+ "scale-x": [{
2613
+ "scale-x": te()
2614
+ }],
2615
+ /**
2616
+ * Scale Y
2617
+ * @see https://tailwindcss.com/docs/scale
2618
+ */
2619
+ "scale-y": [{
2620
+ "scale-y": te()
2621
+ }],
2622
+ /**
2623
+ * Scale Z
2624
+ * @see https://tailwindcss.com/docs/scale
2625
+ */
2626
+ "scale-z": [{
2627
+ "scale-z": te()
2628
+ }],
2629
+ /**
2630
+ * Scale 3D
2631
+ * @see https://tailwindcss.com/docs/scale
2632
+ */
2633
+ "scale-3d": ["scale-3d"],
2634
+ /**
2635
+ * Skew
2636
+ * @see https://tailwindcss.com/docs/skew
2637
+ */
2638
+ skew: [{
2639
+ skew: Fe()
2640
+ }],
2641
+ /**
2642
+ * Skew X
2643
+ * @see https://tailwindcss.com/docs/skew
2644
+ */
2645
+ "skew-x": [{
2646
+ "skew-x": Fe()
2647
+ }],
2648
+ /**
2649
+ * Skew Y
2650
+ * @see https://tailwindcss.com/docs/skew
2651
+ */
2652
+ "skew-y": [{
2653
+ "skew-y": Fe()
2654
+ }],
2655
+ /**
2656
+ * Transform
2657
+ * @see https://tailwindcss.com/docs/transform
2658
+ */
2659
+ transform: [{
2660
+ transform: [f, d, "", "none", "gpu", "cpu"]
2661
+ }],
2662
+ /**
2663
+ * Transform Origin
2664
+ * @see https://tailwindcss.com/docs/transform-origin
2665
+ */
2666
+ "transform-origin": [{
2667
+ origin: G()
2668
+ }],
2669
+ /**
2670
+ * Transform Style
2671
+ * @see https://tailwindcss.com/docs/transform-style
2672
+ */
2673
+ "transform-style": [{
2674
+ transform: ["3d", "flat"]
2675
+ }],
2676
+ /**
2677
+ * Translate
2678
+ * @see https://tailwindcss.com/docs/translate
2679
+ */
2680
+ translate: [{
2681
+ translate: Ee()
2682
+ }],
2683
+ /**
2684
+ * Translate X
2685
+ * @see https://tailwindcss.com/docs/translate
2686
+ */
2687
+ "translate-x": [{
2688
+ "translate-x": Ee()
2689
+ }],
2690
+ /**
2691
+ * Translate Y
2692
+ * @see https://tailwindcss.com/docs/translate
2693
+ */
2694
+ "translate-y": [{
2695
+ "translate-y": Ee()
2696
+ }],
2697
+ /**
2698
+ * Translate Z
2699
+ * @see https://tailwindcss.com/docs/translate
2700
+ */
2701
+ "translate-z": [{
2702
+ "translate-z": Ee()
2703
+ }],
2704
+ /**
2705
+ * Translate None
2706
+ * @see https://tailwindcss.com/docs/translate
2707
+ */
2708
+ "translate-none": ["translate-none"],
2709
+ // ---------------------
2710
+ // --- Interactivity ---
2711
+ // ---------------------
2712
+ /**
2713
+ * Accent Color
2714
+ * @see https://tailwindcss.com/docs/accent-color
2715
+ */
2716
+ accent: [{
2717
+ accent: b()
2718
+ }],
2719
+ /**
2720
+ * Appearance
2721
+ * @see https://tailwindcss.com/docs/appearance
2722
+ */
2723
+ appearance: [{
2724
+ appearance: ["none", "auto"]
2725
+ }],
2726
+ /**
2727
+ * Caret Color
2728
+ * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
2729
+ */
2730
+ "caret-color": [{
2731
+ caret: b()
2732
+ }],
2733
+ /**
2734
+ * Color Scheme
2735
+ * @see https://tailwindcss.com/docs/color-scheme
2736
+ */
2737
+ "color-scheme": [{
2738
+ scheme: ["normal", "dark", "light", "light-dark", "only-dark", "only-light"]
2739
+ }],
2740
+ /**
2741
+ * Cursor
2742
+ * @see https://tailwindcss.com/docs/cursor
2743
+ */
2744
+ cursor: [{
2745
+ 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", f, d]
2746
+ }],
2747
+ /**
2748
+ * Field Sizing
2749
+ * @see https://tailwindcss.com/docs/field-sizing
2750
+ */
2751
+ "field-sizing": [{
2752
+ "field-sizing": ["fixed", "content"]
2753
+ }],
2754
+ /**
2755
+ * Pointer Events
2756
+ * @see https://tailwindcss.com/docs/pointer-events
2757
+ */
2758
+ "pointer-events": [{
2759
+ "pointer-events": ["auto", "none"]
2760
+ }],
2761
+ /**
2762
+ * Resize
2763
+ * @see https://tailwindcss.com/docs/resize
2764
+ */
2765
+ resize: [{
2766
+ resize: ["none", "", "y", "x"]
2767
+ }],
2768
+ /**
2769
+ * Scroll Behavior
2770
+ * @see https://tailwindcss.com/docs/scroll-behavior
2771
+ */
2772
+ "scroll-behavior": [{
2773
+ scroll: ["auto", "smooth"]
2774
+ }],
2775
+ /**
2776
+ * Scroll Margin
2777
+ * @see https://tailwindcss.com/docs/scroll-margin
2778
+ */
2779
+ "scroll-m": [{
2780
+ "scroll-m": v()
2781
+ }],
2782
+ /**
2783
+ * Scroll Margin X
2784
+ * @see https://tailwindcss.com/docs/scroll-margin
2785
+ */
2786
+ "scroll-mx": [{
2787
+ "scroll-mx": v()
2788
+ }],
2789
+ /**
2790
+ * Scroll Margin Y
2791
+ * @see https://tailwindcss.com/docs/scroll-margin
2792
+ */
2793
+ "scroll-my": [{
2794
+ "scroll-my": v()
2795
+ }],
2796
+ /**
2797
+ * Scroll Margin Start
2798
+ * @see https://tailwindcss.com/docs/scroll-margin
2799
+ */
2800
+ "scroll-ms": [{
2801
+ "scroll-ms": v()
2802
+ }],
2803
+ /**
2804
+ * Scroll Margin End
2805
+ * @see https://tailwindcss.com/docs/scroll-margin
2806
+ */
2807
+ "scroll-me": [{
2808
+ "scroll-me": v()
2809
+ }],
2810
+ /**
2811
+ * Scroll Margin Top
2812
+ * @see https://tailwindcss.com/docs/scroll-margin
2813
+ */
2814
+ "scroll-mt": [{
2815
+ "scroll-mt": v()
2816
+ }],
2817
+ /**
2818
+ * Scroll Margin Right
2819
+ * @see https://tailwindcss.com/docs/scroll-margin
2820
+ */
2821
+ "scroll-mr": [{
2822
+ "scroll-mr": v()
2823
+ }],
2824
+ /**
2825
+ * Scroll Margin Bottom
2826
+ * @see https://tailwindcss.com/docs/scroll-margin
2827
+ */
2828
+ "scroll-mb": [{
2829
+ "scroll-mb": v()
2830
+ }],
2831
+ /**
2832
+ * Scroll Margin Left
2833
+ * @see https://tailwindcss.com/docs/scroll-margin
2834
+ */
2835
+ "scroll-ml": [{
2836
+ "scroll-ml": v()
2837
+ }],
2838
+ /**
2839
+ * Scroll Padding
2840
+ * @see https://tailwindcss.com/docs/scroll-padding
2841
+ */
2842
+ "scroll-p": [{
2843
+ "scroll-p": v()
2844
+ }],
2845
+ /**
2846
+ * Scroll Padding X
2847
+ * @see https://tailwindcss.com/docs/scroll-padding
2848
+ */
2849
+ "scroll-px": [{
2850
+ "scroll-px": v()
2851
+ }],
2852
+ /**
2853
+ * Scroll Padding Y
2854
+ * @see https://tailwindcss.com/docs/scroll-padding
2855
+ */
2856
+ "scroll-py": [{
2857
+ "scroll-py": v()
2858
+ }],
2859
+ /**
2860
+ * Scroll Padding Start
2861
+ * @see https://tailwindcss.com/docs/scroll-padding
2862
+ */
2863
+ "scroll-ps": [{
2864
+ "scroll-ps": v()
2865
+ }],
2866
+ /**
2867
+ * Scroll Padding End
2868
+ * @see https://tailwindcss.com/docs/scroll-padding
2869
+ */
2870
+ "scroll-pe": [{
2871
+ "scroll-pe": v()
2872
+ }],
2873
+ /**
2874
+ * Scroll Padding Top
2875
+ * @see https://tailwindcss.com/docs/scroll-padding
2876
+ */
2877
+ "scroll-pt": [{
2878
+ "scroll-pt": v()
2879
+ }],
2880
+ /**
2881
+ * Scroll Padding Right
2882
+ * @see https://tailwindcss.com/docs/scroll-padding
2883
+ */
2884
+ "scroll-pr": [{
2885
+ "scroll-pr": v()
2886
+ }],
2887
+ /**
2888
+ * Scroll Padding Bottom
2889
+ * @see https://tailwindcss.com/docs/scroll-padding
2890
+ */
2891
+ "scroll-pb": [{
2892
+ "scroll-pb": v()
2893
+ }],
2894
+ /**
2895
+ * Scroll Padding Left
2896
+ * @see https://tailwindcss.com/docs/scroll-padding
2897
+ */
2898
+ "scroll-pl": [{
2899
+ "scroll-pl": v()
2900
+ }],
2901
+ /**
2902
+ * Scroll Snap Align
2903
+ * @see https://tailwindcss.com/docs/scroll-snap-align
2904
+ */
2905
+ "snap-align": [{
2906
+ snap: ["start", "end", "center", "align-none"]
2907
+ }],
2908
+ /**
2909
+ * Scroll Snap Stop
2910
+ * @see https://tailwindcss.com/docs/scroll-snap-stop
2911
+ */
2912
+ "snap-stop": [{
2913
+ snap: ["normal", "always"]
2914
+ }],
2915
+ /**
2916
+ * Scroll Snap Type
2917
+ * @see https://tailwindcss.com/docs/scroll-snap-type
2918
+ */
2919
+ "snap-type": [{
2920
+ snap: ["none", "x", "y", "both"]
2921
+ }],
2922
+ /**
2923
+ * Scroll Snap Type Strictness
2924
+ * @see https://tailwindcss.com/docs/scroll-snap-type
2925
+ */
2926
+ "snap-strictness": [{
2927
+ snap: ["mandatory", "proximity"]
2928
+ }],
2929
+ /**
2930
+ * Touch Action
2931
+ * @see https://tailwindcss.com/docs/touch-action
2932
+ */
2933
+ touch: [{
2934
+ touch: ["auto", "none", "manipulation"]
2935
+ }],
2936
+ /**
2937
+ * Touch Action X
2938
+ * @see https://tailwindcss.com/docs/touch-action
2939
+ */
2940
+ "touch-x": [{
2941
+ "touch-pan": ["x", "left", "right"]
2942
+ }],
2943
+ /**
2944
+ * Touch Action Y
2945
+ * @see https://tailwindcss.com/docs/touch-action
2946
+ */
2947
+ "touch-y": [{
2948
+ "touch-pan": ["y", "up", "down"]
2949
+ }],
2950
+ /**
2951
+ * Touch Action Pinch Zoom
2952
+ * @see https://tailwindcss.com/docs/touch-action
2953
+ */
2954
+ "touch-pz": ["touch-pinch-zoom"],
2955
+ /**
2956
+ * User Select
2957
+ * @see https://tailwindcss.com/docs/user-select
2958
+ */
2959
+ select: [{
2960
+ select: ["none", "text", "all", "auto"]
2961
+ }],
2962
+ /**
2963
+ * Will Change
2964
+ * @see https://tailwindcss.com/docs/will-change
2965
+ */
2966
+ "will-change": [{
2967
+ "will-change": ["auto", "scroll", "contents", "transform", f, d]
2968
+ }],
2969
+ // -----------
2970
+ // --- SVG ---
2971
+ // -----------
2972
+ /**
2973
+ * Fill
2974
+ * @see https://tailwindcss.com/docs/fill
2975
+ */
2976
+ fill: [{
2977
+ fill: ["none", ...b()]
2978
+ }],
2979
+ /**
2980
+ * Stroke Width
2981
+ * @see https://tailwindcss.com/docs/stroke-width
2982
+ */
2983
+ "stroke-w": [{
2984
+ stroke: [w, pe, X, Me]
2985
+ }],
2986
+ /**
2987
+ * Stroke
2988
+ * @see https://tailwindcss.com/docs/stroke
2989
+ */
2990
+ stroke: [{
2991
+ stroke: ["none", ...b()]
2992
+ }],
2993
+ // ---------------------
2994
+ // --- Accessibility ---
2995
+ // ---------------------
2996
+ /**
2997
+ * Forced Color Adjust
2998
+ * @see https://tailwindcss.com/docs/forced-color-adjust
2999
+ */
3000
+ "forced-color-adjust": [{
3001
+ "forced-color-adjust": ["auto", "none"]
3002
+ }]
3003
+ },
3004
+ conflictingClassGroups: {
3005
+ overflow: ["overflow-x", "overflow-y"],
3006
+ overscroll: ["overscroll-x", "overscroll-y"],
3007
+ inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
3008
+ "inset-x": ["right", "left"],
3009
+ "inset-y": ["top", "bottom"],
3010
+ flex: ["basis", "grow", "shrink"],
3011
+ gap: ["gap-x", "gap-y"],
3012
+ p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
3013
+ px: ["pr", "pl"],
3014
+ py: ["pt", "pb"],
3015
+ m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
3016
+ mx: ["mr", "ml"],
3017
+ my: ["mt", "mb"],
3018
+ size: ["w", "h"],
3019
+ "font-size": ["leading"],
3020
+ "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
3021
+ "fvn-ordinal": ["fvn-normal"],
3022
+ "fvn-slashed-zero": ["fvn-normal"],
3023
+ "fvn-figure": ["fvn-normal"],
3024
+ "fvn-spacing": ["fvn-normal"],
3025
+ "fvn-fraction": ["fvn-normal"],
3026
+ "line-clamp": ["display", "overflow"],
3027
+ 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"],
3028
+ "rounded-s": ["rounded-ss", "rounded-es"],
3029
+ "rounded-e": ["rounded-se", "rounded-ee"],
3030
+ "rounded-t": ["rounded-tl", "rounded-tr"],
3031
+ "rounded-r": ["rounded-tr", "rounded-br"],
3032
+ "rounded-b": ["rounded-br", "rounded-bl"],
3033
+ "rounded-l": ["rounded-tl", "rounded-bl"],
3034
+ "border-spacing": ["border-spacing-x", "border-spacing-y"],
3035
+ "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"],
3036
+ "border-w-x": ["border-w-r", "border-w-l"],
3037
+ "border-w-y": ["border-w-t", "border-w-b"],
3038
+ "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"],
3039
+ "border-color-x": ["border-color-r", "border-color-l"],
3040
+ "border-color-y": ["border-color-t", "border-color-b"],
3041
+ translate: ["translate-x", "translate-y", "translate-none"],
3042
+ "translate-none": ["translate", "translate-x", "translate-y", "translate-z"],
3043
+ "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
3044
+ "scroll-mx": ["scroll-mr", "scroll-ml"],
3045
+ "scroll-my": ["scroll-mt", "scroll-mb"],
3046
+ "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
3047
+ "scroll-px": ["scroll-pr", "scroll-pl"],
3048
+ "scroll-py": ["scroll-pt", "scroll-pb"],
3049
+ touch: ["touch-x", "touch-y", "touch-pz"],
3050
+ "touch-x": ["touch"],
3051
+ "touch-y": ["touch"],
3052
+ "touch-pz": ["touch"]
3053
+ },
3054
+ conflictingClassGroupModifiers: {
3055
+ "font-size": ["leading"]
3056
+ },
3057
+ orderSensitiveModifiers: ["*", "**", "after", "backdrop", "before", "details-content", "file", "first-letter", "first-line", "marker", "placeholder", "selection"]
3058
+ };
3059
+ }, zr = /* @__PURE__ */ vr(Mr);
3060
+ function St(...e) {
3061
+ return zr(ft(e));
3062
+ }
3063
+ const Ir = mt("animate-spin rounded-full border-b-2 border-t-2", {
3064
+ variants: {
3065
+ size: {
3066
+ sm: "h-4 w-4 border-2",
3067
+ md: "h-6 w-6 border-2",
3068
+ lg: "h-8 w-8 border-3"
3069
+ }
3070
+ },
3071
+ defaultVariants: {
3072
+ size: "md"
3073
+ }
3074
+ }), Vr = ({ size: e, className: r }) => /* @__PURE__ */ ne.jsx(
3075
+ "div",
3076
+ {
3077
+ className: St(
3078
+ Ir({ size: e }),
3079
+ "border-current border-r-transparent border-l-transparent",
3080
+ r
3081
+ ),
3082
+ role: "status",
3083
+ "aria-label": "loading"
3084
+ }
3085
+ ), Dr = typeof document < "u" ? ye.useLayoutEffect : () => {
3086
+ }, U = (e) => {
3087
+ var r;
3088
+ return (r = e?.ownerDocument) !== null && r !== void 0 ? r : document;
3089
+ }, Z = (e) => e && "window" in e && e.window === e ? e : U(e).defaultView || window;
3090
+ function Gr(e) {
3091
+ return e !== null && typeof e == "object" && "nodeType" in e && typeof e.nodeType == "number";
3092
+ }
3093
+ function Hr(e) {
3094
+ return Gr(e) && e.nodeType === Node.DOCUMENT_FRAGMENT_NODE && "host" in e;
3095
+ }
3096
+ let Wr = !1;
3097
+ function Ue() {
3098
+ return Wr;
3099
+ }
3100
+ function K(e, r) {
3101
+ if (!Ue()) return r && e ? e.contains(r) : !1;
3102
+ if (!e || !r) return !1;
3103
+ let t = r;
3104
+ for (; t !== null; ) {
3105
+ if (t === e) return !0;
3106
+ t.tagName === "SLOT" && t.assignedSlot ? t = t.assignedSlot.parentNode : Hr(t) ? t = t.host : t = t.parentNode;
3107
+ }
3108
+ return !1;
3109
+ }
3110
+ const De = (e = document) => {
3111
+ var r;
3112
+ if (!Ue()) return e.activeElement;
3113
+ let t = e.activeElement;
3114
+ for (; t && "shadowRoot" in t && (!((r = t.shadowRoot) === null || r === void 0) && r.activeElement); ) t = t.shadowRoot.activeElement;
3115
+ return t;
3116
+ };
3117
+ function Nt(e) {
3118
+ return Ue() && e.target.shadowRoot && e.composedPath ? e.composedPath()[0] : e.target;
3119
+ }
3120
+ function Br(e) {
3121
+ if (Kr()) e.focus({
3122
+ preventScroll: !0
3123
+ });
3124
+ else {
3125
+ let r = Yr(e);
3126
+ e.focus(), Ur(r);
3127
+ }
3128
+ }
3129
+ let Ne = null;
3130
+ function Kr() {
3131
+ if (Ne == null) {
3132
+ Ne = !1;
3133
+ try {
3134
+ document.createElement("div").focus({
3135
+ get preventScroll() {
3136
+ return Ne = !0, !0;
3137
+ }
3138
+ });
3139
+ } catch {
3140
+ }
3141
+ }
3142
+ return Ne;
3143
+ }
3144
+ function Yr(e) {
3145
+ let r = e.parentNode, t = [], o = document.scrollingElement || document.documentElement;
3146
+ for (; r instanceof HTMLElement && r !== o; )
3147
+ (r.offsetHeight < r.scrollHeight || r.offsetWidth < r.scrollWidth) && t.push({
3148
+ element: r,
3149
+ scrollTop: r.scrollTop,
3150
+ scrollLeft: r.scrollLeft
3151
+ }), r = r.parentNode;
3152
+ return o instanceof HTMLElement && t.push({
3153
+ element: o,
3154
+ scrollTop: o.scrollTop,
3155
+ scrollLeft: o.scrollLeft
3156
+ }), t;
3157
+ }
3158
+ function Ur(e) {
3159
+ for (let { element: r, scrollTop: t, scrollLeft: o } of e)
3160
+ r.scrollTop = t, r.scrollLeft = o;
3161
+ }
3162
+ function Ce(e) {
3163
+ var r;
3164
+ if (typeof window > "u" || window.navigator == null) return !1;
3165
+ let t = (r = window.navigator.userAgentData) === null || r === void 0 ? void 0 : r.brands;
3166
+ return Array.isArray(t) && t.some((o) => e.test(o.brand)) || e.test(window.navigator.userAgent);
3167
+ }
3168
+ function qe(e) {
3169
+ var r;
3170
+ return typeof window < "u" && window.navigator != null ? e.test(((r = window.navigator.userAgentData) === null || r === void 0 ? void 0 : r.platform) || window.navigator.platform) : !1;
3171
+ }
3172
+ function V(e) {
3173
+ if (process.env.NODE_ENV === "test") return e;
3174
+ let r = null;
3175
+ return () => (r == null && (r = e()), r);
3176
+ }
3177
+ const ve = V(function() {
3178
+ return qe(/^Mac/i);
3179
+ }), qr = V(function() {
3180
+ return qe(/^iPhone/i);
3181
+ }), Pt = V(function() {
3182
+ return qe(/^iPad/i) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.
3183
+ ve() && navigator.maxTouchPoints > 1;
3184
+ }), Jr = V(function() {
3185
+ return qr() || Pt();
3186
+ });
3187
+ V(function() {
3188
+ return ve() || Jr();
3189
+ });
3190
+ const Xr = V(function() {
3191
+ return Ce(/AppleWebKit/i) && !Zr();
3192
+ }), Zr = V(function() {
3193
+ return Ce(/Chrome/i);
3194
+ }), Qr = V(function() {
3195
+ return Ce(/Android/i);
3196
+ }), eo = V(function() {
3197
+ return Ce(/Firefox/i);
3198
+ });
3199
+ function he(e, r, t = !0) {
3200
+ var o, n;
3201
+ let { metaKey: a, ctrlKey: s, altKey: c, shiftKey: i } = r;
3202
+ eo() && (!((n = window.event) === null || n === void 0 || (o = n.type) === null || o === void 0) && o.startsWith("key")) && e.target === "_blank" && (ve() ? a = !0 : s = !0);
3203
+ let u = Xr() && ve() && !Pt() && process.env.NODE_ENV !== "test" ? new KeyboardEvent("keydown", {
3204
+ keyIdentifier: "Enter",
3205
+ metaKey: a,
3206
+ ctrlKey: s,
3207
+ altKey: c,
3208
+ shiftKey: i
3209
+ }) : new MouseEvent("click", {
3210
+ metaKey: a,
3211
+ ctrlKey: s,
3212
+ altKey: c,
3213
+ shiftKey: i,
3214
+ detail: 1,
3215
+ bubbles: !0,
3216
+ cancelable: !0
3217
+ });
3218
+ he.isOpening = t, Br(e), e.dispatchEvent(u), he.isOpening = !1;
3219
+ }
3220
+ he.isOpening = !1;
3221
+ function Rt() {
3222
+ let e = Y(/* @__PURE__ */ new Map()), r = _((n, a, s, c) => {
3223
+ let i = c?.once ? (...u) => {
3224
+ e.current.delete(s), s(...u);
3225
+ } : s;
3226
+ e.current.set(s, {
3227
+ type: a,
3228
+ eventTarget: n,
3229
+ fn: i,
3230
+ options: c
3231
+ }), n.addEventListener(a, i, c);
3232
+ }, []), t = _((n, a, s, c) => {
3233
+ var i;
3234
+ let u = ((i = e.current.get(s)) === null || i === void 0 ? void 0 : i.fn) || s;
3235
+ n.removeEventListener(a, u, c), e.current.delete(s);
3236
+ }, []), o = _(() => {
3237
+ e.current.forEach((n, a) => {
3238
+ t(n.eventTarget, n.type, a, n.options);
3239
+ });
3240
+ }, [
3241
+ t
3242
+ ]);
3243
+ return ae(() => o, [
3244
+ o
3245
+ ]), {
3246
+ addGlobalListener: r,
3247
+ removeGlobalListener: t,
3248
+ removeAllGlobalListeners: o
3249
+ };
3250
+ }
3251
+ function to(e) {
3252
+ return e.pointerType === "" && e.isTrusted ? !0 : Qr() && e.pointerType ? e.type === "click" && e.buttons === 1 : e.detail === 0 && !e.pointerType;
3253
+ }
3254
+ function At(e) {
3255
+ let r = e;
3256
+ return r.nativeEvent = e, r.isDefaultPrevented = () => r.defaultPrevented, r.isPropagationStopped = () => r.cancelBubble, r.persist = () => {
3257
+ }, r;
3258
+ }
3259
+ function ro(e, r) {
3260
+ Object.defineProperty(e, "target", {
3261
+ value: r
3262
+ }), Object.defineProperty(e, "currentTarget", {
3263
+ value: r
3264
+ });
3265
+ }
3266
+ function Lt(e) {
3267
+ let r = Y({
3268
+ isFocused: !1,
3269
+ observer: null
3270
+ });
3271
+ return Dr(() => {
3272
+ const t = r.current;
3273
+ return () => {
3274
+ t.observer && (t.observer.disconnect(), t.observer = null);
3275
+ };
3276
+ }, []), _((t) => {
3277
+ if (t.target instanceof HTMLButtonElement || t.target instanceof HTMLInputElement || t.target instanceof HTMLTextAreaElement || t.target instanceof HTMLSelectElement) {
3278
+ r.current.isFocused = !0;
3279
+ let o = t.target, n = (a) => {
3280
+ if (r.current.isFocused = !1, o.disabled) {
3281
+ let s = At(a);
3282
+ e?.(s);
3283
+ }
3284
+ r.current.observer && (r.current.observer.disconnect(), r.current.observer = null);
3285
+ };
3286
+ o.addEventListener("focusout", n, {
3287
+ once: !0
3288
+ }), r.current.observer = new MutationObserver(() => {
3289
+ if (r.current.isFocused && o.disabled) {
3290
+ var a;
3291
+ (a = r.current.observer) === null || a === void 0 || a.disconnect();
3292
+ let s = o === document.activeElement ? null : document.activeElement;
3293
+ o.dispatchEvent(new FocusEvent("blur", {
3294
+ relatedTarget: s
3295
+ })), o.dispatchEvent(new FocusEvent("focusout", {
3296
+ bubbles: !0,
3297
+ relatedTarget: s
3298
+ }));
3299
+ }
3300
+ }), r.current.observer.observe(o, {
3301
+ attributes: !0,
3302
+ attributeFilter: [
3303
+ "disabled"
3304
+ ]
3305
+ });
3306
+ }
3307
+ }, [
3308
+ e
3309
+ ]);
3310
+ }
3311
+ let oo = !1, we = null;
3312
+ const Ge = /* @__PURE__ */ new Set();
3313
+ let be = /* @__PURE__ */ new Map(), Q = !1, He = !1;
3314
+ const no = {
3315
+ Tab: !0,
3316
+ Escape: !0
3317
+ };
3318
+ function Je(e, r) {
3319
+ for (let t of Ge) t(e, r);
3320
+ }
3321
+ function ao(e) {
3322
+ return !(e.metaKey || !ve() && e.altKey || e.ctrlKey || e.key === "Control" || e.key === "Shift" || e.key === "Meta");
3323
+ }
3324
+ function _e(e) {
3325
+ Q = !0, !he.isOpening && ao(e) && (we = "keyboard", Je("keyboard", e));
3326
+ }
3327
+ function L(e) {
3328
+ we = "pointer", "pointerType" in e && e.pointerType, (e.type === "mousedown" || e.type === "pointerdown") && (Q = !0, Je("pointer", e));
3329
+ }
3330
+ function _t(e) {
3331
+ !he.isOpening && to(e) && (Q = !0, we = "virtual");
3332
+ }
3333
+ function Ot(e) {
3334
+ e.target === window || e.target === document || oo || !e.isTrusted || (!Q && !He && (we = "virtual", Je("virtual", e)), Q = !1, He = !1);
3335
+ }
3336
+ function Ct() {
3337
+ Q = !1, He = !0;
3338
+ }
3339
+ function We(e) {
3340
+ if (typeof window > "u" || typeof document > "u" || be.get(Z(e))) return;
3341
+ const r = Z(e), t = U(e);
3342
+ let o = r.HTMLElement.prototype.focus;
3343
+ r.HTMLElement.prototype.focus = function() {
3344
+ Q = !0, o.apply(this, arguments);
3345
+ }, t.addEventListener("keydown", _e, !0), t.addEventListener("keyup", _e, !0), t.addEventListener("click", _t, !0), r.addEventListener("focus", Ot, !0), r.addEventListener("blur", Ct, !1), typeof PointerEvent < "u" ? (t.addEventListener("pointerdown", L, !0), t.addEventListener("pointermove", L, !0), t.addEventListener("pointerup", L, !0)) : process.env.NODE_ENV === "test" && (t.addEventListener("mousedown", L, !0), t.addEventListener("mousemove", L, !0), t.addEventListener("mouseup", L, !0)), r.addEventListener("beforeunload", () => {
3346
+ Ft(e);
3347
+ }, {
3348
+ once: !0
3349
+ }), be.set(r, {
3350
+ focus: o
3351
+ });
3352
+ }
3353
+ const Ft = (e, r) => {
3354
+ const t = Z(e), o = U(e);
3355
+ r && o.removeEventListener("DOMContentLoaded", r), be.has(t) && (t.HTMLElement.prototype.focus = be.get(t).focus, o.removeEventListener("keydown", _e, !0), o.removeEventListener("keyup", _e, !0), o.removeEventListener("click", _t, !0), t.removeEventListener("focus", Ot, !0), t.removeEventListener("blur", Ct, !1), typeof PointerEvent < "u" ? (o.removeEventListener("pointerdown", L, !0), o.removeEventListener("pointermove", L, !0), o.removeEventListener("pointerup", L, !0)) : process.env.NODE_ENV === "test" && (o.removeEventListener("mousedown", L, !0), o.removeEventListener("mousemove", L, !0), o.removeEventListener("mouseup", L, !0)), be.delete(t));
3356
+ };
3357
+ function so(e) {
3358
+ const r = U(e);
3359
+ let t;
3360
+ return r.readyState !== "loading" ? We(e) : (t = () => {
3361
+ We(e);
3362
+ }, r.addEventListener("DOMContentLoaded", t)), () => Ft(e, t);
3363
+ }
3364
+ typeof document < "u" && so();
3365
+ function Be() {
3366
+ return we !== "pointer";
3367
+ }
3368
+ const io = /* @__PURE__ */ new Set([
3369
+ "checkbox",
3370
+ "radio",
3371
+ "range",
3372
+ "color",
3373
+ "file",
3374
+ "image",
3375
+ "button",
3376
+ "submit",
3377
+ "reset"
3378
+ ]);
3379
+ function lo(e, r, t) {
3380
+ let o = U(t?.target);
3381
+ const n = typeof window < "u" ? Z(t?.target).HTMLInputElement : HTMLInputElement, a = typeof window < "u" ? Z(t?.target).HTMLTextAreaElement : HTMLTextAreaElement, s = typeof window < "u" ? Z(t?.target).HTMLElement : HTMLElement, c = typeof window < "u" ? Z(t?.target).KeyboardEvent : KeyboardEvent;
3382
+ return e = e || o.activeElement instanceof n && !io.has(o.activeElement.type) || o.activeElement instanceof a || o.activeElement instanceof s && o.activeElement.isContentEditable, !(e && r === "keyboard" && t instanceof c && !no[t.key]);
3383
+ }
3384
+ function co(e, r, t) {
3385
+ We(), ae(() => {
3386
+ if (t?.enabled === !1) return;
3387
+ let o = (n, a) => {
3388
+ lo(!!t?.isTextInput, n, a) && e(Be());
3389
+ };
3390
+ return Ge.add(o), () => {
3391
+ Ge.delete(o);
3392
+ };
3393
+ }, r);
3394
+ }
3395
+ function uo(e) {
3396
+ let { isDisabled: r, onFocus: t, onBlur: o, onFocusChange: n } = e;
3397
+ const a = _((i) => {
3398
+ if (i.target === i.currentTarget)
3399
+ return o && o(i), n && n(!1), !0;
3400
+ }, [
3401
+ o,
3402
+ n
3403
+ ]), s = Lt(a), c = _((i) => {
3404
+ const u = U(i.target), m = u ? De(u) : De();
3405
+ i.target === i.currentTarget && m === Nt(i.nativeEvent) && (t && t(i), n && n(!0), s(i));
3406
+ }, [
3407
+ n,
3408
+ t,
3409
+ s
3410
+ ]);
3411
+ return {
3412
+ focusProps: {
3413
+ onFocus: !r && (t || n || o) ? c : void 0,
3414
+ onBlur: !r && (o || n) ? a : void 0
3415
+ }
3416
+ };
3417
+ }
3418
+ function fo(e) {
3419
+ let { isDisabled: r, onBlurWithin: t, onFocusWithin: o, onFocusWithinChange: n } = e, a = Y({
3420
+ isFocusWithin: !1
3421
+ }), { addGlobalListener: s, removeAllGlobalListeners: c } = Rt(), i = _((p) => {
3422
+ K(p.currentTarget, p.target) && a.current.isFocusWithin && !K(p.currentTarget, p.relatedTarget) && (a.current.isFocusWithin = !1, c(), t && t(p), n && n(!1));
3423
+ }, [
3424
+ t,
3425
+ n,
3426
+ a,
3427
+ c
3428
+ ]), u = Lt(i), m = _((p) => {
3429
+ if (!K(p.currentTarget, p.target)) return;
3430
+ const y = U(p.target), E = De(y);
3431
+ if (!a.current.isFocusWithin && E === Nt(p.nativeEvent)) {
3432
+ o && o(p), n && n(!0), a.current.isFocusWithin = !0, u(p);
3433
+ let S = p.currentTarget;
3434
+ s(y, "focus", (g) => {
3435
+ if (a.current.isFocusWithin && !K(S, g.target)) {
3436
+ let $ = new y.defaultView.FocusEvent("blur", {
3437
+ relatedTarget: g.target
3438
+ });
3439
+ ro($, S);
3440
+ let N = At($);
3441
+ i(N);
3442
+ }
3443
+ }, {
3444
+ capture: !0
3445
+ });
3446
+ }
3447
+ }, [
3448
+ o,
3449
+ n,
3450
+ u,
3451
+ s,
3452
+ i
3453
+ ]);
3454
+ return r ? {
3455
+ focusWithinProps: {
3456
+ // These cannot be null, that would conflict in mergeProps
3457
+ onFocus: void 0,
3458
+ onBlur: void 0
3459
+ }
3460
+ } : {
3461
+ focusWithinProps: {
3462
+ onFocus: m,
3463
+ onBlur: i
3464
+ }
3465
+ };
3466
+ }
3467
+ let Oe = !1, Pe = 0;
3468
+ function Ke() {
3469
+ Oe = !0, setTimeout(() => {
3470
+ Oe = !1;
3471
+ }, 50);
3472
+ }
3473
+ function it(e) {
3474
+ e.pointerType === "touch" && Ke();
3475
+ }
3476
+ function mo() {
3477
+ if (!(typeof document > "u"))
3478
+ return Pe === 0 && (typeof PointerEvent < "u" ? document.addEventListener("pointerup", it) : process.env.NODE_ENV === "test" && document.addEventListener("touchend", Ke)), Pe++, () => {
3479
+ Pe--, !(Pe > 0) && (typeof PointerEvent < "u" ? document.removeEventListener("pointerup", it) : process.env.NODE_ENV === "test" && document.removeEventListener("touchend", Ke));
3480
+ };
3481
+ }
3482
+ function po(e) {
3483
+ let { onHoverStart: r, onHoverChange: t, onHoverEnd: o, isDisabled: n } = e, [a, s] = ge(!1), c = Y({
3484
+ isHovered: !1,
3485
+ ignoreEmulatedMouseEvents: !1,
3486
+ pointerType: "",
3487
+ target: null
3488
+ }).current;
3489
+ ae(mo, []);
3490
+ let { addGlobalListener: i, removeAllGlobalListeners: u } = Rt(), { hoverProps: m, triggerHoverEnd: p } = ut(() => {
3491
+ let y = (g, $) => {
3492
+ if (c.pointerType = $, n || $ === "touch" || c.isHovered || !K(g.currentTarget, g.target)) return;
3493
+ c.isHovered = !0;
3494
+ let N = g.currentTarget;
3495
+ c.target = N, i(U(g.target), "pointerover", (O) => {
3496
+ c.isHovered && c.target && !K(c.target, O.target) && E(O, O.pointerType);
3497
+ }, {
3498
+ capture: !0
3499
+ }), r && r({
3500
+ type: "hoverstart",
3501
+ target: N,
3502
+ pointerType: $
3503
+ }), t && t(!0), s(!0);
3504
+ }, E = (g, $) => {
3505
+ let N = c.target;
3506
+ c.pointerType = "", c.target = null, !($ === "touch" || !c.isHovered || !N) && (c.isHovered = !1, u(), o && o({
3507
+ type: "hoverend",
3508
+ target: N,
3509
+ pointerType: $
3510
+ }), t && t(!1), s(!1));
3511
+ }, S = {};
3512
+ return typeof PointerEvent < "u" ? (S.onPointerEnter = (g) => {
3513
+ Oe && g.pointerType === "mouse" || y(g, g.pointerType);
3514
+ }, S.onPointerLeave = (g) => {
3515
+ !n && K(g.currentTarget, g.target) && E(g, g.pointerType);
3516
+ }) : process.env.NODE_ENV === "test" && (S.onTouchStart = () => {
3517
+ c.ignoreEmulatedMouseEvents = !0;
3518
+ }, S.onMouseEnter = (g) => {
3519
+ !c.ignoreEmulatedMouseEvents && !Oe && y(g, "mouse"), c.ignoreEmulatedMouseEvents = !1;
3520
+ }, S.onMouseLeave = (g) => {
3521
+ !n && K(g.currentTarget, g.target) && E(g, "mouse");
3522
+ }), {
3523
+ hoverProps: S,
3524
+ triggerHoverEnd: E
3525
+ };
3526
+ }, [
3527
+ r,
3528
+ t,
3529
+ o,
3530
+ n,
3531
+ c,
3532
+ i,
3533
+ u
3534
+ ]);
3535
+ return ae(() => {
3536
+ n && p({
3537
+ currentTarget: c.target
3538
+ }, c.pointerType);
3539
+ }, [
3540
+ n
3541
+ ]), {
3542
+ hoverProps: m,
3543
+ isHovered: a
3544
+ };
3545
+ }
3546
+ function bo(e = {}) {
3547
+ let { autoFocus: r = !1, isTextInput: t, within: o } = e, n = Y({
3548
+ isFocused: !1,
3549
+ isFocusVisible: r || Be()
3550
+ }), [a, s] = ge(!1), [c, i] = ge(() => n.current.isFocused && n.current.isFocusVisible), u = _(() => i(n.current.isFocused && n.current.isFocusVisible), []), m = _((E) => {
3551
+ n.current.isFocused = E, n.current.isFocusVisible = Be(), s(E), u();
3552
+ }, [
3553
+ u
3554
+ ]);
3555
+ co((E) => {
3556
+ n.current.isFocusVisible = E, u();
3557
+ }, [
3558
+ t,
3559
+ a
3560
+ ], {
3561
+ enabled: a,
3562
+ isTextInput: t
3563
+ });
3564
+ let { focusProps: p } = uo({
3565
+ isDisabled: o,
3566
+ onFocusChange: m
3567
+ }), { focusWithinProps: y } = fo({
3568
+ isDisabled: !o,
3569
+ onFocusWithinChange: m
3570
+ });
3571
+ return {
3572
+ isFocused: a,
3573
+ isFocusVisible: c,
3574
+ focusProps: o ? y : p
3575
+ };
3576
+ }
3577
+ var go = Object.defineProperty, vo = (e, r, t) => r in e ? go(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t, ze = (e, r, t) => (vo(e, typeof r != "symbol" ? r + "" : r, t), t);
3578
+ let ho = class {
3579
+ constructor() {
3580
+ ze(this, "current", this.detect()), ze(this, "handoffState", "pending"), ze(this, "currentId", 0);
3581
+ }
3582
+ set(r) {
3583
+ this.current !== r && (this.handoffState = "pending", this.currentId = 0, this.current = r);
3584
+ }
3585
+ reset() {
3586
+ this.set(this.detect());
3587
+ }
3588
+ nextId() {
3589
+ return ++this.currentId;
3590
+ }
3591
+ get isServer() {
3592
+ return this.current === "server";
3593
+ }
3594
+ get isClient() {
3595
+ return this.current === "client";
3596
+ }
3597
+ detect() {
3598
+ return typeof window > "u" || typeof document > "u" ? "server" : "client";
3599
+ }
3600
+ handoff() {
3601
+ this.handoffState === "pending" && (this.handoffState = "complete");
3602
+ }
3603
+ get isHandoffComplete() {
3604
+ return this.handoffState === "complete";
3605
+ }
3606
+ }, jt = new ho();
3607
+ function yo(e) {
3608
+ var r;
3609
+ return jt.isServer ? null : e == null ? document : (r = e?.ownerDocument) != null ? r : document;
3610
+ }
3611
+ function wo(e) {
3612
+ typeof queueMicrotask == "function" ? queueMicrotask(e) : Promise.resolve().then(e).catch((r) => setTimeout(() => {
3613
+ throw r;
3614
+ }));
3615
+ }
3616
+ function Mt() {
3617
+ let e = [], r = { addEventListener(t, o, n, a) {
3618
+ return t.addEventListener(o, n, a), r.add(() => t.removeEventListener(o, n, a));
3619
+ }, requestAnimationFrame(...t) {
3620
+ let o = requestAnimationFrame(...t);
3621
+ return r.add(() => cancelAnimationFrame(o));
3622
+ }, nextFrame(...t) {
3623
+ return r.requestAnimationFrame(() => r.requestAnimationFrame(...t));
3624
+ }, setTimeout(...t) {
3625
+ let o = setTimeout(...t);
3626
+ return r.add(() => clearTimeout(o));
3627
+ }, microTask(...t) {
3628
+ let o = { current: !0 };
3629
+ return wo(() => {
3630
+ o.current && t[0]();
3631
+ }), r.add(() => {
3632
+ o.current = !1;
3633
+ });
3634
+ }, style(t, o, n) {
3635
+ let a = t.style.getPropertyValue(o);
3636
+ return Object.assign(t.style, { [o]: n }), this.add(() => {
3637
+ Object.assign(t.style, { [o]: a });
3638
+ });
3639
+ }, group(t) {
3640
+ let o = Mt();
3641
+ return t(o), this.add(() => o.dispose());
3642
+ }, add(t) {
3643
+ return e.includes(t) || e.push(t), () => {
3644
+ let o = e.indexOf(t);
3645
+ if (o >= 0) for (let n of e.splice(o, 1)) n();
3646
+ };
3647
+ }, dispose() {
3648
+ for (let t of e.splice(0)) t();
3649
+ } };
3650
+ return r;
3651
+ }
3652
+ function xo() {
3653
+ let [e] = ge(Mt);
3654
+ return ae(() => () => e.dispose(), [e]), e;
3655
+ }
3656
+ let ko = (e, r) => {
3657
+ jt.isServer ? ae(e, r) : Vt(e, r);
3658
+ };
3659
+ function Eo(e) {
3660
+ let r = Y(e);
3661
+ return ko(() => {
3662
+ r.current = e;
3663
+ }, [e]), r;
3664
+ }
3665
+ let lt = function(e) {
3666
+ let r = Eo(e);
3667
+ return ye.useCallback((...t) => r.current(...t), [r]);
3668
+ };
3669
+ function $o(e) {
3670
+ let r = e.width / 2, t = e.height / 2;
3671
+ return { top: e.clientY - t, right: e.clientX + r, bottom: e.clientY + t, left: e.clientX - r };
3672
+ }
3673
+ function To(e, r) {
3674
+ return !(!e || !r || e.right < r.left || e.left > r.right || e.bottom < r.top || e.top > r.bottom);
3675
+ }
3676
+ function So({ disabled: e = !1 } = {}) {
3677
+ let r = Y(null), [t, o] = ge(!1), n = xo(), a = lt(() => {
3678
+ r.current = null, o(!1), n.dispose();
3679
+ }), s = lt((c) => {
3680
+ if (n.dispose(), r.current === null) {
3681
+ r.current = c.currentTarget, o(!0);
3682
+ {
3683
+ let i = yo(c.currentTarget);
3684
+ n.addEventListener(i, "pointerup", a, !1), n.addEventListener(i, "pointermove", (u) => {
3685
+ if (r.current) {
3686
+ let m = $o(u);
3687
+ o(To(m, r.current.getBoundingClientRect()));
3688
+ }
3689
+ }, !1), n.addEventListener(i, "pointercancel", a, !1);
3690
+ }
3691
+ }
3692
+ });
3693
+ return { pressed: t, pressProps: e ? {} : { onPointerDown: s, onPointerUp: a, onClick: a } };
3694
+ }
3695
+ function No(e) {
3696
+ return ut(() => e, Object.values(e));
3697
+ }
3698
+ let Po = Gt(void 0);
3699
+ function Ro() {
3700
+ return Dt(Po);
3701
+ }
3702
+ function ct(...e) {
3703
+ return Array.from(new Set(e.flatMap((r) => typeof r == "string" ? r.split(" ") : []))).filter(Boolean).join(" ");
3704
+ }
3705
+ function zt(e, r, ...t) {
3706
+ if (e in r) {
3707
+ let n = r[e];
3708
+ return typeof n == "function" ? n(...t) : n;
3709
+ }
3710
+ let o = new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(r).map((n) => `"${n}"`).join(", ")}.`);
3711
+ throw Error.captureStackTrace && Error.captureStackTrace(o, zt), o;
3712
+ }
3713
+ var Ao = ((e) => (e[e.None = 0] = "None", e[e.RenderStrategy = 1] = "RenderStrategy", e[e.Static = 2] = "Static", e))(Ao || {}), Lo = ((e) => (e[e.Unmount = 0] = "Unmount", e[e.Hidden = 1] = "Hidden", e))(Lo || {});
3714
+ function _o() {
3715
+ let e = Co();
3716
+ return _((r) => Oo({ mergeRefs: e, ...r }), [e]);
3717
+ }
3718
+ function Oo({ ourProps: e, theirProps: r, slot: t, defaultTag: o, features: n, visible: a = !0, name: s, mergeRefs: c }) {
3719
+ c = c ?? Fo;
3720
+ let i = It(r, e);
3721
+ if (a) return Re(i, t, o, s, c);
3722
+ let u = n ?? 0;
3723
+ if (u & 2) {
3724
+ let { static: m = !1, ...p } = i;
3725
+ if (m) return Re(p, t, o, s, c);
3726
+ }
3727
+ if (u & 1) {
3728
+ let { unmount: m = !0, ...p } = i;
3729
+ return zt(m ? 0 : 1, { 0() {
3730
+ return null;
3731
+ }, 1() {
3732
+ return Re({ ...p, hidden: !0, style: { display: "none" } }, t, o, s, c);
3733
+ } });
3734
+ }
3735
+ return Re(i, t, o, s, c);
3736
+ }
3737
+ function Re(e, r = {}, t, o, n) {
3738
+ let { as: a = t, children: s, refName: c = "ref", ...i } = Ie(e, ["unmount", "static"]), u = e.ref !== void 0 ? { [c]: e.ref } : {}, m = typeof s == "function" ? s(r) : s;
3739
+ "className" in i && i.className && typeof i.className == "function" && (i.className = i.className(r)), i["aria-labelledby"] && i["aria-labelledby"] === i.id && (i["aria-labelledby"] = void 0);
3740
+ let p = {};
3741
+ if (r) {
3742
+ let y = !1, E = [];
3743
+ for (let [S, g] of Object.entries(r)) typeof g == "boolean" && (y = !0), g === !0 && E.push(S.replace(/([A-Z])/g, ($) => `-${$.toLowerCase()}`));
3744
+ if (y) {
3745
+ p["data-headlessui-state"] = E.join(" ");
3746
+ for (let S of E) p[`data-${S}`] = "";
3747
+ }
3748
+ }
3749
+ if (Ae(a) && (Object.keys(oe(i)).length > 0 || Object.keys(oe(p)).length > 0)) if (!Wt(m) || Array.isArray(m) && m.length > 1 || Io(m)) {
3750
+ if (Object.keys(oe(i)).length > 0) throw new Error(['Passing props on "Fragment"!', "", `The current component <${o} /> is rendering a "Fragment".`, "However we need to passthrough the following props:", Object.keys(oe(i)).concat(Object.keys(oe(p))).map((y) => ` - ${y}`).join(`
3751
+ `), "", "You can apply a few solutions:", ['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".', "Render a single element as the child so that we can forward the props onto that element."].map((y) => ` - ${y}`).join(`
3752
+ `)].join(`
3753
+ `));
3754
+ } else {
3755
+ let y = m.props, E = y?.className, S = typeof E == "function" ? (...N) => ct(E(...N), i.className) : ct(E, i.className), g = S ? { className: S } : {}, $ = It(m.props, oe(Ie(i, ["ref"])));
3756
+ for (let N in p) N in $ && delete p[N];
3757
+ return Bt(m, Object.assign({}, $, p, u, { ref: n(zo(m), u.ref) }, g));
3758
+ }
3759
+ return Kt(a, Object.assign({}, Ie(i, ["ref"]), !Ae(a) && u, !Ae(a) && p), m);
3760
+ }
3761
+ function Co() {
3762
+ let e = Y([]), r = _((t) => {
3763
+ for (let o of e.current) o != null && (typeof o == "function" ? o(t) : o.current = t);
3764
+ }, []);
3765
+ return (...t) => {
3766
+ if (!t.every((o) => o == null)) return e.current = t, r;
3767
+ };
3768
+ }
3769
+ function Fo(...e) {
3770
+ return e.every((r) => r == null) ? void 0 : (r) => {
3771
+ for (let t of e) t != null && (typeof t == "function" ? t(r) : t.current = r);
3772
+ };
3773
+ }
3774
+ function It(...e) {
3775
+ if (e.length === 0) return {};
3776
+ if (e.length === 1) return e[0];
3777
+ let r = {}, t = {};
3778
+ for (let o of e) for (let n in o) n.startsWith("on") && typeof o[n] == "function" ? (t[n] != null || (t[n] = []), t[n].push(o[n])) : r[n] = o[n];
3779
+ if (r.disabled || r["aria-disabled"]) for (let o in t) /^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(o) && (t[o] = [(n) => {
3780
+ var a;
3781
+ return (a = n?.preventDefault) == null ? void 0 : a.call(n);
3782
+ }]);
3783
+ for (let o in t) Object.assign(r, { [o](n, ...a) {
3784
+ let s = t[o];
3785
+ for (let c of s) {
3786
+ if ((n instanceof Event || n?.nativeEvent instanceof Event) && n.defaultPrevented) return;
3787
+ c(n, ...a);
3788
+ }
3789
+ } });
3790
+ return r;
3791
+ }
3792
+ function jo(...e) {
3793
+ if (e.length === 0) return {};
3794
+ if (e.length === 1) return e[0];
3795
+ let r = {}, t = {};
3796
+ for (let o of e) for (let n in o) n.startsWith("on") && typeof o[n] == "function" ? (t[n] != null || (t[n] = []), t[n].push(o[n])) : r[n] = o[n];
3797
+ for (let o in t) Object.assign(r, { [o](...n) {
3798
+ let a = t[o];
3799
+ for (let s of a) s?.(...n);
3800
+ } });
3801
+ return r;
3802
+ }
3803
+ function Mo(e) {
3804
+ var r;
3805
+ return Object.assign(Ht(e), { displayName: (r = e.displayName) != null ? r : e.name });
3806
+ }
3807
+ function oe(e) {
3808
+ let r = Object.assign({}, e);
3809
+ for (let t in r) r[t] === void 0 && delete r[t];
3810
+ return r;
3811
+ }
3812
+ function Ie(e, r = []) {
3813
+ let t = Object.assign({}, e);
3814
+ for (let o of r) o in t && delete t[o];
3815
+ return t;
3816
+ }
3817
+ function zo(e) {
3818
+ return ye.version.split(".")[0] >= "19" ? e.props.ref : e.ref;
3819
+ }
3820
+ function Ae(e) {
3821
+ return e === Yt || e === /* @__PURE__ */ Symbol.for("react.fragment");
3822
+ }
3823
+ function Io(e) {
3824
+ return Ae(e.type);
3825
+ }
3826
+ let Vo = "button";
3827
+ function Do(e, r) {
3828
+ var t;
3829
+ let o = Ro(), { disabled: n = o || !1, autoFocus: a = !1, ...s } = e, { isFocusVisible: c, focusProps: i } = bo({ autoFocus: a }), { isHovered: u, hoverProps: m } = po({ isDisabled: n }), { pressed: p, pressProps: y } = So({ disabled: n }), E = jo({ ref: r, type: (t = s.type) != null ? t : "button", disabled: n || void 0, autoFocus: a }, i, m, y), S = No({ disabled: n, hover: u, focus: c, active: p, autofocus: a });
3830
+ return _o()({ ourProps: E, theirProps: s, slot: S, defaultTag: Vo, name: "Button" });
3831
+ }
3832
+ let Go = Mo(Do);
3833
+ const Ho = mt(
3834
+ // Base styles
3835
+ "inline-flex items-center justify-center cursor-pointer whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
3836
+ {
3837
+ variants: {
3838
+ variant: {
3839
+ solid: "border border-transparent shadow-sm",
3840
+ soft: "border-transparent shadow-none",
3841
+ outline: "border bg-transparent shadow-sm",
3842
+ ghost: "border border-transparent bg-transparent",
3843
+ link: "bg-transparent underline-offset-4 hover:underline"
3844
+ },
3845
+ colorScheme: {
3846
+ primary: "",
3847
+ orange: "",
3848
+ teal: "",
3849
+ purple: "",
3850
+ amber: "",
3851
+ success: "",
3852
+ error: "",
3853
+ neutral: ""
3854
+ },
3855
+ size: {
3856
+ sm: "h-9 rounded-md px-3",
3857
+ default: "h-10 px-4 py-2",
3858
+ lg: "h-11 rounded-md px-8",
3859
+ icon: "h-10 w-10"
3860
+ }
3861
+ },
3862
+ compoundVariants: [
3863
+ // --- SOLID VARIANTS (Bold Backgrounds) ---
3864
+ // We use 600 for background to ensure white text is readable
3865
+ { variant: "solid", colorScheme: "primary", className: "bg-primary-600 text-white hover:bg-primary-700" },
3866
+ { variant: "solid", colorScheme: "orange", className: "bg-orange-500 text-white hover:bg-orange-600" },
3867
+ { variant: "solid", colorScheme: "teal", className: "bg-teal-500 text-white hover:bg-teal-600" },
3868
+ { variant: "solid", colorScheme: "purple", className: "bg-purple-500 text-white hover:bg-purple-600" },
3869
+ { variant: "solid", colorScheme: "amber", className: "bg-amber-400 text-black hover:bg-amber-500" },
3870
+ { variant: "solid", colorScheme: "success", className: "bg-success-600 text-white hover:bg-success-700" },
3871
+ { variant: "solid", colorScheme: "error", className: "bg-error-600 text-white hover:bg-error-700" },
3872
+ { variant: "solid", colorScheme: "neutral", className: "bg-gray-600 text-white hover:bg-gray-700" },
3873
+ // --- SOFT VARIANTS (Light Background + Dark Text) ---
3874
+ // Perfect for secondary actions that need more weight than ghost but less than solid
3875
+ { variant: "soft", colorScheme: "primary", className: "bg-primary-100 text-primary-700 hover:bg-primary-200" },
3876
+ { variant: "soft", colorScheme: "orange", className: "bg-orange-100 text-orange-700 hover:bg-orange-200" },
3877
+ { variant: "soft", colorScheme: "teal", className: "bg-teal-100 text-teal-700 hover:bg-teal-200" },
3878
+ { variant: "soft", colorScheme: "purple", className: "bg-purple-100 text-purple-700 hover:bg-purple-200" },
3879
+ { variant: "soft", colorScheme: "amber", className: "bg-amber-100 text-amber-800 hover:bg-amber-200" },
3880
+ { variant: "soft", colorScheme: "success", className: "bg-success-100 text-success-800 hover:bg-success-200" },
3881
+ { variant: "soft", colorScheme: "error", className: "bg-error-100 text-error-800 hover:bg-error-200" },
3882
+ { variant: "soft", colorScheme: "neutral", className: "bg-gray-100 text-gray-800 hover:bg-gray-200" },
3883
+ // --- OUTLINE VARIANTS (Borders + Colored Text) ---
3884
+ { variant: "outline", colorScheme: "primary", className: "border-primary-500 text-primary-500 hover:bg-primary-50" },
3885
+ { variant: "outline", colorScheme: "orange", className: "border-orange-500 text-orange-500 hover:bg-orange-50" },
3886
+ { variant: "outline", colorScheme: "teal", className: "border-teal-500 text-teal-500 hover:bg-teal-50" },
3887
+ { variant: "outline", colorScheme: "purple", className: "border-purple-500 text-purple-500 hover:bg-purple-50" },
3888
+ { variant: "outline", colorScheme: "amber", className: "border-amber-500 text-amber-600 hover:bg-amber-50" },
3889
+ { variant: "outline", colorScheme: "success", className: "border-success-500 text-success-600 hover:bg-success-50" },
3890
+ { variant: "outline", colorScheme: "error", className: "border-error-500 text-error-600 hover:bg-error-50" },
3891
+ { variant: "outline", colorScheme: "neutral", className: "border-gray-300 text-gray-700 hover:bg-gray-100" },
3892
+ // --- GHOST VARIANTS (Soft Text + Soft Hover) ---
3893
+ { variant: "ghost", colorScheme: "primary", className: "text-primary-500 hover:bg-primary-50 hover:text-primary-600" },
3894
+ { variant: "ghost", colorScheme: "orange", className: "text-orange-500 hover:bg-orange-50 hover:text-orange-600" },
3895
+ { variant: "ghost", colorScheme: "teal", className: "text-teal-500 hover:bg-teal-50 hover:text-teal-600" },
3896
+ { variant: "ghost", colorScheme: "purple", className: "text-purple-500 hover:bg-purple-50 hover:text-purple-600" },
3897
+ { variant: "ghost", colorScheme: "amber", className: "text-amber-600 hover:bg-amber-50 hover:text-amber-700" },
3898
+ { variant: "ghost", colorScheme: "success", className: "text-success-600 hover:bg-success-50 hover:text-success-700" },
3899
+ { variant: "ghost", colorScheme: "error", className: "text-error-600 hover:bg-error-50 hover:text-error-700" },
3900
+ { variant: "ghost", colorScheme: "neutral", className: "text-gray-600 hover:bg-gray-100 hover:text-gray-900" },
3901
+ // --- LINK VARIANTS (Text Only + Underline) ---
3902
+ { variant: "link", colorScheme: "primary", className: "text-primary-500 hover:text-primary-700" },
3903
+ { variant: "link", colorScheme: "orange", className: "text-orange-500 hover:text-orange-700" },
3904
+ { variant: "link", colorScheme: "teal", className: "text-teal-500 hover:text-teal-700" },
3905
+ { variant: "link", colorScheme: "purple", className: "text-purple-500 hover:text-purple-700" },
3906
+ { variant: "link", colorScheme: "amber", className: "text-amber-600 hover:text-amber-800" },
3907
+ { variant: "link", colorScheme: "success", className: "text-success-600 hover:text-success-800" },
3908
+ { variant: "link", colorScheme: "error", className: "text-error-600 hover:text-error-800" },
3909
+ { variant: "link", colorScheme: "neutral", className: "text-gray-500 hover:text-gray-900" }
3910
+ ],
3911
+ defaultVariants: {
3912
+ colorScheme: "primary",
3913
+ variant: "solid",
3914
+ size: "default"
3915
+ }
3916
+ }
3917
+ ), Wo = ye.forwardRef(
3918
+ ({
3919
+ className: e,
3920
+ colorScheme: r,
3921
+ variant: t,
3922
+ size: o,
3923
+ isLoading: n = !1,
3924
+ startIcon: a,
3925
+ endIcon: s,
3926
+ disabled: c,
3927
+ children: i,
3928
+ ...u
3929
+ }, m) => {
3930
+ const p = c || n;
3931
+ return /* @__PURE__ */ ne.jsxs(
3932
+ Go,
3933
+ {
3934
+ className: St(
3935
+ Ho({ colorScheme: r, variant: t, size: o }),
3936
+ e
3937
+ ),
3938
+ ref: m,
3939
+ disabled: p,
3940
+ ...u,
3941
+ children: [
3942
+ n && /* @__PURE__ */ ne.jsx("span", { className: "mr-2 flex items-center", children: /* @__PURE__ */ ne.jsx(Vr, { size: "sm", className: "text-current" }) }),
3943
+ !n && a && /* @__PURE__ */ ne.jsx("span", { className: "mr-2 inline-flex shrink-0 items-center", children: a }),
3944
+ i,
3945
+ !n && s && /* @__PURE__ */ ne.jsx("span", { className: "ml-2 inline-flex shrink-0 items-center", children: s })
3946
+ ]
3947
+ }
3948
+ );
3949
+ }
3950
+ );
3951
+ Wo.displayName = "Button";
3952
+ export {
3953
+ Wo as Button,
3954
+ Vr as Spinner,
3955
+ Ho as buttonVariants
3956
+ };