@geovi/the-datagrid 0.0.9 → 0.0.10

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