@nusameta/design-system 0.0.1

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