ui-arreya-components 0.0.1

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