@tan-ahmed/tan-ui-kit 0.1.5 → 0.1.7

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.
@@ -1,29 +1,2732 @@
1
- import { jsx as s } from "react/jsx-runtime";
2
- import * as a from "react";
3
- import { Slot as d } from "@radix-ui/react-slot";
4
- import { cva as c } from "class-variance-authority";
5
- import { clsx as u } from "clsx";
6
- import { twMerge as f } from "tailwind-merge";
7
- function g(...e) {
8
- return f(u(e));
9
- }
10
- const m = c(
11
- "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
1
+ import { jsx as Pe } from "react/jsx-runtime";
2
+ import * as w from "react";
3
+ import { createElement as Se } from "react";
4
+ function Me() {
5
+ return typeof window < "u";
6
+ }
7
+ function Re(e) {
8
+ var t;
9
+ return (e == null || (t = e.ownerDocument) == null ? void 0 : t.defaultView) || window;
10
+ }
11
+ function Te(e) {
12
+ return Me() ? e instanceof HTMLElement || e instanceof Re(e).HTMLElement : !1;
13
+ }
14
+ const ie = {};
15
+ function Q(e, t) {
16
+ const r = w.useRef(ie);
17
+ return r.current === ie && (r.current = e(t)), r;
18
+ }
19
+ const F = w[`useInsertionEffect${Math.random().toFixed(1)}`.slice(0, -3)], Oe = (
20
+ // React 17 doesn't have useInsertionEffect.
21
+ F && // Preact replaces useInsertionEffect with useLayoutEffect and fires too late.
22
+ F !== w.useLayoutEffect ? F : (e) => e()
23
+ );
24
+ function ae(e) {
25
+ const t = Q(je).current;
26
+ return t.next = e, Oe(t.effect), t.trampoline;
27
+ }
28
+ function je() {
29
+ const e = {
30
+ next: void 0,
31
+ callback: Ve,
32
+ trampoline: (...t) => e.callback?.(...t),
33
+ effect: () => {
34
+ e.callback = e.next;
35
+ }
36
+ };
37
+ return e;
38
+ }
39
+ function Ve() {
40
+ if (process.env.NODE_ENV !== "production")
41
+ throw new Error("Base UI: Cannot call an event handler while rendering.");
42
+ }
43
+ let q;
44
+ process.env.NODE_ENV !== "production" && (q = /* @__PURE__ */ new Set());
45
+ function le(...e) {
46
+ if (process.env.NODE_ENV !== "production") {
47
+ const t = e.join(" ");
48
+ q.has(t) || (q.add(t), console.error(`Base UI: ${t}`));
49
+ }
50
+ }
51
+ const Be = () => {
52
+ }, Ge = typeof document < "u" ? w.useLayoutEffect : Be;
53
+ function J(e, t) {
54
+ if (e && !t)
55
+ return e;
56
+ if (!e && t)
57
+ return t;
58
+ if (e || t)
59
+ return {
60
+ ...e,
61
+ ...t
62
+ };
63
+ }
64
+ const B = {};
65
+ function ge(e, t, r, o, s) {
66
+ let n = {
67
+ ...Y(e, B)
68
+ };
69
+ return t && (n = U(n, t)), r && (n = U(n, r)), o && (n = U(n, o)), n;
70
+ }
71
+ function Le(e) {
72
+ if (e.length === 0)
73
+ return B;
74
+ if (e.length === 1)
75
+ return Y(e[0], B);
76
+ let t = {
77
+ ...Y(e[0], B)
78
+ };
79
+ for (let r = 1; r < e.length; r += 1)
80
+ t = U(t, e[r]);
81
+ return t;
82
+ }
83
+ function U(e, t) {
84
+ return me(t) ? t(e) : _e(e, t);
85
+ }
86
+ function _e(e, t) {
87
+ if (!t)
88
+ return e;
89
+ for (const r in t) {
90
+ const o = t[r];
91
+ switch (r) {
92
+ case "style": {
93
+ e[r] = J(e.style, o);
94
+ break;
95
+ }
96
+ case "className": {
97
+ e[r] = he(e.className, o);
98
+ break;
99
+ }
100
+ default:
101
+ Ue(r, o) ? e[r] = De(e[r], o) : e[r] = o;
102
+ }
103
+ }
104
+ return e;
105
+ }
106
+ function Ue(e, t) {
107
+ const r = e.charCodeAt(0), o = e.charCodeAt(1), s = e.charCodeAt(2);
108
+ return r === 111 && o === 110 && s >= 65 && s <= 90 && (typeof t == "function" || typeof t > "u");
109
+ }
110
+ function me(e) {
111
+ return typeof e == "function";
112
+ }
113
+ function Y(e, t) {
114
+ return me(e) ? e(t) : e ?? B;
115
+ }
116
+ function De(e, t) {
117
+ return t ? e ? (r) => {
118
+ if (We(r)) {
119
+ const s = r;
120
+ Z(s);
121
+ const n = t(s);
122
+ return s.baseUIHandlerPrevented || e?.(s), n;
123
+ }
124
+ const o = t(r);
125
+ return e?.(r), o;
126
+ } : t : e;
127
+ }
128
+ function Z(e) {
129
+ return e.preventBaseUIHandler = () => {
130
+ e.baseUIHandlerPrevented = !0;
131
+ }, e;
132
+ }
133
+ function he(e, t) {
134
+ return t ? e ? t + " " + e : t : e;
135
+ }
136
+ function We(e) {
137
+ return e != null && typeof e == "object" && "nativeEvent" in e;
138
+ }
139
+ function $e(e, ...t) {
140
+ const r = new URL("https://base-ui.com/production-error");
141
+ return r.searchParams.set("code", e.toString()), t.forEach((o) => r.searchParams.append("args[]", o)), `Base UI error #${e}; visit ${r} for the full message.`;
142
+ }
143
+ const ye = /* @__PURE__ */ w.createContext(void 0);
144
+ process.env.NODE_ENV !== "production" && (ye.displayName = "CompositeRootContext");
145
+ function Ke(e = !1) {
146
+ const t = w.useContext(ye);
147
+ if (t === void 0 && !e)
148
+ throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: CompositeRootContext is missing. Composite parts must be placed within <Composite.Root>." : $e(16));
149
+ return t;
150
+ }
151
+ function Fe(e) {
152
+ const {
153
+ focusableWhenDisabled: t,
154
+ disabled: r,
155
+ composite: o = !1,
156
+ tabIndex: s = 0,
157
+ isNativeButton: n
158
+ } = e, a = o && t !== !1, i = o && t === !1;
159
+ return {
160
+ props: w.useMemo(() => {
161
+ const l = {
162
+ // allow Tabbing away from focusableWhenDisabled elements
163
+ onKeyDown(p) {
164
+ r && t && p.key !== "Tab" && p.preventDefault();
165
+ }
166
+ };
167
+ return o || (l.tabIndex = s, !n && r && (l.tabIndex = t ? s : -1)), (n && (t || a) || !n && r) && (l["aria-disabled"] = r), n && (!t || i) && (l.disabled = r), l;
168
+ }, [o, r, t, a, i, n, s])
169
+ };
170
+ }
171
+ function He(e = {}) {
172
+ const {
173
+ disabled: t = !1,
174
+ focusableWhenDisabled: r,
175
+ tabIndex: o = 0,
176
+ native: s = !0
177
+ } = e, n = w.useRef(null), a = Ke(!0) !== void 0, i = ae(() => {
178
+ const d = n.current;
179
+ return !!(d?.tagName === "A" && d?.href);
180
+ }), {
181
+ props: f
182
+ } = Fe({
183
+ focusableWhenDisabled: r,
184
+ disabled: t,
185
+ composite: a,
186
+ tabIndex: o,
187
+ isNativeButton: s
188
+ });
189
+ process.env.NODE_ENV !== "production" && w.useEffect(() => {
190
+ if (!n.current)
191
+ return;
192
+ const d = n.current.tagName === "BUTTON";
193
+ s ? d || le("A component that acts as a button was not rendered as a native <button>, which does not match the default. Ensure that the element passed to the `render` prop of the component is a real <button>, or set the `nativeButton` prop on the component to `false`.") : d && le("A component that acts as a button was rendered as a native <button>, which does not match the default. Ensure that the element passed to the `render` prop of the component is not a real <button>, or set the `nativeButton` prop on the component to `true`.");
194
+ }, [s]);
195
+ const l = w.useCallback(() => {
196
+ const d = n.current;
197
+ qe(d) && a && t && f.disabled === void 0 && d.disabled && (d.disabled = !1);
198
+ }, [t, f.disabled, a]);
199
+ Ge(l, [l]);
200
+ const p = w.useCallback((d = {}) => {
201
+ const {
202
+ onClick: g,
203
+ onMouseDown: k,
204
+ onKeyUp: v,
205
+ onKeyDown: b,
206
+ onPointerDown: x,
207
+ ...C
208
+ } = d;
209
+ return ge({
210
+ type: s ? "button" : void 0,
211
+ onClick(u) {
212
+ if (t) {
213
+ u.preventDefault();
214
+ return;
215
+ }
216
+ g?.(u);
217
+ },
218
+ onMouseDown(u) {
219
+ t || k?.(u);
220
+ },
221
+ onKeyDown(u) {
222
+ if (t || (Z(u), b?.(u)), u.baseUIHandlerPrevented)
223
+ return;
224
+ const P = u.target === u.currentTarget && !s && !i() && !t, T = u.key === "Enter", G = u.key === " ";
225
+ P && ((G || T) && u.preventDefault(), T && g?.(u));
226
+ },
227
+ onKeyUp(u) {
228
+ t || (Z(u), v?.(u)), !u.baseUIHandlerPrevented && u.target === u.currentTarget && !s && !t && u.key === " " && g?.(u);
229
+ },
230
+ onPointerDown(u) {
231
+ if (t) {
232
+ u.preventDefault();
233
+ return;
234
+ }
235
+ x?.(u);
236
+ }
237
+ }, s ? void 0 : {
238
+ role: "button"
239
+ }, f, C);
240
+ }, [t, f, s, i]), h = ae((d) => {
241
+ n.current = d, l();
242
+ });
243
+ return {
244
+ getButtonProps: p,
245
+ buttonRef: h
246
+ };
247
+ }
248
+ function qe(e) {
249
+ return Te(e) && e.tagName === "BUTTON";
250
+ }
251
+ function ce(e, t, r, o) {
252
+ const s = Q(ve).current;
253
+ return Ye(s, e, t, r, o) && xe(s, [e, t, r, o]), s.callback;
254
+ }
255
+ function Je(e) {
256
+ const t = Q(ve).current;
257
+ return Ze(t, e) && xe(t, e), t.callback;
258
+ }
259
+ function ve() {
260
+ return {
261
+ callback: null,
262
+ cleanup: null,
263
+ refs: []
264
+ };
265
+ }
266
+ function Ye(e, t, r, o, s) {
267
+ return e.refs[0] !== t || e.refs[1] !== r || e.refs[2] !== o || e.refs[3] !== s;
268
+ }
269
+ function Ze(e, t) {
270
+ return e.refs.length !== t.length || e.refs.some((r, o) => r !== t[o]);
271
+ }
272
+ function xe(e, t) {
273
+ if (e.refs = t, t.every((r) => r == null)) {
274
+ e.callback = null;
275
+ return;
276
+ }
277
+ e.callback = (r) => {
278
+ if (e.cleanup && (e.cleanup(), e.cleanup = null), r != null) {
279
+ const o = Array(t.length).fill(null);
280
+ for (let s = 0; s < t.length; s += 1) {
281
+ const n = t[s];
282
+ if (n != null)
283
+ switch (typeof n) {
284
+ case "function": {
285
+ const a = n(r);
286
+ typeof a == "function" && (o[s] = a);
287
+ break;
288
+ }
289
+ case "object": {
290
+ n.current = r;
291
+ break;
292
+ }
293
+ }
294
+ }
295
+ e.cleanup = () => {
296
+ for (let s = 0; s < t.length; s += 1) {
297
+ const n = t[s];
298
+ if (n != null)
299
+ switch (typeof n) {
300
+ case "function": {
301
+ const a = o[s];
302
+ typeof a == "function" ? a() : n(null);
303
+ break;
304
+ }
305
+ case "object": {
306
+ n.current = null;
307
+ break;
308
+ }
309
+ }
310
+ }
311
+ };
312
+ }
313
+ };
314
+ }
315
+ const Xe = parseInt(w.version, 10);
316
+ function Qe(e) {
317
+ return Xe >= e;
318
+ }
319
+ function de(e) {
320
+ if (!/* @__PURE__ */ w.isValidElement(e))
321
+ return null;
322
+ const t = e, r = t.props;
323
+ return (Qe(19) ? r?.ref : t.ref) ?? null;
324
+ }
325
+ function et(e, t) {
326
+ const r = {};
327
+ for (const o in e) {
328
+ const s = e[o];
329
+ if (t?.hasOwnProperty(o)) {
330
+ const n = t[o](s);
331
+ n != null && Object.assign(r, n);
332
+ continue;
333
+ }
334
+ s === !0 ? r[`data-${o.toLowerCase()}`] = "" : s && (r[`data-${o.toLowerCase()}`] = s.toString());
335
+ }
336
+ return r;
337
+ }
338
+ function tt(e, t) {
339
+ return typeof e == "function" ? e(t) : e;
340
+ }
341
+ function rt(e, t) {
342
+ return typeof e == "function" ? e(t) : e;
343
+ }
344
+ const S = Object.freeze({});
345
+ function ot(e, t, r = {}) {
346
+ const o = t.render, s = nt(t, r);
347
+ if (r.enabled === !1)
348
+ return null;
349
+ const n = r.state ?? S;
350
+ return st(e, o, s, n);
351
+ }
352
+ function nt(e, t = {}) {
353
+ const {
354
+ className: r,
355
+ style: o,
356
+ render: s
357
+ } = e, {
358
+ state: n = S,
359
+ ref: a,
360
+ props: i,
361
+ stateAttributesMapping: f,
362
+ enabled: l = !0
363
+ } = t, p = l ? tt(r, n) : void 0, h = l ? rt(o, n) : void 0, d = l ? et(n, f) : S, g = l ? J(d, Array.isArray(i) ? Le(i) : i) ?? S : S;
364
+ return typeof document < "u" && (l ? Array.isArray(a) ? g.ref = Je([g.ref, de(s), ...a]) : g.ref = ce(g.ref, de(s), a) : ce(null, null)), l ? (p !== void 0 && (g.className = he(g.className, p)), h !== void 0 && (g.style = J(g.style, h)), g) : S;
365
+ }
366
+ function st(e, t, r, o) {
367
+ if (t) {
368
+ if (typeof t == "function")
369
+ return t(r, o);
370
+ const s = ge(r, t.props);
371
+ return s.ref = r.ref, /* @__PURE__ */ w.cloneElement(t, s);
372
+ }
373
+ return it(e, r);
374
+ }
375
+ function it(e, t) {
376
+ return /* @__PURE__ */ Se("button", {
377
+ type: "button",
378
+ ...t,
379
+ key: t.key
380
+ });
381
+ }
382
+ const we = /* @__PURE__ */ w.forwardRef(function(t, r) {
383
+ const {
384
+ render: o,
385
+ className: s,
386
+ disabled: n = !1,
387
+ focusableWhenDisabled: a = !1,
388
+ nativeButton: i = !0,
389
+ ...f
390
+ } = t, {
391
+ getButtonProps: l,
392
+ buttonRef: p
393
+ } = He({
394
+ disabled: n,
395
+ focusableWhenDisabled: a,
396
+ native: i
397
+ }), h = w.useMemo(() => ({
398
+ disabled: n
399
+ }), [n]);
400
+ return ot("button", t, {
401
+ state: h,
402
+ ref: [r, p],
403
+ props: [f, l]
404
+ });
405
+ });
406
+ process.env.NODE_ENV !== "production" && (we.displayName = "Button");
407
+ function ke(e) {
408
+ var t, r, o = "";
409
+ if (typeof e == "string" || typeof e == "number") o += e;
410
+ else if (typeof e == "object") if (Array.isArray(e)) {
411
+ var s = e.length;
412
+ for (t = 0; t < s; t++) e[t] && (r = ke(e[t])) && (o && (o += " "), o += r);
413
+ } else for (r in e) e[r] && (o && (o += " "), o += r);
414
+ return o;
415
+ }
416
+ function Ce() {
417
+ for (var e, t, r = 0, o = "", s = arguments.length; r < s; r++) (e = arguments[r]) && (t = ke(e)) && (o && (o += " "), o += t);
418
+ return o;
419
+ }
420
+ const ue = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, fe = Ce, at = (e, t) => (r) => {
421
+ var o;
422
+ if (t?.variants == null) return fe(e, r?.class, r?.className);
423
+ const { variants: s, defaultVariants: n } = t, a = Object.keys(s).map((l) => {
424
+ const p = r?.[l], h = n?.[l];
425
+ if (p === null) return null;
426
+ const d = ue(p) || ue(h);
427
+ return s[l][d];
428
+ }), i = r && Object.entries(r).reduce((l, p) => {
429
+ let [h, d] = p;
430
+ return d === void 0 || (l[h] = d), l;
431
+ }, {}), f = t == null || (o = t.compoundVariants) === null || o === void 0 ? void 0 : o.reduce((l, p) => {
432
+ let { class: h, className: d, ...g } = p;
433
+ return Object.entries(g).every((k) => {
434
+ let [v, b] = k;
435
+ return Array.isArray(b) ? b.includes({
436
+ ...n,
437
+ ...i
438
+ }[v]) : {
439
+ ...n,
440
+ ...i
441
+ }[v] === b;
442
+ }) ? [
443
+ ...l,
444
+ h,
445
+ d
446
+ ] : l;
447
+ }, []);
448
+ return fe(e, a, f, r?.class, r?.className);
449
+ }, ee = "-", lt = (e) => {
450
+ const t = dt(e), {
451
+ conflictingClassGroups: r,
452
+ conflictingClassGroupModifiers: o
453
+ } = e;
454
+ return {
455
+ getClassGroupId: (a) => {
456
+ const i = a.split(ee);
457
+ return i[0] === "" && i.length !== 1 && i.shift(), Ee(i, t) || ct(a);
458
+ },
459
+ getConflictingClassGroupIds: (a, i) => {
460
+ const f = r[a] || [];
461
+ return i && o[a] ? [...f, ...o[a]] : f;
462
+ }
463
+ };
464
+ }, Ee = (e, t) => {
465
+ if (e.length === 0)
466
+ return t.classGroupId;
467
+ const r = e[0], o = t.nextPart.get(r), s = o ? Ee(e.slice(1), o) : void 0;
468
+ if (s)
469
+ return s;
470
+ if (t.validators.length === 0)
471
+ return;
472
+ const n = e.join(ee);
473
+ return t.validators.find(({
474
+ validator: a
475
+ }) => a(n))?.classGroupId;
476
+ }, pe = /^\[(.+)\]$/, ct = (e) => {
477
+ if (pe.test(e)) {
478
+ const t = pe.exec(e)[1], r = t?.substring(0, t.indexOf(":"));
479
+ if (r)
480
+ return "arbitrary.." + r;
481
+ }
482
+ }, dt = (e) => {
483
+ const {
484
+ theme: t,
485
+ prefix: r
486
+ } = e, o = {
487
+ nextPart: /* @__PURE__ */ new Map(),
488
+ validators: []
489
+ };
490
+ return ft(Object.entries(e.classGroups), r).forEach(([n, a]) => {
491
+ X(a, o, n, t);
492
+ }), o;
493
+ }, X = (e, t, r, o) => {
494
+ e.forEach((s) => {
495
+ if (typeof s == "string") {
496
+ const n = s === "" ? t : be(t, s);
497
+ n.classGroupId = r;
498
+ return;
499
+ }
500
+ if (typeof s == "function") {
501
+ if (ut(s)) {
502
+ X(s(o), t, r, o);
503
+ return;
504
+ }
505
+ t.validators.push({
506
+ validator: s,
507
+ classGroupId: r
508
+ });
509
+ return;
510
+ }
511
+ Object.entries(s).forEach(([n, a]) => {
512
+ X(a, be(t, n), r, o);
513
+ });
514
+ });
515
+ }, be = (e, t) => {
516
+ let r = e;
517
+ return t.split(ee).forEach((o) => {
518
+ r.nextPart.has(o) || r.nextPart.set(o, {
519
+ nextPart: /* @__PURE__ */ new Map(),
520
+ validators: []
521
+ }), r = r.nextPart.get(o);
522
+ }), r;
523
+ }, ut = (e) => e.isThemeGetter, ft = (e, t) => t ? e.map(([r, o]) => {
524
+ const s = o.map((n) => typeof n == "string" ? t + n : typeof n == "object" ? Object.fromEntries(Object.entries(n).map(([a, i]) => [t + a, i])) : n);
525
+ return [r, s];
526
+ }) : e, pt = (e) => {
527
+ if (e < 1)
528
+ return {
529
+ get: () => {
530
+ },
531
+ set: () => {
532
+ }
533
+ };
534
+ let t = 0, r = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map();
535
+ const s = (n, a) => {
536
+ r.set(n, a), t++, t > e && (t = 0, o = r, r = /* @__PURE__ */ new Map());
537
+ };
538
+ return {
539
+ get(n) {
540
+ let a = r.get(n);
541
+ if (a !== void 0)
542
+ return a;
543
+ if ((a = o.get(n)) !== void 0)
544
+ return s(n, a), a;
545
+ },
546
+ set(n, a) {
547
+ r.has(n) ? r.set(n, a) : s(n, a);
548
+ }
549
+ };
550
+ }, Ne = "!", bt = (e) => {
551
+ const {
552
+ separator: t,
553
+ experimentalParseClassName: r
554
+ } = e, o = t.length === 1, s = t[0], n = t.length, a = (i) => {
555
+ const f = [];
556
+ let l = 0, p = 0, h;
557
+ for (let b = 0; b < i.length; b++) {
558
+ let x = i[b];
559
+ if (l === 0) {
560
+ if (x === s && (o || i.slice(b, b + n) === t)) {
561
+ f.push(i.slice(p, b)), p = b + n;
562
+ continue;
563
+ }
564
+ if (x === "/") {
565
+ h = b;
566
+ continue;
567
+ }
568
+ }
569
+ x === "[" ? l++ : x === "]" && l--;
570
+ }
571
+ const d = f.length === 0 ? i : i.substring(p), g = d.startsWith(Ne), k = g ? d.substring(1) : d, v = h && h > p ? h - p : void 0;
572
+ return {
573
+ modifiers: f,
574
+ hasImportantModifier: g,
575
+ baseClassName: k,
576
+ maybePostfixModifierPosition: v
577
+ };
578
+ };
579
+ return r ? (i) => r({
580
+ className: i,
581
+ parseClassName: a
582
+ }) : a;
583
+ }, gt = (e) => {
584
+ if (e.length <= 1)
585
+ return e;
586
+ const t = [];
587
+ let r = [];
588
+ return e.forEach((o) => {
589
+ o[0] === "[" ? (t.push(...r.sort(), o), r = []) : r.push(o);
590
+ }), t.push(...r.sort()), t;
591
+ }, mt = (e) => ({
592
+ cache: pt(e.cacheSize),
593
+ parseClassName: bt(e),
594
+ ...lt(e)
595
+ }), ht = /\s+/, yt = (e, t) => {
596
+ const {
597
+ parseClassName: r,
598
+ getClassGroupId: o,
599
+ getConflictingClassGroupIds: s
600
+ } = t, n = [], a = e.trim().split(ht);
601
+ let i = "";
602
+ for (let f = a.length - 1; f >= 0; f -= 1) {
603
+ const l = a[f], {
604
+ modifiers: p,
605
+ hasImportantModifier: h,
606
+ baseClassName: d,
607
+ maybePostfixModifierPosition: g
608
+ } = r(l);
609
+ let k = !!g, v = o(k ? d.substring(0, g) : d);
610
+ if (!v) {
611
+ if (!k) {
612
+ i = l + (i.length > 0 ? " " + i : i);
613
+ continue;
614
+ }
615
+ if (v = o(d), !v) {
616
+ i = l + (i.length > 0 ? " " + i : i);
617
+ continue;
618
+ }
619
+ k = !1;
620
+ }
621
+ const b = gt(p).join(":"), x = h ? b + Ne : b, C = x + v;
622
+ if (n.includes(C))
623
+ continue;
624
+ n.push(C);
625
+ const I = s(v, k);
626
+ for (let u = 0; u < I.length; ++u) {
627
+ const P = I[u];
628
+ n.push(x + P);
629
+ }
630
+ i = l + (i.length > 0 ? " " + i : i);
631
+ }
632
+ return i;
633
+ };
634
+ function vt() {
635
+ let e = 0, t, r, o = "";
636
+ for (; e < arguments.length; )
637
+ (t = arguments[e++]) && (r = ze(t)) && (o && (o += " "), o += r);
638
+ return o;
639
+ }
640
+ const ze = (e) => {
641
+ if (typeof e == "string")
642
+ return e;
643
+ let t, r = "";
644
+ for (let o = 0; o < e.length; o++)
645
+ e[o] && (t = ze(e[o])) && (r && (r += " "), r += t);
646
+ return r;
647
+ };
648
+ function xt(e, ...t) {
649
+ let r, o, s, n = a;
650
+ function a(f) {
651
+ const l = t.reduce((p, h) => h(p), e());
652
+ return r = mt(l), o = r.cache.get, s = r.cache.set, n = i, i(f);
653
+ }
654
+ function i(f) {
655
+ const l = o(f);
656
+ if (l)
657
+ return l;
658
+ const p = yt(f, r);
659
+ return s(f, p), p;
660
+ }
661
+ return function() {
662
+ return n(vt.apply(null, arguments));
663
+ };
664
+ }
665
+ const m = (e) => {
666
+ const t = (r) => r[e] || [];
667
+ return t.isThemeGetter = !0, t;
668
+ }, Ae = /^\[(?:([a-z-]+):)?(.+)\]$/i, wt = /^\d+\/\d+$/, kt = /* @__PURE__ */ new Set(["px", "full", "screen"]), Ct = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Et = /\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$/, Nt = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, zt = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, At = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, N = (e) => M(e) || kt.has(e) || wt.test(e), z = (e) => R(e, "length", jt), M = (e) => !!e && !Number.isNaN(Number(e)), H = (e) => R(e, "number", M), j = (e) => !!e && Number.isInteger(Number(e)), It = (e) => e.endsWith("%") && M(e.slice(0, -1)), c = (e) => Ae.test(e), A = (e) => Ct.test(e), Pt = /* @__PURE__ */ new Set(["length", "size", "percentage"]), St = (e) => R(e, Pt, Ie), Mt = (e) => R(e, "position", Ie), Rt = /* @__PURE__ */ new Set(["image", "url"]), Tt = (e) => R(e, Rt, Bt), Ot = (e) => R(e, "", Vt), V = () => !0, R = (e, t, r) => {
669
+ const o = Ae.exec(e);
670
+ return o ? o[1] ? typeof t == "string" ? o[1] === t : t.has(o[1]) : r(o[2]) : !1;
671
+ }, jt = (e) => (
672
+ // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
673
+ // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
674
+ // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
675
+ Et.test(e) && !Nt.test(e)
676
+ ), Ie = () => !1, Vt = (e) => zt.test(e), Bt = (e) => At.test(e), Gt = () => {
677
+ const e = m("colors"), t = m("spacing"), r = m("blur"), o = m("brightness"), s = m("borderColor"), n = m("borderRadius"), a = m("borderSpacing"), i = m("borderWidth"), f = m("contrast"), l = m("grayscale"), p = m("hueRotate"), h = m("invert"), d = m("gap"), g = m("gradientColorStops"), k = m("gradientColorStopPositions"), v = m("inset"), b = m("margin"), x = m("opacity"), C = m("padding"), I = m("saturate"), u = m("scale"), P = m("sepia"), T = m("skew"), G = m("space"), te = m("translate"), D = () => ["auto", "contain", "none"], W = () => ["auto", "hidden", "clip", "visible", "scroll"], $ = () => ["auto", c, t], y = () => [c, t], re = () => ["", N, z], L = () => ["auto", M, c], oe = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], _ = () => ["solid", "dashed", "dotted", "double", "none"], ne = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], K = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], O = () => ["", "0", c], se = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], E = () => [M, c];
678
+ return {
679
+ cacheSize: 500,
680
+ separator: ":",
681
+ theme: {
682
+ colors: [V],
683
+ spacing: [N, z],
684
+ blur: ["none", "", A, c],
685
+ brightness: E(),
686
+ borderColor: [e],
687
+ borderRadius: ["none", "", "full", A, c],
688
+ borderSpacing: y(),
689
+ borderWidth: re(),
690
+ contrast: E(),
691
+ grayscale: O(),
692
+ hueRotate: E(),
693
+ invert: O(),
694
+ gap: y(),
695
+ gradientColorStops: [e],
696
+ gradientColorStopPositions: [It, z],
697
+ inset: $(),
698
+ margin: $(),
699
+ opacity: E(),
700
+ padding: y(),
701
+ saturate: E(),
702
+ scale: E(),
703
+ sepia: O(),
704
+ skew: E(),
705
+ space: y(),
706
+ translate: y()
707
+ },
708
+ classGroups: {
709
+ // Layout
710
+ /**
711
+ * Aspect Ratio
712
+ * @see https://tailwindcss.com/docs/aspect-ratio
713
+ */
714
+ aspect: [{
715
+ aspect: ["auto", "square", "video", c]
716
+ }],
717
+ /**
718
+ * Container
719
+ * @see https://tailwindcss.com/docs/container
720
+ */
721
+ container: ["container"],
722
+ /**
723
+ * Columns
724
+ * @see https://tailwindcss.com/docs/columns
725
+ */
726
+ columns: [{
727
+ columns: [A]
728
+ }],
729
+ /**
730
+ * Break After
731
+ * @see https://tailwindcss.com/docs/break-after
732
+ */
733
+ "break-after": [{
734
+ "break-after": se()
735
+ }],
736
+ /**
737
+ * Break Before
738
+ * @see https://tailwindcss.com/docs/break-before
739
+ */
740
+ "break-before": [{
741
+ "break-before": se()
742
+ }],
743
+ /**
744
+ * Break Inside
745
+ * @see https://tailwindcss.com/docs/break-inside
746
+ */
747
+ "break-inside": [{
748
+ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
749
+ }],
750
+ /**
751
+ * Box Decoration Break
752
+ * @see https://tailwindcss.com/docs/box-decoration-break
753
+ */
754
+ "box-decoration": [{
755
+ "box-decoration": ["slice", "clone"]
756
+ }],
757
+ /**
758
+ * Box Sizing
759
+ * @see https://tailwindcss.com/docs/box-sizing
760
+ */
761
+ box: [{
762
+ box: ["border", "content"]
763
+ }],
764
+ /**
765
+ * Display
766
+ * @see https://tailwindcss.com/docs/display
767
+ */
768
+ 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"],
769
+ /**
770
+ * Floats
771
+ * @see https://tailwindcss.com/docs/float
772
+ */
773
+ float: [{
774
+ float: ["right", "left", "none", "start", "end"]
775
+ }],
776
+ /**
777
+ * Clear
778
+ * @see https://tailwindcss.com/docs/clear
779
+ */
780
+ clear: [{
781
+ clear: ["left", "right", "both", "none", "start", "end"]
782
+ }],
783
+ /**
784
+ * Isolation
785
+ * @see https://tailwindcss.com/docs/isolation
786
+ */
787
+ isolation: ["isolate", "isolation-auto"],
788
+ /**
789
+ * Object Fit
790
+ * @see https://tailwindcss.com/docs/object-fit
791
+ */
792
+ "object-fit": [{
793
+ object: ["contain", "cover", "fill", "none", "scale-down"]
794
+ }],
795
+ /**
796
+ * Object Position
797
+ * @see https://tailwindcss.com/docs/object-position
798
+ */
799
+ "object-position": [{
800
+ object: [...oe(), c]
801
+ }],
802
+ /**
803
+ * Overflow
804
+ * @see https://tailwindcss.com/docs/overflow
805
+ */
806
+ overflow: [{
807
+ overflow: W()
808
+ }],
809
+ /**
810
+ * Overflow X
811
+ * @see https://tailwindcss.com/docs/overflow
812
+ */
813
+ "overflow-x": [{
814
+ "overflow-x": W()
815
+ }],
816
+ /**
817
+ * Overflow Y
818
+ * @see https://tailwindcss.com/docs/overflow
819
+ */
820
+ "overflow-y": [{
821
+ "overflow-y": W()
822
+ }],
823
+ /**
824
+ * Overscroll Behavior
825
+ * @see https://tailwindcss.com/docs/overscroll-behavior
826
+ */
827
+ overscroll: [{
828
+ overscroll: D()
829
+ }],
830
+ /**
831
+ * Overscroll Behavior X
832
+ * @see https://tailwindcss.com/docs/overscroll-behavior
833
+ */
834
+ "overscroll-x": [{
835
+ "overscroll-x": D()
836
+ }],
837
+ /**
838
+ * Overscroll Behavior Y
839
+ * @see https://tailwindcss.com/docs/overscroll-behavior
840
+ */
841
+ "overscroll-y": [{
842
+ "overscroll-y": D()
843
+ }],
844
+ /**
845
+ * Position
846
+ * @see https://tailwindcss.com/docs/position
847
+ */
848
+ position: ["static", "fixed", "absolute", "relative", "sticky"],
849
+ /**
850
+ * Top / Right / Bottom / Left
851
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
852
+ */
853
+ inset: [{
854
+ inset: [v]
855
+ }],
856
+ /**
857
+ * Right / Left
858
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
859
+ */
860
+ "inset-x": [{
861
+ "inset-x": [v]
862
+ }],
863
+ /**
864
+ * Top / Bottom
865
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
866
+ */
867
+ "inset-y": [{
868
+ "inset-y": [v]
869
+ }],
870
+ /**
871
+ * Start
872
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
873
+ */
874
+ start: [{
875
+ start: [v]
876
+ }],
877
+ /**
878
+ * End
879
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
880
+ */
881
+ end: [{
882
+ end: [v]
883
+ }],
884
+ /**
885
+ * Top
886
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
887
+ */
888
+ top: [{
889
+ top: [v]
890
+ }],
891
+ /**
892
+ * Right
893
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
894
+ */
895
+ right: [{
896
+ right: [v]
897
+ }],
898
+ /**
899
+ * Bottom
900
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
901
+ */
902
+ bottom: [{
903
+ bottom: [v]
904
+ }],
905
+ /**
906
+ * Left
907
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
908
+ */
909
+ left: [{
910
+ left: [v]
911
+ }],
912
+ /**
913
+ * Visibility
914
+ * @see https://tailwindcss.com/docs/visibility
915
+ */
916
+ visibility: ["visible", "invisible", "collapse"],
917
+ /**
918
+ * Z-Index
919
+ * @see https://tailwindcss.com/docs/z-index
920
+ */
921
+ z: [{
922
+ z: ["auto", j, c]
923
+ }],
924
+ // Flexbox and Grid
925
+ /**
926
+ * Flex Basis
927
+ * @see https://tailwindcss.com/docs/flex-basis
928
+ */
929
+ basis: [{
930
+ basis: $()
931
+ }],
932
+ /**
933
+ * Flex Direction
934
+ * @see https://tailwindcss.com/docs/flex-direction
935
+ */
936
+ "flex-direction": [{
937
+ flex: ["row", "row-reverse", "col", "col-reverse"]
938
+ }],
939
+ /**
940
+ * Flex Wrap
941
+ * @see https://tailwindcss.com/docs/flex-wrap
942
+ */
943
+ "flex-wrap": [{
944
+ flex: ["wrap", "wrap-reverse", "nowrap"]
945
+ }],
946
+ /**
947
+ * Flex
948
+ * @see https://tailwindcss.com/docs/flex
949
+ */
950
+ flex: [{
951
+ flex: ["1", "auto", "initial", "none", c]
952
+ }],
953
+ /**
954
+ * Flex Grow
955
+ * @see https://tailwindcss.com/docs/flex-grow
956
+ */
957
+ grow: [{
958
+ grow: O()
959
+ }],
960
+ /**
961
+ * Flex Shrink
962
+ * @see https://tailwindcss.com/docs/flex-shrink
963
+ */
964
+ shrink: [{
965
+ shrink: O()
966
+ }],
967
+ /**
968
+ * Order
969
+ * @see https://tailwindcss.com/docs/order
970
+ */
971
+ order: [{
972
+ order: ["first", "last", "none", j, c]
973
+ }],
974
+ /**
975
+ * Grid Template Columns
976
+ * @see https://tailwindcss.com/docs/grid-template-columns
977
+ */
978
+ "grid-cols": [{
979
+ "grid-cols": [V]
980
+ }],
981
+ /**
982
+ * Grid Column Start / End
983
+ * @see https://tailwindcss.com/docs/grid-column
984
+ */
985
+ "col-start-end": [{
986
+ col: ["auto", {
987
+ span: ["full", j, c]
988
+ }, c]
989
+ }],
990
+ /**
991
+ * Grid Column Start
992
+ * @see https://tailwindcss.com/docs/grid-column
993
+ */
994
+ "col-start": [{
995
+ "col-start": L()
996
+ }],
997
+ /**
998
+ * Grid Column End
999
+ * @see https://tailwindcss.com/docs/grid-column
1000
+ */
1001
+ "col-end": [{
1002
+ "col-end": L()
1003
+ }],
1004
+ /**
1005
+ * Grid Template Rows
1006
+ * @see https://tailwindcss.com/docs/grid-template-rows
1007
+ */
1008
+ "grid-rows": [{
1009
+ "grid-rows": [V]
1010
+ }],
1011
+ /**
1012
+ * Grid Row Start / End
1013
+ * @see https://tailwindcss.com/docs/grid-row
1014
+ */
1015
+ "row-start-end": [{
1016
+ row: ["auto", {
1017
+ span: [j, c]
1018
+ }, c]
1019
+ }],
1020
+ /**
1021
+ * Grid Row Start
1022
+ * @see https://tailwindcss.com/docs/grid-row
1023
+ */
1024
+ "row-start": [{
1025
+ "row-start": L()
1026
+ }],
1027
+ /**
1028
+ * Grid Row End
1029
+ * @see https://tailwindcss.com/docs/grid-row
1030
+ */
1031
+ "row-end": [{
1032
+ "row-end": L()
1033
+ }],
1034
+ /**
1035
+ * Grid Auto Flow
1036
+ * @see https://tailwindcss.com/docs/grid-auto-flow
1037
+ */
1038
+ "grid-flow": [{
1039
+ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
1040
+ }],
1041
+ /**
1042
+ * Grid Auto Columns
1043
+ * @see https://tailwindcss.com/docs/grid-auto-columns
1044
+ */
1045
+ "auto-cols": [{
1046
+ "auto-cols": ["auto", "min", "max", "fr", c]
1047
+ }],
1048
+ /**
1049
+ * Grid Auto Rows
1050
+ * @see https://tailwindcss.com/docs/grid-auto-rows
1051
+ */
1052
+ "auto-rows": [{
1053
+ "auto-rows": ["auto", "min", "max", "fr", c]
1054
+ }],
1055
+ /**
1056
+ * Gap
1057
+ * @see https://tailwindcss.com/docs/gap
1058
+ */
1059
+ gap: [{
1060
+ gap: [d]
1061
+ }],
1062
+ /**
1063
+ * Gap X
1064
+ * @see https://tailwindcss.com/docs/gap
1065
+ */
1066
+ "gap-x": [{
1067
+ "gap-x": [d]
1068
+ }],
1069
+ /**
1070
+ * Gap Y
1071
+ * @see https://tailwindcss.com/docs/gap
1072
+ */
1073
+ "gap-y": [{
1074
+ "gap-y": [d]
1075
+ }],
1076
+ /**
1077
+ * Justify Content
1078
+ * @see https://tailwindcss.com/docs/justify-content
1079
+ */
1080
+ "justify-content": [{
1081
+ justify: ["normal", ...K()]
1082
+ }],
1083
+ /**
1084
+ * Justify Items
1085
+ * @see https://tailwindcss.com/docs/justify-items
1086
+ */
1087
+ "justify-items": [{
1088
+ "justify-items": ["start", "end", "center", "stretch"]
1089
+ }],
1090
+ /**
1091
+ * Justify Self
1092
+ * @see https://tailwindcss.com/docs/justify-self
1093
+ */
1094
+ "justify-self": [{
1095
+ "justify-self": ["auto", "start", "end", "center", "stretch"]
1096
+ }],
1097
+ /**
1098
+ * Align Content
1099
+ * @see https://tailwindcss.com/docs/align-content
1100
+ */
1101
+ "align-content": [{
1102
+ content: ["normal", ...K(), "baseline"]
1103
+ }],
1104
+ /**
1105
+ * Align Items
1106
+ * @see https://tailwindcss.com/docs/align-items
1107
+ */
1108
+ "align-items": [{
1109
+ items: ["start", "end", "center", "baseline", "stretch"]
1110
+ }],
1111
+ /**
1112
+ * Align Self
1113
+ * @see https://tailwindcss.com/docs/align-self
1114
+ */
1115
+ "align-self": [{
1116
+ self: ["auto", "start", "end", "center", "stretch", "baseline"]
1117
+ }],
1118
+ /**
1119
+ * Place Content
1120
+ * @see https://tailwindcss.com/docs/place-content
1121
+ */
1122
+ "place-content": [{
1123
+ "place-content": [...K(), "baseline"]
1124
+ }],
1125
+ /**
1126
+ * Place Items
1127
+ * @see https://tailwindcss.com/docs/place-items
1128
+ */
1129
+ "place-items": [{
1130
+ "place-items": ["start", "end", "center", "baseline", "stretch"]
1131
+ }],
1132
+ /**
1133
+ * Place Self
1134
+ * @see https://tailwindcss.com/docs/place-self
1135
+ */
1136
+ "place-self": [{
1137
+ "place-self": ["auto", "start", "end", "center", "stretch"]
1138
+ }],
1139
+ // Spacing
1140
+ /**
1141
+ * Padding
1142
+ * @see https://tailwindcss.com/docs/padding
1143
+ */
1144
+ p: [{
1145
+ p: [C]
1146
+ }],
1147
+ /**
1148
+ * Padding X
1149
+ * @see https://tailwindcss.com/docs/padding
1150
+ */
1151
+ px: [{
1152
+ px: [C]
1153
+ }],
1154
+ /**
1155
+ * Padding Y
1156
+ * @see https://tailwindcss.com/docs/padding
1157
+ */
1158
+ py: [{
1159
+ py: [C]
1160
+ }],
1161
+ /**
1162
+ * Padding Start
1163
+ * @see https://tailwindcss.com/docs/padding
1164
+ */
1165
+ ps: [{
1166
+ ps: [C]
1167
+ }],
1168
+ /**
1169
+ * Padding End
1170
+ * @see https://tailwindcss.com/docs/padding
1171
+ */
1172
+ pe: [{
1173
+ pe: [C]
1174
+ }],
1175
+ /**
1176
+ * Padding Top
1177
+ * @see https://tailwindcss.com/docs/padding
1178
+ */
1179
+ pt: [{
1180
+ pt: [C]
1181
+ }],
1182
+ /**
1183
+ * Padding Right
1184
+ * @see https://tailwindcss.com/docs/padding
1185
+ */
1186
+ pr: [{
1187
+ pr: [C]
1188
+ }],
1189
+ /**
1190
+ * Padding Bottom
1191
+ * @see https://tailwindcss.com/docs/padding
1192
+ */
1193
+ pb: [{
1194
+ pb: [C]
1195
+ }],
1196
+ /**
1197
+ * Padding Left
1198
+ * @see https://tailwindcss.com/docs/padding
1199
+ */
1200
+ pl: [{
1201
+ pl: [C]
1202
+ }],
1203
+ /**
1204
+ * Margin
1205
+ * @see https://tailwindcss.com/docs/margin
1206
+ */
1207
+ m: [{
1208
+ m: [b]
1209
+ }],
1210
+ /**
1211
+ * Margin X
1212
+ * @see https://tailwindcss.com/docs/margin
1213
+ */
1214
+ mx: [{
1215
+ mx: [b]
1216
+ }],
1217
+ /**
1218
+ * Margin Y
1219
+ * @see https://tailwindcss.com/docs/margin
1220
+ */
1221
+ my: [{
1222
+ my: [b]
1223
+ }],
1224
+ /**
1225
+ * Margin Start
1226
+ * @see https://tailwindcss.com/docs/margin
1227
+ */
1228
+ ms: [{
1229
+ ms: [b]
1230
+ }],
1231
+ /**
1232
+ * Margin End
1233
+ * @see https://tailwindcss.com/docs/margin
1234
+ */
1235
+ me: [{
1236
+ me: [b]
1237
+ }],
1238
+ /**
1239
+ * Margin Top
1240
+ * @see https://tailwindcss.com/docs/margin
1241
+ */
1242
+ mt: [{
1243
+ mt: [b]
1244
+ }],
1245
+ /**
1246
+ * Margin Right
1247
+ * @see https://tailwindcss.com/docs/margin
1248
+ */
1249
+ mr: [{
1250
+ mr: [b]
1251
+ }],
1252
+ /**
1253
+ * Margin Bottom
1254
+ * @see https://tailwindcss.com/docs/margin
1255
+ */
1256
+ mb: [{
1257
+ mb: [b]
1258
+ }],
1259
+ /**
1260
+ * Margin Left
1261
+ * @see https://tailwindcss.com/docs/margin
1262
+ */
1263
+ ml: [{
1264
+ ml: [b]
1265
+ }],
1266
+ /**
1267
+ * Space Between X
1268
+ * @see https://tailwindcss.com/docs/space
1269
+ */
1270
+ "space-x": [{
1271
+ "space-x": [G]
1272
+ }],
1273
+ /**
1274
+ * Space Between X Reverse
1275
+ * @see https://tailwindcss.com/docs/space
1276
+ */
1277
+ "space-x-reverse": ["space-x-reverse"],
1278
+ /**
1279
+ * Space Between Y
1280
+ * @see https://tailwindcss.com/docs/space
1281
+ */
1282
+ "space-y": [{
1283
+ "space-y": [G]
1284
+ }],
1285
+ /**
1286
+ * Space Between Y Reverse
1287
+ * @see https://tailwindcss.com/docs/space
1288
+ */
1289
+ "space-y-reverse": ["space-y-reverse"],
1290
+ // Sizing
1291
+ /**
1292
+ * Width
1293
+ * @see https://tailwindcss.com/docs/width
1294
+ */
1295
+ w: [{
1296
+ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", c, t]
1297
+ }],
1298
+ /**
1299
+ * Min-Width
1300
+ * @see https://tailwindcss.com/docs/min-width
1301
+ */
1302
+ "min-w": [{
1303
+ "min-w": [c, t, "min", "max", "fit"]
1304
+ }],
1305
+ /**
1306
+ * Max-Width
1307
+ * @see https://tailwindcss.com/docs/max-width
1308
+ */
1309
+ "max-w": [{
1310
+ "max-w": [c, t, "none", "full", "min", "max", "fit", "prose", {
1311
+ screen: [A]
1312
+ }, A]
1313
+ }],
1314
+ /**
1315
+ * Height
1316
+ * @see https://tailwindcss.com/docs/height
1317
+ */
1318
+ h: [{
1319
+ h: [c, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
1320
+ }],
1321
+ /**
1322
+ * Min-Height
1323
+ * @see https://tailwindcss.com/docs/min-height
1324
+ */
1325
+ "min-h": [{
1326
+ "min-h": [c, t, "min", "max", "fit", "svh", "lvh", "dvh"]
1327
+ }],
1328
+ /**
1329
+ * Max-Height
1330
+ * @see https://tailwindcss.com/docs/max-height
1331
+ */
1332
+ "max-h": [{
1333
+ "max-h": [c, t, "min", "max", "fit", "svh", "lvh", "dvh"]
1334
+ }],
1335
+ /**
1336
+ * Size
1337
+ * @see https://tailwindcss.com/docs/size
1338
+ */
1339
+ size: [{
1340
+ size: [c, t, "auto", "min", "max", "fit"]
1341
+ }],
1342
+ // Typography
1343
+ /**
1344
+ * Font Size
1345
+ * @see https://tailwindcss.com/docs/font-size
1346
+ */
1347
+ "font-size": [{
1348
+ text: ["base", A, z]
1349
+ }],
1350
+ /**
1351
+ * Font Smoothing
1352
+ * @see https://tailwindcss.com/docs/font-smoothing
1353
+ */
1354
+ "font-smoothing": ["antialiased", "subpixel-antialiased"],
1355
+ /**
1356
+ * Font Style
1357
+ * @see https://tailwindcss.com/docs/font-style
1358
+ */
1359
+ "font-style": ["italic", "not-italic"],
1360
+ /**
1361
+ * Font Weight
1362
+ * @see https://tailwindcss.com/docs/font-weight
1363
+ */
1364
+ "font-weight": [{
1365
+ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", H]
1366
+ }],
1367
+ /**
1368
+ * Font Family
1369
+ * @see https://tailwindcss.com/docs/font-family
1370
+ */
1371
+ "font-family": [{
1372
+ font: [V]
1373
+ }],
1374
+ /**
1375
+ * Font Variant Numeric
1376
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1377
+ */
1378
+ "fvn-normal": ["normal-nums"],
1379
+ /**
1380
+ * Font Variant Numeric
1381
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1382
+ */
1383
+ "fvn-ordinal": ["ordinal"],
1384
+ /**
1385
+ * Font Variant Numeric
1386
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1387
+ */
1388
+ "fvn-slashed-zero": ["slashed-zero"],
1389
+ /**
1390
+ * Font Variant Numeric
1391
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1392
+ */
1393
+ "fvn-figure": ["lining-nums", "oldstyle-nums"],
1394
+ /**
1395
+ * Font Variant Numeric
1396
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1397
+ */
1398
+ "fvn-spacing": ["proportional-nums", "tabular-nums"],
1399
+ /**
1400
+ * Font Variant Numeric
1401
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1402
+ */
1403
+ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
1404
+ /**
1405
+ * Letter Spacing
1406
+ * @see https://tailwindcss.com/docs/letter-spacing
1407
+ */
1408
+ tracking: [{
1409
+ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", c]
1410
+ }],
1411
+ /**
1412
+ * Line Clamp
1413
+ * @see https://tailwindcss.com/docs/line-clamp
1414
+ */
1415
+ "line-clamp": [{
1416
+ "line-clamp": ["none", M, H]
1417
+ }],
1418
+ /**
1419
+ * Line Height
1420
+ * @see https://tailwindcss.com/docs/line-height
1421
+ */
1422
+ leading: [{
1423
+ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", N, c]
1424
+ }],
1425
+ /**
1426
+ * List Style Image
1427
+ * @see https://tailwindcss.com/docs/list-style-image
1428
+ */
1429
+ "list-image": [{
1430
+ "list-image": ["none", c]
1431
+ }],
1432
+ /**
1433
+ * List Style Type
1434
+ * @see https://tailwindcss.com/docs/list-style-type
1435
+ */
1436
+ "list-style-type": [{
1437
+ list: ["none", "disc", "decimal", c]
1438
+ }],
1439
+ /**
1440
+ * List Style Position
1441
+ * @see https://tailwindcss.com/docs/list-style-position
1442
+ */
1443
+ "list-style-position": [{
1444
+ list: ["inside", "outside"]
1445
+ }],
1446
+ /**
1447
+ * Placeholder Color
1448
+ * @deprecated since Tailwind CSS v3.0.0
1449
+ * @see https://tailwindcss.com/docs/placeholder-color
1450
+ */
1451
+ "placeholder-color": [{
1452
+ placeholder: [e]
1453
+ }],
1454
+ /**
1455
+ * Placeholder Opacity
1456
+ * @see https://tailwindcss.com/docs/placeholder-opacity
1457
+ */
1458
+ "placeholder-opacity": [{
1459
+ "placeholder-opacity": [x]
1460
+ }],
1461
+ /**
1462
+ * Text Alignment
1463
+ * @see https://tailwindcss.com/docs/text-align
1464
+ */
1465
+ "text-alignment": [{
1466
+ text: ["left", "center", "right", "justify", "start", "end"]
1467
+ }],
1468
+ /**
1469
+ * Text Color
1470
+ * @see https://tailwindcss.com/docs/text-color
1471
+ */
1472
+ "text-color": [{
1473
+ text: [e]
1474
+ }],
1475
+ /**
1476
+ * Text Opacity
1477
+ * @see https://tailwindcss.com/docs/text-opacity
1478
+ */
1479
+ "text-opacity": [{
1480
+ "text-opacity": [x]
1481
+ }],
1482
+ /**
1483
+ * Text Decoration
1484
+ * @see https://tailwindcss.com/docs/text-decoration
1485
+ */
1486
+ "text-decoration": ["underline", "overline", "line-through", "no-underline"],
1487
+ /**
1488
+ * Text Decoration Style
1489
+ * @see https://tailwindcss.com/docs/text-decoration-style
1490
+ */
1491
+ "text-decoration-style": [{
1492
+ decoration: [..._(), "wavy"]
1493
+ }],
1494
+ /**
1495
+ * Text Decoration Thickness
1496
+ * @see https://tailwindcss.com/docs/text-decoration-thickness
1497
+ */
1498
+ "text-decoration-thickness": [{
1499
+ decoration: ["auto", "from-font", N, z]
1500
+ }],
1501
+ /**
1502
+ * Text Underline Offset
1503
+ * @see https://tailwindcss.com/docs/text-underline-offset
1504
+ */
1505
+ "underline-offset": [{
1506
+ "underline-offset": ["auto", N, c]
1507
+ }],
1508
+ /**
1509
+ * Text Decoration Color
1510
+ * @see https://tailwindcss.com/docs/text-decoration-color
1511
+ */
1512
+ "text-decoration-color": [{
1513
+ decoration: [e]
1514
+ }],
1515
+ /**
1516
+ * Text Transform
1517
+ * @see https://tailwindcss.com/docs/text-transform
1518
+ */
1519
+ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
1520
+ /**
1521
+ * Text Overflow
1522
+ * @see https://tailwindcss.com/docs/text-overflow
1523
+ */
1524
+ "text-overflow": ["truncate", "text-ellipsis", "text-clip"],
1525
+ /**
1526
+ * Text Wrap
1527
+ * @see https://tailwindcss.com/docs/text-wrap
1528
+ */
1529
+ "text-wrap": [{
1530
+ text: ["wrap", "nowrap", "balance", "pretty"]
1531
+ }],
1532
+ /**
1533
+ * Text Indent
1534
+ * @see https://tailwindcss.com/docs/text-indent
1535
+ */
1536
+ indent: [{
1537
+ indent: y()
1538
+ }],
1539
+ /**
1540
+ * Vertical Alignment
1541
+ * @see https://tailwindcss.com/docs/vertical-align
1542
+ */
1543
+ "vertical-align": [{
1544
+ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", c]
1545
+ }],
1546
+ /**
1547
+ * Whitespace
1548
+ * @see https://tailwindcss.com/docs/whitespace
1549
+ */
1550
+ whitespace: [{
1551
+ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
1552
+ }],
1553
+ /**
1554
+ * Word Break
1555
+ * @see https://tailwindcss.com/docs/word-break
1556
+ */
1557
+ break: [{
1558
+ break: ["normal", "words", "all", "keep"]
1559
+ }],
1560
+ /**
1561
+ * Hyphens
1562
+ * @see https://tailwindcss.com/docs/hyphens
1563
+ */
1564
+ hyphens: [{
1565
+ hyphens: ["none", "manual", "auto"]
1566
+ }],
1567
+ /**
1568
+ * Content
1569
+ * @see https://tailwindcss.com/docs/content
1570
+ */
1571
+ content: [{
1572
+ content: ["none", c]
1573
+ }],
1574
+ // Backgrounds
1575
+ /**
1576
+ * Background Attachment
1577
+ * @see https://tailwindcss.com/docs/background-attachment
1578
+ */
1579
+ "bg-attachment": [{
1580
+ bg: ["fixed", "local", "scroll"]
1581
+ }],
1582
+ /**
1583
+ * Background Clip
1584
+ * @see https://tailwindcss.com/docs/background-clip
1585
+ */
1586
+ "bg-clip": [{
1587
+ "bg-clip": ["border", "padding", "content", "text"]
1588
+ }],
1589
+ /**
1590
+ * Background Opacity
1591
+ * @deprecated since Tailwind CSS v3.0.0
1592
+ * @see https://tailwindcss.com/docs/background-opacity
1593
+ */
1594
+ "bg-opacity": [{
1595
+ "bg-opacity": [x]
1596
+ }],
1597
+ /**
1598
+ * Background Origin
1599
+ * @see https://tailwindcss.com/docs/background-origin
1600
+ */
1601
+ "bg-origin": [{
1602
+ "bg-origin": ["border", "padding", "content"]
1603
+ }],
1604
+ /**
1605
+ * Background Position
1606
+ * @see https://tailwindcss.com/docs/background-position
1607
+ */
1608
+ "bg-position": [{
1609
+ bg: [...oe(), Mt]
1610
+ }],
1611
+ /**
1612
+ * Background Repeat
1613
+ * @see https://tailwindcss.com/docs/background-repeat
1614
+ */
1615
+ "bg-repeat": [{
1616
+ bg: ["no-repeat", {
1617
+ repeat: ["", "x", "y", "round", "space"]
1618
+ }]
1619
+ }],
1620
+ /**
1621
+ * Background Size
1622
+ * @see https://tailwindcss.com/docs/background-size
1623
+ */
1624
+ "bg-size": [{
1625
+ bg: ["auto", "cover", "contain", St]
1626
+ }],
1627
+ /**
1628
+ * Background Image
1629
+ * @see https://tailwindcss.com/docs/background-image
1630
+ */
1631
+ "bg-image": [{
1632
+ bg: ["none", {
1633
+ "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
1634
+ }, Tt]
1635
+ }],
1636
+ /**
1637
+ * Background Color
1638
+ * @see https://tailwindcss.com/docs/background-color
1639
+ */
1640
+ "bg-color": [{
1641
+ bg: [e]
1642
+ }],
1643
+ /**
1644
+ * Gradient Color Stops From Position
1645
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1646
+ */
1647
+ "gradient-from-pos": [{
1648
+ from: [k]
1649
+ }],
1650
+ /**
1651
+ * Gradient Color Stops Via Position
1652
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1653
+ */
1654
+ "gradient-via-pos": [{
1655
+ via: [k]
1656
+ }],
1657
+ /**
1658
+ * Gradient Color Stops To Position
1659
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1660
+ */
1661
+ "gradient-to-pos": [{
1662
+ to: [k]
1663
+ }],
1664
+ /**
1665
+ * Gradient Color Stops From
1666
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1667
+ */
1668
+ "gradient-from": [{
1669
+ from: [g]
1670
+ }],
1671
+ /**
1672
+ * Gradient Color Stops Via
1673
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1674
+ */
1675
+ "gradient-via": [{
1676
+ via: [g]
1677
+ }],
1678
+ /**
1679
+ * Gradient Color Stops To
1680
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1681
+ */
1682
+ "gradient-to": [{
1683
+ to: [g]
1684
+ }],
1685
+ // Borders
1686
+ /**
1687
+ * Border Radius
1688
+ * @see https://tailwindcss.com/docs/border-radius
1689
+ */
1690
+ rounded: [{
1691
+ rounded: [n]
1692
+ }],
1693
+ /**
1694
+ * Border Radius Start
1695
+ * @see https://tailwindcss.com/docs/border-radius
1696
+ */
1697
+ "rounded-s": [{
1698
+ "rounded-s": [n]
1699
+ }],
1700
+ /**
1701
+ * Border Radius End
1702
+ * @see https://tailwindcss.com/docs/border-radius
1703
+ */
1704
+ "rounded-e": [{
1705
+ "rounded-e": [n]
1706
+ }],
1707
+ /**
1708
+ * Border Radius Top
1709
+ * @see https://tailwindcss.com/docs/border-radius
1710
+ */
1711
+ "rounded-t": [{
1712
+ "rounded-t": [n]
1713
+ }],
1714
+ /**
1715
+ * Border Radius Right
1716
+ * @see https://tailwindcss.com/docs/border-radius
1717
+ */
1718
+ "rounded-r": [{
1719
+ "rounded-r": [n]
1720
+ }],
1721
+ /**
1722
+ * Border Radius Bottom
1723
+ * @see https://tailwindcss.com/docs/border-radius
1724
+ */
1725
+ "rounded-b": [{
1726
+ "rounded-b": [n]
1727
+ }],
1728
+ /**
1729
+ * Border Radius Left
1730
+ * @see https://tailwindcss.com/docs/border-radius
1731
+ */
1732
+ "rounded-l": [{
1733
+ "rounded-l": [n]
1734
+ }],
1735
+ /**
1736
+ * Border Radius Start Start
1737
+ * @see https://tailwindcss.com/docs/border-radius
1738
+ */
1739
+ "rounded-ss": [{
1740
+ "rounded-ss": [n]
1741
+ }],
1742
+ /**
1743
+ * Border Radius Start End
1744
+ * @see https://tailwindcss.com/docs/border-radius
1745
+ */
1746
+ "rounded-se": [{
1747
+ "rounded-se": [n]
1748
+ }],
1749
+ /**
1750
+ * Border Radius End End
1751
+ * @see https://tailwindcss.com/docs/border-radius
1752
+ */
1753
+ "rounded-ee": [{
1754
+ "rounded-ee": [n]
1755
+ }],
1756
+ /**
1757
+ * Border Radius End Start
1758
+ * @see https://tailwindcss.com/docs/border-radius
1759
+ */
1760
+ "rounded-es": [{
1761
+ "rounded-es": [n]
1762
+ }],
1763
+ /**
1764
+ * Border Radius Top Left
1765
+ * @see https://tailwindcss.com/docs/border-radius
1766
+ */
1767
+ "rounded-tl": [{
1768
+ "rounded-tl": [n]
1769
+ }],
1770
+ /**
1771
+ * Border Radius Top Right
1772
+ * @see https://tailwindcss.com/docs/border-radius
1773
+ */
1774
+ "rounded-tr": [{
1775
+ "rounded-tr": [n]
1776
+ }],
1777
+ /**
1778
+ * Border Radius Bottom Right
1779
+ * @see https://tailwindcss.com/docs/border-radius
1780
+ */
1781
+ "rounded-br": [{
1782
+ "rounded-br": [n]
1783
+ }],
1784
+ /**
1785
+ * Border Radius Bottom Left
1786
+ * @see https://tailwindcss.com/docs/border-radius
1787
+ */
1788
+ "rounded-bl": [{
1789
+ "rounded-bl": [n]
1790
+ }],
1791
+ /**
1792
+ * Border Width
1793
+ * @see https://tailwindcss.com/docs/border-width
1794
+ */
1795
+ "border-w": [{
1796
+ border: [i]
1797
+ }],
1798
+ /**
1799
+ * Border Width X
1800
+ * @see https://tailwindcss.com/docs/border-width
1801
+ */
1802
+ "border-w-x": [{
1803
+ "border-x": [i]
1804
+ }],
1805
+ /**
1806
+ * Border Width Y
1807
+ * @see https://tailwindcss.com/docs/border-width
1808
+ */
1809
+ "border-w-y": [{
1810
+ "border-y": [i]
1811
+ }],
1812
+ /**
1813
+ * Border Width Start
1814
+ * @see https://tailwindcss.com/docs/border-width
1815
+ */
1816
+ "border-w-s": [{
1817
+ "border-s": [i]
1818
+ }],
1819
+ /**
1820
+ * Border Width End
1821
+ * @see https://tailwindcss.com/docs/border-width
1822
+ */
1823
+ "border-w-e": [{
1824
+ "border-e": [i]
1825
+ }],
1826
+ /**
1827
+ * Border Width Top
1828
+ * @see https://tailwindcss.com/docs/border-width
1829
+ */
1830
+ "border-w-t": [{
1831
+ "border-t": [i]
1832
+ }],
1833
+ /**
1834
+ * Border Width Right
1835
+ * @see https://tailwindcss.com/docs/border-width
1836
+ */
1837
+ "border-w-r": [{
1838
+ "border-r": [i]
1839
+ }],
1840
+ /**
1841
+ * Border Width Bottom
1842
+ * @see https://tailwindcss.com/docs/border-width
1843
+ */
1844
+ "border-w-b": [{
1845
+ "border-b": [i]
1846
+ }],
1847
+ /**
1848
+ * Border Width Left
1849
+ * @see https://tailwindcss.com/docs/border-width
1850
+ */
1851
+ "border-w-l": [{
1852
+ "border-l": [i]
1853
+ }],
1854
+ /**
1855
+ * Border Opacity
1856
+ * @see https://tailwindcss.com/docs/border-opacity
1857
+ */
1858
+ "border-opacity": [{
1859
+ "border-opacity": [x]
1860
+ }],
1861
+ /**
1862
+ * Border Style
1863
+ * @see https://tailwindcss.com/docs/border-style
1864
+ */
1865
+ "border-style": [{
1866
+ border: [..._(), "hidden"]
1867
+ }],
1868
+ /**
1869
+ * Divide Width X
1870
+ * @see https://tailwindcss.com/docs/divide-width
1871
+ */
1872
+ "divide-x": [{
1873
+ "divide-x": [i]
1874
+ }],
1875
+ /**
1876
+ * Divide Width X Reverse
1877
+ * @see https://tailwindcss.com/docs/divide-width
1878
+ */
1879
+ "divide-x-reverse": ["divide-x-reverse"],
1880
+ /**
1881
+ * Divide Width Y
1882
+ * @see https://tailwindcss.com/docs/divide-width
1883
+ */
1884
+ "divide-y": [{
1885
+ "divide-y": [i]
1886
+ }],
1887
+ /**
1888
+ * Divide Width Y Reverse
1889
+ * @see https://tailwindcss.com/docs/divide-width
1890
+ */
1891
+ "divide-y-reverse": ["divide-y-reverse"],
1892
+ /**
1893
+ * Divide Opacity
1894
+ * @see https://tailwindcss.com/docs/divide-opacity
1895
+ */
1896
+ "divide-opacity": [{
1897
+ "divide-opacity": [x]
1898
+ }],
1899
+ /**
1900
+ * Divide Style
1901
+ * @see https://tailwindcss.com/docs/divide-style
1902
+ */
1903
+ "divide-style": [{
1904
+ divide: _()
1905
+ }],
1906
+ /**
1907
+ * Border Color
1908
+ * @see https://tailwindcss.com/docs/border-color
1909
+ */
1910
+ "border-color": [{
1911
+ border: [s]
1912
+ }],
1913
+ /**
1914
+ * Border Color X
1915
+ * @see https://tailwindcss.com/docs/border-color
1916
+ */
1917
+ "border-color-x": [{
1918
+ "border-x": [s]
1919
+ }],
1920
+ /**
1921
+ * Border Color Y
1922
+ * @see https://tailwindcss.com/docs/border-color
1923
+ */
1924
+ "border-color-y": [{
1925
+ "border-y": [s]
1926
+ }],
1927
+ /**
1928
+ * Border Color S
1929
+ * @see https://tailwindcss.com/docs/border-color
1930
+ */
1931
+ "border-color-s": [{
1932
+ "border-s": [s]
1933
+ }],
1934
+ /**
1935
+ * Border Color E
1936
+ * @see https://tailwindcss.com/docs/border-color
1937
+ */
1938
+ "border-color-e": [{
1939
+ "border-e": [s]
1940
+ }],
1941
+ /**
1942
+ * Border Color Top
1943
+ * @see https://tailwindcss.com/docs/border-color
1944
+ */
1945
+ "border-color-t": [{
1946
+ "border-t": [s]
1947
+ }],
1948
+ /**
1949
+ * Border Color Right
1950
+ * @see https://tailwindcss.com/docs/border-color
1951
+ */
1952
+ "border-color-r": [{
1953
+ "border-r": [s]
1954
+ }],
1955
+ /**
1956
+ * Border Color Bottom
1957
+ * @see https://tailwindcss.com/docs/border-color
1958
+ */
1959
+ "border-color-b": [{
1960
+ "border-b": [s]
1961
+ }],
1962
+ /**
1963
+ * Border Color Left
1964
+ * @see https://tailwindcss.com/docs/border-color
1965
+ */
1966
+ "border-color-l": [{
1967
+ "border-l": [s]
1968
+ }],
1969
+ /**
1970
+ * Divide Color
1971
+ * @see https://tailwindcss.com/docs/divide-color
1972
+ */
1973
+ "divide-color": [{
1974
+ divide: [s]
1975
+ }],
1976
+ /**
1977
+ * Outline Style
1978
+ * @see https://tailwindcss.com/docs/outline-style
1979
+ */
1980
+ "outline-style": [{
1981
+ outline: ["", ..._()]
1982
+ }],
1983
+ /**
1984
+ * Outline Offset
1985
+ * @see https://tailwindcss.com/docs/outline-offset
1986
+ */
1987
+ "outline-offset": [{
1988
+ "outline-offset": [N, c]
1989
+ }],
1990
+ /**
1991
+ * Outline Width
1992
+ * @see https://tailwindcss.com/docs/outline-width
1993
+ */
1994
+ "outline-w": [{
1995
+ outline: [N, z]
1996
+ }],
1997
+ /**
1998
+ * Outline Color
1999
+ * @see https://tailwindcss.com/docs/outline-color
2000
+ */
2001
+ "outline-color": [{
2002
+ outline: [e]
2003
+ }],
2004
+ /**
2005
+ * Ring Width
2006
+ * @see https://tailwindcss.com/docs/ring-width
2007
+ */
2008
+ "ring-w": [{
2009
+ ring: re()
2010
+ }],
2011
+ /**
2012
+ * Ring Width Inset
2013
+ * @see https://tailwindcss.com/docs/ring-width
2014
+ */
2015
+ "ring-w-inset": ["ring-inset"],
2016
+ /**
2017
+ * Ring Color
2018
+ * @see https://tailwindcss.com/docs/ring-color
2019
+ */
2020
+ "ring-color": [{
2021
+ ring: [e]
2022
+ }],
2023
+ /**
2024
+ * Ring Opacity
2025
+ * @see https://tailwindcss.com/docs/ring-opacity
2026
+ */
2027
+ "ring-opacity": [{
2028
+ "ring-opacity": [x]
2029
+ }],
2030
+ /**
2031
+ * Ring Offset Width
2032
+ * @see https://tailwindcss.com/docs/ring-offset-width
2033
+ */
2034
+ "ring-offset-w": [{
2035
+ "ring-offset": [N, z]
2036
+ }],
2037
+ /**
2038
+ * Ring Offset Color
2039
+ * @see https://tailwindcss.com/docs/ring-offset-color
2040
+ */
2041
+ "ring-offset-color": [{
2042
+ "ring-offset": [e]
2043
+ }],
2044
+ // Effects
2045
+ /**
2046
+ * Box Shadow
2047
+ * @see https://tailwindcss.com/docs/box-shadow
2048
+ */
2049
+ shadow: [{
2050
+ shadow: ["", "inner", "none", A, Ot]
2051
+ }],
2052
+ /**
2053
+ * Box Shadow Color
2054
+ * @see https://tailwindcss.com/docs/box-shadow-color
2055
+ */
2056
+ "shadow-color": [{
2057
+ shadow: [V]
2058
+ }],
2059
+ /**
2060
+ * Opacity
2061
+ * @see https://tailwindcss.com/docs/opacity
2062
+ */
2063
+ opacity: [{
2064
+ opacity: [x]
2065
+ }],
2066
+ /**
2067
+ * Mix Blend Mode
2068
+ * @see https://tailwindcss.com/docs/mix-blend-mode
2069
+ */
2070
+ "mix-blend": [{
2071
+ "mix-blend": [...ne(), "plus-lighter", "plus-darker"]
2072
+ }],
2073
+ /**
2074
+ * Background Blend Mode
2075
+ * @see https://tailwindcss.com/docs/background-blend-mode
2076
+ */
2077
+ "bg-blend": [{
2078
+ "bg-blend": ne()
2079
+ }],
2080
+ // Filters
2081
+ /**
2082
+ * Filter
2083
+ * @deprecated since Tailwind CSS v3.0.0
2084
+ * @see https://tailwindcss.com/docs/filter
2085
+ */
2086
+ filter: [{
2087
+ filter: ["", "none"]
2088
+ }],
2089
+ /**
2090
+ * Blur
2091
+ * @see https://tailwindcss.com/docs/blur
2092
+ */
2093
+ blur: [{
2094
+ blur: [r]
2095
+ }],
2096
+ /**
2097
+ * Brightness
2098
+ * @see https://tailwindcss.com/docs/brightness
2099
+ */
2100
+ brightness: [{
2101
+ brightness: [o]
2102
+ }],
2103
+ /**
2104
+ * Contrast
2105
+ * @see https://tailwindcss.com/docs/contrast
2106
+ */
2107
+ contrast: [{
2108
+ contrast: [f]
2109
+ }],
2110
+ /**
2111
+ * Drop Shadow
2112
+ * @see https://tailwindcss.com/docs/drop-shadow
2113
+ */
2114
+ "drop-shadow": [{
2115
+ "drop-shadow": ["", "none", A, c]
2116
+ }],
2117
+ /**
2118
+ * Grayscale
2119
+ * @see https://tailwindcss.com/docs/grayscale
2120
+ */
2121
+ grayscale: [{
2122
+ grayscale: [l]
2123
+ }],
2124
+ /**
2125
+ * Hue Rotate
2126
+ * @see https://tailwindcss.com/docs/hue-rotate
2127
+ */
2128
+ "hue-rotate": [{
2129
+ "hue-rotate": [p]
2130
+ }],
2131
+ /**
2132
+ * Invert
2133
+ * @see https://tailwindcss.com/docs/invert
2134
+ */
2135
+ invert: [{
2136
+ invert: [h]
2137
+ }],
2138
+ /**
2139
+ * Saturate
2140
+ * @see https://tailwindcss.com/docs/saturate
2141
+ */
2142
+ saturate: [{
2143
+ saturate: [I]
2144
+ }],
2145
+ /**
2146
+ * Sepia
2147
+ * @see https://tailwindcss.com/docs/sepia
2148
+ */
2149
+ sepia: [{
2150
+ sepia: [P]
2151
+ }],
2152
+ /**
2153
+ * Backdrop Filter
2154
+ * @deprecated since Tailwind CSS v3.0.0
2155
+ * @see https://tailwindcss.com/docs/backdrop-filter
2156
+ */
2157
+ "backdrop-filter": [{
2158
+ "backdrop-filter": ["", "none"]
2159
+ }],
2160
+ /**
2161
+ * Backdrop Blur
2162
+ * @see https://tailwindcss.com/docs/backdrop-blur
2163
+ */
2164
+ "backdrop-blur": [{
2165
+ "backdrop-blur": [r]
2166
+ }],
2167
+ /**
2168
+ * Backdrop Brightness
2169
+ * @see https://tailwindcss.com/docs/backdrop-brightness
2170
+ */
2171
+ "backdrop-brightness": [{
2172
+ "backdrop-brightness": [o]
2173
+ }],
2174
+ /**
2175
+ * Backdrop Contrast
2176
+ * @see https://tailwindcss.com/docs/backdrop-contrast
2177
+ */
2178
+ "backdrop-contrast": [{
2179
+ "backdrop-contrast": [f]
2180
+ }],
2181
+ /**
2182
+ * Backdrop Grayscale
2183
+ * @see https://tailwindcss.com/docs/backdrop-grayscale
2184
+ */
2185
+ "backdrop-grayscale": [{
2186
+ "backdrop-grayscale": [l]
2187
+ }],
2188
+ /**
2189
+ * Backdrop Hue Rotate
2190
+ * @see https://tailwindcss.com/docs/backdrop-hue-rotate
2191
+ */
2192
+ "backdrop-hue-rotate": [{
2193
+ "backdrop-hue-rotate": [p]
2194
+ }],
2195
+ /**
2196
+ * Backdrop Invert
2197
+ * @see https://tailwindcss.com/docs/backdrop-invert
2198
+ */
2199
+ "backdrop-invert": [{
2200
+ "backdrop-invert": [h]
2201
+ }],
2202
+ /**
2203
+ * Backdrop Opacity
2204
+ * @see https://tailwindcss.com/docs/backdrop-opacity
2205
+ */
2206
+ "backdrop-opacity": [{
2207
+ "backdrop-opacity": [x]
2208
+ }],
2209
+ /**
2210
+ * Backdrop Saturate
2211
+ * @see https://tailwindcss.com/docs/backdrop-saturate
2212
+ */
2213
+ "backdrop-saturate": [{
2214
+ "backdrop-saturate": [I]
2215
+ }],
2216
+ /**
2217
+ * Backdrop Sepia
2218
+ * @see https://tailwindcss.com/docs/backdrop-sepia
2219
+ */
2220
+ "backdrop-sepia": [{
2221
+ "backdrop-sepia": [P]
2222
+ }],
2223
+ // Tables
2224
+ /**
2225
+ * Border Collapse
2226
+ * @see https://tailwindcss.com/docs/border-collapse
2227
+ */
2228
+ "border-collapse": [{
2229
+ border: ["collapse", "separate"]
2230
+ }],
2231
+ /**
2232
+ * Border Spacing
2233
+ * @see https://tailwindcss.com/docs/border-spacing
2234
+ */
2235
+ "border-spacing": [{
2236
+ "border-spacing": [a]
2237
+ }],
2238
+ /**
2239
+ * Border Spacing X
2240
+ * @see https://tailwindcss.com/docs/border-spacing
2241
+ */
2242
+ "border-spacing-x": [{
2243
+ "border-spacing-x": [a]
2244
+ }],
2245
+ /**
2246
+ * Border Spacing Y
2247
+ * @see https://tailwindcss.com/docs/border-spacing
2248
+ */
2249
+ "border-spacing-y": [{
2250
+ "border-spacing-y": [a]
2251
+ }],
2252
+ /**
2253
+ * Table Layout
2254
+ * @see https://tailwindcss.com/docs/table-layout
2255
+ */
2256
+ "table-layout": [{
2257
+ table: ["auto", "fixed"]
2258
+ }],
2259
+ /**
2260
+ * Caption Side
2261
+ * @see https://tailwindcss.com/docs/caption-side
2262
+ */
2263
+ caption: [{
2264
+ caption: ["top", "bottom"]
2265
+ }],
2266
+ // Transitions and Animation
2267
+ /**
2268
+ * Tranisition Property
2269
+ * @see https://tailwindcss.com/docs/transition-property
2270
+ */
2271
+ transition: [{
2272
+ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", c]
2273
+ }],
2274
+ /**
2275
+ * Transition Duration
2276
+ * @see https://tailwindcss.com/docs/transition-duration
2277
+ */
2278
+ duration: [{
2279
+ duration: E()
2280
+ }],
2281
+ /**
2282
+ * Transition Timing Function
2283
+ * @see https://tailwindcss.com/docs/transition-timing-function
2284
+ */
2285
+ ease: [{
2286
+ ease: ["linear", "in", "out", "in-out", c]
2287
+ }],
2288
+ /**
2289
+ * Transition Delay
2290
+ * @see https://tailwindcss.com/docs/transition-delay
2291
+ */
2292
+ delay: [{
2293
+ delay: E()
2294
+ }],
2295
+ /**
2296
+ * Animation
2297
+ * @see https://tailwindcss.com/docs/animation
2298
+ */
2299
+ animate: [{
2300
+ animate: ["none", "spin", "ping", "pulse", "bounce", c]
2301
+ }],
2302
+ // Transforms
2303
+ /**
2304
+ * Transform
2305
+ * @see https://tailwindcss.com/docs/transform
2306
+ */
2307
+ transform: [{
2308
+ transform: ["", "gpu", "none"]
2309
+ }],
2310
+ /**
2311
+ * Scale
2312
+ * @see https://tailwindcss.com/docs/scale
2313
+ */
2314
+ scale: [{
2315
+ scale: [u]
2316
+ }],
2317
+ /**
2318
+ * Scale X
2319
+ * @see https://tailwindcss.com/docs/scale
2320
+ */
2321
+ "scale-x": [{
2322
+ "scale-x": [u]
2323
+ }],
2324
+ /**
2325
+ * Scale Y
2326
+ * @see https://tailwindcss.com/docs/scale
2327
+ */
2328
+ "scale-y": [{
2329
+ "scale-y": [u]
2330
+ }],
2331
+ /**
2332
+ * Rotate
2333
+ * @see https://tailwindcss.com/docs/rotate
2334
+ */
2335
+ rotate: [{
2336
+ rotate: [j, c]
2337
+ }],
2338
+ /**
2339
+ * Translate X
2340
+ * @see https://tailwindcss.com/docs/translate
2341
+ */
2342
+ "translate-x": [{
2343
+ "translate-x": [te]
2344
+ }],
2345
+ /**
2346
+ * Translate Y
2347
+ * @see https://tailwindcss.com/docs/translate
2348
+ */
2349
+ "translate-y": [{
2350
+ "translate-y": [te]
2351
+ }],
2352
+ /**
2353
+ * Skew X
2354
+ * @see https://tailwindcss.com/docs/skew
2355
+ */
2356
+ "skew-x": [{
2357
+ "skew-x": [T]
2358
+ }],
2359
+ /**
2360
+ * Skew Y
2361
+ * @see https://tailwindcss.com/docs/skew
2362
+ */
2363
+ "skew-y": [{
2364
+ "skew-y": [T]
2365
+ }],
2366
+ /**
2367
+ * Transform Origin
2368
+ * @see https://tailwindcss.com/docs/transform-origin
2369
+ */
2370
+ "transform-origin": [{
2371
+ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", c]
2372
+ }],
2373
+ // Interactivity
2374
+ /**
2375
+ * Accent Color
2376
+ * @see https://tailwindcss.com/docs/accent-color
2377
+ */
2378
+ accent: [{
2379
+ accent: ["auto", e]
2380
+ }],
2381
+ /**
2382
+ * Appearance
2383
+ * @see https://tailwindcss.com/docs/appearance
2384
+ */
2385
+ appearance: [{
2386
+ appearance: ["none", "auto"]
2387
+ }],
2388
+ /**
2389
+ * Cursor
2390
+ * @see https://tailwindcss.com/docs/cursor
2391
+ */
2392
+ cursor: [{
2393
+ 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", c]
2394
+ }],
2395
+ /**
2396
+ * Caret Color
2397
+ * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
2398
+ */
2399
+ "caret-color": [{
2400
+ caret: [e]
2401
+ }],
2402
+ /**
2403
+ * Pointer Events
2404
+ * @see https://tailwindcss.com/docs/pointer-events
2405
+ */
2406
+ "pointer-events": [{
2407
+ "pointer-events": ["none", "auto"]
2408
+ }],
2409
+ /**
2410
+ * Resize
2411
+ * @see https://tailwindcss.com/docs/resize
2412
+ */
2413
+ resize: [{
2414
+ resize: ["none", "y", "x", ""]
2415
+ }],
2416
+ /**
2417
+ * Scroll Behavior
2418
+ * @see https://tailwindcss.com/docs/scroll-behavior
2419
+ */
2420
+ "scroll-behavior": [{
2421
+ scroll: ["auto", "smooth"]
2422
+ }],
2423
+ /**
2424
+ * Scroll Margin
2425
+ * @see https://tailwindcss.com/docs/scroll-margin
2426
+ */
2427
+ "scroll-m": [{
2428
+ "scroll-m": y()
2429
+ }],
2430
+ /**
2431
+ * Scroll Margin X
2432
+ * @see https://tailwindcss.com/docs/scroll-margin
2433
+ */
2434
+ "scroll-mx": [{
2435
+ "scroll-mx": y()
2436
+ }],
2437
+ /**
2438
+ * Scroll Margin Y
2439
+ * @see https://tailwindcss.com/docs/scroll-margin
2440
+ */
2441
+ "scroll-my": [{
2442
+ "scroll-my": y()
2443
+ }],
2444
+ /**
2445
+ * Scroll Margin Start
2446
+ * @see https://tailwindcss.com/docs/scroll-margin
2447
+ */
2448
+ "scroll-ms": [{
2449
+ "scroll-ms": y()
2450
+ }],
2451
+ /**
2452
+ * Scroll Margin End
2453
+ * @see https://tailwindcss.com/docs/scroll-margin
2454
+ */
2455
+ "scroll-me": [{
2456
+ "scroll-me": y()
2457
+ }],
2458
+ /**
2459
+ * Scroll Margin Top
2460
+ * @see https://tailwindcss.com/docs/scroll-margin
2461
+ */
2462
+ "scroll-mt": [{
2463
+ "scroll-mt": y()
2464
+ }],
2465
+ /**
2466
+ * Scroll Margin Right
2467
+ * @see https://tailwindcss.com/docs/scroll-margin
2468
+ */
2469
+ "scroll-mr": [{
2470
+ "scroll-mr": y()
2471
+ }],
2472
+ /**
2473
+ * Scroll Margin Bottom
2474
+ * @see https://tailwindcss.com/docs/scroll-margin
2475
+ */
2476
+ "scroll-mb": [{
2477
+ "scroll-mb": y()
2478
+ }],
2479
+ /**
2480
+ * Scroll Margin Left
2481
+ * @see https://tailwindcss.com/docs/scroll-margin
2482
+ */
2483
+ "scroll-ml": [{
2484
+ "scroll-ml": y()
2485
+ }],
2486
+ /**
2487
+ * Scroll Padding
2488
+ * @see https://tailwindcss.com/docs/scroll-padding
2489
+ */
2490
+ "scroll-p": [{
2491
+ "scroll-p": y()
2492
+ }],
2493
+ /**
2494
+ * Scroll Padding X
2495
+ * @see https://tailwindcss.com/docs/scroll-padding
2496
+ */
2497
+ "scroll-px": [{
2498
+ "scroll-px": y()
2499
+ }],
2500
+ /**
2501
+ * Scroll Padding Y
2502
+ * @see https://tailwindcss.com/docs/scroll-padding
2503
+ */
2504
+ "scroll-py": [{
2505
+ "scroll-py": y()
2506
+ }],
2507
+ /**
2508
+ * Scroll Padding Start
2509
+ * @see https://tailwindcss.com/docs/scroll-padding
2510
+ */
2511
+ "scroll-ps": [{
2512
+ "scroll-ps": y()
2513
+ }],
2514
+ /**
2515
+ * Scroll Padding End
2516
+ * @see https://tailwindcss.com/docs/scroll-padding
2517
+ */
2518
+ "scroll-pe": [{
2519
+ "scroll-pe": y()
2520
+ }],
2521
+ /**
2522
+ * Scroll Padding Top
2523
+ * @see https://tailwindcss.com/docs/scroll-padding
2524
+ */
2525
+ "scroll-pt": [{
2526
+ "scroll-pt": y()
2527
+ }],
2528
+ /**
2529
+ * Scroll Padding Right
2530
+ * @see https://tailwindcss.com/docs/scroll-padding
2531
+ */
2532
+ "scroll-pr": [{
2533
+ "scroll-pr": y()
2534
+ }],
2535
+ /**
2536
+ * Scroll Padding Bottom
2537
+ * @see https://tailwindcss.com/docs/scroll-padding
2538
+ */
2539
+ "scroll-pb": [{
2540
+ "scroll-pb": y()
2541
+ }],
2542
+ /**
2543
+ * Scroll Padding Left
2544
+ * @see https://tailwindcss.com/docs/scroll-padding
2545
+ */
2546
+ "scroll-pl": [{
2547
+ "scroll-pl": y()
2548
+ }],
2549
+ /**
2550
+ * Scroll Snap Align
2551
+ * @see https://tailwindcss.com/docs/scroll-snap-align
2552
+ */
2553
+ "snap-align": [{
2554
+ snap: ["start", "end", "center", "align-none"]
2555
+ }],
2556
+ /**
2557
+ * Scroll Snap Stop
2558
+ * @see https://tailwindcss.com/docs/scroll-snap-stop
2559
+ */
2560
+ "snap-stop": [{
2561
+ snap: ["normal", "always"]
2562
+ }],
2563
+ /**
2564
+ * Scroll Snap Type
2565
+ * @see https://tailwindcss.com/docs/scroll-snap-type
2566
+ */
2567
+ "snap-type": [{
2568
+ snap: ["none", "x", "y", "both"]
2569
+ }],
2570
+ /**
2571
+ * Scroll Snap Type Strictness
2572
+ * @see https://tailwindcss.com/docs/scroll-snap-type
2573
+ */
2574
+ "snap-strictness": [{
2575
+ snap: ["mandatory", "proximity"]
2576
+ }],
2577
+ /**
2578
+ * Touch Action
2579
+ * @see https://tailwindcss.com/docs/touch-action
2580
+ */
2581
+ touch: [{
2582
+ touch: ["auto", "none", "manipulation"]
2583
+ }],
2584
+ /**
2585
+ * Touch Action X
2586
+ * @see https://tailwindcss.com/docs/touch-action
2587
+ */
2588
+ "touch-x": [{
2589
+ "touch-pan": ["x", "left", "right"]
2590
+ }],
2591
+ /**
2592
+ * Touch Action Y
2593
+ * @see https://tailwindcss.com/docs/touch-action
2594
+ */
2595
+ "touch-y": [{
2596
+ "touch-pan": ["y", "up", "down"]
2597
+ }],
2598
+ /**
2599
+ * Touch Action Pinch Zoom
2600
+ * @see https://tailwindcss.com/docs/touch-action
2601
+ */
2602
+ "touch-pz": ["touch-pinch-zoom"],
2603
+ /**
2604
+ * User Select
2605
+ * @see https://tailwindcss.com/docs/user-select
2606
+ */
2607
+ select: [{
2608
+ select: ["none", "text", "all", "auto"]
2609
+ }],
2610
+ /**
2611
+ * Will Change
2612
+ * @see https://tailwindcss.com/docs/will-change
2613
+ */
2614
+ "will-change": [{
2615
+ "will-change": ["auto", "scroll", "contents", "transform", c]
2616
+ }],
2617
+ // SVG
2618
+ /**
2619
+ * Fill
2620
+ * @see https://tailwindcss.com/docs/fill
2621
+ */
2622
+ fill: [{
2623
+ fill: [e, "none"]
2624
+ }],
2625
+ /**
2626
+ * Stroke Width
2627
+ * @see https://tailwindcss.com/docs/stroke-width
2628
+ */
2629
+ "stroke-w": [{
2630
+ stroke: [N, z, H]
2631
+ }],
2632
+ /**
2633
+ * Stroke
2634
+ * @see https://tailwindcss.com/docs/stroke
2635
+ */
2636
+ stroke: [{
2637
+ stroke: [e, "none"]
2638
+ }],
2639
+ // Accessibility
2640
+ /**
2641
+ * Screen Readers
2642
+ * @see https://tailwindcss.com/docs/screen-readers
2643
+ */
2644
+ sr: ["sr-only", "not-sr-only"],
2645
+ /**
2646
+ * Forced Color Adjust
2647
+ * @see https://tailwindcss.com/docs/forced-color-adjust
2648
+ */
2649
+ "forced-color-adjust": [{
2650
+ "forced-color-adjust": ["auto", "none"]
2651
+ }]
2652
+ },
2653
+ conflictingClassGroups: {
2654
+ overflow: ["overflow-x", "overflow-y"],
2655
+ overscroll: ["overscroll-x", "overscroll-y"],
2656
+ inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
2657
+ "inset-x": ["right", "left"],
2658
+ "inset-y": ["top", "bottom"],
2659
+ flex: ["basis", "grow", "shrink"],
2660
+ gap: ["gap-x", "gap-y"],
2661
+ p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
2662
+ px: ["pr", "pl"],
2663
+ py: ["pt", "pb"],
2664
+ m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
2665
+ mx: ["mr", "ml"],
2666
+ my: ["mt", "mb"],
2667
+ size: ["w", "h"],
2668
+ "font-size": ["leading"],
2669
+ "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
2670
+ "fvn-ordinal": ["fvn-normal"],
2671
+ "fvn-slashed-zero": ["fvn-normal"],
2672
+ "fvn-figure": ["fvn-normal"],
2673
+ "fvn-spacing": ["fvn-normal"],
2674
+ "fvn-fraction": ["fvn-normal"],
2675
+ "line-clamp": ["display", "overflow"],
2676
+ 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"],
2677
+ "rounded-s": ["rounded-ss", "rounded-es"],
2678
+ "rounded-e": ["rounded-se", "rounded-ee"],
2679
+ "rounded-t": ["rounded-tl", "rounded-tr"],
2680
+ "rounded-r": ["rounded-tr", "rounded-br"],
2681
+ "rounded-b": ["rounded-br", "rounded-bl"],
2682
+ "rounded-l": ["rounded-tl", "rounded-bl"],
2683
+ "border-spacing": ["border-spacing-x", "border-spacing-y"],
2684
+ "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
2685
+ "border-w-x": ["border-w-r", "border-w-l"],
2686
+ "border-w-y": ["border-w-t", "border-w-b"],
2687
+ "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
2688
+ "border-color-x": ["border-color-r", "border-color-l"],
2689
+ "border-color-y": ["border-color-t", "border-color-b"],
2690
+ "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
2691
+ "scroll-mx": ["scroll-mr", "scroll-ml"],
2692
+ "scroll-my": ["scroll-mt", "scroll-mb"],
2693
+ "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
2694
+ "scroll-px": ["scroll-pr", "scroll-pl"],
2695
+ "scroll-py": ["scroll-pt", "scroll-pb"],
2696
+ touch: ["touch-x", "touch-y", "touch-pz"],
2697
+ "touch-x": ["touch"],
2698
+ "touch-y": ["touch"],
2699
+ "touch-pz": ["touch"]
2700
+ },
2701
+ conflictingClassGroupModifiers: {
2702
+ "font-size": ["leading"]
2703
+ }
2704
+ };
2705
+ }, Lt = /* @__PURE__ */ xt(Gt);
2706
+ function _t(...e) {
2707
+ return Lt(Ce(e));
2708
+ }
2709
+ const Ut = at(
2710
+ "focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] [&_svg:not([class*='size-'])]:size-4 inline-flex items-center justify-center whitespace-nowrap transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none group/button select-none",
12
2711
  {
13
2712
  variants: {
14
2713
  variant: {
15
- default: "bg-primary text-primary-foreground hover:bg-primary/90",
16
- destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
17
- outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
18
- secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
19
- ghost: "hover:bg-accent hover:text-accent-foreground",
2714
+ default: "bg-primary text-primary-foreground hover:bg-primary/80",
2715
+ outline: "border-border bg-background hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 aria-expanded:bg-muted aria-expanded:text-foreground shadow-xs",
2716
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
2717
+ ghost: "hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground",
2718
+ destructive: "bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30",
20
2719
  link: "text-primary underline-offset-4 hover:underline"
21
2720
  },
22
2721
  size: {
23
- default: "h-10 px-4 py-2",
24
- sm: "h-9 rounded-md px-3",
25
- lg: "h-11 rounded-md px-8",
26
- icon: "h-10 w-10"
2722
+ default: "h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
2723
+ xs: "h-6 gap-1 rounded-[min(var(--radius-md),8px)] px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",
2724
+ sm: "h-8 gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5",
2725
+ lg: "h-10 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3",
2726
+ icon: "size-9",
2727
+ "icon-xs": "size-6 rounded-[min(var(--radius-md),8px)] in-data-[slot=button-group]:rounded-md [&_svg:not([class*='size-'])]:size-3",
2728
+ "icon-sm": "size-8 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-md",
2729
+ "icon-lg": "size-10"
27
2730
  }
28
2731
  },
29
2732
  defaultVariants: {
@@ -31,18 +2734,23 @@ const m = c(
31
2734
  size: "default"
32
2735
  }
33
2736
  }
34
- ), l = a.forwardRef(
35
- ({ className: e, variant: r, size: t, asChild: o = !1, ...n }, i) => /* @__PURE__ */ s(
36
- o ? d : "button",
2737
+ );
2738
+ function $t({
2739
+ className: e,
2740
+ variant: t = "default",
2741
+ size: r = "default",
2742
+ ...o
2743
+ }) {
2744
+ return /* @__PURE__ */ Pe(
2745
+ we,
37
2746
  {
38
- className: g(m({ variant: r, size: t, className: e })),
39
- ref: i,
40
- ...n
2747
+ "data-slot": "button",
2748
+ className: _t(Ut({ variant: t, size: r, className: e })),
2749
+ ...o
41
2750
  }
42
- )
43
- );
44
- l.displayName = "Button";
2751
+ );
2752
+ }
45
2753
  export {
46
- l as Button,
47
- m as buttonVariants
2754
+ $t as Button,
2755
+ Ut as buttonVariants
48
2756
  };