@rock10/ui 1.0.0

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