@devalok/shilp-sutra 0.9.0 → 0.9.2

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,3995 @@
1
+ function pn(e) {
2
+ var n, t, r = "";
3
+ if (typeof e == "string" || typeof e == "number") r += e;
4
+ else if (typeof e == "object") if (Array.isArray(e)) {
5
+ var o = e.length;
6
+ for (n = 0; n < o; n++) e[n] && (t = pn(e[n])) && (r && (r += " "), r += t);
7
+ } else for (t in e) e[t] && (r && (r += " "), r += t);
8
+ return r;
9
+ }
10
+ function Fn() {
11
+ for (var e, n, t = 0, r = "", o = arguments.length; t < o; t++) (e = arguments[t]) && (n = pn(e)) && (r && (r += " "), r += n);
12
+ return r;
13
+ }
14
+ const Bn = (e, n) => {
15
+ const t = new Array(e.length + n.length);
16
+ for (let r = 0; r < e.length; r++)
17
+ t[r] = e[r];
18
+ for (let r = 0; r < n.length; r++)
19
+ t[e.length + r] = n[r];
20
+ return t;
21
+ }, Wn = (e, n) => ({
22
+ classGroupId: e,
23
+ validator: n
24
+ }), gn = (e = /* @__PURE__ */ new Map(), n = null, t) => ({
25
+ nextPart: e,
26
+ validators: n,
27
+ classGroupId: t
28
+ }), Ue = "-", qt = [], _n = "arbitrary..", Kn = (e) => {
29
+ const n = $n(e), {
30
+ conflictingClassGroups: t,
31
+ conflictingClassGroupModifiers: r
32
+ } = e;
33
+ return {
34
+ getClassGroupId: (i) => {
35
+ if (i.startsWith("[") && i.endsWith("]"))
36
+ return Vn(i);
37
+ const a = i.split(Ue), c = a[0] === "" && a.length > 1 ? 1 : 0;
38
+ return bn(a, c, n);
39
+ },
40
+ getConflictingClassGroupIds: (i, a) => {
41
+ if (a) {
42
+ const c = r[i], f = t[i];
43
+ return c ? f ? Bn(f, c) : c : f || qt;
44
+ }
45
+ return t[i] || qt;
46
+ }
47
+ };
48
+ }, bn = (e, n, t) => {
49
+ if (e.length - n === 0)
50
+ return t.classGroupId;
51
+ const o = e[n], s = t.nextPart.get(o);
52
+ if (s) {
53
+ const f = bn(e, n + 1, s);
54
+ if (f) return f;
55
+ }
56
+ const i = t.validators;
57
+ if (i === null)
58
+ return;
59
+ const a = n === 0 ? e.join(Ue) : e.slice(n).join(Ue), c = i.length;
60
+ for (let f = 0; f < c; f++) {
61
+ const p = i[f];
62
+ if (p.validator(a))
63
+ return p.classGroupId;
64
+ }
65
+ }, Vn = (e) => e.slice(1, -1).indexOf(":") === -1 ? void 0 : (() => {
66
+ const n = e.slice(1, -1), t = n.indexOf(":"), r = n.slice(0, t);
67
+ return r ? _n + r : void 0;
68
+ })(), $n = (e) => {
69
+ const {
70
+ theme: n,
71
+ classGroups: t
72
+ } = e;
73
+ return Qn(t, n);
74
+ }, Qn = (e, n) => {
75
+ const t = gn();
76
+ for (const r in e) {
77
+ const o = e[r];
78
+ Dt(o, t, r, n);
79
+ }
80
+ return t;
81
+ }, Dt = (e, n, t, r) => {
82
+ const o = e.length;
83
+ for (let s = 0; s < o; s++) {
84
+ const i = e[s];
85
+ Yn(i, n, t, r);
86
+ }
87
+ }, Yn = (e, n, t, r) => {
88
+ if (typeof e == "string") {
89
+ Jn(e, n, t);
90
+ return;
91
+ }
92
+ if (typeof e == "function") {
93
+ qn(e, n, t, r);
94
+ return;
95
+ }
96
+ Xn(e, n, t, r);
97
+ }, Jn = (e, n, t) => {
98
+ const r = e === "" ? n : yn(n, e);
99
+ r.classGroupId = t;
100
+ }, qn = (e, n, t, r) => {
101
+ if (Zn(e)) {
102
+ Dt(e(r), n, t, r);
103
+ return;
104
+ }
105
+ n.validators === null && (n.validators = []), n.validators.push(Wn(t, e));
106
+ }, Xn = (e, n, t, r) => {
107
+ const o = Object.entries(e), s = o.length;
108
+ for (let i = 0; i < s; i++) {
109
+ const [a, c] = o[i];
110
+ Dt(c, yn(n, a), t, r);
111
+ }
112
+ }, yn = (e, n) => {
113
+ let t = e;
114
+ const r = n.split(Ue), o = r.length;
115
+ for (let s = 0; s < o; s++) {
116
+ const i = r[s];
117
+ let a = t.nextPart.get(i);
118
+ a || (a = gn(), t.nextPart.set(i, a)), t = a;
119
+ }
120
+ return t;
121
+ }, Zn = (e) => "isThemeGetter" in e && e.isThemeGetter === !0, er = (e) => {
122
+ if (e < 1)
123
+ return {
124
+ get: () => {
125
+ },
126
+ set: () => {
127
+ }
128
+ };
129
+ let n = 0, t = /* @__PURE__ */ Object.create(null), r = /* @__PURE__ */ Object.create(null);
130
+ const o = (s, i) => {
131
+ t[s] = i, n++, n > e && (n = 0, r = t, t = /* @__PURE__ */ Object.create(null));
132
+ };
133
+ return {
134
+ get(s) {
135
+ let i = t[s];
136
+ if (i !== void 0)
137
+ return i;
138
+ if ((i = r[s]) !== void 0)
139
+ return o(s, i), i;
140
+ },
141
+ set(s, i) {
142
+ s in t ? t[s] = i : o(s, i);
143
+ }
144
+ };
145
+ }, Lt = "!", Xt = ":", tr = [], Zt = (e, n, t, r, o) => ({
146
+ modifiers: e,
147
+ hasImportantModifier: n,
148
+ baseClassName: t,
149
+ maybePostfixModifierPosition: r,
150
+ isExternal: o
151
+ }), nr = (e) => {
152
+ const {
153
+ prefix: n,
154
+ experimentalParseClassName: t
155
+ } = e;
156
+ let r = (o) => {
157
+ const s = [];
158
+ let i = 0, a = 0, c = 0, f;
159
+ const p = o.length;
160
+ for (let v = 0; v < p; v++) {
161
+ const w = o[v];
162
+ if (i === 0 && a === 0) {
163
+ if (w === Xt) {
164
+ s.push(o.slice(c, v)), c = v + 1;
165
+ continue;
166
+ }
167
+ if (w === "/") {
168
+ f = v;
169
+ continue;
170
+ }
171
+ }
172
+ w === "[" ? i++ : w === "]" ? i-- : w === "(" ? a++ : w === ")" && a--;
173
+ }
174
+ const g = s.length === 0 ? o : o.slice(c);
175
+ let k = g, E = !1;
176
+ g.endsWith(Lt) ? (k = g.slice(0, -1), E = !0) : (
177
+ /**
178
+ * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.
179
+ * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864
180
+ */
181
+ g.startsWith(Lt) && (k = g.slice(1), E = !0)
182
+ );
183
+ const L = f && f > c ? f - c : void 0;
184
+ return Zt(s, E, k, L);
185
+ };
186
+ if (n) {
187
+ const o = n + Xt, s = r;
188
+ r = (i) => i.startsWith(o) ? s(i.slice(o.length)) : Zt(tr, !1, i, void 0, !0);
189
+ }
190
+ if (t) {
191
+ const o = r;
192
+ r = (s) => t({
193
+ className: s,
194
+ parseClassName: o
195
+ });
196
+ }
197
+ return r;
198
+ }, rr = (e) => {
199
+ const n = /* @__PURE__ */ new Map();
200
+ return e.orderSensitiveModifiers.forEach((t, r) => {
201
+ n.set(t, 1e6 + r);
202
+ }), (t) => {
203
+ const r = [];
204
+ let o = [];
205
+ for (let s = 0; s < t.length; s++) {
206
+ const i = t[s], a = i[0] === "[", c = n.has(i);
207
+ a || c ? (o.length > 0 && (o.sort(), r.push(...o), o = []), r.push(i)) : o.push(i);
208
+ }
209
+ return o.length > 0 && (o.sort(), r.push(...o)), r;
210
+ };
211
+ }, or = (e) => ({
212
+ cache: er(e.cacheSize),
213
+ parseClassName: nr(e),
214
+ sortModifiers: rr(e),
215
+ ...Kn(e)
216
+ }), sr = /\s+/, ir = (e, n) => {
217
+ const {
218
+ parseClassName: t,
219
+ getClassGroupId: r,
220
+ getConflictingClassGroupIds: o,
221
+ sortModifiers: s
222
+ } = n, i = [], a = e.trim().split(sr);
223
+ let c = "";
224
+ for (let f = a.length - 1; f >= 0; f -= 1) {
225
+ const p = a[f], {
226
+ isExternal: g,
227
+ modifiers: k,
228
+ hasImportantModifier: E,
229
+ baseClassName: L,
230
+ maybePostfixModifierPosition: v
231
+ } = t(p);
232
+ if (g) {
233
+ c = p + (c.length > 0 ? " " + c : c);
234
+ continue;
235
+ }
236
+ let w = !!v, N = r(w ? L.substring(0, v) : L);
237
+ if (!N) {
238
+ if (!w) {
239
+ c = p + (c.length > 0 ? " " + c : c);
240
+ continue;
241
+ }
242
+ if (N = r(L), !N) {
243
+ c = p + (c.length > 0 ? " " + c : c);
244
+ continue;
245
+ }
246
+ w = !1;
247
+ }
248
+ const S = k.length === 0 ? "" : k.length === 1 ? k[0] : s(k).join(":"), se = E ? S + Lt : S, V = se + N;
249
+ if (i.indexOf(V) > -1)
250
+ continue;
251
+ i.push(V);
252
+ const A = o(N, w);
253
+ for (let U = 0; U < A.length; ++U) {
254
+ const $ = A[U];
255
+ i.push(se + $);
256
+ }
257
+ c = p + (c.length > 0 ? " " + c : c);
258
+ }
259
+ return c;
260
+ }, ar = (...e) => {
261
+ let n = 0, t, r, o = "";
262
+ for (; n < e.length; )
263
+ (t = e[n++]) && (r = kn(t)) && (o && (o += " "), o += r);
264
+ return o;
265
+ }, kn = (e) => {
266
+ if (typeof e == "string")
267
+ return e;
268
+ let n, t = "";
269
+ for (let r = 0; r < e.length; r++)
270
+ e[r] && (n = kn(e[r])) && (t && (t += " "), t += n);
271
+ return t;
272
+ }, en = (e, ...n) => {
273
+ let t, r, o, s;
274
+ const i = (c) => {
275
+ const f = n.reduce((p, g) => g(p), e());
276
+ return t = or(f), r = t.cache.get, o = t.cache.set, s = a, a(c);
277
+ }, a = (c) => {
278
+ const f = r(c);
279
+ if (f)
280
+ return f;
281
+ const p = ir(c, t);
282
+ return o(c, p), p;
283
+ };
284
+ return s = i, (...c) => s(ar(...c));
285
+ }, lr = [], T = (e) => {
286
+ const n = (t) => t[e] || lr;
287
+ return n.isThemeGetter = !0, n;
288
+ }, wn = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, vn = /^\((?:(\w[\w-]*):)?(.+)\)$/i, cr = /^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/, dr = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, ur = /\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$/, fr = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, hr = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, mr = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, Z = (e) => cr.test(e), y = (e) => !!e && !Number.isNaN(Number(e)), ee = (e) => !!e && Number.isInteger(Number(e)), wt = (e) => e.endsWith("%") && y(e.slice(0, -1)), Q = (e) => dr.test(e), En = () => !0, pr = (e) => (
289
+ // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
290
+ // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
291
+ // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
292
+ ur.test(e) && !fr.test(e)
293
+ ), Ht = () => !1, gr = (e) => hr.test(e), br = (e) => mr.test(e), yr = (e) => !d(e) && !u(e), kr = (e) => oe(e, Cn, Ht), d = (e) => wn.test(e), ae = (e) => oe(e, Sn, pr), tn = (e) => oe(e, Tr, y), wr = (e) => oe(e, Ln, En), vr = (e) => oe(e, Tn, Ht), nn = (e) => oe(e, xn, Ht), Er = (e) => oe(e, An, br), Oe = (e) => oe(e, In, gr), u = (e) => vn.test(e), pe = (e) => de(e, Sn), xr = (e) => de(e, Tn), rn = (e) => de(e, xn), Ar = (e) => de(e, Cn), Cr = (e) => de(e, An), Ne = (e) => de(e, In, !0), Sr = (e) => de(e, Ln, !0), oe = (e, n, t) => {
294
+ const r = wn.exec(e);
295
+ return r ? r[1] ? n(r[1]) : t(r[2]) : !1;
296
+ }, de = (e, n, t = !1) => {
297
+ const r = vn.exec(e);
298
+ return r ? r[1] ? n(r[1]) : t : !1;
299
+ }, xn = (e) => e === "position" || e === "percentage", An = (e) => e === "image" || e === "url", Cn = (e) => e === "length" || e === "size" || e === "bg-size", Sn = (e) => e === "length", Tr = (e) => e === "number", Tn = (e) => e === "family-name", Ln = (e) => e === "number" || e === "weight", In = (e) => e === "shadow", on = () => {
300
+ const e = T("color"), n = T("font"), t = T("text"), r = T("font-weight"), o = T("tracking"), s = T("leading"), i = T("breakpoint"), a = T("container"), c = T("spacing"), f = T("radius"), p = T("shadow"), g = T("inset-shadow"), k = T("text-shadow"), E = T("drop-shadow"), L = T("blur"), v = T("perspective"), w = T("aspect"), N = T("ease"), S = T("animate"), se = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], V = () => [
301
+ "center",
302
+ "top",
303
+ "bottom",
304
+ "left",
305
+ "right",
306
+ "top-left",
307
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
308
+ "left-top",
309
+ "top-right",
310
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
311
+ "right-top",
312
+ "bottom-right",
313
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
314
+ "right-bottom",
315
+ "bottom-left",
316
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
317
+ "left-bottom"
318
+ ], A = () => [...V(), u, d], U = () => ["auto", "hidden", "clip", "visible", "scroll"], $ = () => ["auto", "contain", "none"], h = () => [u, d, c], z = () => [Z, "full", "auto", ...h()], ue = () => [ee, "none", "subgrid", u, d], he = () => ["auto", {
319
+ span: ["full", ee, u, d]
320
+ }, ee, u, d], X = () => [ee, "auto", u, d], me = () => ["auto", "min", "max", "fr", u, d], ie = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], W = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], I = () => ["auto", ...h()], G = () => [Z, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...h()], gt = () => [Z, "screen", "full", "dvw", "lvw", "svw", "min", "max", "fit", ...h()], bt = () => [Z, "screen", "full", "lh", "dvh", "lvh", "svh", "min", "max", "fit", ...h()], m = () => [e, u, d], Vt = () => [...V(), rn, nn, {
321
+ position: [u, d]
322
+ }], $t = () => ["no-repeat", {
323
+ repeat: ["", "x", "y", "space", "round"]
324
+ }], Qt = () => ["auto", "cover", "contain", Ar, kr, {
325
+ size: [u, d]
326
+ }], yt = () => [wt, pe, ae], M = () => [
327
+ // Deprecated since Tailwind CSS v4.0.0
328
+ "",
329
+ "none",
330
+ "full",
331
+ f,
332
+ u,
333
+ d
334
+ ], j = () => ["", y, pe, ae], Te = () => ["solid", "dashed", "dotted", "double"], Yt = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], R = () => [y, wt, rn, nn], Jt = () => [
335
+ // Deprecated since Tailwind CSS v4.0.0
336
+ "",
337
+ "none",
338
+ L,
339
+ u,
340
+ d
341
+ ], Le = () => ["none", y, u, d], Ie = () => ["none", y, u, d], kt = () => [y, u, d], Re = () => [Z, "full", ...h()];
342
+ return {
343
+ cacheSize: 500,
344
+ theme: {
345
+ animate: ["spin", "ping", "pulse", "bounce"],
346
+ aspect: ["video"],
347
+ blur: [Q],
348
+ breakpoint: [Q],
349
+ color: [En],
350
+ container: [Q],
351
+ "drop-shadow": [Q],
352
+ ease: ["in", "out", "in-out"],
353
+ font: [yr],
354
+ "font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"],
355
+ "inset-shadow": [Q],
356
+ leading: ["none", "tight", "snug", "normal", "relaxed", "loose"],
357
+ perspective: ["dramatic", "near", "normal", "midrange", "distant", "none"],
358
+ radius: [Q],
359
+ shadow: [Q],
360
+ spacing: ["px", y],
361
+ text: [Q],
362
+ "text-shadow": [Q],
363
+ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"]
364
+ },
365
+ classGroups: {
366
+ // --------------
367
+ // --- Layout ---
368
+ // --------------
369
+ /**
370
+ * Aspect Ratio
371
+ * @see https://tailwindcss.com/docs/aspect-ratio
372
+ */
373
+ aspect: [{
374
+ aspect: ["auto", "square", Z, d, u, w]
375
+ }],
376
+ /**
377
+ * Container
378
+ * @see https://tailwindcss.com/docs/container
379
+ * @deprecated since Tailwind CSS v4.0.0
380
+ */
381
+ container: ["container"],
382
+ /**
383
+ * Columns
384
+ * @see https://tailwindcss.com/docs/columns
385
+ */
386
+ columns: [{
387
+ columns: [y, d, u, a]
388
+ }],
389
+ /**
390
+ * Break After
391
+ * @see https://tailwindcss.com/docs/break-after
392
+ */
393
+ "break-after": [{
394
+ "break-after": se()
395
+ }],
396
+ /**
397
+ * Break Before
398
+ * @see https://tailwindcss.com/docs/break-before
399
+ */
400
+ "break-before": [{
401
+ "break-before": se()
402
+ }],
403
+ /**
404
+ * Break Inside
405
+ * @see https://tailwindcss.com/docs/break-inside
406
+ */
407
+ "break-inside": [{
408
+ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
409
+ }],
410
+ /**
411
+ * Box Decoration Break
412
+ * @see https://tailwindcss.com/docs/box-decoration-break
413
+ */
414
+ "box-decoration": [{
415
+ "box-decoration": ["slice", "clone"]
416
+ }],
417
+ /**
418
+ * Box Sizing
419
+ * @see https://tailwindcss.com/docs/box-sizing
420
+ */
421
+ box: [{
422
+ box: ["border", "content"]
423
+ }],
424
+ /**
425
+ * Display
426
+ * @see https://tailwindcss.com/docs/display
427
+ */
428
+ 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"],
429
+ /**
430
+ * Screen Reader Only
431
+ * @see https://tailwindcss.com/docs/display#screen-reader-only
432
+ */
433
+ sr: ["sr-only", "not-sr-only"],
434
+ /**
435
+ * Floats
436
+ * @see https://tailwindcss.com/docs/float
437
+ */
438
+ float: [{
439
+ float: ["right", "left", "none", "start", "end"]
440
+ }],
441
+ /**
442
+ * Clear
443
+ * @see https://tailwindcss.com/docs/clear
444
+ */
445
+ clear: [{
446
+ clear: ["left", "right", "both", "none", "start", "end"]
447
+ }],
448
+ /**
449
+ * Isolation
450
+ * @see https://tailwindcss.com/docs/isolation
451
+ */
452
+ isolation: ["isolate", "isolation-auto"],
453
+ /**
454
+ * Object Fit
455
+ * @see https://tailwindcss.com/docs/object-fit
456
+ */
457
+ "object-fit": [{
458
+ object: ["contain", "cover", "fill", "none", "scale-down"]
459
+ }],
460
+ /**
461
+ * Object Position
462
+ * @see https://tailwindcss.com/docs/object-position
463
+ */
464
+ "object-position": [{
465
+ object: A()
466
+ }],
467
+ /**
468
+ * Overflow
469
+ * @see https://tailwindcss.com/docs/overflow
470
+ */
471
+ overflow: [{
472
+ overflow: U()
473
+ }],
474
+ /**
475
+ * Overflow X
476
+ * @see https://tailwindcss.com/docs/overflow
477
+ */
478
+ "overflow-x": [{
479
+ "overflow-x": U()
480
+ }],
481
+ /**
482
+ * Overflow Y
483
+ * @see https://tailwindcss.com/docs/overflow
484
+ */
485
+ "overflow-y": [{
486
+ "overflow-y": U()
487
+ }],
488
+ /**
489
+ * Overscroll Behavior
490
+ * @see https://tailwindcss.com/docs/overscroll-behavior
491
+ */
492
+ overscroll: [{
493
+ overscroll: $()
494
+ }],
495
+ /**
496
+ * Overscroll Behavior X
497
+ * @see https://tailwindcss.com/docs/overscroll-behavior
498
+ */
499
+ "overscroll-x": [{
500
+ "overscroll-x": $()
501
+ }],
502
+ /**
503
+ * Overscroll Behavior Y
504
+ * @see https://tailwindcss.com/docs/overscroll-behavior
505
+ */
506
+ "overscroll-y": [{
507
+ "overscroll-y": $()
508
+ }],
509
+ /**
510
+ * Position
511
+ * @see https://tailwindcss.com/docs/position
512
+ */
513
+ position: ["static", "fixed", "absolute", "relative", "sticky"],
514
+ /**
515
+ * Inset
516
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
517
+ */
518
+ inset: [{
519
+ inset: z()
520
+ }],
521
+ /**
522
+ * Inset Inline
523
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
524
+ */
525
+ "inset-x": [{
526
+ "inset-x": z()
527
+ }],
528
+ /**
529
+ * Inset Block
530
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
531
+ */
532
+ "inset-y": [{
533
+ "inset-y": z()
534
+ }],
535
+ /**
536
+ * Inset Inline Start
537
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
538
+ * @todo class group will be renamed to `inset-s` in next major release
539
+ */
540
+ start: [{
541
+ "inset-s": z(),
542
+ /**
543
+ * @deprecated since Tailwind CSS v4.2.0 in favor of `inset-s-*` utilities.
544
+ * @see https://github.com/tailwindlabs/tailwindcss/pull/19613
545
+ */
546
+ start: z()
547
+ }],
548
+ /**
549
+ * Inset Inline End
550
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
551
+ * @todo class group will be renamed to `inset-e` in next major release
552
+ */
553
+ end: [{
554
+ "inset-e": z(),
555
+ /**
556
+ * @deprecated since Tailwind CSS v4.2.0 in favor of `inset-e-*` utilities.
557
+ * @see https://github.com/tailwindlabs/tailwindcss/pull/19613
558
+ */
559
+ end: z()
560
+ }],
561
+ /**
562
+ * Inset Block Start
563
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
564
+ */
565
+ "inset-bs": [{
566
+ "inset-bs": z()
567
+ }],
568
+ /**
569
+ * Inset Block End
570
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
571
+ */
572
+ "inset-be": [{
573
+ "inset-be": z()
574
+ }],
575
+ /**
576
+ * Top
577
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
578
+ */
579
+ top: [{
580
+ top: z()
581
+ }],
582
+ /**
583
+ * Right
584
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
585
+ */
586
+ right: [{
587
+ right: z()
588
+ }],
589
+ /**
590
+ * Bottom
591
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
592
+ */
593
+ bottom: [{
594
+ bottom: z()
595
+ }],
596
+ /**
597
+ * Left
598
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
599
+ */
600
+ left: [{
601
+ left: z()
602
+ }],
603
+ /**
604
+ * Visibility
605
+ * @see https://tailwindcss.com/docs/visibility
606
+ */
607
+ visibility: ["visible", "invisible", "collapse"],
608
+ /**
609
+ * Z-Index
610
+ * @see https://tailwindcss.com/docs/z-index
611
+ */
612
+ z: [{
613
+ z: [ee, "auto", u, d]
614
+ }],
615
+ // ------------------------
616
+ // --- Flexbox and Grid ---
617
+ // ------------------------
618
+ /**
619
+ * Flex Basis
620
+ * @see https://tailwindcss.com/docs/flex-basis
621
+ */
622
+ basis: [{
623
+ basis: [Z, "full", "auto", a, ...h()]
624
+ }],
625
+ /**
626
+ * Flex Direction
627
+ * @see https://tailwindcss.com/docs/flex-direction
628
+ */
629
+ "flex-direction": [{
630
+ flex: ["row", "row-reverse", "col", "col-reverse"]
631
+ }],
632
+ /**
633
+ * Flex Wrap
634
+ * @see https://tailwindcss.com/docs/flex-wrap
635
+ */
636
+ "flex-wrap": [{
637
+ flex: ["nowrap", "wrap", "wrap-reverse"]
638
+ }],
639
+ /**
640
+ * Flex
641
+ * @see https://tailwindcss.com/docs/flex
642
+ */
643
+ flex: [{
644
+ flex: [y, Z, "auto", "initial", "none", d]
645
+ }],
646
+ /**
647
+ * Flex Grow
648
+ * @see https://tailwindcss.com/docs/flex-grow
649
+ */
650
+ grow: [{
651
+ grow: ["", y, u, d]
652
+ }],
653
+ /**
654
+ * Flex Shrink
655
+ * @see https://tailwindcss.com/docs/flex-shrink
656
+ */
657
+ shrink: [{
658
+ shrink: ["", y, u, d]
659
+ }],
660
+ /**
661
+ * Order
662
+ * @see https://tailwindcss.com/docs/order
663
+ */
664
+ order: [{
665
+ order: [ee, "first", "last", "none", u, d]
666
+ }],
667
+ /**
668
+ * Grid Template Columns
669
+ * @see https://tailwindcss.com/docs/grid-template-columns
670
+ */
671
+ "grid-cols": [{
672
+ "grid-cols": ue()
673
+ }],
674
+ /**
675
+ * Grid Column Start / End
676
+ * @see https://tailwindcss.com/docs/grid-column
677
+ */
678
+ "col-start-end": [{
679
+ col: he()
680
+ }],
681
+ /**
682
+ * Grid Column Start
683
+ * @see https://tailwindcss.com/docs/grid-column
684
+ */
685
+ "col-start": [{
686
+ "col-start": X()
687
+ }],
688
+ /**
689
+ * Grid Column End
690
+ * @see https://tailwindcss.com/docs/grid-column
691
+ */
692
+ "col-end": [{
693
+ "col-end": X()
694
+ }],
695
+ /**
696
+ * Grid Template Rows
697
+ * @see https://tailwindcss.com/docs/grid-template-rows
698
+ */
699
+ "grid-rows": [{
700
+ "grid-rows": ue()
701
+ }],
702
+ /**
703
+ * Grid Row Start / End
704
+ * @see https://tailwindcss.com/docs/grid-row
705
+ */
706
+ "row-start-end": [{
707
+ row: he()
708
+ }],
709
+ /**
710
+ * Grid Row Start
711
+ * @see https://tailwindcss.com/docs/grid-row
712
+ */
713
+ "row-start": [{
714
+ "row-start": X()
715
+ }],
716
+ /**
717
+ * Grid Row End
718
+ * @see https://tailwindcss.com/docs/grid-row
719
+ */
720
+ "row-end": [{
721
+ "row-end": X()
722
+ }],
723
+ /**
724
+ * Grid Auto Flow
725
+ * @see https://tailwindcss.com/docs/grid-auto-flow
726
+ */
727
+ "grid-flow": [{
728
+ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
729
+ }],
730
+ /**
731
+ * Grid Auto Columns
732
+ * @see https://tailwindcss.com/docs/grid-auto-columns
733
+ */
734
+ "auto-cols": [{
735
+ "auto-cols": me()
736
+ }],
737
+ /**
738
+ * Grid Auto Rows
739
+ * @see https://tailwindcss.com/docs/grid-auto-rows
740
+ */
741
+ "auto-rows": [{
742
+ "auto-rows": me()
743
+ }],
744
+ /**
745
+ * Gap
746
+ * @see https://tailwindcss.com/docs/gap
747
+ */
748
+ gap: [{
749
+ gap: h()
750
+ }],
751
+ /**
752
+ * Gap X
753
+ * @see https://tailwindcss.com/docs/gap
754
+ */
755
+ "gap-x": [{
756
+ "gap-x": h()
757
+ }],
758
+ /**
759
+ * Gap Y
760
+ * @see https://tailwindcss.com/docs/gap
761
+ */
762
+ "gap-y": [{
763
+ "gap-y": h()
764
+ }],
765
+ /**
766
+ * Justify Content
767
+ * @see https://tailwindcss.com/docs/justify-content
768
+ */
769
+ "justify-content": [{
770
+ justify: [...ie(), "normal"]
771
+ }],
772
+ /**
773
+ * Justify Items
774
+ * @see https://tailwindcss.com/docs/justify-items
775
+ */
776
+ "justify-items": [{
777
+ "justify-items": [...W(), "normal"]
778
+ }],
779
+ /**
780
+ * Justify Self
781
+ * @see https://tailwindcss.com/docs/justify-self
782
+ */
783
+ "justify-self": [{
784
+ "justify-self": ["auto", ...W()]
785
+ }],
786
+ /**
787
+ * Align Content
788
+ * @see https://tailwindcss.com/docs/align-content
789
+ */
790
+ "align-content": [{
791
+ content: ["normal", ...ie()]
792
+ }],
793
+ /**
794
+ * Align Items
795
+ * @see https://tailwindcss.com/docs/align-items
796
+ */
797
+ "align-items": [{
798
+ items: [...W(), {
799
+ baseline: ["", "last"]
800
+ }]
801
+ }],
802
+ /**
803
+ * Align Self
804
+ * @see https://tailwindcss.com/docs/align-self
805
+ */
806
+ "align-self": [{
807
+ self: ["auto", ...W(), {
808
+ baseline: ["", "last"]
809
+ }]
810
+ }],
811
+ /**
812
+ * Place Content
813
+ * @see https://tailwindcss.com/docs/place-content
814
+ */
815
+ "place-content": [{
816
+ "place-content": ie()
817
+ }],
818
+ /**
819
+ * Place Items
820
+ * @see https://tailwindcss.com/docs/place-items
821
+ */
822
+ "place-items": [{
823
+ "place-items": [...W(), "baseline"]
824
+ }],
825
+ /**
826
+ * Place Self
827
+ * @see https://tailwindcss.com/docs/place-self
828
+ */
829
+ "place-self": [{
830
+ "place-self": ["auto", ...W()]
831
+ }],
832
+ // Spacing
833
+ /**
834
+ * Padding
835
+ * @see https://tailwindcss.com/docs/padding
836
+ */
837
+ p: [{
838
+ p: h()
839
+ }],
840
+ /**
841
+ * Padding Inline
842
+ * @see https://tailwindcss.com/docs/padding
843
+ */
844
+ px: [{
845
+ px: h()
846
+ }],
847
+ /**
848
+ * Padding Block
849
+ * @see https://tailwindcss.com/docs/padding
850
+ */
851
+ py: [{
852
+ py: h()
853
+ }],
854
+ /**
855
+ * Padding Inline Start
856
+ * @see https://tailwindcss.com/docs/padding
857
+ */
858
+ ps: [{
859
+ ps: h()
860
+ }],
861
+ /**
862
+ * Padding Inline End
863
+ * @see https://tailwindcss.com/docs/padding
864
+ */
865
+ pe: [{
866
+ pe: h()
867
+ }],
868
+ /**
869
+ * Padding Block Start
870
+ * @see https://tailwindcss.com/docs/padding
871
+ */
872
+ pbs: [{
873
+ pbs: h()
874
+ }],
875
+ /**
876
+ * Padding Block End
877
+ * @see https://tailwindcss.com/docs/padding
878
+ */
879
+ pbe: [{
880
+ pbe: h()
881
+ }],
882
+ /**
883
+ * Padding Top
884
+ * @see https://tailwindcss.com/docs/padding
885
+ */
886
+ pt: [{
887
+ pt: h()
888
+ }],
889
+ /**
890
+ * Padding Right
891
+ * @see https://tailwindcss.com/docs/padding
892
+ */
893
+ pr: [{
894
+ pr: h()
895
+ }],
896
+ /**
897
+ * Padding Bottom
898
+ * @see https://tailwindcss.com/docs/padding
899
+ */
900
+ pb: [{
901
+ pb: h()
902
+ }],
903
+ /**
904
+ * Padding Left
905
+ * @see https://tailwindcss.com/docs/padding
906
+ */
907
+ pl: [{
908
+ pl: h()
909
+ }],
910
+ /**
911
+ * Margin
912
+ * @see https://tailwindcss.com/docs/margin
913
+ */
914
+ m: [{
915
+ m: I()
916
+ }],
917
+ /**
918
+ * Margin Inline
919
+ * @see https://tailwindcss.com/docs/margin
920
+ */
921
+ mx: [{
922
+ mx: I()
923
+ }],
924
+ /**
925
+ * Margin Block
926
+ * @see https://tailwindcss.com/docs/margin
927
+ */
928
+ my: [{
929
+ my: I()
930
+ }],
931
+ /**
932
+ * Margin Inline Start
933
+ * @see https://tailwindcss.com/docs/margin
934
+ */
935
+ ms: [{
936
+ ms: I()
937
+ }],
938
+ /**
939
+ * Margin Inline End
940
+ * @see https://tailwindcss.com/docs/margin
941
+ */
942
+ me: [{
943
+ me: I()
944
+ }],
945
+ /**
946
+ * Margin Block Start
947
+ * @see https://tailwindcss.com/docs/margin
948
+ */
949
+ mbs: [{
950
+ mbs: I()
951
+ }],
952
+ /**
953
+ * Margin Block End
954
+ * @see https://tailwindcss.com/docs/margin
955
+ */
956
+ mbe: [{
957
+ mbe: I()
958
+ }],
959
+ /**
960
+ * Margin Top
961
+ * @see https://tailwindcss.com/docs/margin
962
+ */
963
+ mt: [{
964
+ mt: I()
965
+ }],
966
+ /**
967
+ * Margin Right
968
+ * @see https://tailwindcss.com/docs/margin
969
+ */
970
+ mr: [{
971
+ mr: I()
972
+ }],
973
+ /**
974
+ * Margin Bottom
975
+ * @see https://tailwindcss.com/docs/margin
976
+ */
977
+ mb: [{
978
+ mb: I()
979
+ }],
980
+ /**
981
+ * Margin Left
982
+ * @see https://tailwindcss.com/docs/margin
983
+ */
984
+ ml: [{
985
+ ml: I()
986
+ }],
987
+ /**
988
+ * Space Between X
989
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
990
+ */
991
+ "space-x": [{
992
+ "space-x": h()
993
+ }],
994
+ /**
995
+ * Space Between X Reverse
996
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
997
+ */
998
+ "space-x-reverse": ["space-x-reverse"],
999
+ /**
1000
+ * Space Between Y
1001
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1002
+ */
1003
+ "space-y": [{
1004
+ "space-y": h()
1005
+ }],
1006
+ /**
1007
+ * Space Between Y Reverse
1008
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1009
+ */
1010
+ "space-y-reverse": ["space-y-reverse"],
1011
+ // --------------
1012
+ // --- Sizing ---
1013
+ // --------------
1014
+ /**
1015
+ * Size
1016
+ * @see https://tailwindcss.com/docs/width#setting-both-width-and-height
1017
+ */
1018
+ size: [{
1019
+ size: G()
1020
+ }],
1021
+ /**
1022
+ * Inline Size
1023
+ * @see https://tailwindcss.com/docs/width
1024
+ */
1025
+ "inline-size": [{
1026
+ inline: ["auto", ...gt()]
1027
+ }],
1028
+ /**
1029
+ * Min-Inline Size
1030
+ * @see https://tailwindcss.com/docs/min-width
1031
+ */
1032
+ "min-inline-size": [{
1033
+ "min-inline": ["auto", ...gt()]
1034
+ }],
1035
+ /**
1036
+ * Max-Inline Size
1037
+ * @see https://tailwindcss.com/docs/max-width
1038
+ */
1039
+ "max-inline-size": [{
1040
+ "max-inline": ["none", ...gt()]
1041
+ }],
1042
+ /**
1043
+ * Block Size
1044
+ * @see https://tailwindcss.com/docs/height
1045
+ */
1046
+ "block-size": [{
1047
+ block: ["auto", ...bt()]
1048
+ }],
1049
+ /**
1050
+ * Min-Block Size
1051
+ * @see https://tailwindcss.com/docs/min-height
1052
+ */
1053
+ "min-block-size": [{
1054
+ "min-block": ["auto", ...bt()]
1055
+ }],
1056
+ /**
1057
+ * Max-Block Size
1058
+ * @see https://tailwindcss.com/docs/max-height
1059
+ */
1060
+ "max-block-size": [{
1061
+ "max-block": ["none", ...bt()]
1062
+ }],
1063
+ /**
1064
+ * Width
1065
+ * @see https://tailwindcss.com/docs/width
1066
+ */
1067
+ w: [{
1068
+ w: [a, "screen", ...G()]
1069
+ }],
1070
+ /**
1071
+ * Min-Width
1072
+ * @see https://tailwindcss.com/docs/min-width
1073
+ */
1074
+ "min-w": [{
1075
+ "min-w": [
1076
+ a,
1077
+ "screen",
1078
+ /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1079
+ "none",
1080
+ ...G()
1081
+ ]
1082
+ }],
1083
+ /**
1084
+ * Max-Width
1085
+ * @see https://tailwindcss.com/docs/max-width
1086
+ */
1087
+ "max-w": [{
1088
+ "max-w": [
1089
+ a,
1090
+ "screen",
1091
+ "none",
1092
+ /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1093
+ "prose",
1094
+ /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1095
+ {
1096
+ screen: [i]
1097
+ },
1098
+ ...G()
1099
+ ]
1100
+ }],
1101
+ /**
1102
+ * Height
1103
+ * @see https://tailwindcss.com/docs/height
1104
+ */
1105
+ h: [{
1106
+ h: ["screen", "lh", ...G()]
1107
+ }],
1108
+ /**
1109
+ * Min-Height
1110
+ * @see https://tailwindcss.com/docs/min-height
1111
+ */
1112
+ "min-h": [{
1113
+ "min-h": ["screen", "lh", "none", ...G()]
1114
+ }],
1115
+ /**
1116
+ * Max-Height
1117
+ * @see https://tailwindcss.com/docs/max-height
1118
+ */
1119
+ "max-h": [{
1120
+ "max-h": ["screen", "lh", ...G()]
1121
+ }],
1122
+ // ------------------
1123
+ // --- Typography ---
1124
+ // ------------------
1125
+ /**
1126
+ * Font Size
1127
+ * @see https://tailwindcss.com/docs/font-size
1128
+ */
1129
+ "font-size": [{
1130
+ text: ["base", t, pe, ae]
1131
+ }],
1132
+ /**
1133
+ * Font Smoothing
1134
+ * @see https://tailwindcss.com/docs/font-smoothing
1135
+ */
1136
+ "font-smoothing": ["antialiased", "subpixel-antialiased"],
1137
+ /**
1138
+ * Font Style
1139
+ * @see https://tailwindcss.com/docs/font-style
1140
+ */
1141
+ "font-style": ["italic", "not-italic"],
1142
+ /**
1143
+ * Font Weight
1144
+ * @see https://tailwindcss.com/docs/font-weight
1145
+ */
1146
+ "font-weight": [{
1147
+ font: [r, Sr, wr]
1148
+ }],
1149
+ /**
1150
+ * Font Stretch
1151
+ * @see https://tailwindcss.com/docs/font-stretch
1152
+ */
1153
+ "font-stretch": [{
1154
+ "font-stretch": ["ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded", wt, d]
1155
+ }],
1156
+ /**
1157
+ * Font Family
1158
+ * @see https://tailwindcss.com/docs/font-family
1159
+ */
1160
+ "font-family": [{
1161
+ font: [xr, vr, n]
1162
+ }],
1163
+ /**
1164
+ * Font Feature Settings
1165
+ * @see https://tailwindcss.com/docs/font-feature-settings
1166
+ */
1167
+ "font-features": [{
1168
+ "font-features": [d]
1169
+ }],
1170
+ /**
1171
+ * Font Variant Numeric
1172
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1173
+ */
1174
+ "fvn-normal": ["normal-nums"],
1175
+ /**
1176
+ * Font Variant Numeric
1177
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1178
+ */
1179
+ "fvn-ordinal": ["ordinal"],
1180
+ /**
1181
+ * Font Variant Numeric
1182
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1183
+ */
1184
+ "fvn-slashed-zero": ["slashed-zero"],
1185
+ /**
1186
+ * Font Variant Numeric
1187
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1188
+ */
1189
+ "fvn-figure": ["lining-nums", "oldstyle-nums"],
1190
+ /**
1191
+ * Font Variant Numeric
1192
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1193
+ */
1194
+ "fvn-spacing": ["proportional-nums", "tabular-nums"],
1195
+ /**
1196
+ * Font Variant Numeric
1197
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1198
+ */
1199
+ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
1200
+ /**
1201
+ * Letter Spacing
1202
+ * @see https://tailwindcss.com/docs/letter-spacing
1203
+ */
1204
+ tracking: [{
1205
+ tracking: [o, u, d]
1206
+ }],
1207
+ /**
1208
+ * Line Clamp
1209
+ * @see https://tailwindcss.com/docs/line-clamp
1210
+ */
1211
+ "line-clamp": [{
1212
+ "line-clamp": [y, "none", u, tn]
1213
+ }],
1214
+ /**
1215
+ * Line Height
1216
+ * @see https://tailwindcss.com/docs/line-height
1217
+ */
1218
+ leading: [{
1219
+ leading: [
1220
+ /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1221
+ s,
1222
+ ...h()
1223
+ ]
1224
+ }],
1225
+ /**
1226
+ * List Style Image
1227
+ * @see https://tailwindcss.com/docs/list-style-image
1228
+ */
1229
+ "list-image": [{
1230
+ "list-image": ["none", u, d]
1231
+ }],
1232
+ /**
1233
+ * List Style Position
1234
+ * @see https://tailwindcss.com/docs/list-style-position
1235
+ */
1236
+ "list-style-position": [{
1237
+ list: ["inside", "outside"]
1238
+ }],
1239
+ /**
1240
+ * List Style Type
1241
+ * @see https://tailwindcss.com/docs/list-style-type
1242
+ */
1243
+ "list-style-type": [{
1244
+ list: ["disc", "decimal", "none", u, d]
1245
+ }],
1246
+ /**
1247
+ * Text Alignment
1248
+ * @see https://tailwindcss.com/docs/text-align
1249
+ */
1250
+ "text-alignment": [{
1251
+ text: ["left", "center", "right", "justify", "start", "end"]
1252
+ }],
1253
+ /**
1254
+ * Placeholder Color
1255
+ * @deprecated since Tailwind CSS v3.0.0
1256
+ * @see https://v3.tailwindcss.com/docs/placeholder-color
1257
+ */
1258
+ "placeholder-color": [{
1259
+ placeholder: m()
1260
+ }],
1261
+ /**
1262
+ * Text Color
1263
+ * @see https://tailwindcss.com/docs/text-color
1264
+ */
1265
+ "text-color": [{
1266
+ text: m()
1267
+ }],
1268
+ /**
1269
+ * Text Decoration
1270
+ * @see https://tailwindcss.com/docs/text-decoration
1271
+ */
1272
+ "text-decoration": ["underline", "overline", "line-through", "no-underline"],
1273
+ /**
1274
+ * Text Decoration Style
1275
+ * @see https://tailwindcss.com/docs/text-decoration-style
1276
+ */
1277
+ "text-decoration-style": [{
1278
+ decoration: [...Te(), "wavy"]
1279
+ }],
1280
+ /**
1281
+ * Text Decoration Thickness
1282
+ * @see https://tailwindcss.com/docs/text-decoration-thickness
1283
+ */
1284
+ "text-decoration-thickness": [{
1285
+ decoration: [y, "from-font", "auto", u, ae]
1286
+ }],
1287
+ /**
1288
+ * Text Decoration Color
1289
+ * @see https://tailwindcss.com/docs/text-decoration-color
1290
+ */
1291
+ "text-decoration-color": [{
1292
+ decoration: m()
1293
+ }],
1294
+ /**
1295
+ * Text Underline Offset
1296
+ * @see https://tailwindcss.com/docs/text-underline-offset
1297
+ */
1298
+ "underline-offset": [{
1299
+ "underline-offset": [y, "auto", u, d]
1300
+ }],
1301
+ /**
1302
+ * Text Transform
1303
+ * @see https://tailwindcss.com/docs/text-transform
1304
+ */
1305
+ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
1306
+ /**
1307
+ * Text Overflow
1308
+ * @see https://tailwindcss.com/docs/text-overflow
1309
+ */
1310
+ "text-overflow": ["truncate", "text-ellipsis", "text-clip"],
1311
+ /**
1312
+ * Text Wrap
1313
+ * @see https://tailwindcss.com/docs/text-wrap
1314
+ */
1315
+ "text-wrap": [{
1316
+ text: ["wrap", "nowrap", "balance", "pretty"]
1317
+ }],
1318
+ /**
1319
+ * Text Indent
1320
+ * @see https://tailwindcss.com/docs/text-indent
1321
+ */
1322
+ indent: [{
1323
+ indent: h()
1324
+ }],
1325
+ /**
1326
+ * Vertical Alignment
1327
+ * @see https://tailwindcss.com/docs/vertical-align
1328
+ */
1329
+ "vertical-align": [{
1330
+ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", u, d]
1331
+ }],
1332
+ /**
1333
+ * Whitespace
1334
+ * @see https://tailwindcss.com/docs/whitespace
1335
+ */
1336
+ whitespace: [{
1337
+ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
1338
+ }],
1339
+ /**
1340
+ * Word Break
1341
+ * @see https://tailwindcss.com/docs/word-break
1342
+ */
1343
+ break: [{
1344
+ break: ["normal", "words", "all", "keep"]
1345
+ }],
1346
+ /**
1347
+ * Overflow Wrap
1348
+ * @see https://tailwindcss.com/docs/overflow-wrap
1349
+ */
1350
+ wrap: [{
1351
+ wrap: ["break-word", "anywhere", "normal"]
1352
+ }],
1353
+ /**
1354
+ * Hyphens
1355
+ * @see https://tailwindcss.com/docs/hyphens
1356
+ */
1357
+ hyphens: [{
1358
+ hyphens: ["none", "manual", "auto"]
1359
+ }],
1360
+ /**
1361
+ * Content
1362
+ * @see https://tailwindcss.com/docs/content
1363
+ */
1364
+ content: [{
1365
+ content: ["none", u, d]
1366
+ }],
1367
+ // -------------------
1368
+ // --- Backgrounds ---
1369
+ // -------------------
1370
+ /**
1371
+ * Background Attachment
1372
+ * @see https://tailwindcss.com/docs/background-attachment
1373
+ */
1374
+ "bg-attachment": [{
1375
+ bg: ["fixed", "local", "scroll"]
1376
+ }],
1377
+ /**
1378
+ * Background Clip
1379
+ * @see https://tailwindcss.com/docs/background-clip
1380
+ */
1381
+ "bg-clip": [{
1382
+ "bg-clip": ["border", "padding", "content", "text"]
1383
+ }],
1384
+ /**
1385
+ * Background Origin
1386
+ * @see https://tailwindcss.com/docs/background-origin
1387
+ */
1388
+ "bg-origin": [{
1389
+ "bg-origin": ["border", "padding", "content"]
1390
+ }],
1391
+ /**
1392
+ * Background Position
1393
+ * @see https://tailwindcss.com/docs/background-position
1394
+ */
1395
+ "bg-position": [{
1396
+ bg: Vt()
1397
+ }],
1398
+ /**
1399
+ * Background Repeat
1400
+ * @see https://tailwindcss.com/docs/background-repeat
1401
+ */
1402
+ "bg-repeat": [{
1403
+ bg: $t()
1404
+ }],
1405
+ /**
1406
+ * Background Size
1407
+ * @see https://tailwindcss.com/docs/background-size
1408
+ */
1409
+ "bg-size": [{
1410
+ bg: Qt()
1411
+ }],
1412
+ /**
1413
+ * Background Image
1414
+ * @see https://tailwindcss.com/docs/background-image
1415
+ */
1416
+ "bg-image": [{
1417
+ bg: ["none", {
1418
+ linear: [{
1419
+ to: ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
1420
+ }, ee, u, d],
1421
+ radial: ["", u, d],
1422
+ conic: [ee, u, d]
1423
+ }, Cr, Er]
1424
+ }],
1425
+ /**
1426
+ * Background Color
1427
+ * @see https://tailwindcss.com/docs/background-color
1428
+ */
1429
+ "bg-color": [{
1430
+ bg: m()
1431
+ }],
1432
+ /**
1433
+ * Gradient Color Stops From Position
1434
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1435
+ */
1436
+ "gradient-from-pos": [{
1437
+ from: yt()
1438
+ }],
1439
+ /**
1440
+ * Gradient Color Stops Via Position
1441
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1442
+ */
1443
+ "gradient-via-pos": [{
1444
+ via: yt()
1445
+ }],
1446
+ /**
1447
+ * Gradient Color Stops To Position
1448
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1449
+ */
1450
+ "gradient-to-pos": [{
1451
+ to: yt()
1452
+ }],
1453
+ /**
1454
+ * Gradient Color Stops From
1455
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1456
+ */
1457
+ "gradient-from": [{
1458
+ from: m()
1459
+ }],
1460
+ /**
1461
+ * Gradient Color Stops Via
1462
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1463
+ */
1464
+ "gradient-via": [{
1465
+ via: m()
1466
+ }],
1467
+ /**
1468
+ * Gradient Color Stops To
1469
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1470
+ */
1471
+ "gradient-to": [{
1472
+ to: m()
1473
+ }],
1474
+ // ---------------
1475
+ // --- Borders ---
1476
+ // ---------------
1477
+ /**
1478
+ * Border Radius
1479
+ * @see https://tailwindcss.com/docs/border-radius
1480
+ */
1481
+ rounded: [{
1482
+ rounded: M()
1483
+ }],
1484
+ /**
1485
+ * Border Radius Start
1486
+ * @see https://tailwindcss.com/docs/border-radius
1487
+ */
1488
+ "rounded-s": [{
1489
+ "rounded-s": M()
1490
+ }],
1491
+ /**
1492
+ * Border Radius End
1493
+ * @see https://tailwindcss.com/docs/border-radius
1494
+ */
1495
+ "rounded-e": [{
1496
+ "rounded-e": M()
1497
+ }],
1498
+ /**
1499
+ * Border Radius Top
1500
+ * @see https://tailwindcss.com/docs/border-radius
1501
+ */
1502
+ "rounded-t": [{
1503
+ "rounded-t": M()
1504
+ }],
1505
+ /**
1506
+ * Border Radius Right
1507
+ * @see https://tailwindcss.com/docs/border-radius
1508
+ */
1509
+ "rounded-r": [{
1510
+ "rounded-r": M()
1511
+ }],
1512
+ /**
1513
+ * Border Radius Bottom
1514
+ * @see https://tailwindcss.com/docs/border-radius
1515
+ */
1516
+ "rounded-b": [{
1517
+ "rounded-b": M()
1518
+ }],
1519
+ /**
1520
+ * Border Radius Left
1521
+ * @see https://tailwindcss.com/docs/border-radius
1522
+ */
1523
+ "rounded-l": [{
1524
+ "rounded-l": M()
1525
+ }],
1526
+ /**
1527
+ * Border Radius Start Start
1528
+ * @see https://tailwindcss.com/docs/border-radius
1529
+ */
1530
+ "rounded-ss": [{
1531
+ "rounded-ss": M()
1532
+ }],
1533
+ /**
1534
+ * Border Radius Start End
1535
+ * @see https://tailwindcss.com/docs/border-radius
1536
+ */
1537
+ "rounded-se": [{
1538
+ "rounded-se": M()
1539
+ }],
1540
+ /**
1541
+ * Border Radius End End
1542
+ * @see https://tailwindcss.com/docs/border-radius
1543
+ */
1544
+ "rounded-ee": [{
1545
+ "rounded-ee": M()
1546
+ }],
1547
+ /**
1548
+ * Border Radius End Start
1549
+ * @see https://tailwindcss.com/docs/border-radius
1550
+ */
1551
+ "rounded-es": [{
1552
+ "rounded-es": M()
1553
+ }],
1554
+ /**
1555
+ * Border Radius Top Left
1556
+ * @see https://tailwindcss.com/docs/border-radius
1557
+ */
1558
+ "rounded-tl": [{
1559
+ "rounded-tl": M()
1560
+ }],
1561
+ /**
1562
+ * Border Radius Top Right
1563
+ * @see https://tailwindcss.com/docs/border-radius
1564
+ */
1565
+ "rounded-tr": [{
1566
+ "rounded-tr": M()
1567
+ }],
1568
+ /**
1569
+ * Border Radius Bottom Right
1570
+ * @see https://tailwindcss.com/docs/border-radius
1571
+ */
1572
+ "rounded-br": [{
1573
+ "rounded-br": M()
1574
+ }],
1575
+ /**
1576
+ * Border Radius Bottom Left
1577
+ * @see https://tailwindcss.com/docs/border-radius
1578
+ */
1579
+ "rounded-bl": [{
1580
+ "rounded-bl": M()
1581
+ }],
1582
+ /**
1583
+ * Border Width
1584
+ * @see https://tailwindcss.com/docs/border-width
1585
+ */
1586
+ "border-w": [{
1587
+ border: j()
1588
+ }],
1589
+ /**
1590
+ * Border Width Inline
1591
+ * @see https://tailwindcss.com/docs/border-width
1592
+ */
1593
+ "border-w-x": [{
1594
+ "border-x": j()
1595
+ }],
1596
+ /**
1597
+ * Border Width Block
1598
+ * @see https://tailwindcss.com/docs/border-width
1599
+ */
1600
+ "border-w-y": [{
1601
+ "border-y": j()
1602
+ }],
1603
+ /**
1604
+ * Border Width Inline Start
1605
+ * @see https://tailwindcss.com/docs/border-width
1606
+ */
1607
+ "border-w-s": [{
1608
+ "border-s": j()
1609
+ }],
1610
+ /**
1611
+ * Border Width Inline End
1612
+ * @see https://tailwindcss.com/docs/border-width
1613
+ */
1614
+ "border-w-e": [{
1615
+ "border-e": j()
1616
+ }],
1617
+ /**
1618
+ * Border Width Block Start
1619
+ * @see https://tailwindcss.com/docs/border-width
1620
+ */
1621
+ "border-w-bs": [{
1622
+ "border-bs": j()
1623
+ }],
1624
+ /**
1625
+ * Border Width Block End
1626
+ * @see https://tailwindcss.com/docs/border-width
1627
+ */
1628
+ "border-w-be": [{
1629
+ "border-be": j()
1630
+ }],
1631
+ /**
1632
+ * Border Width Top
1633
+ * @see https://tailwindcss.com/docs/border-width
1634
+ */
1635
+ "border-w-t": [{
1636
+ "border-t": j()
1637
+ }],
1638
+ /**
1639
+ * Border Width Right
1640
+ * @see https://tailwindcss.com/docs/border-width
1641
+ */
1642
+ "border-w-r": [{
1643
+ "border-r": j()
1644
+ }],
1645
+ /**
1646
+ * Border Width Bottom
1647
+ * @see https://tailwindcss.com/docs/border-width
1648
+ */
1649
+ "border-w-b": [{
1650
+ "border-b": j()
1651
+ }],
1652
+ /**
1653
+ * Border Width Left
1654
+ * @see https://tailwindcss.com/docs/border-width
1655
+ */
1656
+ "border-w-l": [{
1657
+ "border-l": j()
1658
+ }],
1659
+ /**
1660
+ * Divide Width X
1661
+ * @see https://tailwindcss.com/docs/border-width#between-children
1662
+ */
1663
+ "divide-x": [{
1664
+ "divide-x": j()
1665
+ }],
1666
+ /**
1667
+ * Divide Width X Reverse
1668
+ * @see https://tailwindcss.com/docs/border-width#between-children
1669
+ */
1670
+ "divide-x-reverse": ["divide-x-reverse"],
1671
+ /**
1672
+ * Divide Width Y
1673
+ * @see https://tailwindcss.com/docs/border-width#between-children
1674
+ */
1675
+ "divide-y": [{
1676
+ "divide-y": j()
1677
+ }],
1678
+ /**
1679
+ * Divide Width Y Reverse
1680
+ * @see https://tailwindcss.com/docs/border-width#between-children
1681
+ */
1682
+ "divide-y-reverse": ["divide-y-reverse"],
1683
+ /**
1684
+ * Border Style
1685
+ * @see https://tailwindcss.com/docs/border-style
1686
+ */
1687
+ "border-style": [{
1688
+ border: [...Te(), "hidden", "none"]
1689
+ }],
1690
+ /**
1691
+ * Divide Style
1692
+ * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style
1693
+ */
1694
+ "divide-style": [{
1695
+ divide: [...Te(), "hidden", "none"]
1696
+ }],
1697
+ /**
1698
+ * Border Color
1699
+ * @see https://tailwindcss.com/docs/border-color
1700
+ */
1701
+ "border-color": [{
1702
+ border: m()
1703
+ }],
1704
+ /**
1705
+ * Border Color Inline
1706
+ * @see https://tailwindcss.com/docs/border-color
1707
+ */
1708
+ "border-color-x": [{
1709
+ "border-x": m()
1710
+ }],
1711
+ /**
1712
+ * Border Color Block
1713
+ * @see https://tailwindcss.com/docs/border-color
1714
+ */
1715
+ "border-color-y": [{
1716
+ "border-y": m()
1717
+ }],
1718
+ /**
1719
+ * Border Color Inline Start
1720
+ * @see https://tailwindcss.com/docs/border-color
1721
+ */
1722
+ "border-color-s": [{
1723
+ "border-s": m()
1724
+ }],
1725
+ /**
1726
+ * Border Color Inline End
1727
+ * @see https://tailwindcss.com/docs/border-color
1728
+ */
1729
+ "border-color-e": [{
1730
+ "border-e": m()
1731
+ }],
1732
+ /**
1733
+ * Border Color Block Start
1734
+ * @see https://tailwindcss.com/docs/border-color
1735
+ */
1736
+ "border-color-bs": [{
1737
+ "border-bs": m()
1738
+ }],
1739
+ /**
1740
+ * Border Color Block End
1741
+ * @see https://tailwindcss.com/docs/border-color
1742
+ */
1743
+ "border-color-be": [{
1744
+ "border-be": m()
1745
+ }],
1746
+ /**
1747
+ * Border Color Top
1748
+ * @see https://tailwindcss.com/docs/border-color
1749
+ */
1750
+ "border-color-t": [{
1751
+ "border-t": m()
1752
+ }],
1753
+ /**
1754
+ * Border Color Right
1755
+ * @see https://tailwindcss.com/docs/border-color
1756
+ */
1757
+ "border-color-r": [{
1758
+ "border-r": m()
1759
+ }],
1760
+ /**
1761
+ * Border Color Bottom
1762
+ * @see https://tailwindcss.com/docs/border-color
1763
+ */
1764
+ "border-color-b": [{
1765
+ "border-b": m()
1766
+ }],
1767
+ /**
1768
+ * Border Color Left
1769
+ * @see https://tailwindcss.com/docs/border-color
1770
+ */
1771
+ "border-color-l": [{
1772
+ "border-l": m()
1773
+ }],
1774
+ /**
1775
+ * Divide Color
1776
+ * @see https://tailwindcss.com/docs/divide-color
1777
+ */
1778
+ "divide-color": [{
1779
+ divide: m()
1780
+ }],
1781
+ /**
1782
+ * Outline Style
1783
+ * @see https://tailwindcss.com/docs/outline-style
1784
+ */
1785
+ "outline-style": [{
1786
+ outline: [...Te(), "none", "hidden"]
1787
+ }],
1788
+ /**
1789
+ * Outline Offset
1790
+ * @see https://tailwindcss.com/docs/outline-offset
1791
+ */
1792
+ "outline-offset": [{
1793
+ "outline-offset": [y, u, d]
1794
+ }],
1795
+ /**
1796
+ * Outline Width
1797
+ * @see https://tailwindcss.com/docs/outline-width
1798
+ */
1799
+ "outline-w": [{
1800
+ outline: ["", y, pe, ae]
1801
+ }],
1802
+ /**
1803
+ * Outline Color
1804
+ * @see https://tailwindcss.com/docs/outline-color
1805
+ */
1806
+ "outline-color": [{
1807
+ outline: m()
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
+ p,
1822
+ Ne,
1823
+ Oe
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: m()
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", g, Ne, Oe]
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": m()
1846
+ }],
1847
+ /**
1848
+ * Ring Width
1849
+ * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
1850
+ */
1851
+ "ring-w": [{
1852
+ ring: j()
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: m()
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": [y, ae]
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": m()
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": j()
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": m()
1899
+ }],
1900
+ /**
1901
+ * Text Shadow
1902
+ * @see https://tailwindcss.com/docs/text-shadow
1903
+ */
1904
+ "text-shadow": [{
1905
+ "text-shadow": ["none", k, Ne, Oe]
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": m()
1913
+ }],
1914
+ /**
1915
+ * Opacity
1916
+ * @see https://tailwindcss.com/docs/opacity
1917
+ */
1918
+ opacity: [{
1919
+ opacity: [y, u, d]
1920
+ }],
1921
+ /**
1922
+ * Mix Blend Mode
1923
+ * @see https://tailwindcss.com/docs/mix-blend-mode
1924
+ */
1925
+ "mix-blend": [{
1926
+ "mix-blend": [...Yt(), "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": Yt()
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": [y]
1955
+ }],
1956
+ "mask-image-linear-from-pos": [{
1957
+ "mask-linear-from": R()
1958
+ }],
1959
+ "mask-image-linear-to-pos": [{
1960
+ "mask-linear-to": R()
1961
+ }],
1962
+ "mask-image-linear-from-color": [{
1963
+ "mask-linear-from": m()
1964
+ }],
1965
+ "mask-image-linear-to-color": [{
1966
+ "mask-linear-to": m()
1967
+ }],
1968
+ "mask-image-t-from-pos": [{
1969
+ "mask-t-from": R()
1970
+ }],
1971
+ "mask-image-t-to-pos": [{
1972
+ "mask-t-to": R()
1973
+ }],
1974
+ "mask-image-t-from-color": [{
1975
+ "mask-t-from": m()
1976
+ }],
1977
+ "mask-image-t-to-color": [{
1978
+ "mask-t-to": m()
1979
+ }],
1980
+ "mask-image-r-from-pos": [{
1981
+ "mask-r-from": R()
1982
+ }],
1983
+ "mask-image-r-to-pos": [{
1984
+ "mask-r-to": R()
1985
+ }],
1986
+ "mask-image-r-from-color": [{
1987
+ "mask-r-from": m()
1988
+ }],
1989
+ "mask-image-r-to-color": [{
1990
+ "mask-r-to": m()
1991
+ }],
1992
+ "mask-image-b-from-pos": [{
1993
+ "mask-b-from": R()
1994
+ }],
1995
+ "mask-image-b-to-pos": [{
1996
+ "mask-b-to": R()
1997
+ }],
1998
+ "mask-image-b-from-color": [{
1999
+ "mask-b-from": m()
2000
+ }],
2001
+ "mask-image-b-to-color": [{
2002
+ "mask-b-to": m()
2003
+ }],
2004
+ "mask-image-l-from-pos": [{
2005
+ "mask-l-from": R()
2006
+ }],
2007
+ "mask-image-l-to-pos": [{
2008
+ "mask-l-to": R()
2009
+ }],
2010
+ "mask-image-l-from-color": [{
2011
+ "mask-l-from": m()
2012
+ }],
2013
+ "mask-image-l-to-color": [{
2014
+ "mask-l-to": m()
2015
+ }],
2016
+ "mask-image-x-from-pos": [{
2017
+ "mask-x-from": R()
2018
+ }],
2019
+ "mask-image-x-to-pos": [{
2020
+ "mask-x-to": R()
2021
+ }],
2022
+ "mask-image-x-from-color": [{
2023
+ "mask-x-from": m()
2024
+ }],
2025
+ "mask-image-x-to-color": [{
2026
+ "mask-x-to": m()
2027
+ }],
2028
+ "mask-image-y-from-pos": [{
2029
+ "mask-y-from": R()
2030
+ }],
2031
+ "mask-image-y-to-pos": [{
2032
+ "mask-y-to": R()
2033
+ }],
2034
+ "mask-image-y-from-color": [{
2035
+ "mask-y-from": m()
2036
+ }],
2037
+ "mask-image-y-to-color": [{
2038
+ "mask-y-to": m()
2039
+ }],
2040
+ "mask-image-radial": [{
2041
+ "mask-radial": [u, d]
2042
+ }],
2043
+ "mask-image-radial-from-pos": [{
2044
+ "mask-radial-from": R()
2045
+ }],
2046
+ "mask-image-radial-to-pos": [{
2047
+ "mask-radial-to": R()
2048
+ }],
2049
+ "mask-image-radial-from-color": [{
2050
+ "mask-radial-from": m()
2051
+ }],
2052
+ "mask-image-radial-to-color": [{
2053
+ "mask-radial-to": m()
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": V()
2066
+ }],
2067
+ "mask-image-conic-pos": [{
2068
+ "mask-conic": [y]
2069
+ }],
2070
+ "mask-image-conic-from-pos": [{
2071
+ "mask-conic-from": R()
2072
+ }],
2073
+ "mask-image-conic-to-pos": [{
2074
+ "mask-conic-to": R()
2075
+ }],
2076
+ "mask-image-conic-from-color": [{
2077
+ "mask-conic-from": m()
2078
+ }],
2079
+ "mask-image-conic-to-color": [{
2080
+ "mask-conic-to": m()
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: Vt()
2102
+ }],
2103
+ /**
2104
+ * Mask Repeat
2105
+ * @see https://tailwindcss.com/docs/mask-repeat
2106
+ */
2107
+ "mask-repeat": [{
2108
+ mask: $t()
2109
+ }],
2110
+ /**
2111
+ * Mask Size
2112
+ * @see https://tailwindcss.com/docs/mask-size
2113
+ */
2114
+ "mask-size": [{
2115
+ mask: Qt()
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", u, d]
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
+ u,
2144
+ d
2145
+ ]
2146
+ }],
2147
+ /**
2148
+ * Blur
2149
+ * @see https://tailwindcss.com/docs/blur
2150
+ */
2151
+ blur: [{
2152
+ blur: Jt()
2153
+ }],
2154
+ /**
2155
+ * Brightness
2156
+ * @see https://tailwindcss.com/docs/brightness
2157
+ */
2158
+ brightness: [{
2159
+ brightness: [y, u, d]
2160
+ }],
2161
+ /**
2162
+ * Contrast
2163
+ * @see https://tailwindcss.com/docs/contrast
2164
+ */
2165
+ contrast: [{
2166
+ contrast: [y, u, d]
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
+ E,
2178
+ Ne,
2179
+ Oe
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": m()
2188
+ }],
2189
+ /**
2190
+ * Grayscale
2191
+ * @see https://tailwindcss.com/docs/grayscale
2192
+ */
2193
+ grayscale: [{
2194
+ grayscale: ["", y, u, d]
2195
+ }],
2196
+ /**
2197
+ * Hue Rotate
2198
+ * @see https://tailwindcss.com/docs/hue-rotate
2199
+ */
2200
+ "hue-rotate": [{
2201
+ "hue-rotate": [y, u, d]
2202
+ }],
2203
+ /**
2204
+ * Invert
2205
+ * @see https://tailwindcss.com/docs/invert
2206
+ */
2207
+ invert: [{
2208
+ invert: ["", y, u, d]
2209
+ }],
2210
+ /**
2211
+ * Saturate
2212
+ * @see https://tailwindcss.com/docs/saturate
2213
+ */
2214
+ saturate: [{
2215
+ saturate: [y, u, d]
2216
+ }],
2217
+ /**
2218
+ * Sepia
2219
+ * @see https://tailwindcss.com/docs/sepia
2220
+ */
2221
+ sepia: [{
2222
+ sepia: ["", y, u, d]
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
+ u,
2234
+ d
2235
+ ]
2236
+ }],
2237
+ /**
2238
+ * Backdrop Blur
2239
+ * @see https://tailwindcss.com/docs/backdrop-blur
2240
+ */
2241
+ "backdrop-blur": [{
2242
+ "backdrop-blur": Jt()
2243
+ }],
2244
+ /**
2245
+ * Backdrop Brightness
2246
+ * @see https://tailwindcss.com/docs/backdrop-brightness
2247
+ */
2248
+ "backdrop-brightness": [{
2249
+ "backdrop-brightness": [y, u, d]
2250
+ }],
2251
+ /**
2252
+ * Backdrop Contrast
2253
+ * @see https://tailwindcss.com/docs/backdrop-contrast
2254
+ */
2255
+ "backdrop-contrast": [{
2256
+ "backdrop-contrast": [y, u, d]
2257
+ }],
2258
+ /**
2259
+ * Backdrop Grayscale
2260
+ * @see https://tailwindcss.com/docs/backdrop-grayscale
2261
+ */
2262
+ "backdrop-grayscale": [{
2263
+ "backdrop-grayscale": ["", y, u, d]
2264
+ }],
2265
+ /**
2266
+ * Backdrop Hue Rotate
2267
+ * @see https://tailwindcss.com/docs/backdrop-hue-rotate
2268
+ */
2269
+ "backdrop-hue-rotate": [{
2270
+ "backdrop-hue-rotate": [y, u, d]
2271
+ }],
2272
+ /**
2273
+ * Backdrop Invert
2274
+ * @see https://tailwindcss.com/docs/backdrop-invert
2275
+ */
2276
+ "backdrop-invert": [{
2277
+ "backdrop-invert": ["", y, u, d]
2278
+ }],
2279
+ /**
2280
+ * Backdrop Opacity
2281
+ * @see https://tailwindcss.com/docs/backdrop-opacity
2282
+ */
2283
+ "backdrop-opacity": [{
2284
+ "backdrop-opacity": [y, u, d]
2285
+ }],
2286
+ /**
2287
+ * Backdrop Saturate
2288
+ * @see https://tailwindcss.com/docs/backdrop-saturate
2289
+ */
2290
+ "backdrop-saturate": [{
2291
+ "backdrop-saturate": [y, u, d]
2292
+ }],
2293
+ /**
2294
+ * Backdrop Sepia
2295
+ * @see https://tailwindcss.com/docs/backdrop-sepia
2296
+ */
2297
+ "backdrop-sepia": [{
2298
+ "backdrop-sepia": ["", y, u, d]
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": h()
2316
+ }],
2317
+ /**
2318
+ * Border Spacing X
2319
+ * @see https://tailwindcss.com/docs/border-spacing
2320
+ */
2321
+ "border-spacing-x": [{
2322
+ "border-spacing-x": h()
2323
+ }],
2324
+ /**
2325
+ * Border Spacing Y
2326
+ * @see https://tailwindcss.com/docs/border-spacing
2327
+ */
2328
+ "border-spacing-y": [{
2329
+ "border-spacing-y": h()
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", u, d]
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: [y, "initial", u, d]
2368
+ }],
2369
+ /**
2370
+ * Transition Timing Function
2371
+ * @see https://tailwindcss.com/docs/transition-timing-function
2372
+ */
2373
+ ease: [{
2374
+ ease: ["linear", "initial", N, u, d]
2375
+ }],
2376
+ /**
2377
+ * Transition Delay
2378
+ * @see https://tailwindcss.com/docs/transition-delay
2379
+ */
2380
+ delay: [{
2381
+ delay: [y, u, d]
2382
+ }],
2383
+ /**
2384
+ * Animation
2385
+ * @see https://tailwindcss.com/docs/animation
2386
+ */
2387
+ animate: [{
2388
+ animate: ["none", S, u, d]
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: [v, u, d]
2406
+ }],
2407
+ /**
2408
+ * Perspective Origin
2409
+ * @see https://tailwindcss.com/docs/perspective-origin
2410
+ */
2411
+ "perspective-origin": [{
2412
+ "perspective-origin": A()
2413
+ }],
2414
+ /**
2415
+ * Rotate
2416
+ * @see https://tailwindcss.com/docs/rotate
2417
+ */
2418
+ rotate: [{
2419
+ rotate: Le()
2420
+ }],
2421
+ /**
2422
+ * Rotate X
2423
+ * @see https://tailwindcss.com/docs/rotate
2424
+ */
2425
+ "rotate-x": [{
2426
+ "rotate-x": Le()
2427
+ }],
2428
+ /**
2429
+ * Rotate Y
2430
+ * @see https://tailwindcss.com/docs/rotate
2431
+ */
2432
+ "rotate-y": [{
2433
+ "rotate-y": Le()
2434
+ }],
2435
+ /**
2436
+ * Rotate Z
2437
+ * @see https://tailwindcss.com/docs/rotate
2438
+ */
2439
+ "rotate-z": [{
2440
+ "rotate-z": Le()
2441
+ }],
2442
+ /**
2443
+ * Scale
2444
+ * @see https://tailwindcss.com/docs/scale
2445
+ */
2446
+ scale: [{
2447
+ scale: Ie()
2448
+ }],
2449
+ /**
2450
+ * Scale X
2451
+ * @see https://tailwindcss.com/docs/scale
2452
+ */
2453
+ "scale-x": [{
2454
+ "scale-x": Ie()
2455
+ }],
2456
+ /**
2457
+ * Scale Y
2458
+ * @see https://tailwindcss.com/docs/scale
2459
+ */
2460
+ "scale-y": [{
2461
+ "scale-y": Ie()
2462
+ }],
2463
+ /**
2464
+ * Scale Z
2465
+ * @see https://tailwindcss.com/docs/scale
2466
+ */
2467
+ "scale-z": [{
2468
+ "scale-z": Ie()
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: kt()
2481
+ }],
2482
+ /**
2483
+ * Skew X
2484
+ * @see https://tailwindcss.com/docs/skew
2485
+ */
2486
+ "skew-x": [{
2487
+ "skew-x": kt()
2488
+ }],
2489
+ /**
2490
+ * Skew Y
2491
+ * @see https://tailwindcss.com/docs/skew
2492
+ */
2493
+ "skew-y": [{
2494
+ "skew-y": kt()
2495
+ }],
2496
+ /**
2497
+ * Transform
2498
+ * @see https://tailwindcss.com/docs/transform
2499
+ */
2500
+ transform: [{
2501
+ transform: [u, d, "", "none", "gpu", "cpu"]
2502
+ }],
2503
+ /**
2504
+ * Transform Origin
2505
+ * @see https://tailwindcss.com/docs/transform-origin
2506
+ */
2507
+ "transform-origin": [{
2508
+ origin: A()
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: Re()
2523
+ }],
2524
+ /**
2525
+ * Translate X
2526
+ * @see https://tailwindcss.com/docs/translate
2527
+ */
2528
+ "translate-x": [{
2529
+ "translate-x": Re()
2530
+ }],
2531
+ /**
2532
+ * Translate Y
2533
+ * @see https://tailwindcss.com/docs/translate
2534
+ */
2535
+ "translate-y": [{
2536
+ "translate-y": Re()
2537
+ }],
2538
+ /**
2539
+ * Translate Z
2540
+ * @see https://tailwindcss.com/docs/translate
2541
+ */
2542
+ "translate-z": [{
2543
+ "translate-z": Re()
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: m()
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: m()
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", u, d]
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": h()
2622
+ }],
2623
+ /**
2624
+ * Scroll Margin Inline
2625
+ * @see https://tailwindcss.com/docs/scroll-margin
2626
+ */
2627
+ "scroll-mx": [{
2628
+ "scroll-mx": h()
2629
+ }],
2630
+ /**
2631
+ * Scroll Margin Block
2632
+ * @see https://tailwindcss.com/docs/scroll-margin
2633
+ */
2634
+ "scroll-my": [{
2635
+ "scroll-my": h()
2636
+ }],
2637
+ /**
2638
+ * Scroll Margin Inline Start
2639
+ * @see https://tailwindcss.com/docs/scroll-margin
2640
+ */
2641
+ "scroll-ms": [{
2642
+ "scroll-ms": h()
2643
+ }],
2644
+ /**
2645
+ * Scroll Margin Inline End
2646
+ * @see https://tailwindcss.com/docs/scroll-margin
2647
+ */
2648
+ "scroll-me": [{
2649
+ "scroll-me": h()
2650
+ }],
2651
+ /**
2652
+ * Scroll Margin Block Start
2653
+ * @see https://tailwindcss.com/docs/scroll-margin
2654
+ */
2655
+ "scroll-mbs": [{
2656
+ "scroll-mbs": h()
2657
+ }],
2658
+ /**
2659
+ * Scroll Margin Block End
2660
+ * @see https://tailwindcss.com/docs/scroll-margin
2661
+ */
2662
+ "scroll-mbe": [{
2663
+ "scroll-mbe": h()
2664
+ }],
2665
+ /**
2666
+ * Scroll Margin Top
2667
+ * @see https://tailwindcss.com/docs/scroll-margin
2668
+ */
2669
+ "scroll-mt": [{
2670
+ "scroll-mt": h()
2671
+ }],
2672
+ /**
2673
+ * Scroll Margin Right
2674
+ * @see https://tailwindcss.com/docs/scroll-margin
2675
+ */
2676
+ "scroll-mr": [{
2677
+ "scroll-mr": h()
2678
+ }],
2679
+ /**
2680
+ * Scroll Margin Bottom
2681
+ * @see https://tailwindcss.com/docs/scroll-margin
2682
+ */
2683
+ "scroll-mb": [{
2684
+ "scroll-mb": h()
2685
+ }],
2686
+ /**
2687
+ * Scroll Margin Left
2688
+ * @see https://tailwindcss.com/docs/scroll-margin
2689
+ */
2690
+ "scroll-ml": [{
2691
+ "scroll-ml": h()
2692
+ }],
2693
+ /**
2694
+ * Scroll Padding
2695
+ * @see https://tailwindcss.com/docs/scroll-padding
2696
+ */
2697
+ "scroll-p": [{
2698
+ "scroll-p": h()
2699
+ }],
2700
+ /**
2701
+ * Scroll Padding Inline
2702
+ * @see https://tailwindcss.com/docs/scroll-padding
2703
+ */
2704
+ "scroll-px": [{
2705
+ "scroll-px": h()
2706
+ }],
2707
+ /**
2708
+ * Scroll Padding Block
2709
+ * @see https://tailwindcss.com/docs/scroll-padding
2710
+ */
2711
+ "scroll-py": [{
2712
+ "scroll-py": h()
2713
+ }],
2714
+ /**
2715
+ * Scroll Padding Inline Start
2716
+ * @see https://tailwindcss.com/docs/scroll-padding
2717
+ */
2718
+ "scroll-ps": [{
2719
+ "scroll-ps": h()
2720
+ }],
2721
+ /**
2722
+ * Scroll Padding Inline End
2723
+ * @see https://tailwindcss.com/docs/scroll-padding
2724
+ */
2725
+ "scroll-pe": [{
2726
+ "scroll-pe": h()
2727
+ }],
2728
+ /**
2729
+ * Scroll Padding Block Start
2730
+ * @see https://tailwindcss.com/docs/scroll-padding
2731
+ */
2732
+ "scroll-pbs": [{
2733
+ "scroll-pbs": h()
2734
+ }],
2735
+ /**
2736
+ * Scroll Padding Block End
2737
+ * @see https://tailwindcss.com/docs/scroll-padding
2738
+ */
2739
+ "scroll-pbe": [{
2740
+ "scroll-pbe": h()
2741
+ }],
2742
+ /**
2743
+ * Scroll Padding Top
2744
+ * @see https://tailwindcss.com/docs/scroll-padding
2745
+ */
2746
+ "scroll-pt": [{
2747
+ "scroll-pt": h()
2748
+ }],
2749
+ /**
2750
+ * Scroll Padding Right
2751
+ * @see https://tailwindcss.com/docs/scroll-padding
2752
+ */
2753
+ "scroll-pr": [{
2754
+ "scroll-pr": h()
2755
+ }],
2756
+ /**
2757
+ * Scroll Padding Bottom
2758
+ * @see https://tailwindcss.com/docs/scroll-padding
2759
+ */
2760
+ "scroll-pb": [{
2761
+ "scroll-pb": h()
2762
+ }],
2763
+ /**
2764
+ * Scroll Padding Left
2765
+ * @see https://tailwindcss.com/docs/scroll-padding
2766
+ */
2767
+ "scroll-pl": [{
2768
+ "scroll-pl": h()
2769
+ }],
2770
+ /**
2771
+ * Scroll Snap Align
2772
+ * @see https://tailwindcss.com/docs/scroll-snap-align
2773
+ */
2774
+ "snap-align": [{
2775
+ snap: ["start", "end", "center", "align-none"]
2776
+ }],
2777
+ /**
2778
+ * Scroll Snap Stop
2779
+ * @see https://tailwindcss.com/docs/scroll-snap-stop
2780
+ */
2781
+ "snap-stop": [{
2782
+ snap: ["normal", "always"]
2783
+ }],
2784
+ /**
2785
+ * Scroll Snap Type
2786
+ * @see https://tailwindcss.com/docs/scroll-snap-type
2787
+ */
2788
+ "snap-type": [{
2789
+ snap: ["none", "x", "y", "both"]
2790
+ }],
2791
+ /**
2792
+ * Scroll Snap Type Strictness
2793
+ * @see https://tailwindcss.com/docs/scroll-snap-type
2794
+ */
2795
+ "snap-strictness": [{
2796
+ snap: ["mandatory", "proximity"]
2797
+ }],
2798
+ /**
2799
+ * Touch Action
2800
+ * @see https://tailwindcss.com/docs/touch-action
2801
+ */
2802
+ touch: [{
2803
+ touch: ["auto", "none", "manipulation"]
2804
+ }],
2805
+ /**
2806
+ * Touch Action X
2807
+ * @see https://tailwindcss.com/docs/touch-action
2808
+ */
2809
+ "touch-x": [{
2810
+ "touch-pan": ["x", "left", "right"]
2811
+ }],
2812
+ /**
2813
+ * Touch Action Y
2814
+ * @see https://tailwindcss.com/docs/touch-action
2815
+ */
2816
+ "touch-y": [{
2817
+ "touch-pan": ["y", "up", "down"]
2818
+ }],
2819
+ /**
2820
+ * Touch Action Pinch Zoom
2821
+ * @see https://tailwindcss.com/docs/touch-action
2822
+ */
2823
+ "touch-pz": ["touch-pinch-zoom"],
2824
+ /**
2825
+ * User Select
2826
+ * @see https://tailwindcss.com/docs/user-select
2827
+ */
2828
+ select: [{
2829
+ select: ["none", "text", "all", "auto"]
2830
+ }],
2831
+ /**
2832
+ * Will Change
2833
+ * @see https://tailwindcss.com/docs/will-change
2834
+ */
2835
+ "will-change": [{
2836
+ "will-change": ["auto", "scroll", "contents", "transform", u, d]
2837
+ }],
2838
+ // -----------
2839
+ // --- SVG ---
2840
+ // -----------
2841
+ /**
2842
+ * Fill
2843
+ * @see https://tailwindcss.com/docs/fill
2844
+ */
2845
+ fill: [{
2846
+ fill: ["none", ...m()]
2847
+ }],
2848
+ /**
2849
+ * Stroke Width
2850
+ * @see https://tailwindcss.com/docs/stroke-width
2851
+ */
2852
+ "stroke-w": [{
2853
+ stroke: [y, pe, ae, tn]
2854
+ }],
2855
+ /**
2856
+ * Stroke
2857
+ * @see https://tailwindcss.com/docs/stroke
2858
+ */
2859
+ stroke: [{
2860
+ stroke: ["none", ...m()]
2861
+ }],
2862
+ // ---------------------
2863
+ // --- Accessibility ---
2864
+ // ---------------------
2865
+ /**
2866
+ * Forced Color Adjust
2867
+ * @see https://tailwindcss.com/docs/forced-color-adjust
2868
+ */
2869
+ "forced-color-adjust": [{
2870
+ "forced-color-adjust": ["auto", "none"]
2871
+ }]
2872
+ },
2873
+ conflictingClassGroups: {
2874
+ overflow: ["overflow-x", "overflow-y"],
2875
+ overscroll: ["overscroll-x", "overscroll-y"],
2876
+ inset: ["inset-x", "inset-y", "inset-bs", "inset-be", "start", "end", "top", "right", "bottom", "left"],
2877
+ "inset-x": ["right", "left"],
2878
+ "inset-y": ["top", "bottom"],
2879
+ flex: ["basis", "grow", "shrink"],
2880
+ gap: ["gap-x", "gap-y"],
2881
+ p: ["px", "py", "ps", "pe", "pbs", "pbe", "pt", "pr", "pb", "pl"],
2882
+ px: ["pr", "pl"],
2883
+ py: ["pt", "pb"],
2884
+ m: ["mx", "my", "ms", "me", "mbs", "mbe", "mt", "mr", "mb", "ml"],
2885
+ mx: ["mr", "ml"],
2886
+ my: ["mt", "mb"],
2887
+ size: ["w", "h"],
2888
+ "font-size": ["leading"],
2889
+ "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
2890
+ "fvn-ordinal": ["fvn-normal"],
2891
+ "fvn-slashed-zero": ["fvn-normal"],
2892
+ "fvn-figure": ["fvn-normal"],
2893
+ "fvn-spacing": ["fvn-normal"],
2894
+ "fvn-fraction": ["fvn-normal"],
2895
+ "line-clamp": ["display", "overflow"],
2896
+ 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"],
2897
+ "rounded-s": ["rounded-ss", "rounded-es"],
2898
+ "rounded-e": ["rounded-se", "rounded-ee"],
2899
+ "rounded-t": ["rounded-tl", "rounded-tr"],
2900
+ "rounded-r": ["rounded-tr", "rounded-br"],
2901
+ "rounded-b": ["rounded-br", "rounded-bl"],
2902
+ "rounded-l": ["rounded-tl", "rounded-bl"],
2903
+ "border-spacing": ["border-spacing-x", "border-spacing-y"],
2904
+ "border-w": ["border-w-x", "border-w-y", "border-w-s", "border-w-e", "border-w-bs", "border-w-be", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
2905
+ "border-w-x": ["border-w-r", "border-w-l"],
2906
+ "border-w-y": ["border-w-t", "border-w-b"],
2907
+ "border-color": ["border-color-x", "border-color-y", "border-color-s", "border-color-e", "border-color-bs", "border-color-be", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
2908
+ "border-color-x": ["border-color-r", "border-color-l"],
2909
+ "border-color-y": ["border-color-t", "border-color-b"],
2910
+ translate: ["translate-x", "translate-y", "translate-none"],
2911
+ "translate-none": ["translate", "translate-x", "translate-y", "translate-z"],
2912
+ "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mbs", "scroll-mbe", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
2913
+ "scroll-mx": ["scroll-mr", "scroll-ml"],
2914
+ "scroll-my": ["scroll-mt", "scroll-mb"],
2915
+ "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pbs", "scroll-pbe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
2916
+ "scroll-px": ["scroll-pr", "scroll-pl"],
2917
+ "scroll-py": ["scroll-pt", "scroll-pb"],
2918
+ touch: ["touch-x", "touch-y", "touch-pz"],
2919
+ "touch-x": ["touch"],
2920
+ "touch-y": ["touch"],
2921
+ "touch-pz": ["touch"]
2922
+ },
2923
+ conflictingClassGroupModifiers: {
2924
+ "font-size": ["leading"]
2925
+ },
2926
+ orderSensitiveModifiers: ["*", "**", "after", "backdrop", "before", "details-content", "file", "first-letter", "first-line", "marker", "placeholder", "selection"]
2927
+ };
2928
+ }, Lr = (e, {
2929
+ cacheSize: n,
2930
+ prefix: t,
2931
+ experimentalParseClassName: r,
2932
+ extend: o = {},
2933
+ override: s = {}
2934
+ }) => (be(e, "cacheSize", n), be(e, "prefix", t), be(e, "experimentalParseClassName", r), Pe(e.theme, s.theme), Pe(e.classGroups, s.classGroups), Pe(e.conflictingClassGroups, s.conflictingClassGroups), Pe(e.conflictingClassGroupModifiers, s.conflictingClassGroupModifiers), be(e, "orderSensitiveModifiers", s.orderSensitiveModifiers), ze(e.theme, o.theme), ze(e.classGroups, o.classGroups), ze(e.conflictingClassGroups, o.conflictingClassGroups), ze(e.conflictingClassGroupModifiers, o.conflictingClassGroupModifiers), Rn(e, o, "orderSensitiveModifiers"), e), be = (e, n, t) => {
2935
+ t !== void 0 && (e[n] = t);
2936
+ }, Pe = (e, n) => {
2937
+ if (n)
2938
+ for (const t in n)
2939
+ be(e, t, n[t]);
2940
+ }, ze = (e, n) => {
2941
+ if (n)
2942
+ for (const t in n)
2943
+ Rn(e, n, t);
2944
+ }, Rn = (e, n, t) => {
2945
+ const r = n[t];
2946
+ r !== void 0 && (e[t] = e[t] ? e[t].concat(r) : r);
2947
+ }, Qr = (e, ...n) => typeof e == "function" ? en(on, e, ...n) : en(() => Lr(on(), e), ...n);
2948
+ var sn = function() {
2949
+ return sn = Object.assign || function(n) {
2950
+ for (var t, r = 1, o = arguments.length; r < o; r++) {
2951
+ t = arguments[r];
2952
+ for (var s in t) Object.prototype.hasOwnProperty.call(t, s) && (n[s] = t[s]);
2953
+ }
2954
+ return n;
2955
+ }, sn.apply(this, arguments);
2956
+ };
2957
+ function Yr(e, n) {
2958
+ var t = {};
2959
+ for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && n.indexOf(r) < 0 && (t[r] = e[r]);
2960
+ if (e != null && typeof Object.getOwnPropertySymbols == "function")
2961
+ for (var o = 0, r = Object.getOwnPropertySymbols(e); o < r.length; o++)
2962
+ n.indexOf(r[o]) < 0 && Object.prototype.propertyIsEnumerable.call(e, r[o]) && (t[r[o]] = e[r[o]]);
2963
+ return t;
2964
+ }
2965
+ function Jr(e, n, t) {
2966
+ if (t || arguments.length === 2) for (var r = 0, o = n.length, s; r < o; r++)
2967
+ (s || !(r in n)) && (s || (s = Array.prototype.slice.call(n, 0, r)), s[r] = n[r]);
2968
+ return e.concat(s || Array.prototype.slice.call(n));
2969
+ }
2970
+ const an = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, ln = Fn, qr = (e, n) => (t) => {
2971
+ var r;
2972
+ if ((n == null ? void 0 : n.variants) == null) return ln(e, t == null ? void 0 : t.class, t == null ? void 0 : t.className);
2973
+ const { variants: o, defaultVariants: s } = n, i = Object.keys(o).map((f) => {
2974
+ const p = t == null ? void 0 : t[f], g = s == null ? void 0 : s[f];
2975
+ if (p === null) return null;
2976
+ const k = an(p) || an(g);
2977
+ return o[f][k];
2978
+ }), a = t && Object.entries(t).reduce((f, p) => {
2979
+ let [g, k] = p;
2980
+ return k === void 0 || (f[g] = k), f;
2981
+ }, {}), c = n == null || (r = n.compoundVariants) === null || r === void 0 ? void 0 : r.reduce((f, p) => {
2982
+ let { class: g, className: k, ...E } = p;
2983
+ return Object.entries(E).every((L) => {
2984
+ let [v, w] = L;
2985
+ return Array.isArray(w) ? w.includes({
2986
+ ...s,
2987
+ ...a
2988
+ }[v]) : {
2989
+ ...s,
2990
+ ...a
2991
+ }[v] === w;
2992
+ }) ? [
2993
+ ...f,
2994
+ g,
2995
+ k
2996
+ ] : f;
2997
+ }, []);
2998
+ return ln(e, i, c, t == null ? void 0 : t.class, t == null ? void 0 : t.className);
2999
+ };
3000
+ function D(e) {
3001
+ this.content = e;
3002
+ }
3003
+ D.prototype = {
3004
+ constructor: D,
3005
+ find: function(e) {
3006
+ for (var n = 0; n < this.content.length; n += 2)
3007
+ if (this.content[n] === e) return n;
3008
+ return -1;
3009
+ },
3010
+ // :: (string) → ?any
3011
+ // Retrieve the value stored under `key`, or return undefined when
3012
+ // no such key exists.
3013
+ get: function(e) {
3014
+ var n = this.find(e);
3015
+ return n == -1 ? void 0 : this.content[n + 1];
3016
+ },
3017
+ // :: (string, any, ?string) → OrderedMap
3018
+ // Create a new map by replacing the value of `key` with a new
3019
+ // value, or adding a binding to the end of the map. If `newKey` is
3020
+ // given, the key of the binding will be replaced with that key.
3021
+ update: function(e, n, t) {
3022
+ var r = t && t != e ? this.remove(t) : this, o = r.find(e), s = r.content.slice();
3023
+ return o == -1 ? s.push(t || e, n) : (s[o + 1] = n, t && (s[o] = t)), new D(s);
3024
+ },
3025
+ // :: (string) → OrderedMap
3026
+ // Return a map with the given key removed, if it existed.
3027
+ remove: function(e) {
3028
+ var n = this.find(e);
3029
+ if (n == -1) return this;
3030
+ var t = this.content.slice();
3031
+ return t.splice(n, 2), new D(t);
3032
+ },
3033
+ // :: (string, any) → OrderedMap
3034
+ // Add a new key to the start of the map.
3035
+ addToStart: function(e, n) {
3036
+ return new D([e, n].concat(this.remove(e).content));
3037
+ },
3038
+ // :: (string, any) → OrderedMap
3039
+ // Add a new key to the end of the map.
3040
+ addToEnd: function(e, n) {
3041
+ var t = this.remove(e).content.slice();
3042
+ return t.push(e, n), new D(t);
3043
+ },
3044
+ // :: (string, string, any) → OrderedMap
3045
+ // Add a key after the given key. If `place` is not found, the new
3046
+ // key is added to the end.
3047
+ addBefore: function(e, n, t) {
3048
+ var r = this.remove(n), o = r.content.slice(), s = r.find(e);
3049
+ return o.splice(s == -1 ? o.length : s, 0, n, t), new D(o);
3050
+ },
3051
+ // :: ((key: string, value: any))
3052
+ // Call the given function for each key/value pair in the map, in
3053
+ // order.
3054
+ forEach: function(e) {
3055
+ for (var n = 0; n < this.content.length; n += 2)
3056
+ e(this.content[n], this.content[n + 1]);
3057
+ },
3058
+ // :: (union<Object, OrderedMap>) → OrderedMap
3059
+ // Create a new map by prepending the keys in this map that don't
3060
+ // appear in `map` before the keys in `map`.
3061
+ prepend: function(e) {
3062
+ return e = D.from(e), e.size ? new D(e.content.concat(this.subtract(e).content)) : this;
3063
+ },
3064
+ // :: (union<Object, OrderedMap>) → OrderedMap
3065
+ // Create a new map by appending the keys in this map that don't
3066
+ // appear in `map` after the keys in `map`.
3067
+ append: function(e) {
3068
+ return e = D.from(e), e.size ? new D(this.subtract(e).content.concat(e.content)) : this;
3069
+ },
3070
+ // :: (union<Object, OrderedMap>) → OrderedMap
3071
+ // Create a map containing all the keys in this map that don't
3072
+ // appear in `map`.
3073
+ subtract: function(e) {
3074
+ var n = this;
3075
+ e = D.from(e);
3076
+ for (var t = 0; t < e.content.length; t += 2)
3077
+ n = n.remove(e.content[t]);
3078
+ return n;
3079
+ },
3080
+ // :: () → Object
3081
+ // Turn ordered map into a plain object.
3082
+ toObject: function() {
3083
+ var e = {};
3084
+ return this.forEach(function(n, t) {
3085
+ e[n] = t;
3086
+ }), e;
3087
+ },
3088
+ // :: number
3089
+ // The amount of keys in this map.
3090
+ get size() {
3091
+ return this.content.length >> 1;
3092
+ }
3093
+ };
3094
+ D.from = function(e) {
3095
+ if (e instanceof D) return e;
3096
+ var n = [];
3097
+ if (e) for (var t in e) n.push(t, e[t]);
3098
+ return new D(n);
3099
+ };
3100
+ var ce = {
3101
+ 8: "Backspace",
3102
+ 9: "Tab",
3103
+ 10: "Enter",
3104
+ 12: "NumLock",
3105
+ 13: "Enter",
3106
+ 16: "Shift",
3107
+ 17: "Control",
3108
+ 18: "Alt",
3109
+ 20: "CapsLock",
3110
+ 27: "Escape",
3111
+ 32: " ",
3112
+ 33: "PageUp",
3113
+ 34: "PageDown",
3114
+ 35: "End",
3115
+ 36: "Home",
3116
+ 37: "ArrowLeft",
3117
+ 38: "ArrowUp",
3118
+ 39: "ArrowRight",
3119
+ 40: "ArrowDown",
3120
+ 44: "PrintScreen",
3121
+ 45: "Insert",
3122
+ 46: "Delete",
3123
+ 59: ";",
3124
+ 61: "=",
3125
+ 91: "Meta",
3126
+ 92: "Meta",
3127
+ 106: "*",
3128
+ 107: "+",
3129
+ 108: ",",
3130
+ 109: "-",
3131
+ 110: ".",
3132
+ 111: "/",
3133
+ 144: "NumLock",
3134
+ 145: "ScrollLock",
3135
+ 160: "Shift",
3136
+ 161: "Shift",
3137
+ 162: "Control",
3138
+ 163: "Control",
3139
+ 164: "Alt",
3140
+ 165: "Alt",
3141
+ 173: "-",
3142
+ 186: ";",
3143
+ 187: "=",
3144
+ 188: ",",
3145
+ 189: "-",
3146
+ 190: ".",
3147
+ 191: "/",
3148
+ 192: "`",
3149
+ 219: "[",
3150
+ 220: "\\",
3151
+ 221: "]",
3152
+ 222: "'"
3153
+ }, Ge = {
3154
+ 48: ")",
3155
+ 49: "!",
3156
+ 50: "@",
3157
+ 51: "#",
3158
+ 52: "$",
3159
+ 53: "%",
3160
+ 54: "^",
3161
+ 55: "&",
3162
+ 56: "*",
3163
+ 57: "(",
3164
+ 59: ":",
3165
+ 61: "+",
3166
+ 173: "_",
3167
+ 186: ":",
3168
+ 187: "+",
3169
+ 188: "<",
3170
+ 189: "_",
3171
+ 190: ">",
3172
+ 191: "?",
3173
+ 192: "~",
3174
+ 219: "{",
3175
+ 220: "|",
3176
+ 221: "}",
3177
+ 222: '"'
3178
+ }, Ir = typeof navigator < "u" && /Mac/.test(navigator.platform), Rr = typeof navigator < "u" && /MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);
3179
+ for (var O = 0; O < 10; O++) ce[48 + O] = ce[96 + O] = String(O);
3180
+ for (var O = 1; O <= 24; O++) ce[O + 111] = "F" + O;
3181
+ for (var O = 65; O <= 90; O++)
3182
+ ce[O] = String.fromCharCode(O + 32), Ge[O] = String.fromCharCode(O);
3183
+ for (var vt in ce) Ge.hasOwnProperty(vt) || (Ge[vt] = ce[vt]);
3184
+ function Xr(e) {
3185
+ var n = Ir && e.metaKey && e.shiftKey && !e.ctrlKey && !e.altKey || Rr && e.shiftKey && e.key && e.key.length == 1 || e.key == "Unidentified", t = !n && e.key || (e.shiftKey ? Ge : ce)[e.keyCode] || e.key || "Unidentified";
3186
+ return t == "Esc" && (t = "Escape"), t == "Del" && (t = "Delete"), t == "Left" && (t = "ArrowLeft"), t == "Up" && (t = "ArrowUp"), t == "Right" && (t = "ArrowRight"), t == "Down" && (t = "ArrowDown"), t;
3187
+ }
3188
+ var Fe = 200, P = function() {
3189
+ };
3190
+ P.prototype.append = function(n) {
3191
+ return n.length ? (n = P.from(n), !this.length && n || n.length < Fe && this.leafAppend(n) || this.length < Fe && n.leafPrepend(this) || this.appendInner(n)) : this;
3192
+ };
3193
+ P.prototype.prepend = function(n) {
3194
+ return n.length ? P.from(n).append(this) : this;
3195
+ };
3196
+ P.prototype.appendInner = function(n) {
3197
+ return new Or(this, n);
3198
+ };
3199
+ P.prototype.slice = function(n, t) {
3200
+ return n === void 0 && (n = 0), t === void 0 && (t = this.length), n >= t ? P.empty : this.sliceInner(Math.max(0, n), Math.min(this.length, t));
3201
+ };
3202
+ P.prototype.get = function(n) {
3203
+ if (!(n < 0 || n >= this.length))
3204
+ return this.getInner(n);
3205
+ };
3206
+ P.prototype.forEach = function(n, t, r) {
3207
+ t === void 0 && (t = 0), r === void 0 && (r = this.length), t <= r ? this.forEachInner(n, t, r, 0) : this.forEachInvertedInner(n, t, r, 0);
3208
+ };
3209
+ P.prototype.map = function(n, t, r) {
3210
+ t === void 0 && (t = 0), r === void 0 && (r = this.length);
3211
+ var o = [];
3212
+ return this.forEach(function(s, i) {
3213
+ return o.push(n(s, i));
3214
+ }, t, r), o;
3215
+ };
3216
+ P.from = function(n) {
3217
+ return n instanceof P ? n : n && n.length ? new On(n) : P.empty;
3218
+ };
3219
+ var On = /* @__PURE__ */ function(e) {
3220
+ function n(r) {
3221
+ e.call(this), this.values = r;
3222
+ }
3223
+ e && (n.__proto__ = e), n.prototype = Object.create(e && e.prototype), n.prototype.constructor = n;
3224
+ var t = { length: { configurable: !0 }, depth: { configurable: !0 } };
3225
+ return n.prototype.flatten = function() {
3226
+ return this.values;
3227
+ }, n.prototype.sliceInner = function(o, s) {
3228
+ return o == 0 && s == this.length ? this : new n(this.values.slice(o, s));
3229
+ }, n.prototype.getInner = function(o) {
3230
+ return this.values[o];
3231
+ }, n.prototype.forEachInner = function(o, s, i, a) {
3232
+ for (var c = s; c < i; c++)
3233
+ if (o(this.values[c], a + c) === !1)
3234
+ return !1;
3235
+ }, n.prototype.forEachInvertedInner = function(o, s, i, a) {
3236
+ for (var c = s - 1; c >= i; c--)
3237
+ if (o(this.values[c], a + c) === !1)
3238
+ return !1;
3239
+ }, n.prototype.leafAppend = function(o) {
3240
+ if (this.length + o.length <= Fe)
3241
+ return new n(this.values.concat(o.flatten()));
3242
+ }, n.prototype.leafPrepend = function(o) {
3243
+ if (this.length + o.length <= Fe)
3244
+ return new n(o.flatten().concat(this.values));
3245
+ }, t.length.get = function() {
3246
+ return this.values.length;
3247
+ }, t.depth.get = function() {
3248
+ return 0;
3249
+ }, Object.defineProperties(n.prototype, t), n;
3250
+ }(P);
3251
+ P.empty = new On([]);
3252
+ var Or = /* @__PURE__ */ function(e) {
3253
+ function n(t, r) {
3254
+ e.call(this), this.left = t, this.right = r, this.length = t.length + r.length, this.depth = Math.max(t.depth, r.depth) + 1;
3255
+ }
3256
+ return e && (n.__proto__ = e), n.prototype = Object.create(e && e.prototype), n.prototype.constructor = n, n.prototype.flatten = function() {
3257
+ return this.left.flatten().concat(this.right.flatten());
3258
+ }, n.prototype.getInner = function(r) {
3259
+ return r < this.left.length ? this.left.get(r) : this.right.get(r - this.left.length);
3260
+ }, n.prototype.forEachInner = function(r, o, s, i) {
3261
+ var a = this.left.length;
3262
+ if (o < a && this.left.forEachInner(r, o, Math.min(s, a), i) === !1 || s > a && this.right.forEachInner(r, Math.max(o - a, 0), Math.min(this.length, s) - a, i + a) === !1)
3263
+ return !1;
3264
+ }, n.prototype.forEachInvertedInner = function(r, o, s, i) {
3265
+ var a = this.left.length;
3266
+ if (o > a && this.right.forEachInvertedInner(r, o - a, Math.max(s, a) - a, i + a) === !1 || s < a && this.left.forEachInvertedInner(r, Math.min(o, a), s, i) === !1)
3267
+ return !1;
3268
+ }, n.prototype.sliceInner = function(r, o) {
3269
+ if (r == 0 && o == this.length)
3270
+ return this;
3271
+ var s = this.left.length;
3272
+ return o <= s ? this.left.slice(r, o) : r >= s ? this.right.slice(r - s, o - s) : this.left.slice(r, s).append(this.right.slice(0, o - s));
3273
+ }, n.prototype.leafAppend = function(r) {
3274
+ var o = this.right.leafAppend(r);
3275
+ if (o)
3276
+ return new n(this.left, o);
3277
+ }, n.prototype.leafPrepend = function(r) {
3278
+ var o = this.left.leafPrepend(r);
3279
+ if (o)
3280
+ return new n(o, this.right);
3281
+ }, n.prototype.appendInner = function(r) {
3282
+ return this.left.depth >= Math.max(this.right.depth, r.depth) + 1 ? new n(this.left, new n(this.right, r)) : new n(this, r);
3283
+ }, n;
3284
+ }(P);
3285
+ const Nr = "aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4w0s2x0a2z0ure5ba0by2idu3namex4d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dad1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3nd0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0axi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp3ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2", Pr = "ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2", It = "numeric", Rt = "ascii", Ot = "alpha", ke = "asciinumeric", ye = "alphanumeric", Nt = "domain", Nn = "emoji", zr = "scheme", Mr = "slashscheme", Et = "whitespace";
3286
+ function jr(e, n) {
3287
+ return e in n || (n[e] = []), n[e];
3288
+ }
3289
+ function le(e, n, t) {
3290
+ n[It] && (n[ke] = !0, n[ye] = !0), n[Rt] && (n[ke] = !0, n[Ot] = !0), n[ke] && (n[ye] = !0), n[Ot] && (n[ye] = !0), n[ye] && (n[Nt] = !0), n[Nn] && (n[Nt] = !0);
3291
+ for (const r in n) {
3292
+ const o = jr(r, t);
3293
+ o.indexOf(e) < 0 && o.push(e);
3294
+ }
3295
+ }
3296
+ function Dr(e, n) {
3297
+ const t = {};
3298
+ for (const r in n)
3299
+ n[r].indexOf(e) >= 0 && (t[r] = !0);
3300
+ return t;
3301
+ }
3302
+ function H(e = null) {
3303
+ this.j = {}, this.jr = [], this.jd = null, this.t = e;
3304
+ }
3305
+ H.groups = {};
3306
+ H.prototype = {
3307
+ accepts() {
3308
+ return !!this.t;
3309
+ },
3310
+ /**
3311
+ * Follow an existing transition from the given input to the next state.
3312
+ * Does not mutate.
3313
+ * @param {string} input character or token type to transition on
3314
+ * @returns {?State<T>} the next state, if any
3315
+ */
3316
+ go(e) {
3317
+ const n = this, t = n.j[e];
3318
+ if (t)
3319
+ return t;
3320
+ for (let r = 0; r < n.jr.length; r++) {
3321
+ const o = n.jr[r][0], s = n.jr[r][1];
3322
+ if (s && o.test(e))
3323
+ return s;
3324
+ }
3325
+ return n.jd;
3326
+ },
3327
+ /**
3328
+ * Whether the state has a transition for the given input. Set the second
3329
+ * argument to true to only look for an exact match (and not a default or
3330
+ * regular-expression-based transition)
3331
+ * @param {string} input
3332
+ * @param {boolean} exactOnly
3333
+ */
3334
+ has(e, n = !1) {
3335
+ return n ? e in this.j : !!this.go(e);
3336
+ },
3337
+ /**
3338
+ * Short for "transition all"; create a transition from the array of items
3339
+ * in the given list to the same final resulting state.
3340
+ * @param {string | string[]} inputs Group of inputs to transition on
3341
+ * @param {Transition<T> | State<T>} [next] Transition options
3342
+ * @param {Flags} [flags] Collections flags to add token to
3343
+ * @param {Collections<T>} [groups] Master list of token groups
3344
+ */
3345
+ ta(e, n, t, r) {
3346
+ for (let o = 0; o < e.length; o++)
3347
+ this.tt(e[o], n, t, r);
3348
+ },
3349
+ /**
3350
+ * Short for "take regexp transition"; defines a transition for this state
3351
+ * when it encounters a token which matches the given regular expression
3352
+ * @param {RegExp} regexp Regular expression transition (populate first)
3353
+ * @param {T | State<T>} [next] Transition options
3354
+ * @param {Flags} [flags] Collections flags to add token to
3355
+ * @param {Collections<T>} [groups] Master list of token groups
3356
+ * @returns {State<T>} taken after the given input
3357
+ */
3358
+ tr(e, n, t, r) {
3359
+ r = r || H.groups;
3360
+ let o;
3361
+ return n && n.j ? o = n : (o = new H(n), t && r && le(n, t, r)), this.jr.push([e, o]), o;
3362
+ },
3363
+ /**
3364
+ * Short for "take transitions", will take as many sequential transitions as
3365
+ * the length of the given input and returns the
3366
+ * resulting final state.
3367
+ * @param {string | string[]} input
3368
+ * @param {T | State<T>} [next] Transition options
3369
+ * @param {Flags} [flags] Collections flags to add token to
3370
+ * @param {Collections<T>} [groups] Master list of token groups
3371
+ * @returns {State<T>} taken after the given input
3372
+ */
3373
+ ts(e, n, t, r) {
3374
+ let o = this;
3375
+ const s = e.length;
3376
+ if (!s)
3377
+ return o;
3378
+ for (let i = 0; i < s - 1; i++)
3379
+ o = o.tt(e[i]);
3380
+ return o.tt(e[s - 1], n, t, r);
3381
+ },
3382
+ /**
3383
+ * Short for "take transition", this is a method for building/working with
3384
+ * state machines.
3385
+ *
3386
+ * If a state already exists for the given input, returns it.
3387
+ *
3388
+ * If a token is specified, that state will emit that token when reached by
3389
+ * the linkify engine.
3390
+ *
3391
+ * If no state exists, it will be initialized with some default transitions
3392
+ * that resemble existing default transitions.
3393
+ *
3394
+ * If a state is given for the second argument, that state will be
3395
+ * transitioned to on the given input regardless of what that input
3396
+ * previously did.
3397
+ *
3398
+ * Specify a token group flags to define groups that this token belongs to.
3399
+ * The token will be added to corresponding entires in the given groups
3400
+ * object.
3401
+ *
3402
+ * @param {string} input character, token type to transition on
3403
+ * @param {T | State<T>} [next] Transition options
3404
+ * @param {Flags} [flags] Collections flags to add token to
3405
+ * @param {Collections<T>} [groups] Master list of groups
3406
+ * @returns {State<T>} taken after the given input
3407
+ */
3408
+ tt(e, n, t, r) {
3409
+ r = r || H.groups;
3410
+ const o = this;
3411
+ if (n && n.j)
3412
+ return o.j[e] = n, n;
3413
+ const s = n;
3414
+ let i, a = o.go(e);
3415
+ if (a ? (i = new H(), Object.assign(i.j, a.j), i.jr.push.apply(i.jr, a.jr), i.jd = a.jd, i.t = a.t) : i = new H(), s) {
3416
+ if (r)
3417
+ if (i.t && typeof i.t == "string") {
3418
+ const c = Object.assign(Dr(i.t, r), t);
3419
+ le(s, c, r);
3420
+ } else t && le(s, t, r);
3421
+ i.t = s;
3422
+ }
3423
+ return o.j[e] = i, i;
3424
+ }
3425
+ };
3426
+ const b = (e, n, t, r, o) => e.ta(n, t, r, o), C = (e, n, t, r, o) => e.tr(n, t, r, o), cn = (e, n, t, r, o) => e.ts(n, t, r, o), l = (e, n, t, r, o) => e.tt(n, t, r, o), q = "WORD", Pt = "UWORD", Pn = "ASCIINUMERICAL", zn = "ALPHANUMERICAL", Ce = "LOCALHOST", zt = "TLD", Mt = "UTLD", He = "SCHEME", fe = "SLASH_SCHEME", Ut = "NUM", jt = "WS", Gt = "NL", we = "OPENBRACE", ve = "CLOSEBRACE", Be = "OPENBRACKET", We = "CLOSEBRACKET", _e = "OPENPAREN", Ke = "CLOSEPAREN", Ve = "OPENANGLEBRACKET", $e = "CLOSEANGLEBRACKET", Qe = "FULLWIDTHLEFTPAREN", Ye = "FULLWIDTHRIGHTPAREN", Je = "LEFTCORNERBRACKET", qe = "RIGHTCORNERBRACKET", Xe = "LEFTWHITECORNERBRACKET", Ze = "RIGHTWHITECORNERBRACKET", et = "FULLWIDTHLESSTHAN", tt = "FULLWIDTHGREATERTHAN", nt = "AMPERSAND", rt = "APOSTROPHE", ot = "ASTERISK", ne = "AT", st = "BACKSLASH", it = "BACKTICK", at = "CARET", re = "COLON", Ft = "COMMA", lt = "DOLLAR", _ = "DOT", ct = "EQUALS", Bt = "EXCLAMATION", B = "HYPHEN", Ee = "PERCENT", dt = "PIPE", ut = "PLUS", ft = "POUND", xe = "QUERY", Wt = "QUOTE", Mn = "FULLWIDTHMIDDLEDOT", _t = "SEMI", K = "SLASH", Ae = "TILDE", ht = "UNDERSCORE", jn = "EMOJI", mt = "SYM";
3427
+ var Dn = /* @__PURE__ */ Object.freeze({
3428
+ __proto__: null,
3429
+ ALPHANUMERICAL: zn,
3430
+ AMPERSAND: nt,
3431
+ APOSTROPHE: rt,
3432
+ ASCIINUMERICAL: Pn,
3433
+ ASTERISK: ot,
3434
+ AT: ne,
3435
+ BACKSLASH: st,
3436
+ BACKTICK: it,
3437
+ CARET: at,
3438
+ CLOSEANGLEBRACKET: $e,
3439
+ CLOSEBRACE: ve,
3440
+ CLOSEBRACKET: We,
3441
+ CLOSEPAREN: Ke,
3442
+ COLON: re,
3443
+ COMMA: Ft,
3444
+ DOLLAR: lt,
3445
+ DOT: _,
3446
+ EMOJI: jn,
3447
+ EQUALS: ct,
3448
+ EXCLAMATION: Bt,
3449
+ FULLWIDTHGREATERTHAN: tt,
3450
+ FULLWIDTHLEFTPAREN: Qe,
3451
+ FULLWIDTHLESSTHAN: et,
3452
+ FULLWIDTHMIDDLEDOT: Mn,
3453
+ FULLWIDTHRIGHTPAREN: Ye,
3454
+ HYPHEN: B,
3455
+ LEFTCORNERBRACKET: Je,
3456
+ LEFTWHITECORNERBRACKET: Xe,
3457
+ LOCALHOST: Ce,
3458
+ NL: Gt,
3459
+ NUM: Ut,
3460
+ OPENANGLEBRACKET: Ve,
3461
+ OPENBRACE: we,
3462
+ OPENBRACKET: Be,
3463
+ OPENPAREN: _e,
3464
+ PERCENT: Ee,
3465
+ PIPE: dt,
3466
+ PLUS: ut,
3467
+ POUND: ft,
3468
+ QUERY: xe,
3469
+ QUOTE: Wt,
3470
+ RIGHTCORNERBRACKET: qe,
3471
+ RIGHTWHITECORNERBRACKET: Ze,
3472
+ SCHEME: He,
3473
+ SEMI: _t,
3474
+ SLASH: K,
3475
+ SLASH_SCHEME: fe,
3476
+ SYM: mt,
3477
+ TILDE: Ae,
3478
+ TLD: zt,
3479
+ UNDERSCORE: ht,
3480
+ UTLD: Mt,
3481
+ UWORD: Pt,
3482
+ WORD: q,
3483
+ WS: jt
3484
+ });
3485
+ const Y = /[a-z]/, ge = new RegExp("\\p{L}", "u"), xt = new RegExp("\\p{Emoji}", "u"), J = /\d/, At = /\s/, dn = "\r", Ct = `
3486
+ `, Hr = "️", Ur = "‍", St = "";
3487
+ let Me = null, je = null;
3488
+ function Gr(e = []) {
3489
+ const n = {};
3490
+ H.groups = n;
3491
+ const t = new H();
3492
+ Me == null && (Me = un(Nr)), je == null && (je = un(Pr)), l(t, "'", rt), l(t, "{", we), l(t, "}", ve), l(t, "[", Be), l(t, "]", We), l(t, "(", _e), l(t, ")", Ke), l(t, "<", Ve), l(t, ">", $e), l(t, "(", Qe), l(t, ")", Ye), l(t, "「", Je), l(t, "」", qe), l(t, "『", Xe), l(t, "』", Ze), l(t, "<", et), l(t, ">", tt), l(t, "&", nt), l(t, "*", ot), l(t, "@", ne), l(t, "`", it), l(t, "^", at), l(t, ":", re), l(t, ",", Ft), l(t, "$", lt), l(t, ".", _), l(t, "=", ct), l(t, "!", Bt), l(t, "-", B), l(t, "%", Ee), l(t, "|", dt), l(t, "+", ut), l(t, "#", ft), l(t, "?", xe), l(t, '"', Wt), l(t, "/", K), l(t, ";", _t), l(t, "~", Ae), l(t, "_", ht), l(t, "\\", st), l(t, "・", Mn);
3493
+ const r = C(t, J, Ut, {
3494
+ [It]: !0
3495
+ });
3496
+ C(r, J, r);
3497
+ const o = C(r, Y, Pn, {
3498
+ [ke]: !0
3499
+ }), s = C(r, ge, zn, {
3500
+ [ye]: !0
3501
+ }), i = C(t, Y, q, {
3502
+ [Rt]: !0
3503
+ });
3504
+ C(i, J, o), C(i, Y, i), C(o, J, o), C(o, Y, o);
3505
+ const a = C(t, ge, Pt, {
3506
+ [Ot]: !0
3507
+ });
3508
+ C(a, Y), C(a, J, s), C(a, ge, a), C(s, J, s), C(s, Y), C(s, ge, s);
3509
+ const c = l(t, Ct, Gt, {
3510
+ [Et]: !0
3511
+ }), f = l(t, dn, jt, {
3512
+ [Et]: !0
3513
+ }), p = C(t, At, jt, {
3514
+ [Et]: !0
3515
+ });
3516
+ l(t, St, p), l(f, Ct, c), l(f, St, p), C(f, At, p), l(p, dn), l(p, Ct), C(p, At, p), l(p, St, p);
3517
+ const g = C(t, xt, jn, {
3518
+ [Nn]: !0
3519
+ });
3520
+ l(g, "#"), C(g, xt, g), l(g, Hr, g);
3521
+ const k = l(g, Ur);
3522
+ l(k, "#"), C(k, xt, g);
3523
+ const E = [[Y, i], [J, o]], L = [[Y, null], [ge, a], [J, s]];
3524
+ for (let v = 0; v < Me.length; v++)
3525
+ te(t, Me[v], zt, q, E);
3526
+ for (let v = 0; v < je.length; v++)
3527
+ te(t, je[v], Mt, Pt, L);
3528
+ le(zt, {
3529
+ tld: !0,
3530
+ ascii: !0
3531
+ }, n), le(Mt, {
3532
+ utld: !0,
3533
+ alpha: !0
3534
+ }, n), te(t, "file", He, q, E), te(t, "mailto", He, q, E), te(t, "http", fe, q, E), te(t, "https", fe, q, E), te(t, "ftp", fe, q, E), te(t, "ftps", fe, q, E), le(He, {
3535
+ scheme: !0,
3536
+ ascii: !0
3537
+ }, n), le(fe, {
3538
+ slashscheme: !0,
3539
+ ascii: !0
3540
+ }, n), e = e.sort((v, w) => v[0] > w[0] ? 1 : -1);
3541
+ for (let v = 0; v < e.length; v++) {
3542
+ const w = e[v][0], S = e[v][1] ? {
3543
+ [zr]: !0
3544
+ } : {
3545
+ [Mr]: !0
3546
+ };
3547
+ w.indexOf("-") >= 0 ? S[Nt] = !0 : Y.test(w) ? J.test(w) ? S[ke] = !0 : S[Rt] = !0 : S[It] = !0, cn(t, w, w, S);
3548
+ }
3549
+ return cn(t, "localhost", Ce, {
3550
+ ascii: !0
3551
+ }), t.jd = new H(mt), {
3552
+ start: t,
3553
+ tokens: Object.assign({
3554
+ groups: n
3555
+ }, Dn)
3556
+ };
3557
+ }
3558
+ function Hn(e, n) {
3559
+ const t = Fr(n.replace(/[A-Z]/g, (a) => a.toLowerCase())), r = t.length, o = [];
3560
+ let s = 0, i = 0;
3561
+ for (; i < r; ) {
3562
+ let a = e, c = null, f = 0, p = null, g = -1, k = -1;
3563
+ for (; i < r && (c = a.go(t[i])); )
3564
+ a = c, a.accepts() ? (g = 0, k = 0, p = a) : g >= 0 && (g += t[i].length, k++), f += t[i].length, s += t[i].length, i++;
3565
+ s -= g, i -= k, f -= g, o.push({
3566
+ t: p.t,
3567
+ // token type/name
3568
+ v: n.slice(s - f, s),
3569
+ // string value
3570
+ s: s - f,
3571
+ // start index
3572
+ e: s
3573
+ // end index (excluding)
3574
+ });
3575
+ }
3576
+ return o;
3577
+ }
3578
+ function Fr(e) {
3579
+ const n = [], t = e.length;
3580
+ let r = 0;
3581
+ for (; r < t; ) {
3582
+ let o = e.charCodeAt(r), s, i = o < 55296 || o > 56319 || r + 1 === t || (s = e.charCodeAt(r + 1)) < 56320 || s > 57343 ? e[r] : e.slice(r, r + 2);
3583
+ n.push(i), r += i.length;
3584
+ }
3585
+ return n;
3586
+ }
3587
+ function te(e, n, t, r, o) {
3588
+ let s;
3589
+ const i = n.length;
3590
+ for (let a = 0; a < i - 1; a++) {
3591
+ const c = n[a];
3592
+ e.j[c] ? s = e.j[c] : (s = new H(r), s.jr = o.slice(), e.j[c] = s), e = s;
3593
+ }
3594
+ return s = new H(t), s.jr = o.slice(), e.j[n[i - 1]] = s, s;
3595
+ }
3596
+ function un(e) {
3597
+ const n = [], t = [];
3598
+ let r = 0, o = "0123456789";
3599
+ for (; r < e.length; ) {
3600
+ let s = 0;
3601
+ for (; o.indexOf(e[r + s]) >= 0; )
3602
+ s++;
3603
+ if (s > 0) {
3604
+ n.push(t.join(""));
3605
+ for (let i = parseInt(e.substring(r, r + s), 10); i > 0; i--)
3606
+ t.pop();
3607
+ r += s;
3608
+ } else
3609
+ t.push(e[r]), r++;
3610
+ }
3611
+ return n;
3612
+ }
3613
+ const Se = {
3614
+ defaultProtocol: "http",
3615
+ events: null,
3616
+ format: fn,
3617
+ formatHref: fn,
3618
+ nl2br: !1,
3619
+ tagName: "a",
3620
+ target: null,
3621
+ rel: null,
3622
+ validate: !0,
3623
+ truncate: 1 / 0,
3624
+ className: null,
3625
+ attributes: null,
3626
+ ignoreTags: [],
3627
+ render: null
3628
+ };
3629
+ function Kt(e, n = null) {
3630
+ let t = Object.assign({}, Se);
3631
+ e && (t = Object.assign(t, e instanceof Kt ? e.o : e));
3632
+ const r = t.ignoreTags, o = [];
3633
+ for (let s = 0; s < r.length; s++)
3634
+ o.push(r[s].toUpperCase());
3635
+ this.o = t, n && (this.defaultRender = n), this.ignoreTags = o;
3636
+ }
3637
+ Kt.prototype = {
3638
+ o: Se,
3639
+ /**
3640
+ * @type string[]
3641
+ */
3642
+ ignoreTags: [],
3643
+ /**
3644
+ * @param {IntermediateRepresentation} ir
3645
+ * @returns {any}
3646
+ */
3647
+ defaultRender(e) {
3648
+ return e;
3649
+ },
3650
+ /**
3651
+ * Returns true or false based on whether a token should be displayed as a
3652
+ * link based on the user options.
3653
+ * @param {MultiToken} token
3654
+ * @returns {boolean}
3655
+ */
3656
+ check(e) {
3657
+ return this.get("validate", e.toString(), e);
3658
+ },
3659
+ // Private methods
3660
+ /**
3661
+ * Resolve an option's value based on the value of the option and the given
3662
+ * params. If operator and token are specified and the target option is
3663
+ * callable, automatically calls the function with the given argument.
3664
+ * @template {keyof Opts} K
3665
+ * @param {K} key Name of option to use
3666
+ * @param {string} [operator] will be passed to the target option if it's a
3667
+ * function. If not specified, RAW function value gets returned
3668
+ * @param {MultiToken} [token] The token from linkify.tokenize
3669
+ * @returns {Opts[K] | any}
3670
+ */
3671
+ get(e, n, t) {
3672
+ const r = n != null;
3673
+ let o = this.o[e];
3674
+ return o && (typeof o == "object" ? (o = t.t in o ? o[t.t] : Se[e], typeof o == "function" && r && (o = o(n, t))) : typeof o == "function" && r && (o = o(n, t.t, t)), o);
3675
+ },
3676
+ /**
3677
+ * @template {keyof Opts} L
3678
+ * @param {L} key Name of options object to use
3679
+ * @param {string} [operator]
3680
+ * @param {MultiToken} [token]
3681
+ * @returns {Opts[L] | any}
3682
+ */
3683
+ getObj(e, n, t) {
3684
+ let r = this.o[e];
3685
+ return typeof r == "function" && n != null && (r = r(n, t.t, t)), r;
3686
+ },
3687
+ /**
3688
+ * Convert the given token to a rendered element that may be added to the
3689
+ * calling-interface's DOM
3690
+ * @param {MultiToken} token Token to render to an HTML element
3691
+ * @returns {any} Render result; e.g., HTML string, DOM element, React
3692
+ * Component, etc.
3693
+ */
3694
+ render(e) {
3695
+ const n = e.render(this);
3696
+ return (this.get("render", null, e) || this.defaultRender)(n, e.t, e);
3697
+ }
3698
+ };
3699
+ function fn(e) {
3700
+ return e;
3701
+ }
3702
+ function Un(e, n) {
3703
+ this.t = "token", this.v = e, this.tk = n;
3704
+ }
3705
+ Un.prototype = {
3706
+ isLink: !1,
3707
+ /**
3708
+ * Return the string this token represents.
3709
+ * @return {string}
3710
+ */
3711
+ toString() {
3712
+ return this.v;
3713
+ },
3714
+ /**
3715
+ * What should the value for this token be in the `href` HTML attribute?
3716
+ * Returns the `.toString` value by default.
3717
+ * @param {string} [scheme]
3718
+ * @return {string}
3719
+ */
3720
+ toHref(e) {
3721
+ return this.toString();
3722
+ },
3723
+ /**
3724
+ * @param {Options} options Formatting options
3725
+ * @returns {string}
3726
+ */
3727
+ toFormattedString(e) {
3728
+ const n = this.toString(), t = e.get("truncate", n, this), r = e.get("format", n, this);
3729
+ return t && r.length > t ? r.substring(0, t) + "…" : r;
3730
+ },
3731
+ /**
3732
+ *
3733
+ * @param {Options} options
3734
+ * @returns {string}
3735
+ */
3736
+ toFormattedHref(e) {
3737
+ return e.get("formatHref", this.toHref(e.get("defaultProtocol")), this);
3738
+ },
3739
+ /**
3740
+ * The start index of this token in the original input string
3741
+ * @returns {number}
3742
+ */
3743
+ startIndex() {
3744
+ return this.tk[0].s;
3745
+ },
3746
+ /**
3747
+ * The end index of this token in the original input string (up to this
3748
+ * index but not including it)
3749
+ * @returns {number}
3750
+ */
3751
+ endIndex() {
3752
+ return this.tk[this.tk.length - 1].e;
3753
+ },
3754
+ /**
3755
+ Returns an object of relevant values for this token, which includes keys
3756
+ * type - Kind of token ('url', 'email', etc.)
3757
+ * value - Original text
3758
+ * href - The value that should be added to the anchor tag's href
3759
+ attribute
3760
+ @method toObject
3761
+ @param {string} [protocol] `'http'` by default
3762
+ */
3763
+ toObject(e = Se.defaultProtocol) {
3764
+ return {
3765
+ type: this.t,
3766
+ value: this.toString(),
3767
+ isLink: this.isLink,
3768
+ href: this.toHref(e),
3769
+ start: this.startIndex(),
3770
+ end: this.endIndex()
3771
+ };
3772
+ },
3773
+ /**
3774
+ *
3775
+ * @param {Options} options Formatting option
3776
+ */
3777
+ toFormattedObject(e) {
3778
+ return {
3779
+ type: this.t,
3780
+ value: this.toFormattedString(e),
3781
+ isLink: this.isLink,
3782
+ href: this.toFormattedHref(e),
3783
+ start: this.startIndex(),
3784
+ end: this.endIndex()
3785
+ };
3786
+ },
3787
+ /**
3788
+ * Whether this token should be rendered as a link according to the given options
3789
+ * @param {Options} options
3790
+ * @returns {boolean}
3791
+ */
3792
+ validate(e) {
3793
+ return e.get("validate", this.toString(), this);
3794
+ },
3795
+ /**
3796
+ * Return an object that represents how this link should be rendered.
3797
+ * @param {Options} options Formattinng options
3798
+ */
3799
+ render(e) {
3800
+ const n = this, t = this.toHref(e.get("defaultProtocol")), r = e.get("formatHref", t, this), o = e.get("tagName", t, n), s = this.toFormattedString(e), i = {}, a = e.get("className", t, n), c = e.get("target", t, n), f = e.get("rel", t, n), p = e.getObj("attributes", t, n), g = e.getObj("events", t, n);
3801
+ return i.href = r, a && (i.class = a), c && (i.target = c), f && (i.rel = f), p && Object.assign(i, p), {
3802
+ tagName: o,
3803
+ attributes: i,
3804
+ content: s,
3805
+ eventListeners: g
3806
+ };
3807
+ }
3808
+ };
3809
+ function pt(e, n) {
3810
+ class t extends Un {
3811
+ constructor(o, s) {
3812
+ super(o, s), this.t = e;
3813
+ }
3814
+ }
3815
+ for (const r in n)
3816
+ t.prototype[r] = n[r];
3817
+ return t.t = e, t;
3818
+ }
3819
+ const hn = pt("email", {
3820
+ isLink: !0,
3821
+ toHref() {
3822
+ return "mailto:" + this.toString();
3823
+ }
3824
+ }), mn = pt("text"), Br = pt("nl"), De = pt("url", {
3825
+ isLink: !0,
3826
+ /**
3827
+ Lowercases relevant parts of the domain and adds the protocol if
3828
+ required. Note that this will not escape unsafe HTML characters in the
3829
+ URL.
3830
+ @param {string} [scheme] default scheme (e.g., 'https')
3831
+ @return {string} the full href
3832
+ */
3833
+ toHref(e = Se.defaultProtocol) {
3834
+ return this.hasProtocol() ? this.v : `${e}://${this.v}`;
3835
+ },
3836
+ /**
3837
+ * Check whether this URL token has a protocol
3838
+ * @return {boolean}
3839
+ */
3840
+ hasProtocol() {
3841
+ const e = this.tk;
3842
+ return e.length >= 2 && e[0].t !== Ce && e[1].t === re;
3843
+ }
3844
+ }), F = (e) => new H(e);
3845
+ function Wr({
3846
+ groups: e
3847
+ }) {
3848
+ const n = e.domain.concat([nt, ot, ne, st, it, at, lt, ct, B, Ut, Ee, dt, ut, ft, K, mt, Ae, ht]), t = [rt, re, Ft, _, Bt, Ee, xe, Wt, _t, Ve, $e, we, ve, We, Be, _e, Ke, Qe, Ye, Je, qe, Xe, Ze, et, tt], r = [nt, rt, ot, st, it, at, lt, ct, B, we, ve, Ee, dt, ut, ft, xe, K, mt, Ae, ht], o = F(), s = l(o, Ae);
3849
+ b(s, r, s), b(s, e.domain, s);
3850
+ const i = F(), a = F(), c = F();
3851
+ b(o, e.domain, i), b(o, e.scheme, a), b(o, e.slashscheme, c), b(i, r, s), b(i, e.domain, i);
3852
+ const f = l(i, ne);
3853
+ l(s, ne, f), l(a, ne, f), l(c, ne, f);
3854
+ const p = l(s, _);
3855
+ b(p, r, s), b(p, e.domain, s);
3856
+ const g = F();
3857
+ b(f, e.domain, g), b(g, e.domain, g);
3858
+ const k = l(g, _);
3859
+ b(k, e.domain, g);
3860
+ const E = F(hn);
3861
+ b(k, e.tld, E), b(k, e.utld, E), l(f, Ce, E);
3862
+ const L = l(g, B);
3863
+ l(L, B, L), b(L, e.domain, g), b(E, e.domain, g), l(E, _, k), l(E, B, L);
3864
+ const v = l(E, re);
3865
+ b(v, e.numeric, hn);
3866
+ const w = l(i, B), N = l(i, _);
3867
+ l(w, B, w), b(w, e.domain, i), b(N, r, s), b(N, e.domain, i);
3868
+ const S = F(De);
3869
+ b(N, e.tld, S), b(N, e.utld, S), b(S, e.domain, i), b(S, r, s), l(S, _, N), l(S, B, w), l(S, ne, f);
3870
+ const se = l(S, re), V = F(De);
3871
+ b(se, e.numeric, V);
3872
+ const A = F(De), U = F();
3873
+ b(A, n, A), b(A, t, U), b(U, n, A), b(U, t, U), l(S, K, A), l(V, K, A);
3874
+ const $ = l(a, re), h = l(c, re), z = l(h, K), ue = l(z, K);
3875
+ b(a, e.domain, i), l(a, _, N), l(a, B, w), b(c, e.domain, i), l(c, _, N), l(c, B, w), b($, e.domain, A), l($, K, A), l($, xe, A), b(ue, e.domain, A), b(ue, n, A), l(ue, K, A);
3876
+ const he = [
3877
+ [we, ve],
3878
+ // {}
3879
+ [Be, We],
3880
+ // []
3881
+ [_e, Ke],
3882
+ // ()
3883
+ [Ve, $e],
3884
+ // <>
3885
+ [Qe, Ye],
3886
+ // ()
3887
+ [Je, qe],
3888
+ // 「」
3889
+ [Xe, Ze],
3890
+ // 『』
3891
+ [et, tt]
3892
+ // <>
3893
+ ];
3894
+ for (let X = 0; X < he.length; X++) {
3895
+ const [me, ie] = he[X], W = l(A, me);
3896
+ l(U, me, W), l(W, ie, A);
3897
+ const I = F(De);
3898
+ b(W, n, I);
3899
+ const G = F();
3900
+ b(W, t), b(I, n, I), b(I, t, G), b(G, n, I), b(G, t, G), l(I, ie, A), l(G, ie, A);
3901
+ }
3902
+ return l(o, Ce, S), l(o, Gt, Br), {
3903
+ start: o,
3904
+ tokens: Dn
3905
+ };
3906
+ }
3907
+ function _r(e, n, t) {
3908
+ let r = t.length, o = 0, s = [], i = [];
3909
+ for (; o < r; ) {
3910
+ let a = e, c = null, f = null, p = 0, g = null, k = -1;
3911
+ for (; o < r && !(c = a.go(t[o].t)); )
3912
+ i.push(t[o++]);
3913
+ for (; o < r && (f = c || a.go(t[o].t)); )
3914
+ c = null, a = f, a.accepts() ? (k = 0, g = a) : k >= 0 && k++, o++, p++;
3915
+ if (k < 0)
3916
+ o -= p, o < r && (i.push(t[o]), o++);
3917
+ else {
3918
+ i.length > 0 && (s.push(Tt(mn, n, i)), i = []), o -= k, p -= k;
3919
+ const E = g.t, L = t.slice(o - p, o);
3920
+ s.push(Tt(E, n, L));
3921
+ }
3922
+ }
3923
+ return i.length > 0 && s.push(Tt(mn, n, i)), s;
3924
+ }
3925
+ function Tt(e, n, t) {
3926
+ const r = t[0].s, o = t[t.length - 1].e, s = n.slice(r, o);
3927
+ return new e(s, t);
3928
+ }
3929
+ const Kr = typeof console < "u" && console && console.warn || (() => {
3930
+ }), Vr = "until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.", x = {
3931
+ scanner: null,
3932
+ parser: null,
3933
+ tokenQueue: [],
3934
+ pluginQueue: [],
3935
+ customSchemes: [],
3936
+ initialized: !1
3937
+ };
3938
+ function Zr() {
3939
+ return H.groups = {}, x.scanner = null, x.parser = null, x.tokenQueue = [], x.pluginQueue = [], x.customSchemes = [], x.initialized = !1, x;
3940
+ }
3941
+ function eo(e, n = !1) {
3942
+ if (x.initialized && Kr(`linkifyjs: already initialized - will not register custom scheme "${e}" ${Vr}`), !/^[0-9a-z]+(-[0-9a-z]+)*$/.test(e))
3943
+ throw new Error(`linkifyjs: incorrect scheme format.
3944
+ 1. Must only contain digits, lowercase ASCII letters or "-"
3945
+ 2. Cannot start or end with "-"
3946
+ 3. "-" cannot repeat`);
3947
+ x.customSchemes.push([e, n]);
3948
+ }
3949
+ function $r() {
3950
+ x.scanner = Gr(x.customSchemes);
3951
+ for (let e = 0; e < x.tokenQueue.length; e++)
3952
+ x.tokenQueue[e][1]({
3953
+ scanner: x.scanner
3954
+ });
3955
+ x.parser = Wr(x.scanner.tokens);
3956
+ for (let e = 0; e < x.pluginQueue.length; e++)
3957
+ x.pluginQueue[e][1]({
3958
+ scanner: x.scanner,
3959
+ parser: x.parser
3960
+ });
3961
+ return x.initialized = !0, x;
3962
+ }
3963
+ function Gn(e) {
3964
+ return x.initialized || $r(), _r(x.parser.start, e, Hn(x.scanner.start, e));
3965
+ }
3966
+ Gn.scan = Hn;
3967
+ function to(e, n = null, t = null) {
3968
+ if (n && typeof n == "object") {
3969
+ if (t)
3970
+ throw Error(`linkifyjs: Invalid link type ${n}; must be a string`);
3971
+ t = n, n = null;
3972
+ }
3973
+ const r = new Kt(t), o = Gn(e), s = [];
3974
+ for (let i = 0; i < o.length; i++) {
3975
+ const a = o[i];
3976
+ a.isLink && (!n || a.t === n) && r.check(a) && s.push(a.toFormattedObject(r));
3977
+ }
3978
+ return s;
3979
+ }
3980
+ export {
3981
+ D as O,
3982
+ P as R,
3983
+ sn as _,
3984
+ Yr as a,
3985
+ Jr as b,
3986
+ ce as c,
3987
+ Zr as d,
3988
+ qr as e,
3989
+ to as f,
3990
+ Fn as g,
3991
+ Qr as h,
3992
+ Xr as k,
3993
+ eo as r,
3994
+ Gn as t
3995
+ };