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