nocturna-ui 0.0.1 → 0.0.3

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