@onside/install-widget 1.0.0

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