@mci-ui/mci-ui 0.0.7 → 0.0.9

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