@gram-ai/elements 1.13.4 → 1.13.6

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