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