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