@service_laboratory/auth 2.0.6 → 2.0.7

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.
package/dist/index.js ADDED
@@ -0,0 +1,4894 @@
1
+ import * as O from "react";
2
+ import N, { forwardRef as jt, createElement as $e, useState as ir } from "react";
3
+ var we = { exports: {} }, he = {};
4
+ /**
5
+ * @license React
6
+ * react-jsx-runtime.production.js
7
+ *
8
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
9
+ *
10
+ * This source code is licensed under the MIT license found in the
11
+ * LICENSE file in the root directory of this source tree.
12
+ */
13
+ var Je;
14
+ function lr() {
15
+ if (Je) return he;
16
+ Je = 1;
17
+ var e = Symbol.for("react.transitional.element"), r = Symbol.for("react.fragment");
18
+ function t(o, n, s) {
19
+ var d = null;
20
+ if (s !== void 0 && (d = "" + s), n.key !== void 0 && (d = "" + n.key), "key" in n) {
21
+ s = {};
22
+ for (var f in n)
23
+ f !== "key" && (s[f] = n[f]);
24
+ } else s = n;
25
+ return n = s.ref, {
26
+ $$typeof: e,
27
+ type: o,
28
+ key: d,
29
+ ref: n !== void 0 ? n : null,
30
+ props: s
31
+ };
32
+ }
33
+ return he.Fragment = r, he.jsx = t, he.jsxs = t, he;
34
+ }
35
+ var ye = {};
36
+ /**
37
+ * @license React
38
+ * react-jsx-runtime.development.js
39
+ *
40
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
41
+ *
42
+ * This source code is licensed under the MIT license found in the
43
+ * LICENSE file in the root directory of this source tree.
44
+ */
45
+ var Ze;
46
+ function cr() {
47
+ return Ze || (Ze = 1, process.env.NODE_ENV !== "production" && (function() {
48
+ function e(a) {
49
+ if (a == null) return null;
50
+ if (typeof a == "function")
51
+ return a.$$typeof === ue ? null : a.displayName || a.name || null;
52
+ if (typeof a == "string") return a;
53
+ switch (a) {
54
+ case v:
55
+ return "Fragment";
56
+ case D:
57
+ return "Profiler";
58
+ case R:
59
+ return "StrictMode";
60
+ case G:
61
+ return "Suspense";
62
+ case I:
63
+ return "SuspenseList";
64
+ case Y:
65
+ return "Activity";
66
+ }
67
+ if (typeof a == "object")
68
+ switch (typeof a.tag == "number" && console.error(
69
+ "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
70
+ ), a.$$typeof) {
71
+ case b:
72
+ return "Portal";
73
+ case P:
74
+ return (a.displayName || "Context") + ".Provider";
75
+ case F:
76
+ return (a._context.displayName || "Context") + ".Consumer";
77
+ case z:
78
+ var g = a.render;
79
+ return a = a.displayName, a || (a = g.displayName || g.name || "", a = a !== "" ? "ForwardRef(" + a + ")" : "ForwardRef"), a;
80
+ case X:
81
+ return g = a.displayName || null, g !== null ? g : e(a.type) || "Memo";
82
+ case _:
83
+ g = a._payload, a = a._init;
84
+ try {
85
+ return e(a(g));
86
+ } catch {
87
+ }
88
+ }
89
+ return null;
90
+ }
91
+ function r(a) {
92
+ return "" + a;
93
+ }
94
+ function t(a) {
95
+ try {
96
+ r(a);
97
+ var g = !1;
98
+ } catch {
99
+ g = !0;
100
+ }
101
+ if (g) {
102
+ g = console;
103
+ var w = g.error, k = typeof Symbol == "function" && Symbol.toStringTag && a[Symbol.toStringTag] || a.constructor.name || "Object";
104
+ return w.call(
105
+ g,
106
+ "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
107
+ k
108
+ ), r(a);
109
+ }
110
+ }
111
+ function o(a) {
112
+ if (a === v) return "<>";
113
+ if (typeof a == "object" && a !== null && a.$$typeof === _)
114
+ return "<...>";
115
+ try {
116
+ var g = e(a);
117
+ return g ? "<" + g + ">" : "<...>";
118
+ } catch {
119
+ return "<...>";
120
+ }
121
+ }
122
+ function n() {
123
+ var a = Z.A;
124
+ return a === null ? null : a.getOwner();
125
+ }
126
+ function s() {
127
+ return Error("react-stack-top-frame");
128
+ }
129
+ function d(a) {
130
+ if (Q.call(a, "key")) {
131
+ var g = Object.getOwnPropertyDescriptor(a, "key").get;
132
+ if (g && g.isReactWarning) return !1;
133
+ }
134
+ return a.key !== void 0;
135
+ }
136
+ function f(a, g) {
137
+ function w() {
138
+ K || (K = !0, console.error(
139
+ "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
140
+ g
141
+ ));
142
+ }
143
+ w.isReactWarning = !0, Object.defineProperty(a, "key", {
144
+ get: w,
145
+ configurable: !0
146
+ });
147
+ }
148
+ function u() {
149
+ var a = e(this.type);
150
+ return U[a] || (U[a] = !0, console.error(
151
+ "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
152
+ )), a = this.props.ref, a !== void 0 ? a : null;
153
+ }
154
+ function l(a, g, w, k, j, T, ee, A) {
155
+ return w = T.ref, a = {
156
+ $$typeof: p,
157
+ type: a,
158
+ key: g,
159
+ props: T,
160
+ _owner: j
161
+ }, (w !== void 0 ? w : null) !== null ? Object.defineProperty(a, "ref", {
162
+ enumerable: !1,
163
+ get: u
164
+ }) : Object.defineProperty(a, "ref", { enumerable: !1, value: null }), a._store = {}, Object.defineProperty(a._store, "validated", {
165
+ configurable: !1,
166
+ enumerable: !1,
167
+ writable: !0,
168
+ value: 0
169
+ }), Object.defineProperty(a, "_debugInfo", {
170
+ configurable: !1,
171
+ enumerable: !1,
172
+ writable: !0,
173
+ value: null
174
+ }), Object.defineProperty(a, "_debugStack", {
175
+ configurable: !1,
176
+ enumerable: !1,
177
+ writable: !0,
178
+ value: ee
179
+ }), Object.defineProperty(a, "_debugTask", {
180
+ configurable: !1,
181
+ enumerable: !1,
182
+ writable: !0,
183
+ value: A
184
+ }), Object.freeze && (Object.freeze(a.props), Object.freeze(a)), a;
185
+ }
186
+ function m(a, g, w, k, j, T, ee, A) {
187
+ var E = g.children;
188
+ if (E !== void 0)
189
+ if (k)
190
+ if (de(E)) {
191
+ for (k = 0; k < E.length; k++)
192
+ c(E[k]);
193
+ Object.freeze && Object.freeze(E);
194
+ } else
195
+ console.error(
196
+ "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
197
+ );
198
+ else c(E);
199
+ if (Q.call(g, "key")) {
200
+ E = e(a);
201
+ var V = Object.keys(g).filter(function(se) {
202
+ return se !== "key";
203
+ });
204
+ k = 0 < V.length ? "{key: someKey, " + V.join(": ..., ") + ": ...}" : "{key: someKey}", oe[E + k] || (V = 0 < V.length ? "{" + V.join(": ..., ") + ": ...}" : "{}", console.error(
205
+ `A props object containing a "key" prop is being spread into JSX:
206
+ let props = %s;
207
+ <%s {...props} />
208
+ React keys must be passed directly to JSX without using spread:
209
+ let props = %s;
210
+ <%s key={someKey} {...props} />`,
211
+ k,
212
+ E,
213
+ V,
214
+ E
215
+ ), oe[E + k] = !0);
216
+ }
217
+ if (E = null, w !== void 0 && (t(w), E = "" + w), d(g) && (t(g.key), E = "" + g.key), "key" in g) {
218
+ w = {};
219
+ for (var q in g)
220
+ q !== "key" && (w[q] = g[q]);
221
+ } else w = g;
222
+ return E && f(
223
+ w,
224
+ typeof a == "function" ? a.displayName || a.name || "Unknown" : a
225
+ ), l(
226
+ a,
227
+ E,
228
+ T,
229
+ j,
230
+ n(),
231
+ w,
232
+ ee,
233
+ A
234
+ );
235
+ }
236
+ function c(a) {
237
+ typeof a == "object" && a !== null && a.$$typeof === p && a._store && (a._store.validated = 1);
238
+ }
239
+ var i = N, p = Symbol.for("react.transitional.element"), b = Symbol.for("react.portal"), v = Symbol.for("react.fragment"), R = Symbol.for("react.strict_mode"), D = Symbol.for("react.profiler"), F = Symbol.for("react.consumer"), P = Symbol.for("react.context"), z = Symbol.for("react.forward_ref"), G = Symbol.for("react.suspense"), I = Symbol.for("react.suspense_list"), X = Symbol.for("react.memo"), _ = Symbol.for("react.lazy"), Y = Symbol.for("react.activity"), ue = Symbol.for("react.client.reference"), Z = i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, Q = Object.prototype.hasOwnProperty, de = Array.isArray, J = console.createTask ? console.createTask : function() {
240
+ return null;
241
+ };
242
+ i = {
243
+ react_stack_bottom_frame: function(a) {
244
+ return a();
245
+ }
246
+ };
247
+ var K, U = {}, W = i.react_stack_bottom_frame.bind(
248
+ i,
249
+ s
250
+ )(), x = J(o(s)), oe = {};
251
+ ye.Fragment = v, ye.jsx = function(a, g, w, k, j) {
252
+ var T = 1e4 > Z.recentlyCreatedOwnerStacks++;
253
+ return m(
254
+ a,
255
+ g,
256
+ w,
257
+ !1,
258
+ k,
259
+ j,
260
+ T ? Error("react-stack-top-frame") : W,
261
+ T ? J(o(a)) : x
262
+ );
263
+ }, ye.jsxs = function(a, g, w, k, j) {
264
+ var T = 1e4 > Z.recentlyCreatedOwnerStacks++;
265
+ return m(
266
+ a,
267
+ g,
268
+ w,
269
+ !0,
270
+ k,
271
+ j,
272
+ T ? Error("react-stack-top-frame") : W,
273
+ T ? J(o(a)) : x
274
+ );
275
+ };
276
+ })()), ye;
277
+ }
278
+ var Qe;
279
+ function ur() {
280
+ return Qe || (Qe = 1, process.env.NODE_ENV === "production" ? we.exports = lr() : we.exports = cr()), we.exports;
281
+ }
282
+ var C = ur(), Ce = { exports: {} }, be = {};
283
+ /**
284
+ * @license React
285
+ * react-jsx-runtime.production.js
286
+ *
287
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
288
+ *
289
+ * This source code is licensed under the MIT license found in the
290
+ * LICENSE file in the root directory of this source tree.
291
+ */
292
+ var et;
293
+ function dr() {
294
+ if (et) return be;
295
+ et = 1;
296
+ var e = Symbol.for("react.transitional.element"), r = Symbol.for("react.fragment");
297
+ function t(o, n, s) {
298
+ var d = null;
299
+ if (s !== void 0 && (d = "" + s), n.key !== void 0 && (d = "" + n.key), "key" in n) {
300
+ s = {};
301
+ for (var f in n)
302
+ f !== "key" && (s[f] = n[f]);
303
+ } else s = n;
304
+ return n = s.ref, {
305
+ $$typeof: e,
306
+ type: o,
307
+ key: d,
308
+ ref: n !== void 0 ? n : null,
309
+ props: s
310
+ };
311
+ }
312
+ return be.Fragment = r, be.jsx = t, be.jsxs = t, be;
313
+ }
314
+ var ke = {};
315
+ /**
316
+ * @license React
317
+ * react-jsx-runtime.development.js
318
+ *
319
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
320
+ *
321
+ * This source code is licensed under the MIT license found in the
322
+ * LICENSE file in the root directory of this source tree.
323
+ */
324
+ var tt;
325
+ function fr() {
326
+ return tt || (tt = 1, process.env.NODE_ENV !== "production" && (function() {
327
+ function e(a) {
328
+ if (a == null) return null;
329
+ if (typeof a == "function")
330
+ return a.$$typeof === ue ? null : a.displayName || a.name || null;
331
+ if (typeof a == "string") return a;
332
+ switch (a) {
333
+ case v:
334
+ return "Fragment";
335
+ case D:
336
+ return "Profiler";
337
+ case R:
338
+ return "StrictMode";
339
+ case G:
340
+ return "Suspense";
341
+ case I:
342
+ return "SuspenseList";
343
+ case Y:
344
+ return "Activity";
345
+ }
346
+ if (typeof a == "object")
347
+ switch (typeof a.tag == "number" && console.error(
348
+ "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
349
+ ), a.$$typeof) {
350
+ case b:
351
+ return "Portal";
352
+ case P:
353
+ return (a.displayName || "Context") + ".Provider";
354
+ case F:
355
+ return (a._context.displayName || "Context") + ".Consumer";
356
+ case z:
357
+ var g = a.render;
358
+ return a = a.displayName, a || (a = g.displayName || g.name || "", a = a !== "" ? "ForwardRef(" + a + ")" : "ForwardRef"), a;
359
+ case X:
360
+ return g = a.displayName || null, g !== null ? g : e(a.type) || "Memo";
361
+ case _:
362
+ g = a._payload, a = a._init;
363
+ try {
364
+ return e(a(g));
365
+ } catch {
366
+ }
367
+ }
368
+ return null;
369
+ }
370
+ function r(a) {
371
+ return "" + a;
372
+ }
373
+ function t(a) {
374
+ try {
375
+ r(a);
376
+ var g = !1;
377
+ } catch {
378
+ g = !0;
379
+ }
380
+ if (g) {
381
+ g = console;
382
+ var w = g.error, k = typeof Symbol == "function" && Symbol.toStringTag && a[Symbol.toStringTag] || a.constructor.name || "Object";
383
+ return w.call(
384
+ g,
385
+ "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
386
+ k
387
+ ), r(a);
388
+ }
389
+ }
390
+ function o(a) {
391
+ if (a === v) return "<>";
392
+ if (typeof a == "object" && a !== null && a.$$typeof === _)
393
+ return "<...>";
394
+ try {
395
+ var g = e(a);
396
+ return g ? "<" + g + ">" : "<...>";
397
+ } catch {
398
+ return "<...>";
399
+ }
400
+ }
401
+ function n() {
402
+ var a = Z.A;
403
+ return a === null ? null : a.getOwner();
404
+ }
405
+ function s() {
406
+ return Error("react-stack-top-frame");
407
+ }
408
+ function d(a) {
409
+ if (Q.call(a, "key")) {
410
+ var g = Object.getOwnPropertyDescriptor(a, "key").get;
411
+ if (g && g.isReactWarning) return !1;
412
+ }
413
+ return a.key !== void 0;
414
+ }
415
+ function f(a, g) {
416
+ function w() {
417
+ K || (K = !0, console.error(
418
+ "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
419
+ g
420
+ ));
421
+ }
422
+ w.isReactWarning = !0, Object.defineProperty(a, "key", {
423
+ get: w,
424
+ configurable: !0
425
+ });
426
+ }
427
+ function u() {
428
+ var a = e(this.type);
429
+ return U[a] || (U[a] = !0, console.error(
430
+ "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
431
+ )), a = this.props.ref, a !== void 0 ? a : null;
432
+ }
433
+ function l(a, g, w, k, j, T, ee, A) {
434
+ return w = T.ref, a = {
435
+ $$typeof: p,
436
+ type: a,
437
+ key: g,
438
+ props: T,
439
+ _owner: j
440
+ }, (w !== void 0 ? w : null) !== null ? Object.defineProperty(a, "ref", {
441
+ enumerable: !1,
442
+ get: u
443
+ }) : Object.defineProperty(a, "ref", { enumerable: !1, value: null }), a._store = {}, Object.defineProperty(a._store, "validated", {
444
+ configurable: !1,
445
+ enumerable: !1,
446
+ writable: !0,
447
+ value: 0
448
+ }), Object.defineProperty(a, "_debugInfo", {
449
+ configurable: !1,
450
+ enumerable: !1,
451
+ writable: !0,
452
+ value: null
453
+ }), Object.defineProperty(a, "_debugStack", {
454
+ configurable: !1,
455
+ enumerable: !1,
456
+ writable: !0,
457
+ value: ee
458
+ }), Object.defineProperty(a, "_debugTask", {
459
+ configurable: !1,
460
+ enumerable: !1,
461
+ writable: !0,
462
+ value: A
463
+ }), Object.freeze && (Object.freeze(a.props), Object.freeze(a)), a;
464
+ }
465
+ function m(a, g, w, k, j, T, ee, A) {
466
+ var E = g.children;
467
+ if (E !== void 0)
468
+ if (k)
469
+ if (de(E)) {
470
+ for (k = 0; k < E.length; k++)
471
+ c(E[k]);
472
+ Object.freeze && Object.freeze(E);
473
+ } else
474
+ console.error(
475
+ "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
476
+ );
477
+ else c(E);
478
+ if (Q.call(g, "key")) {
479
+ E = e(a);
480
+ var V = Object.keys(g).filter(function(se) {
481
+ return se !== "key";
482
+ });
483
+ k = 0 < V.length ? "{key: someKey, " + V.join(": ..., ") + ": ...}" : "{key: someKey}", oe[E + k] || (V = 0 < V.length ? "{" + V.join(": ..., ") + ": ...}" : "{}", console.error(
484
+ `A props object containing a "key" prop is being spread into JSX:
485
+ let props = %s;
486
+ <%s {...props} />
487
+ React keys must be passed directly to JSX without using spread:
488
+ let props = %s;
489
+ <%s key={someKey} {...props} />`,
490
+ k,
491
+ E,
492
+ V,
493
+ E
494
+ ), oe[E + k] = !0);
495
+ }
496
+ if (E = null, w !== void 0 && (t(w), E = "" + w), d(g) && (t(g.key), E = "" + g.key), "key" in g) {
497
+ w = {};
498
+ for (var q in g)
499
+ q !== "key" && (w[q] = g[q]);
500
+ } else w = g;
501
+ return E && f(
502
+ w,
503
+ typeof a == "function" ? a.displayName || a.name || "Unknown" : a
504
+ ), l(
505
+ a,
506
+ E,
507
+ T,
508
+ j,
509
+ n(),
510
+ w,
511
+ ee,
512
+ A
513
+ );
514
+ }
515
+ function c(a) {
516
+ typeof a == "object" && a !== null && a.$$typeof === p && a._store && (a._store.validated = 1);
517
+ }
518
+ var i = N, p = Symbol.for("react.transitional.element"), b = Symbol.for("react.portal"), v = Symbol.for("react.fragment"), R = Symbol.for("react.strict_mode"), D = Symbol.for("react.profiler"), F = Symbol.for("react.consumer"), P = Symbol.for("react.context"), z = Symbol.for("react.forward_ref"), G = Symbol.for("react.suspense"), I = Symbol.for("react.suspense_list"), X = Symbol.for("react.memo"), _ = Symbol.for("react.lazy"), Y = Symbol.for("react.activity"), ue = Symbol.for("react.client.reference"), Z = i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, Q = Object.prototype.hasOwnProperty, de = Array.isArray, J = console.createTask ? console.createTask : function() {
519
+ return null;
520
+ };
521
+ i = {
522
+ react_stack_bottom_frame: function(a) {
523
+ return a();
524
+ }
525
+ };
526
+ var K, U = {}, W = i.react_stack_bottom_frame.bind(
527
+ i,
528
+ s
529
+ )(), x = J(o(s)), oe = {};
530
+ ke.Fragment = v, ke.jsx = function(a, g, w, k, j) {
531
+ var T = 1e4 > Z.recentlyCreatedOwnerStacks++;
532
+ return m(
533
+ a,
534
+ g,
535
+ w,
536
+ !1,
537
+ k,
538
+ j,
539
+ T ? Error("react-stack-top-frame") : W,
540
+ T ? J(o(a)) : x
541
+ );
542
+ }, ke.jsxs = function(a, g, w, k, j) {
543
+ var T = 1e4 > Z.recentlyCreatedOwnerStacks++;
544
+ return m(
545
+ a,
546
+ g,
547
+ w,
548
+ !0,
549
+ k,
550
+ j,
551
+ T ? Error("react-stack-top-frame") : W,
552
+ T ? J(o(a)) : x
553
+ );
554
+ };
555
+ })()), ke;
556
+ }
557
+ var rt;
558
+ function pr() {
559
+ return rt || (rt = 1, process.env.NODE_ENV === "production" ? Ce.exports = dr() : Ce.exports = fr()), Ce.exports;
560
+ }
561
+ var L = pr();
562
+ function mr(e, r = []) {
563
+ let t = [];
564
+ function o(s, d) {
565
+ const f = O.createContext(d), u = t.length;
566
+ t = [...t, d];
567
+ const l = (c) => {
568
+ const { scope: i, children: p, ...b } = c, v = i?.[e]?.[u] || f, R = O.useMemo(() => b, Object.values(b));
569
+ return /* @__PURE__ */ L.jsx(v.Provider, { value: R, children: p });
570
+ };
571
+ l.displayName = s + "Provider";
572
+ function m(c, i) {
573
+ const p = i?.[e]?.[u] || f, b = O.useContext(p);
574
+ if (b) return b;
575
+ if (d !== void 0) return d;
576
+ throw new Error(`\`${c}\` must be used within \`${s}\``);
577
+ }
578
+ return [l, m];
579
+ }
580
+ const n = () => {
581
+ const s = t.map((d) => O.createContext(d));
582
+ return function(d) {
583
+ const f = d?.[e] || s;
584
+ return O.useMemo(
585
+ () => ({ [`__scope${e}`]: { ...d, [e]: f } }),
586
+ [d, f]
587
+ );
588
+ };
589
+ };
590
+ return n.scopeName = e, [o, gr(n, ...r)];
591
+ }
592
+ function gr(...e) {
593
+ const r = e[0];
594
+ if (e.length === 1) return r;
595
+ const t = () => {
596
+ const o = e.map((n) => ({
597
+ useScope: n(),
598
+ scopeName: n.scopeName
599
+ }));
600
+ return function(n) {
601
+ const s = o.reduce((d, { useScope: f, scopeName: u }) => {
602
+ const l = f(n)[`__scope${u}`];
603
+ return { ...d, ...l };
604
+ }, {});
605
+ return O.useMemo(() => ({ [`__scope${r.scopeName}`]: s }), [s]);
606
+ };
607
+ };
608
+ return t.scopeName = r.scopeName, t;
609
+ }
610
+ function hr(e) {
611
+ const r = O.useRef(e);
612
+ return O.useEffect(() => {
613
+ r.current = e;
614
+ }), O.useMemo(() => (...t) => r.current?.(...t), []);
615
+ }
616
+ var Fe = globalThis?.document ? O.useLayoutEffect : () => {
617
+ }, Se = { exports: {} }, $ = {};
618
+ /**
619
+ * @license React
620
+ * react-dom.production.js
621
+ *
622
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
623
+ *
624
+ * This source code is licensed under the MIT license found in the
625
+ * LICENSE file in the root directory of this source tree.
626
+ */
627
+ var ot;
628
+ function yr() {
629
+ if (ot) return $;
630
+ ot = 1;
631
+ var e = N;
632
+ function r(u) {
633
+ var l = "https://react.dev/errors/" + u;
634
+ if (1 < arguments.length) {
635
+ l += "?args[]=" + encodeURIComponent(arguments[1]);
636
+ for (var m = 2; m < arguments.length; m++)
637
+ l += "&args[]=" + encodeURIComponent(arguments[m]);
638
+ }
639
+ return "Minified React error #" + u + "; visit " + l + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";
640
+ }
641
+ function t() {
642
+ }
643
+ var o = {
644
+ d: {
645
+ f: t,
646
+ r: function() {
647
+ throw Error(r(522));
648
+ },
649
+ D: t,
650
+ C: t,
651
+ L: t,
652
+ m: t,
653
+ X: t,
654
+ S: t,
655
+ M: t
656
+ },
657
+ p: 0,
658
+ findDOMNode: null
659
+ }, n = Symbol.for("react.portal");
660
+ function s(u, l, m) {
661
+ var c = 3 < arguments.length && arguments[3] !== void 0 ? arguments[3] : null;
662
+ return {
663
+ $$typeof: n,
664
+ key: c == null ? null : "" + c,
665
+ children: u,
666
+ containerInfo: l,
667
+ implementation: m
668
+ };
669
+ }
670
+ var d = e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
671
+ function f(u, l) {
672
+ if (u === "font") return "";
673
+ if (typeof l == "string")
674
+ return l === "use-credentials" ? l : "";
675
+ }
676
+ return $.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = o, $.createPortal = function(u, l) {
677
+ var m = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : null;
678
+ if (!l || l.nodeType !== 1 && l.nodeType !== 9 && l.nodeType !== 11)
679
+ throw Error(r(299));
680
+ return s(u, l, null, m);
681
+ }, $.flushSync = function(u) {
682
+ var l = d.T, m = o.p;
683
+ try {
684
+ if (d.T = null, o.p = 2, u) return u();
685
+ } finally {
686
+ d.T = l, o.p = m, o.d.f();
687
+ }
688
+ }, $.preconnect = function(u, l) {
689
+ typeof u == "string" && (l ? (l = l.crossOrigin, l = typeof l == "string" ? l === "use-credentials" ? l : "" : void 0) : l = null, o.d.C(u, l));
690
+ }, $.prefetchDNS = function(u) {
691
+ typeof u == "string" && o.d.D(u);
692
+ }, $.preinit = function(u, l) {
693
+ if (typeof u == "string" && l && typeof l.as == "string") {
694
+ var m = l.as, c = f(m, l.crossOrigin), i = typeof l.integrity == "string" ? l.integrity : void 0, p = typeof l.fetchPriority == "string" ? l.fetchPriority : void 0;
695
+ m === "style" ? o.d.S(
696
+ u,
697
+ typeof l.precedence == "string" ? l.precedence : void 0,
698
+ {
699
+ crossOrigin: c,
700
+ integrity: i,
701
+ fetchPriority: p
702
+ }
703
+ ) : m === "script" && o.d.X(u, {
704
+ crossOrigin: c,
705
+ integrity: i,
706
+ fetchPriority: p,
707
+ nonce: typeof l.nonce == "string" ? l.nonce : void 0
708
+ });
709
+ }
710
+ }, $.preinitModule = function(u, l) {
711
+ if (typeof u == "string")
712
+ if (typeof l == "object" && l !== null) {
713
+ if (l.as == null || l.as === "script") {
714
+ var m = f(
715
+ l.as,
716
+ l.crossOrigin
717
+ );
718
+ o.d.M(u, {
719
+ crossOrigin: m,
720
+ integrity: typeof l.integrity == "string" ? l.integrity : void 0,
721
+ nonce: typeof l.nonce == "string" ? l.nonce : void 0
722
+ });
723
+ }
724
+ } else l == null && o.d.M(u);
725
+ }, $.preload = function(u, l) {
726
+ if (typeof u == "string" && typeof l == "object" && l !== null && typeof l.as == "string") {
727
+ var m = l.as, c = f(m, l.crossOrigin);
728
+ o.d.L(u, m, {
729
+ crossOrigin: c,
730
+ integrity: typeof l.integrity == "string" ? l.integrity : void 0,
731
+ nonce: typeof l.nonce == "string" ? l.nonce : void 0,
732
+ type: typeof l.type == "string" ? l.type : void 0,
733
+ fetchPriority: typeof l.fetchPriority == "string" ? l.fetchPriority : void 0,
734
+ referrerPolicy: typeof l.referrerPolicy == "string" ? l.referrerPolicy : void 0,
735
+ imageSrcSet: typeof l.imageSrcSet == "string" ? l.imageSrcSet : void 0,
736
+ imageSizes: typeof l.imageSizes == "string" ? l.imageSizes : void 0,
737
+ media: typeof l.media == "string" ? l.media : void 0
738
+ });
739
+ }
740
+ }, $.preloadModule = function(u, l) {
741
+ if (typeof u == "string")
742
+ if (l) {
743
+ var m = f(l.as, l.crossOrigin);
744
+ o.d.m(u, {
745
+ as: typeof l.as == "string" && l.as !== "script" ? l.as : void 0,
746
+ crossOrigin: m,
747
+ integrity: typeof l.integrity == "string" ? l.integrity : void 0
748
+ });
749
+ } else o.d.m(u);
750
+ }, $.requestFormReset = function(u) {
751
+ o.d.r(u);
752
+ }, $.unstable_batchedUpdates = function(u, l) {
753
+ return u(l);
754
+ }, $.useFormState = function(u, l, m) {
755
+ return d.H.useFormState(u, l, m);
756
+ }, $.useFormStatus = function() {
757
+ return d.H.useHostTransitionStatus();
758
+ }, $.version = "19.1.1", $;
759
+ }
760
+ var H = {};
761
+ /**
762
+ * @license React
763
+ * react-dom.development.js
764
+ *
765
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
766
+ *
767
+ * This source code is licensed under the MIT license found in the
768
+ * LICENSE file in the root directory of this source tree.
769
+ */
770
+ var nt;
771
+ function br() {
772
+ return nt || (nt = 1, process.env.NODE_ENV !== "production" && (function() {
773
+ function e() {
774
+ }
775
+ function r(c) {
776
+ return "" + c;
777
+ }
778
+ function t(c, i, p) {
779
+ var b = 3 < arguments.length && arguments[3] !== void 0 ? arguments[3] : null;
780
+ try {
781
+ r(b);
782
+ var v = !1;
783
+ } catch {
784
+ v = !0;
785
+ }
786
+ return v && (console.error(
787
+ "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
788
+ typeof Symbol == "function" && Symbol.toStringTag && b[Symbol.toStringTag] || b.constructor.name || "Object"
789
+ ), r(b)), {
790
+ $$typeof: l,
791
+ key: b == null ? null : "" + b,
792
+ children: c,
793
+ containerInfo: i,
794
+ implementation: p
795
+ };
796
+ }
797
+ function o(c, i) {
798
+ if (c === "font") return "";
799
+ if (typeof i == "string")
800
+ return i === "use-credentials" ? i : "";
801
+ }
802
+ function n(c) {
803
+ return c === null ? "`null`" : c === void 0 ? "`undefined`" : c === "" ? "an empty string" : 'something with type "' + typeof c + '"';
804
+ }
805
+ function s(c) {
806
+ return c === null ? "`null`" : c === void 0 ? "`undefined`" : c === "" ? "an empty string" : typeof c == "string" ? JSON.stringify(c) : typeof c == "number" ? "`" + c + "`" : 'something with type "' + typeof c + '"';
807
+ }
808
+ function d() {
809
+ var c = m.H;
810
+ return c === null && console.error(
811
+ `Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
812
+ 1. You might have mismatching versions of React and the renderer (such as React DOM)
813
+ 2. You might be breaking the Rules of Hooks
814
+ 3. You might have more than one copy of React in the same app
815
+ See https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.`
816
+ ), c;
817
+ }
818
+ typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
819
+ var f = N, u = {
820
+ d: {
821
+ f: e,
822
+ r: function() {
823
+ throw Error(
824
+ "Invalid form element. requestFormReset must be passed a form that was rendered by React."
825
+ );
826
+ },
827
+ D: e,
828
+ C: e,
829
+ L: e,
830
+ m: e,
831
+ X: e,
832
+ S: e,
833
+ M: e
834
+ },
835
+ p: 0,
836
+ findDOMNode: null
837
+ }, l = Symbol.for("react.portal"), m = f.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
838
+ typeof Map == "function" && Map.prototype != null && typeof Map.prototype.forEach == "function" && typeof Set == "function" && Set.prototype != null && typeof Set.prototype.clear == "function" && typeof Set.prototype.forEach == "function" || console.error(
839
+ "React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"
840
+ ), H.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = u, H.createPortal = function(c, i) {
841
+ var p = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : null;
842
+ if (!i || i.nodeType !== 1 && i.nodeType !== 9 && i.nodeType !== 11)
843
+ throw Error("Target container is not a DOM element.");
844
+ return t(c, i, null, p);
845
+ }, H.flushSync = function(c) {
846
+ var i = m.T, p = u.p;
847
+ try {
848
+ if (m.T = null, u.p = 2, c)
849
+ return c();
850
+ } finally {
851
+ m.T = i, u.p = p, u.d.f() && console.error(
852
+ "flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task."
853
+ );
854
+ }
855
+ }, H.preconnect = function(c, i) {
856
+ typeof c == "string" && c ? i != null && typeof i != "object" ? console.error(
857
+ "ReactDOM.preconnect(): Expected the `options` argument (second) to be an object but encountered %s instead. The only supported option at this time is `crossOrigin` which accepts a string.",
858
+ s(i)
859
+ ) : i != null && typeof i.crossOrigin != "string" && console.error(
860
+ "ReactDOM.preconnect(): Expected the `crossOrigin` option (second argument) to be a string but encountered %s instead. Try removing this option or passing a string value instead.",
861
+ n(i.crossOrigin)
862
+ ) : console.error(
863
+ "ReactDOM.preconnect(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",
864
+ n(c)
865
+ ), typeof c == "string" && (i ? (i = i.crossOrigin, i = typeof i == "string" ? i === "use-credentials" ? i : "" : void 0) : i = null, u.d.C(c, i));
866
+ }, H.prefetchDNS = function(c) {
867
+ if (typeof c != "string" || !c)
868
+ console.error(
869
+ "ReactDOM.prefetchDNS(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",
870
+ n(c)
871
+ );
872
+ else if (1 < arguments.length) {
873
+ var i = arguments[1];
874
+ typeof i == "object" && i.hasOwnProperty("crossOrigin") ? console.error(
875
+ "ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. It looks like the you are attempting to set a crossOrigin property for this DNS lookup hint. Browsers do not perform DNS queries using CORS and setting this attribute on the resource hint has no effect. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.",
876
+ s(i)
877
+ ) : console.error(
878
+ "ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.",
879
+ s(i)
880
+ );
881
+ }
882
+ typeof c == "string" && u.d.D(c);
883
+ }, H.preinit = function(c, i) {
884
+ if (typeof c == "string" && c ? i == null || typeof i != "object" ? console.error(
885
+ "ReactDOM.preinit(): Expected the `options` argument (second) to be an object with an `as` property describing the type of resource to be preinitialized but encountered %s instead.",
886
+ s(i)
887
+ ) : i.as !== "style" && i.as !== "script" && console.error(
888
+ 'ReactDOM.preinit(): Expected the `as` property in the `options` argument (second) to contain a valid value describing the type of resource to be preinitialized but encountered %s instead. Valid values for `as` are "style" and "script".',
889
+ s(i.as)
890
+ ) : console.error(
891
+ "ReactDOM.preinit(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",
892
+ n(c)
893
+ ), typeof c == "string" && i && typeof i.as == "string") {
894
+ var p = i.as, b = o(p, i.crossOrigin), v = typeof i.integrity == "string" ? i.integrity : void 0, R = typeof i.fetchPriority == "string" ? i.fetchPriority : void 0;
895
+ p === "style" ? u.d.S(
896
+ c,
897
+ typeof i.precedence == "string" ? i.precedence : void 0,
898
+ {
899
+ crossOrigin: b,
900
+ integrity: v,
901
+ fetchPriority: R
902
+ }
903
+ ) : p === "script" && u.d.X(c, {
904
+ crossOrigin: b,
905
+ integrity: v,
906
+ fetchPriority: R,
907
+ nonce: typeof i.nonce == "string" ? i.nonce : void 0
908
+ });
909
+ }
910
+ }, H.preinitModule = function(c, i) {
911
+ var p = "";
912
+ if (typeof c == "string" && c || (p += " The `href` argument encountered was " + n(c) + "."), i !== void 0 && typeof i != "object" ? p += " The `options` argument encountered was " + n(i) + "." : i && "as" in i && i.as !== "script" && (p += " The `as` option encountered was " + s(i.as) + "."), p)
913
+ console.error(
914
+ "ReactDOM.preinitModule(): Expected up to two arguments, a non-empty `href` string and, optionally, an `options` object with a valid `as` property.%s",
915
+ p
916
+ );
917
+ else
918
+ switch (p = i && typeof i.as == "string" ? i.as : "script", p) {
919
+ case "script":
920
+ break;
921
+ default:
922
+ p = s(p), console.error(
923
+ 'ReactDOM.preinitModule(): Currently the only supported "as" type for this function is "script" but received "%s" instead. This warning was generated for `href` "%s". In the future other module types will be supported, aligning with the import-attributes proposal. Learn more here: (https://github.com/tc39/proposal-import-attributes)',
924
+ p,
925
+ c
926
+ );
927
+ }
928
+ typeof c == "string" && (typeof i == "object" && i !== null ? (i.as == null || i.as === "script") && (p = o(
929
+ i.as,
930
+ i.crossOrigin
931
+ ), u.d.M(c, {
932
+ crossOrigin: p,
933
+ integrity: typeof i.integrity == "string" ? i.integrity : void 0,
934
+ nonce: typeof i.nonce == "string" ? i.nonce : void 0
935
+ })) : i == null && u.d.M(c));
936
+ }, H.preload = function(c, i) {
937
+ var p = "";
938
+ if (typeof c == "string" && c || (p += " The `href` argument encountered was " + n(c) + "."), i == null || typeof i != "object" ? p += " The `options` argument encountered was " + n(i) + "." : typeof i.as == "string" && i.as || (p += " The `as` option encountered was " + n(i.as) + "."), p && console.error(
939
+ 'ReactDOM.preload(): Expected two arguments, a non-empty `href` string and an `options` object with an `as` property valid for a `<link rel="preload" as="..." />` tag.%s',
940
+ p
941
+ ), typeof c == "string" && typeof i == "object" && i !== null && typeof i.as == "string") {
942
+ p = i.as;
943
+ var b = o(
944
+ p,
945
+ i.crossOrigin
946
+ );
947
+ u.d.L(c, p, {
948
+ crossOrigin: b,
949
+ integrity: typeof i.integrity == "string" ? i.integrity : void 0,
950
+ nonce: typeof i.nonce == "string" ? i.nonce : void 0,
951
+ type: typeof i.type == "string" ? i.type : void 0,
952
+ fetchPriority: typeof i.fetchPriority == "string" ? i.fetchPriority : void 0,
953
+ referrerPolicy: typeof i.referrerPolicy == "string" ? i.referrerPolicy : void 0,
954
+ imageSrcSet: typeof i.imageSrcSet == "string" ? i.imageSrcSet : void 0,
955
+ imageSizes: typeof i.imageSizes == "string" ? i.imageSizes : void 0,
956
+ media: typeof i.media == "string" ? i.media : void 0
957
+ });
958
+ }
959
+ }, H.preloadModule = function(c, i) {
960
+ var p = "";
961
+ typeof c == "string" && c || (p += " The `href` argument encountered was " + n(c) + "."), i !== void 0 && typeof i != "object" ? p += " The `options` argument encountered was " + n(i) + "." : i && "as" in i && typeof i.as != "string" && (p += " The `as` option encountered was " + n(i.as) + "."), p && console.error(
962
+ 'ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `<link rel="modulepreload" as="..." />` tag.%s',
963
+ p
964
+ ), typeof c == "string" && (i ? (p = o(
965
+ i.as,
966
+ i.crossOrigin
967
+ ), u.d.m(c, {
968
+ as: typeof i.as == "string" && i.as !== "script" ? i.as : void 0,
969
+ crossOrigin: p,
970
+ integrity: typeof i.integrity == "string" ? i.integrity : void 0
971
+ })) : u.d.m(c));
972
+ }, H.requestFormReset = function(c) {
973
+ u.d.r(c);
974
+ }, H.unstable_batchedUpdates = function(c, i) {
975
+ return c(i);
976
+ }, H.useFormState = function(c, i, p) {
977
+ return d().useFormState(c, i, p);
978
+ }, H.useFormStatus = function() {
979
+ return d().useHostTransitionStatus();
980
+ }, H.version = "19.1.1", typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
981
+ })()), H;
982
+ }
983
+ var st;
984
+ function vr() {
985
+ if (st) return Se.exports;
986
+ st = 1;
987
+ function e() {
988
+ if (!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ > "u" || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE != "function")) {
989
+ if (process.env.NODE_ENV !== "production")
990
+ throw new Error("^_^");
991
+ try {
992
+ __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e);
993
+ } catch (r) {
994
+ console.error(r);
995
+ }
996
+ }
997
+ }
998
+ return process.env.NODE_ENV === "production" ? (e(), Se.exports = yr()) : Se.exports = br(), Se.exports;
999
+ }
1000
+ vr();
1001
+ function at(e, r) {
1002
+ if (typeof e == "function")
1003
+ return e(r);
1004
+ e != null && (e.current = r);
1005
+ }
1006
+ function xr(...e) {
1007
+ return (r) => {
1008
+ let t = !1;
1009
+ const o = e.map((n) => {
1010
+ const s = at(n, r);
1011
+ return !t && typeof s == "function" && (t = !0), s;
1012
+ });
1013
+ if (t)
1014
+ return () => {
1015
+ for (let n = 0; n < o.length; n++) {
1016
+ const s = o[n];
1017
+ typeof s == "function" ? s() : at(e[n], null);
1018
+ }
1019
+ };
1020
+ };
1021
+ }
1022
+ // @__NO_SIDE_EFFECTS__
1023
+ function Tt(e) {
1024
+ const r = /* @__PURE__ */ _r(e), t = O.forwardRef((o, n) => {
1025
+ const { children: s, ...d } = o, f = O.Children.toArray(s), u = f.find(kr);
1026
+ if (u) {
1027
+ const l = u.props.children, m = f.map((c) => c === u ? O.Children.count(l) > 1 ? O.Children.only(null) : O.isValidElement(l) ? l.props.children : null : c);
1028
+ return /* @__PURE__ */ L.jsx(r, { ...d, ref: n, children: O.isValidElement(l) ? O.cloneElement(l, void 0, m) : null });
1029
+ }
1030
+ return /* @__PURE__ */ L.jsx(r, { ...d, ref: n, children: s });
1031
+ });
1032
+ return t.displayName = `${e}.Slot`, t;
1033
+ }
1034
+ var At = /* @__PURE__ */ Tt("Slot");
1035
+ // @__NO_SIDE_EFFECTS__
1036
+ function _r(e) {
1037
+ const r = O.forwardRef((t, o) => {
1038
+ const { children: n, ...s } = t;
1039
+ if (O.isValidElement(n)) {
1040
+ const d = Or(n), f = Sr(s, n.props);
1041
+ return n.type !== O.Fragment && (f.ref = o ? xr(o, d) : d), O.cloneElement(n, f);
1042
+ }
1043
+ return O.Children.count(n) > 1 ? O.Children.only(null) : null;
1044
+ });
1045
+ return r.displayName = `${e}.SlotClone`, r;
1046
+ }
1047
+ var wr = Symbol("radix.slottable");
1048
+ function kr(e) {
1049
+ return O.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === wr;
1050
+ }
1051
+ function Sr(e, r) {
1052
+ const t = { ...r };
1053
+ for (const o in r) {
1054
+ const n = e[o], s = r[o];
1055
+ /^on[A-Z]/.test(o) ? n && s ? t[o] = (...d) => {
1056
+ const f = s(...d);
1057
+ return n(...d), f;
1058
+ } : n && (t[o] = n) : o === "style" ? t[o] = { ...n, ...s } : o === "className" && (t[o] = [n, s].filter(Boolean).join(" "));
1059
+ }
1060
+ return { ...e, ...t };
1061
+ }
1062
+ function Or(e) {
1063
+ let r = Object.getOwnPropertyDescriptor(e.props, "ref")?.get, t = r && "isReactWarning" in r && r.isReactWarning;
1064
+ return t ? e.ref : (r = Object.getOwnPropertyDescriptor(e, "ref")?.get, t = r && "isReactWarning" in r && r.isReactWarning, t ? e.props.ref : e.props.ref || e.ref);
1065
+ }
1066
+ var Er = [
1067
+ "a",
1068
+ "button",
1069
+ "div",
1070
+ "form",
1071
+ "h2",
1072
+ "h3",
1073
+ "img",
1074
+ "input",
1075
+ "label",
1076
+ "li",
1077
+ "nav",
1078
+ "ol",
1079
+ "p",
1080
+ "select",
1081
+ "span",
1082
+ "svg",
1083
+ "ul"
1084
+ ], Te = Er.reduce((e, r) => {
1085
+ const t = /* @__PURE__ */ Tt(`Primitive.${r}`), o = O.forwardRef((n, s) => {
1086
+ const { asChild: d, ...f } = n, u = d ? t : r;
1087
+ return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ L.jsx(u, { ...f, ref: s });
1088
+ });
1089
+ return o.displayName = `Primitive.${r}`, { ...e, [r]: o };
1090
+ }, {}), De = { exports: {} }, Pe = {};
1091
+ /**
1092
+ * @license React
1093
+ * use-sync-external-store-shim.production.js
1094
+ *
1095
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
1096
+ *
1097
+ * This source code is licensed under the MIT license found in the
1098
+ * LICENSE file in the root directory of this source tree.
1099
+ */
1100
+ var it;
1101
+ function Rr() {
1102
+ if (it) return Pe;
1103
+ it = 1;
1104
+ var e = N;
1105
+ function r(c, i) {
1106
+ return c === i && (c !== 0 || 1 / c === 1 / i) || c !== c && i !== i;
1107
+ }
1108
+ var t = typeof Object.is == "function" ? Object.is : r, o = e.useState, n = e.useEffect, s = e.useLayoutEffect, d = e.useDebugValue;
1109
+ function f(c, i) {
1110
+ var p = i(), b = o({ inst: { value: p, getSnapshot: i } }), v = b[0].inst, R = b[1];
1111
+ return s(
1112
+ function() {
1113
+ v.value = p, v.getSnapshot = i, u(v) && R({ inst: v });
1114
+ },
1115
+ [c, p, i]
1116
+ ), n(
1117
+ function() {
1118
+ return u(v) && R({ inst: v }), c(function() {
1119
+ u(v) && R({ inst: v });
1120
+ });
1121
+ },
1122
+ [c]
1123
+ ), d(p), p;
1124
+ }
1125
+ function u(c) {
1126
+ var i = c.getSnapshot;
1127
+ c = c.value;
1128
+ try {
1129
+ var p = i();
1130
+ return !t(c, p);
1131
+ } catch {
1132
+ return !0;
1133
+ }
1134
+ }
1135
+ function l(c, i) {
1136
+ return i();
1137
+ }
1138
+ var m = typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u" ? l : f;
1139
+ return Pe.useSyncExternalStore = e.useSyncExternalStore !== void 0 ? e.useSyncExternalStore : m, Pe;
1140
+ }
1141
+ var lt = {};
1142
+ /**
1143
+ * @license React
1144
+ * use-sync-external-store-shim.development.js
1145
+ *
1146
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
1147
+ *
1148
+ * This source code is licensed under the MIT license found in the
1149
+ * LICENSE file in the root directory of this source tree.
1150
+ */
1151
+ var ct;
1152
+ function Nr() {
1153
+ return ct || (ct = 1, process.env.NODE_ENV !== "production" && (function() {
1154
+ function e(p, b) {
1155
+ return p === b && (p !== 0 || 1 / p === 1 / b) || p !== p && b !== b;
1156
+ }
1157
+ function r(p, b) {
1158
+ m || n.startTransition === void 0 || (m = !0, console.error(
1159
+ "You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."
1160
+ ));
1161
+ var v = b();
1162
+ if (!c) {
1163
+ var R = b();
1164
+ s(v, R) || (console.error(
1165
+ "The result of getSnapshot should be cached to avoid an infinite loop"
1166
+ ), c = !0);
1167
+ }
1168
+ R = d({
1169
+ inst: { value: v, getSnapshot: b }
1170
+ });
1171
+ var D = R[0].inst, F = R[1];
1172
+ return u(
1173
+ function() {
1174
+ D.value = v, D.getSnapshot = b, t(D) && F({ inst: D });
1175
+ },
1176
+ [p, v, b]
1177
+ ), f(
1178
+ function() {
1179
+ return t(D) && F({ inst: D }), p(function() {
1180
+ t(D) && F({ inst: D });
1181
+ });
1182
+ },
1183
+ [p]
1184
+ ), l(v), v;
1185
+ }
1186
+ function t(p) {
1187
+ var b = p.getSnapshot;
1188
+ p = p.value;
1189
+ try {
1190
+ var v = b();
1191
+ return !s(p, v);
1192
+ } catch {
1193
+ return !0;
1194
+ }
1195
+ }
1196
+ function o(p, b) {
1197
+ return b();
1198
+ }
1199
+ typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
1200
+ var n = N, s = typeof Object.is == "function" ? Object.is : e, d = n.useState, f = n.useEffect, u = n.useLayoutEffect, l = n.useDebugValue, m = !1, c = !1, i = typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u" ? o : r;
1201
+ lt.useSyncExternalStore = n.useSyncExternalStore !== void 0 ? n.useSyncExternalStore : i, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
1202
+ })()), lt;
1203
+ }
1204
+ var ut;
1205
+ function jr() {
1206
+ return ut || (ut = 1, process.env.NODE_ENV === "production" ? De.exports = Rr() : De.exports = Nr()), De.exports;
1207
+ }
1208
+ var Tr = jr();
1209
+ function Ar() {
1210
+ return Tr.useSyncExternalStore(
1211
+ Cr,
1212
+ () => !0,
1213
+ () => !1
1214
+ );
1215
+ }
1216
+ function Cr() {
1217
+ return () => {
1218
+ };
1219
+ }
1220
+ var We = "Avatar", [Dr, an] = mr(We), [Pr, Ct] = Dr(We), Lr = O.forwardRef(
1221
+ (e, r) => {
1222
+ const { __scopeAvatar: t, ...o } = e, [n, s] = O.useState("idle");
1223
+ return /* @__PURE__ */ L.jsx(
1224
+ Pr,
1225
+ {
1226
+ scope: t,
1227
+ imageLoadingStatus: n,
1228
+ onImageLoadingStatusChange: s,
1229
+ children: /* @__PURE__ */ L.jsx(Te.span, { ...o, ref: r })
1230
+ }
1231
+ );
1232
+ }
1233
+ );
1234
+ Lr.displayName = We;
1235
+ var Dt = "AvatarImage", Mr = O.forwardRef(
1236
+ (e, r) => {
1237
+ const { __scopeAvatar: t, src: o, onLoadingStatusChange: n = () => {
1238
+ }, ...s } = e, d = Ct(Dt, t), f = zr(o, s), u = hr((l) => {
1239
+ n(l), d.onImageLoadingStatusChange(l);
1240
+ });
1241
+ return Fe(() => {
1242
+ f !== "idle" && u(f);
1243
+ }, [f, u]), f === "loaded" ? /* @__PURE__ */ L.jsx(Te.img, { ...s, ref: r, src: o }) : null;
1244
+ }
1245
+ );
1246
+ Mr.displayName = Dt;
1247
+ var Pt = "AvatarFallback", Vr = O.forwardRef(
1248
+ (e, r) => {
1249
+ const { __scopeAvatar: t, delayMs: o, ...n } = e, s = Ct(Pt, t), [d, f] = O.useState(o === void 0);
1250
+ return O.useEffect(() => {
1251
+ if (o !== void 0) {
1252
+ const u = window.setTimeout(() => f(!0), o);
1253
+ return () => window.clearTimeout(u);
1254
+ }
1255
+ }, [o]), d && s.imageLoadingStatus !== "loaded" ? /* @__PURE__ */ L.jsx(Te.span, { ...n, ref: r }) : null;
1256
+ }
1257
+ );
1258
+ Vr.displayName = Pt;
1259
+ function dt(e, r) {
1260
+ return e ? r ? (e.src !== r && (e.src = r), e.complete && e.naturalWidth > 0 ? "loaded" : "loading") : "error" : "idle";
1261
+ }
1262
+ function zr(e, { referrerPolicy: r, crossOrigin: t }) {
1263
+ const o = Ar(), n = O.useRef(null), s = o ? (n.current || (n.current = new window.Image()), n.current) : null, [d, f] = O.useState(
1264
+ () => dt(s, e)
1265
+ );
1266
+ return Fe(() => {
1267
+ f(dt(s, e));
1268
+ }, [s, e]), Fe(() => {
1269
+ const u = (c) => () => {
1270
+ f(c);
1271
+ };
1272
+ if (!s) return;
1273
+ const l = u("loaded"), m = u("error");
1274
+ return s.addEventListener("load", l), s.addEventListener("error", m), r && (s.referrerPolicy = r), typeof t == "string" && (s.crossOrigin = t), () => {
1275
+ s.removeEventListener("load", l), s.removeEventListener("error", m);
1276
+ };
1277
+ }, [s, t, r]), d;
1278
+ }
1279
+ function Lt(e) {
1280
+ var r, t, o = "";
1281
+ if (typeof e == "string" || typeof e == "number") o += e;
1282
+ else if (typeof e == "object") if (Array.isArray(e)) {
1283
+ var n = e.length;
1284
+ for (r = 0; r < n; r++) e[r] && (t = Lt(e[r])) && (o && (o += " "), o += t);
1285
+ } else for (t in e) e[t] && (o && (o += " "), o += t);
1286
+ return o;
1287
+ }
1288
+ function Mt() {
1289
+ for (var e, r, t = 0, o = "", n = arguments.length; t < n; t++) (e = arguments[t]) && (r = Lt(e)) && (o && (o += " "), o += r);
1290
+ return o;
1291
+ }
1292
+ const Ke = "-", Ir = (e) => {
1293
+ const r = Fr(e), {
1294
+ conflictingClassGroups: t,
1295
+ conflictingClassGroupModifiers: o
1296
+ } = e;
1297
+ return {
1298
+ getClassGroupId: (n) => {
1299
+ const s = n.split(Ke);
1300
+ return s[0] === "" && s.length !== 1 && s.shift(), Vt(s, r) || $r(n);
1301
+ },
1302
+ getConflictingClassGroupIds: (n, s) => {
1303
+ const d = t[n] || [];
1304
+ return s && o[n] ? [...d, ...o[n]] : d;
1305
+ }
1306
+ };
1307
+ }, Vt = (e, r) => {
1308
+ if (e.length === 0)
1309
+ return r.classGroupId;
1310
+ const t = e[0], o = r.nextPart.get(t), n = o ? Vt(e.slice(1), o) : void 0;
1311
+ if (n)
1312
+ return n;
1313
+ if (r.validators.length === 0)
1314
+ return;
1315
+ const s = e.join(Ke);
1316
+ return r.validators.find(({
1317
+ validator: d
1318
+ }) => d(s))?.classGroupId;
1319
+ }, ft = /^\[(.+)\]$/, $r = (e) => {
1320
+ if (ft.test(e)) {
1321
+ const r = ft.exec(e)[1], t = r?.substring(0, r.indexOf(":"));
1322
+ if (t)
1323
+ return "arbitrary.." + t;
1324
+ }
1325
+ }, Fr = (e) => {
1326
+ const {
1327
+ theme: r,
1328
+ classGroups: t
1329
+ } = e, o = {
1330
+ nextPart: /* @__PURE__ */ new Map(),
1331
+ validators: []
1332
+ };
1333
+ for (const n in t)
1334
+ Ge(t[n], o, n, r);
1335
+ return o;
1336
+ }, Ge = (e, r, t, o) => {
1337
+ e.forEach((n) => {
1338
+ if (typeof n == "string") {
1339
+ const s = n === "" ? r : pt(r, n);
1340
+ s.classGroupId = t;
1341
+ return;
1342
+ }
1343
+ if (typeof n == "function") {
1344
+ if (Gr(n)) {
1345
+ Ge(n(o), r, t, o);
1346
+ return;
1347
+ }
1348
+ r.validators.push({
1349
+ validator: n,
1350
+ classGroupId: t
1351
+ });
1352
+ return;
1353
+ }
1354
+ Object.entries(n).forEach(([s, d]) => {
1355
+ Ge(d, pt(r, s), t, o);
1356
+ });
1357
+ });
1358
+ }, pt = (e, r) => {
1359
+ let t = e;
1360
+ return r.split(Ke).forEach((o) => {
1361
+ t.nextPart.has(o) || t.nextPart.set(o, {
1362
+ nextPart: /* @__PURE__ */ new Map(),
1363
+ validators: []
1364
+ }), t = t.nextPart.get(o);
1365
+ }), t;
1366
+ }, Gr = (e) => e.isThemeGetter, Ur = (e) => {
1367
+ if (e < 1)
1368
+ return {
1369
+ get: () => {
1370
+ },
1371
+ set: () => {
1372
+ }
1373
+ };
1374
+ let r = 0, t = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map();
1375
+ const n = (s, d) => {
1376
+ t.set(s, d), r++, r > e && (r = 0, o = t, t = /* @__PURE__ */ new Map());
1377
+ };
1378
+ return {
1379
+ get(s) {
1380
+ let d = t.get(s);
1381
+ if (d !== void 0)
1382
+ return d;
1383
+ if ((d = o.get(s)) !== void 0)
1384
+ return n(s, d), d;
1385
+ },
1386
+ set(s, d) {
1387
+ t.has(s) ? t.set(s, d) : n(s, d);
1388
+ }
1389
+ };
1390
+ }, Ue = "!", He = ":", Hr = He.length, Br = (e) => {
1391
+ const {
1392
+ prefix: r,
1393
+ experimentalParseClassName: t
1394
+ } = e;
1395
+ let o = (n) => {
1396
+ const s = [];
1397
+ let d = 0, f = 0, u = 0, l;
1398
+ for (let b = 0; b < n.length; b++) {
1399
+ let v = n[b];
1400
+ if (d === 0 && f === 0) {
1401
+ if (v === He) {
1402
+ s.push(n.slice(u, b)), u = b + Hr;
1403
+ continue;
1404
+ }
1405
+ if (v === "/") {
1406
+ l = b;
1407
+ continue;
1408
+ }
1409
+ }
1410
+ v === "[" ? d++ : v === "]" ? d-- : v === "(" ? f++ : v === ")" && f--;
1411
+ }
1412
+ const m = s.length === 0 ? n : n.substring(u), c = Yr(m), i = c !== m, p = l && l > u ? l - u : void 0;
1413
+ return {
1414
+ modifiers: s,
1415
+ hasImportantModifier: i,
1416
+ baseClassName: c,
1417
+ maybePostfixModifierPosition: p
1418
+ };
1419
+ };
1420
+ if (r) {
1421
+ const n = r + He, s = o;
1422
+ o = (d) => d.startsWith(n) ? s(d.substring(n.length)) : {
1423
+ isExternal: !0,
1424
+ modifiers: [],
1425
+ hasImportantModifier: !1,
1426
+ baseClassName: d,
1427
+ maybePostfixModifierPosition: void 0
1428
+ };
1429
+ }
1430
+ if (t) {
1431
+ const n = o;
1432
+ o = (s) => t({
1433
+ className: s,
1434
+ parseClassName: n
1435
+ });
1436
+ }
1437
+ return o;
1438
+ }, Yr = (e) => e.endsWith(Ue) ? e.substring(0, e.length - 1) : e.startsWith(Ue) ? e.substring(1) : e, Wr = (e) => {
1439
+ const r = Object.fromEntries(e.orderSensitiveModifiers.map((t) => [t, !0]));
1440
+ return (t) => {
1441
+ if (t.length <= 1)
1442
+ return t;
1443
+ const o = [];
1444
+ let n = [];
1445
+ return t.forEach((s) => {
1446
+ s[0] === "[" || r[s] ? (o.push(...n.sort(), s), n = []) : n.push(s);
1447
+ }), o.push(...n.sort()), o;
1448
+ };
1449
+ }, Kr = (e) => ({
1450
+ cache: Ur(e.cacheSize),
1451
+ parseClassName: Br(e),
1452
+ sortModifiers: Wr(e),
1453
+ ...Ir(e)
1454
+ }), qr = /\s+/, Xr = (e, r) => {
1455
+ const {
1456
+ parseClassName: t,
1457
+ getClassGroupId: o,
1458
+ getConflictingClassGroupIds: n,
1459
+ sortModifiers: s
1460
+ } = r, d = [], f = e.trim().split(qr);
1461
+ let u = "";
1462
+ for (let l = f.length - 1; l >= 0; l -= 1) {
1463
+ const m = f[l], {
1464
+ isExternal: c,
1465
+ modifiers: i,
1466
+ hasImportantModifier: p,
1467
+ baseClassName: b,
1468
+ maybePostfixModifierPosition: v
1469
+ } = t(m);
1470
+ if (c) {
1471
+ u = m + (u.length > 0 ? " " + u : u);
1472
+ continue;
1473
+ }
1474
+ let R = !!v, D = o(R ? b.substring(0, v) : b);
1475
+ if (!D) {
1476
+ if (!R) {
1477
+ u = m + (u.length > 0 ? " " + u : u);
1478
+ continue;
1479
+ }
1480
+ if (D = o(b), !D) {
1481
+ u = m + (u.length > 0 ? " " + u : u);
1482
+ continue;
1483
+ }
1484
+ R = !1;
1485
+ }
1486
+ const F = s(i).join(":"), P = p ? F + Ue : F, z = P + D;
1487
+ if (d.includes(z))
1488
+ continue;
1489
+ d.push(z);
1490
+ const G = n(D, R);
1491
+ for (let I = 0; I < G.length; ++I) {
1492
+ const X = G[I];
1493
+ d.push(P + X);
1494
+ }
1495
+ u = m + (u.length > 0 ? " " + u : u);
1496
+ }
1497
+ return u;
1498
+ };
1499
+ function Jr() {
1500
+ let e = 0, r, t, o = "";
1501
+ for (; e < arguments.length; )
1502
+ (r = arguments[e++]) && (t = zt(r)) && (o && (o += " "), o += t);
1503
+ return o;
1504
+ }
1505
+ const zt = (e) => {
1506
+ if (typeof e == "string")
1507
+ return e;
1508
+ let r, t = "";
1509
+ for (let o = 0; o < e.length; o++)
1510
+ e[o] && (r = zt(e[o])) && (t && (t += " "), t += r);
1511
+ return t;
1512
+ };
1513
+ function Zr(e, ...r) {
1514
+ let t, o, n, s = d;
1515
+ function d(u) {
1516
+ const l = r.reduce((m, c) => c(m), e());
1517
+ return t = Kr(l), o = t.cache.get, n = t.cache.set, s = f, f(u);
1518
+ }
1519
+ function f(u) {
1520
+ const l = o(u);
1521
+ if (l)
1522
+ return l;
1523
+ const m = Xr(u, t);
1524
+ return n(u, m), m;
1525
+ }
1526
+ return function() {
1527
+ return s(Jr.apply(null, arguments));
1528
+ };
1529
+ }
1530
+ const M = (e) => {
1531
+ const r = (t) => t[e] || [];
1532
+ return r.isThemeGetter = !0, r;
1533
+ }, It = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, $t = /^\((?:(\w[\w-]*):)?(.+)\)$/i, Qr = /^\d+\/\d+$/, eo = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, to = /\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$/, ro = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, oo = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, no = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, fe = (e) => Qr.test(e), S = (e) => !!e && !Number.isNaN(Number(e)), ne = (e) => !!e && Number.isInteger(Number(e)), Le = (e) => e.endsWith("%") && S(e.slice(0, -1)), te = (e) => eo.test(e), so = () => !0, ao = (e) => (
1534
+ // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
1535
+ // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
1536
+ // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
1537
+ to.test(e) && !ro.test(e)
1538
+ ), Ft = () => !1, io = (e) => oo.test(e), lo = (e) => no.test(e), co = (e) => !h(e) && !y(e), uo = (e) => me(e, Ht, Ft), h = (e) => It.test(e), ae = (e) => me(e, Bt, ao), Me = (e) => me(e, ho, S), mt = (e) => me(e, Gt, Ft), fo = (e) => me(e, Ut, lo), Oe = (e) => me(e, Yt, io), y = (e) => $t.test(e), ve = (e) => ge(e, Bt), po = (e) => ge(e, yo), gt = (e) => ge(e, Gt), mo = (e) => ge(e, Ht), go = (e) => ge(e, Ut), Ee = (e) => ge(e, Yt, !0), me = (e, r, t) => {
1539
+ const o = It.exec(e);
1540
+ return o ? o[1] ? r(o[1]) : t(o[2]) : !1;
1541
+ }, ge = (e, r, t = !1) => {
1542
+ const o = $t.exec(e);
1543
+ return o ? o[1] ? r(o[1]) : t : !1;
1544
+ }, Gt = (e) => e === "position" || e === "percentage", Ut = (e) => e === "image" || e === "url", Ht = (e) => e === "length" || e === "size" || e === "bg-size", Bt = (e) => e === "length", ho = (e) => e === "number", yo = (e) => e === "family-name", Yt = (e) => e === "shadow", bo = () => {
1545
+ const e = M("color"), r = M("font"), t = M("text"), o = M("font-weight"), n = M("tracking"), s = M("leading"), d = M("breakpoint"), f = M("container"), u = M("spacing"), l = M("radius"), m = M("shadow"), c = M("inset-shadow"), i = M("text-shadow"), p = M("drop-shadow"), b = M("blur"), v = M("perspective"), R = M("aspect"), D = M("ease"), F = M("animate"), P = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], z = () => [
1546
+ "center",
1547
+ "top",
1548
+ "bottom",
1549
+ "left",
1550
+ "right",
1551
+ "top-left",
1552
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
1553
+ "left-top",
1554
+ "top-right",
1555
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
1556
+ "right-top",
1557
+ "bottom-right",
1558
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
1559
+ "right-bottom",
1560
+ "bottom-left",
1561
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
1562
+ "left-bottom"
1563
+ ], G = () => [...z(), y, h], I = () => ["auto", "hidden", "clip", "visible", "scroll"], X = () => ["auto", "contain", "none"], _ = () => [y, h, u], Y = () => [fe, "full", "auto", ..._()], ue = () => [ne, "none", "subgrid", y, h], Z = () => ["auto", {
1564
+ span: ["full", ne, y, h]
1565
+ }, ne, y, h], Q = () => [ne, "auto", y, h], de = () => ["auto", "min", "max", "fr", y, h], J = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], K = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], U = () => ["auto", ..._()], W = () => [fe, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ..._()], x = () => [e, y, h], oe = () => [...z(), gt, mt, {
1566
+ position: [y, h]
1567
+ }], a = () => ["no-repeat", {
1568
+ repeat: ["", "x", "y", "space", "round"]
1569
+ }], g = () => ["auto", "cover", "contain", mo, uo, {
1570
+ size: [y, h]
1571
+ }], w = () => [Le, ve, ae], k = () => [
1572
+ // Deprecated since Tailwind CSS v4.0.0
1573
+ "",
1574
+ "none",
1575
+ "full",
1576
+ l,
1577
+ y,
1578
+ h
1579
+ ], j = () => ["", S, ve, ae], T = () => ["solid", "dashed", "dotted", "double"], ee = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], A = () => [S, Le, gt, mt], E = () => [
1580
+ // Deprecated since Tailwind CSS v4.0.0
1581
+ "",
1582
+ "none",
1583
+ b,
1584
+ y,
1585
+ h
1586
+ ], V = () => ["none", S, y, h], q = () => ["none", S, y, h], se = () => [S, y, h], _e = () => [fe, "full", ..._()];
1587
+ return {
1588
+ cacheSize: 500,
1589
+ theme: {
1590
+ animate: ["spin", "ping", "pulse", "bounce"],
1591
+ aspect: ["video"],
1592
+ blur: [te],
1593
+ breakpoint: [te],
1594
+ color: [so],
1595
+ container: [te],
1596
+ "drop-shadow": [te],
1597
+ ease: ["in", "out", "in-out"],
1598
+ font: [co],
1599
+ "font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"],
1600
+ "inset-shadow": [te],
1601
+ leading: ["none", "tight", "snug", "normal", "relaxed", "loose"],
1602
+ perspective: ["dramatic", "near", "normal", "midrange", "distant", "none"],
1603
+ radius: [te],
1604
+ shadow: [te],
1605
+ spacing: ["px", S],
1606
+ text: [te],
1607
+ "text-shadow": [te],
1608
+ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"]
1609
+ },
1610
+ classGroups: {
1611
+ // --------------
1612
+ // --- Layout ---
1613
+ // --------------
1614
+ /**
1615
+ * Aspect Ratio
1616
+ * @see https://tailwindcss.com/docs/aspect-ratio
1617
+ */
1618
+ aspect: [{
1619
+ aspect: ["auto", "square", fe, h, y, R]
1620
+ }],
1621
+ /**
1622
+ * Container
1623
+ * @see https://tailwindcss.com/docs/container
1624
+ * @deprecated since Tailwind CSS v4.0.0
1625
+ */
1626
+ container: ["container"],
1627
+ /**
1628
+ * Columns
1629
+ * @see https://tailwindcss.com/docs/columns
1630
+ */
1631
+ columns: [{
1632
+ columns: [S, h, y, f]
1633
+ }],
1634
+ /**
1635
+ * Break After
1636
+ * @see https://tailwindcss.com/docs/break-after
1637
+ */
1638
+ "break-after": [{
1639
+ "break-after": P()
1640
+ }],
1641
+ /**
1642
+ * Break Before
1643
+ * @see https://tailwindcss.com/docs/break-before
1644
+ */
1645
+ "break-before": [{
1646
+ "break-before": P()
1647
+ }],
1648
+ /**
1649
+ * Break Inside
1650
+ * @see https://tailwindcss.com/docs/break-inside
1651
+ */
1652
+ "break-inside": [{
1653
+ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
1654
+ }],
1655
+ /**
1656
+ * Box Decoration Break
1657
+ * @see https://tailwindcss.com/docs/box-decoration-break
1658
+ */
1659
+ "box-decoration": [{
1660
+ "box-decoration": ["slice", "clone"]
1661
+ }],
1662
+ /**
1663
+ * Box Sizing
1664
+ * @see https://tailwindcss.com/docs/box-sizing
1665
+ */
1666
+ box: [{
1667
+ box: ["border", "content"]
1668
+ }],
1669
+ /**
1670
+ * Display
1671
+ * @see https://tailwindcss.com/docs/display
1672
+ */
1673
+ 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"],
1674
+ /**
1675
+ * Screen Reader Only
1676
+ * @see https://tailwindcss.com/docs/display#screen-reader-only
1677
+ */
1678
+ sr: ["sr-only", "not-sr-only"],
1679
+ /**
1680
+ * Floats
1681
+ * @see https://tailwindcss.com/docs/float
1682
+ */
1683
+ float: [{
1684
+ float: ["right", "left", "none", "start", "end"]
1685
+ }],
1686
+ /**
1687
+ * Clear
1688
+ * @see https://tailwindcss.com/docs/clear
1689
+ */
1690
+ clear: [{
1691
+ clear: ["left", "right", "both", "none", "start", "end"]
1692
+ }],
1693
+ /**
1694
+ * Isolation
1695
+ * @see https://tailwindcss.com/docs/isolation
1696
+ */
1697
+ isolation: ["isolate", "isolation-auto"],
1698
+ /**
1699
+ * Object Fit
1700
+ * @see https://tailwindcss.com/docs/object-fit
1701
+ */
1702
+ "object-fit": [{
1703
+ object: ["contain", "cover", "fill", "none", "scale-down"]
1704
+ }],
1705
+ /**
1706
+ * Object Position
1707
+ * @see https://tailwindcss.com/docs/object-position
1708
+ */
1709
+ "object-position": [{
1710
+ object: G()
1711
+ }],
1712
+ /**
1713
+ * Overflow
1714
+ * @see https://tailwindcss.com/docs/overflow
1715
+ */
1716
+ overflow: [{
1717
+ overflow: I()
1718
+ }],
1719
+ /**
1720
+ * Overflow X
1721
+ * @see https://tailwindcss.com/docs/overflow
1722
+ */
1723
+ "overflow-x": [{
1724
+ "overflow-x": I()
1725
+ }],
1726
+ /**
1727
+ * Overflow Y
1728
+ * @see https://tailwindcss.com/docs/overflow
1729
+ */
1730
+ "overflow-y": [{
1731
+ "overflow-y": I()
1732
+ }],
1733
+ /**
1734
+ * Overscroll Behavior
1735
+ * @see https://tailwindcss.com/docs/overscroll-behavior
1736
+ */
1737
+ overscroll: [{
1738
+ overscroll: X()
1739
+ }],
1740
+ /**
1741
+ * Overscroll Behavior X
1742
+ * @see https://tailwindcss.com/docs/overscroll-behavior
1743
+ */
1744
+ "overscroll-x": [{
1745
+ "overscroll-x": X()
1746
+ }],
1747
+ /**
1748
+ * Overscroll Behavior Y
1749
+ * @see https://tailwindcss.com/docs/overscroll-behavior
1750
+ */
1751
+ "overscroll-y": [{
1752
+ "overscroll-y": X()
1753
+ }],
1754
+ /**
1755
+ * Position
1756
+ * @see https://tailwindcss.com/docs/position
1757
+ */
1758
+ position: ["static", "fixed", "absolute", "relative", "sticky"],
1759
+ /**
1760
+ * Top / Right / Bottom / Left
1761
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1762
+ */
1763
+ inset: [{
1764
+ inset: Y()
1765
+ }],
1766
+ /**
1767
+ * Right / Left
1768
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1769
+ */
1770
+ "inset-x": [{
1771
+ "inset-x": Y()
1772
+ }],
1773
+ /**
1774
+ * Top / Bottom
1775
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1776
+ */
1777
+ "inset-y": [{
1778
+ "inset-y": Y()
1779
+ }],
1780
+ /**
1781
+ * Start
1782
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1783
+ */
1784
+ start: [{
1785
+ start: Y()
1786
+ }],
1787
+ /**
1788
+ * End
1789
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1790
+ */
1791
+ end: [{
1792
+ end: Y()
1793
+ }],
1794
+ /**
1795
+ * Top
1796
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1797
+ */
1798
+ top: [{
1799
+ top: Y()
1800
+ }],
1801
+ /**
1802
+ * Right
1803
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1804
+ */
1805
+ right: [{
1806
+ right: Y()
1807
+ }],
1808
+ /**
1809
+ * Bottom
1810
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1811
+ */
1812
+ bottom: [{
1813
+ bottom: Y()
1814
+ }],
1815
+ /**
1816
+ * Left
1817
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1818
+ */
1819
+ left: [{
1820
+ left: Y()
1821
+ }],
1822
+ /**
1823
+ * Visibility
1824
+ * @see https://tailwindcss.com/docs/visibility
1825
+ */
1826
+ visibility: ["visible", "invisible", "collapse"],
1827
+ /**
1828
+ * Z-Index
1829
+ * @see https://tailwindcss.com/docs/z-index
1830
+ */
1831
+ z: [{
1832
+ z: [ne, "auto", y, h]
1833
+ }],
1834
+ // ------------------------
1835
+ // --- Flexbox and Grid ---
1836
+ // ------------------------
1837
+ /**
1838
+ * Flex Basis
1839
+ * @see https://tailwindcss.com/docs/flex-basis
1840
+ */
1841
+ basis: [{
1842
+ basis: [fe, "full", "auto", f, ..._()]
1843
+ }],
1844
+ /**
1845
+ * Flex Direction
1846
+ * @see https://tailwindcss.com/docs/flex-direction
1847
+ */
1848
+ "flex-direction": [{
1849
+ flex: ["row", "row-reverse", "col", "col-reverse"]
1850
+ }],
1851
+ /**
1852
+ * Flex Wrap
1853
+ * @see https://tailwindcss.com/docs/flex-wrap
1854
+ */
1855
+ "flex-wrap": [{
1856
+ flex: ["nowrap", "wrap", "wrap-reverse"]
1857
+ }],
1858
+ /**
1859
+ * Flex
1860
+ * @see https://tailwindcss.com/docs/flex
1861
+ */
1862
+ flex: [{
1863
+ flex: [S, fe, "auto", "initial", "none", h]
1864
+ }],
1865
+ /**
1866
+ * Flex Grow
1867
+ * @see https://tailwindcss.com/docs/flex-grow
1868
+ */
1869
+ grow: [{
1870
+ grow: ["", S, y, h]
1871
+ }],
1872
+ /**
1873
+ * Flex Shrink
1874
+ * @see https://tailwindcss.com/docs/flex-shrink
1875
+ */
1876
+ shrink: [{
1877
+ shrink: ["", S, y, h]
1878
+ }],
1879
+ /**
1880
+ * Order
1881
+ * @see https://tailwindcss.com/docs/order
1882
+ */
1883
+ order: [{
1884
+ order: [ne, "first", "last", "none", y, h]
1885
+ }],
1886
+ /**
1887
+ * Grid Template Columns
1888
+ * @see https://tailwindcss.com/docs/grid-template-columns
1889
+ */
1890
+ "grid-cols": [{
1891
+ "grid-cols": ue()
1892
+ }],
1893
+ /**
1894
+ * Grid Column Start / End
1895
+ * @see https://tailwindcss.com/docs/grid-column
1896
+ */
1897
+ "col-start-end": [{
1898
+ col: Z()
1899
+ }],
1900
+ /**
1901
+ * Grid Column Start
1902
+ * @see https://tailwindcss.com/docs/grid-column
1903
+ */
1904
+ "col-start": [{
1905
+ "col-start": Q()
1906
+ }],
1907
+ /**
1908
+ * Grid Column End
1909
+ * @see https://tailwindcss.com/docs/grid-column
1910
+ */
1911
+ "col-end": [{
1912
+ "col-end": Q()
1913
+ }],
1914
+ /**
1915
+ * Grid Template Rows
1916
+ * @see https://tailwindcss.com/docs/grid-template-rows
1917
+ */
1918
+ "grid-rows": [{
1919
+ "grid-rows": ue()
1920
+ }],
1921
+ /**
1922
+ * Grid Row Start / End
1923
+ * @see https://tailwindcss.com/docs/grid-row
1924
+ */
1925
+ "row-start-end": [{
1926
+ row: Z()
1927
+ }],
1928
+ /**
1929
+ * Grid Row Start
1930
+ * @see https://tailwindcss.com/docs/grid-row
1931
+ */
1932
+ "row-start": [{
1933
+ "row-start": Q()
1934
+ }],
1935
+ /**
1936
+ * Grid Row End
1937
+ * @see https://tailwindcss.com/docs/grid-row
1938
+ */
1939
+ "row-end": [{
1940
+ "row-end": Q()
1941
+ }],
1942
+ /**
1943
+ * Grid Auto Flow
1944
+ * @see https://tailwindcss.com/docs/grid-auto-flow
1945
+ */
1946
+ "grid-flow": [{
1947
+ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
1948
+ }],
1949
+ /**
1950
+ * Grid Auto Columns
1951
+ * @see https://tailwindcss.com/docs/grid-auto-columns
1952
+ */
1953
+ "auto-cols": [{
1954
+ "auto-cols": de()
1955
+ }],
1956
+ /**
1957
+ * Grid Auto Rows
1958
+ * @see https://tailwindcss.com/docs/grid-auto-rows
1959
+ */
1960
+ "auto-rows": [{
1961
+ "auto-rows": de()
1962
+ }],
1963
+ /**
1964
+ * Gap
1965
+ * @see https://tailwindcss.com/docs/gap
1966
+ */
1967
+ gap: [{
1968
+ gap: _()
1969
+ }],
1970
+ /**
1971
+ * Gap X
1972
+ * @see https://tailwindcss.com/docs/gap
1973
+ */
1974
+ "gap-x": [{
1975
+ "gap-x": _()
1976
+ }],
1977
+ /**
1978
+ * Gap Y
1979
+ * @see https://tailwindcss.com/docs/gap
1980
+ */
1981
+ "gap-y": [{
1982
+ "gap-y": _()
1983
+ }],
1984
+ /**
1985
+ * Justify Content
1986
+ * @see https://tailwindcss.com/docs/justify-content
1987
+ */
1988
+ "justify-content": [{
1989
+ justify: [...J(), "normal"]
1990
+ }],
1991
+ /**
1992
+ * Justify Items
1993
+ * @see https://tailwindcss.com/docs/justify-items
1994
+ */
1995
+ "justify-items": [{
1996
+ "justify-items": [...K(), "normal"]
1997
+ }],
1998
+ /**
1999
+ * Justify Self
2000
+ * @see https://tailwindcss.com/docs/justify-self
2001
+ */
2002
+ "justify-self": [{
2003
+ "justify-self": ["auto", ...K()]
2004
+ }],
2005
+ /**
2006
+ * Align Content
2007
+ * @see https://tailwindcss.com/docs/align-content
2008
+ */
2009
+ "align-content": [{
2010
+ content: ["normal", ...J()]
2011
+ }],
2012
+ /**
2013
+ * Align Items
2014
+ * @see https://tailwindcss.com/docs/align-items
2015
+ */
2016
+ "align-items": [{
2017
+ items: [...K(), {
2018
+ baseline: ["", "last"]
2019
+ }]
2020
+ }],
2021
+ /**
2022
+ * Align Self
2023
+ * @see https://tailwindcss.com/docs/align-self
2024
+ */
2025
+ "align-self": [{
2026
+ self: ["auto", ...K(), {
2027
+ baseline: ["", "last"]
2028
+ }]
2029
+ }],
2030
+ /**
2031
+ * Place Content
2032
+ * @see https://tailwindcss.com/docs/place-content
2033
+ */
2034
+ "place-content": [{
2035
+ "place-content": J()
2036
+ }],
2037
+ /**
2038
+ * Place Items
2039
+ * @see https://tailwindcss.com/docs/place-items
2040
+ */
2041
+ "place-items": [{
2042
+ "place-items": [...K(), "baseline"]
2043
+ }],
2044
+ /**
2045
+ * Place Self
2046
+ * @see https://tailwindcss.com/docs/place-self
2047
+ */
2048
+ "place-self": [{
2049
+ "place-self": ["auto", ...K()]
2050
+ }],
2051
+ // Spacing
2052
+ /**
2053
+ * Padding
2054
+ * @see https://tailwindcss.com/docs/padding
2055
+ */
2056
+ p: [{
2057
+ p: _()
2058
+ }],
2059
+ /**
2060
+ * Padding X
2061
+ * @see https://tailwindcss.com/docs/padding
2062
+ */
2063
+ px: [{
2064
+ px: _()
2065
+ }],
2066
+ /**
2067
+ * Padding Y
2068
+ * @see https://tailwindcss.com/docs/padding
2069
+ */
2070
+ py: [{
2071
+ py: _()
2072
+ }],
2073
+ /**
2074
+ * Padding Start
2075
+ * @see https://tailwindcss.com/docs/padding
2076
+ */
2077
+ ps: [{
2078
+ ps: _()
2079
+ }],
2080
+ /**
2081
+ * Padding End
2082
+ * @see https://tailwindcss.com/docs/padding
2083
+ */
2084
+ pe: [{
2085
+ pe: _()
2086
+ }],
2087
+ /**
2088
+ * Padding Top
2089
+ * @see https://tailwindcss.com/docs/padding
2090
+ */
2091
+ pt: [{
2092
+ pt: _()
2093
+ }],
2094
+ /**
2095
+ * Padding Right
2096
+ * @see https://tailwindcss.com/docs/padding
2097
+ */
2098
+ pr: [{
2099
+ pr: _()
2100
+ }],
2101
+ /**
2102
+ * Padding Bottom
2103
+ * @see https://tailwindcss.com/docs/padding
2104
+ */
2105
+ pb: [{
2106
+ pb: _()
2107
+ }],
2108
+ /**
2109
+ * Padding Left
2110
+ * @see https://tailwindcss.com/docs/padding
2111
+ */
2112
+ pl: [{
2113
+ pl: _()
2114
+ }],
2115
+ /**
2116
+ * Margin
2117
+ * @see https://tailwindcss.com/docs/margin
2118
+ */
2119
+ m: [{
2120
+ m: U()
2121
+ }],
2122
+ /**
2123
+ * Margin X
2124
+ * @see https://tailwindcss.com/docs/margin
2125
+ */
2126
+ mx: [{
2127
+ mx: U()
2128
+ }],
2129
+ /**
2130
+ * Margin Y
2131
+ * @see https://tailwindcss.com/docs/margin
2132
+ */
2133
+ my: [{
2134
+ my: U()
2135
+ }],
2136
+ /**
2137
+ * Margin Start
2138
+ * @see https://tailwindcss.com/docs/margin
2139
+ */
2140
+ ms: [{
2141
+ ms: U()
2142
+ }],
2143
+ /**
2144
+ * Margin End
2145
+ * @see https://tailwindcss.com/docs/margin
2146
+ */
2147
+ me: [{
2148
+ me: U()
2149
+ }],
2150
+ /**
2151
+ * Margin Top
2152
+ * @see https://tailwindcss.com/docs/margin
2153
+ */
2154
+ mt: [{
2155
+ mt: U()
2156
+ }],
2157
+ /**
2158
+ * Margin Right
2159
+ * @see https://tailwindcss.com/docs/margin
2160
+ */
2161
+ mr: [{
2162
+ mr: U()
2163
+ }],
2164
+ /**
2165
+ * Margin Bottom
2166
+ * @see https://tailwindcss.com/docs/margin
2167
+ */
2168
+ mb: [{
2169
+ mb: U()
2170
+ }],
2171
+ /**
2172
+ * Margin Left
2173
+ * @see https://tailwindcss.com/docs/margin
2174
+ */
2175
+ ml: [{
2176
+ ml: U()
2177
+ }],
2178
+ /**
2179
+ * Space Between X
2180
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
2181
+ */
2182
+ "space-x": [{
2183
+ "space-x": _()
2184
+ }],
2185
+ /**
2186
+ * Space Between X Reverse
2187
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
2188
+ */
2189
+ "space-x-reverse": ["space-x-reverse"],
2190
+ /**
2191
+ * Space Between Y
2192
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
2193
+ */
2194
+ "space-y": [{
2195
+ "space-y": _()
2196
+ }],
2197
+ /**
2198
+ * Space Between Y Reverse
2199
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
2200
+ */
2201
+ "space-y-reverse": ["space-y-reverse"],
2202
+ // --------------
2203
+ // --- Sizing ---
2204
+ // --------------
2205
+ /**
2206
+ * Size
2207
+ * @see https://tailwindcss.com/docs/width#setting-both-width-and-height
2208
+ */
2209
+ size: [{
2210
+ size: W()
2211
+ }],
2212
+ /**
2213
+ * Width
2214
+ * @see https://tailwindcss.com/docs/width
2215
+ */
2216
+ w: [{
2217
+ w: [f, "screen", ...W()]
2218
+ }],
2219
+ /**
2220
+ * Min-Width
2221
+ * @see https://tailwindcss.com/docs/min-width
2222
+ */
2223
+ "min-w": [{
2224
+ "min-w": [
2225
+ f,
2226
+ "screen",
2227
+ /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
2228
+ "none",
2229
+ ...W()
2230
+ ]
2231
+ }],
2232
+ /**
2233
+ * Max-Width
2234
+ * @see https://tailwindcss.com/docs/max-width
2235
+ */
2236
+ "max-w": [{
2237
+ "max-w": [
2238
+ f,
2239
+ "screen",
2240
+ "none",
2241
+ /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
2242
+ "prose",
2243
+ /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
2244
+ {
2245
+ screen: [d]
2246
+ },
2247
+ ...W()
2248
+ ]
2249
+ }],
2250
+ /**
2251
+ * Height
2252
+ * @see https://tailwindcss.com/docs/height
2253
+ */
2254
+ h: [{
2255
+ h: ["screen", "lh", ...W()]
2256
+ }],
2257
+ /**
2258
+ * Min-Height
2259
+ * @see https://tailwindcss.com/docs/min-height
2260
+ */
2261
+ "min-h": [{
2262
+ "min-h": ["screen", "lh", "none", ...W()]
2263
+ }],
2264
+ /**
2265
+ * Max-Height
2266
+ * @see https://tailwindcss.com/docs/max-height
2267
+ */
2268
+ "max-h": [{
2269
+ "max-h": ["screen", "lh", ...W()]
2270
+ }],
2271
+ // ------------------
2272
+ // --- Typography ---
2273
+ // ------------------
2274
+ /**
2275
+ * Font Size
2276
+ * @see https://tailwindcss.com/docs/font-size
2277
+ */
2278
+ "font-size": [{
2279
+ text: ["base", t, ve, ae]
2280
+ }],
2281
+ /**
2282
+ * Font Smoothing
2283
+ * @see https://tailwindcss.com/docs/font-smoothing
2284
+ */
2285
+ "font-smoothing": ["antialiased", "subpixel-antialiased"],
2286
+ /**
2287
+ * Font Style
2288
+ * @see https://tailwindcss.com/docs/font-style
2289
+ */
2290
+ "font-style": ["italic", "not-italic"],
2291
+ /**
2292
+ * Font Weight
2293
+ * @see https://tailwindcss.com/docs/font-weight
2294
+ */
2295
+ "font-weight": [{
2296
+ font: [o, y, Me]
2297
+ }],
2298
+ /**
2299
+ * Font Stretch
2300
+ * @see https://tailwindcss.com/docs/font-stretch
2301
+ */
2302
+ "font-stretch": [{
2303
+ "font-stretch": ["ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded", Le, h]
2304
+ }],
2305
+ /**
2306
+ * Font Family
2307
+ * @see https://tailwindcss.com/docs/font-family
2308
+ */
2309
+ "font-family": [{
2310
+ font: [po, h, r]
2311
+ }],
2312
+ /**
2313
+ * Font Variant Numeric
2314
+ * @see https://tailwindcss.com/docs/font-variant-numeric
2315
+ */
2316
+ "fvn-normal": ["normal-nums"],
2317
+ /**
2318
+ * Font Variant Numeric
2319
+ * @see https://tailwindcss.com/docs/font-variant-numeric
2320
+ */
2321
+ "fvn-ordinal": ["ordinal"],
2322
+ /**
2323
+ * Font Variant Numeric
2324
+ * @see https://tailwindcss.com/docs/font-variant-numeric
2325
+ */
2326
+ "fvn-slashed-zero": ["slashed-zero"],
2327
+ /**
2328
+ * Font Variant Numeric
2329
+ * @see https://tailwindcss.com/docs/font-variant-numeric
2330
+ */
2331
+ "fvn-figure": ["lining-nums", "oldstyle-nums"],
2332
+ /**
2333
+ * Font Variant Numeric
2334
+ * @see https://tailwindcss.com/docs/font-variant-numeric
2335
+ */
2336
+ "fvn-spacing": ["proportional-nums", "tabular-nums"],
2337
+ /**
2338
+ * Font Variant Numeric
2339
+ * @see https://tailwindcss.com/docs/font-variant-numeric
2340
+ */
2341
+ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
2342
+ /**
2343
+ * Letter Spacing
2344
+ * @see https://tailwindcss.com/docs/letter-spacing
2345
+ */
2346
+ tracking: [{
2347
+ tracking: [n, y, h]
2348
+ }],
2349
+ /**
2350
+ * Line Clamp
2351
+ * @see https://tailwindcss.com/docs/line-clamp
2352
+ */
2353
+ "line-clamp": [{
2354
+ "line-clamp": [S, "none", y, Me]
2355
+ }],
2356
+ /**
2357
+ * Line Height
2358
+ * @see https://tailwindcss.com/docs/line-height
2359
+ */
2360
+ leading: [{
2361
+ leading: [
2362
+ /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
2363
+ s,
2364
+ ..._()
2365
+ ]
2366
+ }],
2367
+ /**
2368
+ * List Style Image
2369
+ * @see https://tailwindcss.com/docs/list-style-image
2370
+ */
2371
+ "list-image": [{
2372
+ "list-image": ["none", y, h]
2373
+ }],
2374
+ /**
2375
+ * List Style Position
2376
+ * @see https://tailwindcss.com/docs/list-style-position
2377
+ */
2378
+ "list-style-position": [{
2379
+ list: ["inside", "outside"]
2380
+ }],
2381
+ /**
2382
+ * List Style Type
2383
+ * @see https://tailwindcss.com/docs/list-style-type
2384
+ */
2385
+ "list-style-type": [{
2386
+ list: ["disc", "decimal", "none", y, h]
2387
+ }],
2388
+ /**
2389
+ * Text Alignment
2390
+ * @see https://tailwindcss.com/docs/text-align
2391
+ */
2392
+ "text-alignment": [{
2393
+ text: ["left", "center", "right", "justify", "start", "end"]
2394
+ }],
2395
+ /**
2396
+ * Placeholder Color
2397
+ * @deprecated since Tailwind CSS v3.0.0
2398
+ * @see https://v3.tailwindcss.com/docs/placeholder-color
2399
+ */
2400
+ "placeholder-color": [{
2401
+ placeholder: x()
2402
+ }],
2403
+ /**
2404
+ * Text Color
2405
+ * @see https://tailwindcss.com/docs/text-color
2406
+ */
2407
+ "text-color": [{
2408
+ text: x()
2409
+ }],
2410
+ /**
2411
+ * Text Decoration
2412
+ * @see https://tailwindcss.com/docs/text-decoration
2413
+ */
2414
+ "text-decoration": ["underline", "overline", "line-through", "no-underline"],
2415
+ /**
2416
+ * Text Decoration Style
2417
+ * @see https://tailwindcss.com/docs/text-decoration-style
2418
+ */
2419
+ "text-decoration-style": [{
2420
+ decoration: [...T(), "wavy"]
2421
+ }],
2422
+ /**
2423
+ * Text Decoration Thickness
2424
+ * @see https://tailwindcss.com/docs/text-decoration-thickness
2425
+ */
2426
+ "text-decoration-thickness": [{
2427
+ decoration: [S, "from-font", "auto", y, ae]
2428
+ }],
2429
+ /**
2430
+ * Text Decoration Color
2431
+ * @see https://tailwindcss.com/docs/text-decoration-color
2432
+ */
2433
+ "text-decoration-color": [{
2434
+ decoration: x()
2435
+ }],
2436
+ /**
2437
+ * Text Underline Offset
2438
+ * @see https://tailwindcss.com/docs/text-underline-offset
2439
+ */
2440
+ "underline-offset": [{
2441
+ "underline-offset": [S, "auto", y, h]
2442
+ }],
2443
+ /**
2444
+ * Text Transform
2445
+ * @see https://tailwindcss.com/docs/text-transform
2446
+ */
2447
+ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
2448
+ /**
2449
+ * Text Overflow
2450
+ * @see https://tailwindcss.com/docs/text-overflow
2451
+ */
2452
+ "text-overflow": ["truncate", "text-ellipsis", "text-clip"],
2453
+ /**
2454
+ * Text Wrap
2455
+ * @see https://tailwindcss.com/docs/text-wrap
2456
+ */
2457
+ "text-wrap": [{
2458
+ text: ["wrap", "nowrap", "balance", "pretty"]
2459
+ }],
2460
+ /**
2461
+ * Text Indent
2462
+ * @see https://tailwindcss.com/docs/text-indent
2463
+ */
2464
+ indent: [{
2465
+ indent: _()
2466
+ }],
2467
+ /**
2468
+ * Vertical Alignment
2469
+ * @see https://tailwindcss.com/docs/vertical-align
2470
+ */
2471
+ "vertical-align": [{
2472
+ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", y, h]
2473
+ }],
2474
+ /**
2475
+ * Whitespace
2476
+ * @see https://tailwindcss.com/docs/whitespace
2477
+ */
2478
+ whitespace: [{
2479
+ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
2480
+ }],
2481
+ /**
2482
+ * Word Break
2483
+ * @see https://tailwindcss.com/docs/word-break
2484
+ */
2485
+ break: [{
2486
+ break: ["normal", "words", "all", "keep"]
2487
+ }],
2488
+ /**
2489
+ * Overflow Wrap
2490
+ * @see https://tailwindcss.com/docs/overflow-wrap
2491
+ */
2492
+ wrap: [{
2493
+ wrap: ["break-word", "anywhere", "normal"]
2494
+ }],
2495
+ /**
2496
+ * Hyphens
2497
+ * @see https://tailwindcss.com/docs/hyphens
2498
+ */
2499
+ hyphens: [{
2500
+ hyphens: ["none", "manual", "auto"]
2501
+ }],
2502
+ /**
2503
+ * Content
2504
+ * @see https://tailwindcss.com/docs/content
2505
+ */
2506
+ content: [{
2507
+ content: ["none", y, h]
2508
+ }],
2509
+ // -------------------
2510
+ // --- Backgrounds ---
2511
+ // -------------------
2512
+ /**
2513
+ * Background Attachment
2514
+ * @see https://tailwindcss.com/docs/background-attachment
2515
+ */
2516
+ "bg-attachment": [{
2517
+ bg: ["fixed", "local", "scroll"]
2518
+ }],
2519
+ /**
2520
+ * Background Clip
2521
+ * @see https://tailwindcss.com/docs/background-clip
2522
+ */
2523
+ "bg-clip": [{
2524
+ "bg-clip": ["border", "padding", "content", "text"]
2525
+ }],
2526
+ /**
2527
+ * Background Origin
2528
+ * @see https://tailwindcss.com/docs/background-origin
2529
+ */
2530
+ "bg-origin": [{
2531
+ "bg-origin": ["border", "padding", "content"]
2532
+ }],
2533
+ /**
2534
+ * Background Position
2535
+ * @see https://tailwindcss.com/docs/background-position
2536
+ */
2537
+ "bg-position": [{
2538
+ bg: oe()
2539
+ }],
2540
+ /**
2541
+ * Background Repeat
2542
+ * @see https://tailwindcss.com/docs/background-repeat
2543
+ */
2544
+ "bg-repeat": [{
2545
+ bg: a()
2546
+ }],
2547
+ /**
2548
+ * Background Size
2549
+ * @see https://tailwindcss.com/docs/background-size
2550
+ */
2551
+ "bg-size": [{
2552
+ bg: g()
2553
+ }],
2554
+ /**
2555
+ * Background Image
2556
+ * @see https://tailwindcss.com/docs/background-image
2557
+ */
2558
+ "bg-image": [{
2559
+ bg: ["none", {
2560
+ linear: [{
2561
+ to: ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
2562
+ }, ne, y, h],
2563
+ radial: ["", y, h],
2564
+ conic: [ne, y, h]
2565
+ }, go, fo]
2566
+ }],
2567
+ /**
2568
+ * Background Color
2569
+ * @see https://tailwindcss.com/docs/background-color
2570
+ */
2571
+ "bg-color": [{
2572
+ bg: x()
2573
+ }],
2574
+ /**
2575
+ * Gradient Color Stops From Position
2576
+ * @see https://tailwindcss.com/docs/gradient-color-stops
2577
+ */
2578
+ "gradient-from-pos": [{
2579
+ from: w()
2580
+ }],
2581
+ /**
2582
+ * Gradient Color Stops Via Position
2583
+ * @see https://tailwindcss.com/docs/gradient-color-stops
2584
+ */
2585
+ "gradient-via-pos": [{
2586
+ via: w()
2587
+ }],
2588
+ /**
2589
+ * Gradient Color Stops To Position
2590
+ * @see https://tailwindcss.com/docs/gradient-color-stops
2591
+ */
2592
+ "gradient-to-pos": [{
2593
+ to: w()
2594
+ }],
2595
+ /**
2596
+ * Gradient Color Stops From
2597
+ * @see https://tailwindcss.com/docs/gradient-color-stops
2598
+ */
2599
+ "gradient-from": [{
2600
+ from: x()
2601
+ }],
2602
+ /**
2603
+ * Gradient Color Stops Via
2604
+ * @see https://tailwindcss.com/docs/gradient-color-stops
2605
+ */
2606
+ "gradient-via": [{
2607
+ via: x()
2608
+ }],
2609
+ /**
2610
+ * Gradient Color Stops To
2611
+ * @see https://tailwindcss.com/docs/gradient-color-stops
2612
+ */
2613
+ "gradient-to": [{
2614
+ to: x()
2615
+ }],
2616
+ // ---------------
2617
+ // --- Borders ---
2618
+ // ---------------
2619
+ /**
2620
+ * Border Radius
2621
+ * @see https://tailwindcss.com/docs/border-radius
2622
+ */
2623
+ rounded: [{
2624
+ rounded: k()
2625
+ }],
2626
+ /**
2627
+ * Border Radius Start
2628
+ * @see https://tailwindcss.com/docs/border-radius
2629
+ */
2630
+ "rounded-s": [{
2631
+ "rounded-s": k()
2632
+ }],
2633
+ /**
2634
+ * Border Radius End
2635
+ * @see https://tailwindcss.com/docs/border-radius
2636
+ */
2637
+ "rounded-e": [{
2638
+ "rounded-e": k()
2639
+ }],
2640
+ /**
2641
+ * Border Radius Top
2642
+ * @see https://tailwindcss.com/docs/border-radius
2643
+ */
2644
+ "rounded-t": [{
2645
+ "rounded-t": k()
2646
+ }],
2647
+ /**
2648
+ * Border Radius Right
2649
+ * @see https://tailwindcss.com/docs/border-radius
2650
+ */
2651
+ "rounded-r": [{
2652
+ "rounded-r": k()
2653
+ }],
2654
+ /**
2655
+ * Border Radius Bottom
2656
+ * @see https://tailwindcss.com/docs/border-radius
2657
+ */
2658
+ "rounded-b": [{
2659
+ "rounded-b": k()
2660
+ }],
2661
+ /**
2662
+ * Border Radius Left
2663
+ * @see https://tailwindcss.com/docs/border-radius
2664
+ */
2665
+ "rounded-l": [{
2666
+ "rounded-l": k()
2667
+ }],
2668
+ /**
2669
+ * Border Radius Start Start
2670
+ * @see https://tailwindcss.com/docs/border-radius
2671
+ */
2672
+ "rounded-ss": [{
2673
+ "rounded-ss": k()
2674
+ }],
2675
+ /**
2676
+ * Border Radius Start End
2677
+ * @see https://tailwindcss.com/docs/border-radius
2678
+ */
2679
+ "rounded-se": [{
2680
+ "rounded-se": k()
2681
+ }],
2682
+ /**
2683
+ * Border Radius End End
2684
+ * @see https://tailwindcss.com/docs/border-radius
2685
+ */
2686
+ "rounded-ee": [{
2687
+ "rounded-ee": k()
2688
+ }],
2689
+ /**
2690
+ * Border Radius End Start
2691
+ * @see https://tailwindcss.com/docs/border-radius
2692
+ */
2693
+ "rounded-es": [{
2694
+ "rounded-es": k()
2695
+ }],
2696
+ /**
2697
+ * Border Radius Top Left
2698
+ * @see https://tailwindcss.com/docs/border-radius
2699
+ */
2700
+ "rounded-tl": [{
2701
+ "rounded-tl": k()
2702
+ }],
2703
+ /**
2704
+ * Border Radius Top Right
2705
+ * @see https://tailwindcss.com/docs/border-radius
2706
+ */
2707
+ "rounded-tr": [{
2708
+ "rounded-tr": k()
2709
+ }],
2710
+ /**
2711
+ * Border Radius Bottom Right
2712
+ * @see https://tailwindcss.com/docs/border-radius
2713
+ */
2714
+ "rounded-br": [{
2715
+ "rounded-br": k()
2716
+ }],
2717
+ /**
2718
+ * Border Radius Bottom Left
2719
+ * @see https://tailwindcss.com/docs/border-radius
2720
+ */
2721
+ "rounded-bl": [{
2722
+ "rounded-bl": k()
2723
+ }],
2724
+ /**
2725
+ * Border Width
2726
+ * @see https://tailwindcss.com/docs/border-width
2727
+ */
2728
+ "border-w": [{
2729
+ border: j()
2730
+ }],
2731
+ /**
2732
+ * Border Width X
2733
+ * @see https://tailwindcss.com/docs/border-width
2734
+ */
2735
+ "border-w-x": [{
2736
+ "border-x": j()
2737
+ }],
2738
+ /**
2739
+ * Border Width Y
2740
+ * @see https://tailwindcss.com/docs/border-width
2741
+ */
2742
+ "border-w-y": [{
2743
+ "border-y": j()
2744
+ }],
2745
+ /**
2746
+ * Border Width Start
2747
+ * @see https://tailwindcss.com/docs/border-width
2748
+ */
2749
+ "border-w-s": [{
2750
+ "border-s": j()
2751
+ }],
2752
+ /**
2753
+ * Border Width End
2754
+ * @see https://tailwindcss.com/docs/border-width
2755
+ */
2756
+ "border-w-e": [{
2757
+ "border-e": j()
2758
+ }],
2759
+ /**
2760
+ * Border Width Top
2761
+ * @see https://tailwindcss.com/docs/border-width
2762
+ */
2763
+ "border-w-t": [{
2764
+ "border-t": j()
2765
+ }],
2766
+ /**
2767
+ * Border Width Right
2768
+ * @see https://tailwindcss.com/docs/border-width
2769
+ */
2770
+ "border-w-r": [{
2771
+ "border-r": j()
2772
+ }],
2773
+ /**
2774
+ * Border Width Bottom
2775
+ * @see https://tailwindcss.com/docs/border-width
2776
+ */
2777
+ "border-w-b": [{
2778
+ "border-b": j()
2779
+ }],
2780
+ /**
2781
+ * Border Width Left
2782
+ * @see https://tailwindcss.com/docs/border-width
2783
+ */
2784
+ "border-w-l": [{
2785
+ "border-l": j()
2786
+ }],
2787
+ /**
2788
+ * Divide Width X
2789
+ * @see https://tailwindcss.com/docs/border-width#between-children
2790
+ */
2791
+ "divide-x": [{
2792
+ "divide-x": j()
2793
+ }],
2794
+ /**
2795
+ * Divide Width X Reverse
2796
+ * @see https://tailwindcss.com/docs/border-width#between-children
2797
+ */
2798
+ "divide-x-reverse": ["divide-x-reverse"],
2799
+ /**
2800
+ * Divide Width Y
2801
+ * @see https://tailwindcss.com/docs/border-width#between-children
2802
+ */
2803
+ "divide-y": [{
2804
+ "divide-y": j()
2805
+ }],
2806
+ /**
2807
+ * Divide Width Y Reverse
2808
+ * @see https://tailwindcss.com/docs/border-width#between-children
2809
+ */
2810
+ "divide-y-reverse": ["divide-y-reverse"],
2811
+ /**
2812
+ * Border Style
2813
+ * @see https://tailwindcss.com/docs/border-style
2814
+ */
2815
+ "border-style": [{
2816
+ border: [...T(), "hidden", "none"]
2817
+ }],
2818
+ /**
2819
+ * Divide Style
2820
+ * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style
2821
+ */
2822
+ "divide-style": [{
2823
+ divide: [...T(), "hidden", "none"]
2824
+ }],
2825
+ /**
2826
+ * Border Color
2827
+ * @see https://tailwindcss.com/docs/border-color
2828
+ */
2829
+ "border-color": [{
2830
+ border: x()
2831
+ }],
2832
+ /**
2833
+ * Border Color X
2834
+ * @see https://tailwindcss.com/docs/border-color
2835
+ */
2836
+ "border-color-x": [{
2837
+ "border-x": x()
2838
+ }],
2839
+ /**
2840
+ * Border Color Y
2841
+ * @see https://tailwindcss.com/docs/border-color
2842
+ */
2843
+ "border-color-y": [{
2844
+ "border-y": x()
2845
+ }],
2846
+ /**
2847
+ * Border Color S
2848
+ * @see https://tailwindcss.com/docs/border-color
2849
+ */
2850
+ "border-color-s": [{
2851
+ "border-s": x()
2852
+ }],
2853
+ /**
2854
+ * Border Color E
2855
+ * @see https://tailwindcss.com/docs/border-color
2856
+ */
2857
+ "border-color-e": [{
2858
+ "border-e": x()
2859
+ }],
2860
+ /**
2861
+ * Border Color Top
2862
+ * @see https://tailwindcss.com/docs/border-color
2863
+ */
2864
+ "border-color-t": [{
2865
+ "border-t": x()
2866
+ }],
2867
+ /**
2868
+ * Border Color Right
2869
+ * @see https://tailwindcss.com/docs/border-color
2870
+ */
2871
+ "border-color-r": [{
2872
+ "border-r": x()
2873
+ }],
2874
+ /**
2875
+ * Border Color Bottom
2876
+ * @see https://tailwindcss.com/docs/border-color
2877
+ */
2878
+ "border-color-b": [{
2879
+ "border-b": x()
2880
+ }],
2881
+ /**
2882
+ * Border Color Left
2883
+ * @see https://tailwindcss.com/docs/border-color
2884
+ */
2885
+ "border-color-l": [{
2886
+ "border-l": x()
2887
+ }],
2888
+ /**
2889
+ * Divide Color
2890
+ * @see https://tailwindcss.com/docs/divide-color
2891
+ */
2892
+ "divide-color": [{
2893
+ divide: x()
2894
+ }],
2895
+ /**
2896
+ * Outline Style
2897
+ * @see https://tailwindcss.com/docs/outline-style
2898
+ */
2899
+ "outline-style": [{
2900
+ outline: [...T(), "none", "hidden"]
2901
+ }],
2902
+ /**
2903
+ * Outline Offset
2904
+ * @see https://tailwindcss.com/docs/outline-offset
2905
+ */
2906
+ "outline-offset": [{
2907
+ "outline-offset": [S, y, h]
2908
+ }],
2909
+ /**
2910
+ * Outline Width
2911
+ * @see https://tailwindcss.com/docs/outline-width
2912
+ */
2913
+ "outline-w": [{
2914
+ outline: ["", S, ve, ae]
2915
+ }],
2916
+ /**
2917
+ * Outline Color
2918
+ * @see https://tailwindcss.com/docs/outline-color
2919
+ */
2920
+ "outline-color": [{
2921
+ outline: x()
2922
+ }],
2923
+ // ---------------
2924
+ // --- Effects ---
2925
+ // ---------------
2926
+ /**
2927
+ * Box Shadow
2928
+ * @see https://tailwindcss.com/docs/box-shadow
2929
+ */
2930
+ shadow: [{
2931
+ shadow: [
2932
+ // Deprecated since Tailwind CSS v4.0.0
2933
+ "",
2934
+ "none",
2935
+ m,
2936
+ Ee,
2937
+ Oe
2938
+ ]
2939
+ }],
2940
+ /**
2941
+ * Box Shadow Color
2942
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color
2943
+ */
2944
+ "shadow-color": [{
2945
+ shadow: x()
2946
+ }],
2947
+ /**
2948
+ * Inset Box Shadow
2949
+ * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
2950
+ */
2951
+ "inset-shadow": [{
2952
+ "inset-shadow": ["none", c, Ee, Oe]
2953
+ }],
2954
+ /**
2955
+ * Inset Box Shadow Color
2956
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color
2957
+ */
2958
+ "inset-shadow-color": [{
2959
+ "inset-shadow": x()
2960
+ }],
2961
+ /**
2962
+ * Ring Width
2963
+ * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
2964
+ */
2965
+ "ring-w": [{
2966
+ ring: j()
2967
+ }],
2968
+ /**
2969
+ * Ring Width Inset
2970
+ * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings
2971
+ * @deprecated since Tailwind CSS v4.0.0
2972
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
2973
+ */
2974
+ "ring-w-inset": ["ring-inset"],
2975
+ /**
2976
+ * Ring Color
2977
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color
2978
+ */
2979
+ "ring-color": [{
2980
+ ring: x()
2981
+ }],
2982
+ /**
2983
+ * Ring Offset Width
2984
+ * @see https://v3.tailwindcss.com/docs/ring-offset-width
2985
+ * @deprecated since Tailwind CSS v4.0.0
2986
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
2987
+ */
2988
+ "ring-offset-w": [{
2989
+ "ring-offset": [S, ae]
2990
+ }],
2991
+ /**
2992
+ * Ring Offset Color
2993
+ * @see https://v3.tailwindcss.com/docs/ring-offset-color
2994
+ * @deprecated since Tailwind CSS v4.0.0
2995
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
2996
+ */
2997
+ "ring-offset-color": [{
2998
+ "ring-offset": x()
2999
+ }],
3000
+ /**
3001
+ * Inset Ring Width
3002
+ * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
3003
+ */
3004
+ "inset-ring-w": [{
3005
+ "inset-ring": j()
3006
+ }],
3007
+ /**
3008
+ * Inset Ring Color
3009
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color
3010
+ */
3011
+ "inset-ring-color": [{
3012
+ "inset-ring": x()
3013
+ }],
3014
+ /**
3015
+ * Text Shadow
3016
+ * @see https://tailwindcss.com/docs/text-shadow
3017
+ */
3018
+ "text-shadow": [{
3019
+ "text-shadow": ["none", i, Ee, Oe]
3020
+ }],
3021
+ /**
3022
+ * Text Shadow Color
3023
+ * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color
3024
+ */
3025
+ "text-shadow-color": [{
3026
+ "text-shadow": x()
3027
+ }],
3028
+ /**
3029
+ * Opacity
3030
+ * @see https://tailwindcss.com/docs/opacity
3031
+ */
3032
+ opacity: [{
3033
+ opacity: [S, y, h]
3034
+ }],
3035
+ /**
3036
+ * Mix Blend Mode
3037
+ * @see https://tailwindcss.com/docs/mix-blend-mode
3038
+ */
3039
+ "mix-blend": [{
3040
+ "mix-blend": [...ee(), "plus-darker", "plus-lighter"]
3041
+ }],
3042
+ /**
3043
+ * Background Blend Mode
3044
+ * @see https://tailwindcss.com/docs/background-blend-mode
3045
+ */
3046
+ "bg-blend": [{
3047
+ "bg-blend": ee()
3048
+ }],
3049
+ /**
3050
+ * Mask Clip
3051
+ * @see https://tailwindcss.com/docs/mask-clip
3052
+ */
3053
+ "mask-clip": [{
3054
+ "mask-clip": ["border", "padding", "content", "fill", "stroke", "view"]
3055
+ }, "mask-no-clip"],
3056
+ /**
3057
+ * Mask Composite
3058
+ * @see https://tailwindcss.com/docs/mask-composite
3059
+ */
3060
+ "mask-composite": [{
3061
+ mask: ["add", "subtract", "intersect", "exclude"]
3062
+ }],
3063
+ /**
3064
+ * Mask Image
3065
+ * @see https://tailwindcss.com/docs/mask-image
3066
+ */
3067
+ "mask-image-linear-pos": [{
3068
+ "mask-linear": [S]
3069
+ }],
3070
+ "mask-image-linear-from-pos": [{
3071
+ "mask-linear-from": A()
3072
+ }],
3073
+ "mask-image-linear-to-pos": [{
3074
+ "mask-linear-to": A()
3075
+ }],
3076
+ "mask-image-linear-from-color": [{
3077
+ "mask-linear-from": x()
3078
+ }],
3079
+ "mask-image-linear-to-color": [{
3080
+ "mask-linear-to": x()
3081
+ }],
3082
+ "mask-image-t-from-pos": [{
3083
+ "mask-t-from": A()
3084
+ }],
3085
+ "mask-image-t-to-pos": [{
3086
+ "mask-t-to": A()
3087
+ }],
3088
+ "mask-image-t-from-color": [{
3089
+ "mask-t-from": x()
3090
+ }],
3091
+ "mask-image-t-to-color": [{
3092
+ "mask-t-to": x()
3093
+ }],
3094
+ "mask-image-r-from-pos": [{
3095
+ "mask-r-from": A()
3096
+ }],
3097
+ "mask-image-r-to-pos": [{
3098
+ "mask-r-to": A()
3099
+ }],
3100
+ "mask-image-r-from-color": [{
3101
+ "mask-r-from": x()
3102
+ }],
3103
+ "mask-image-r-to-color": [{
3104
+ "mask-r-to": x()
3105
+ }],
3106
+ "mask-image-b-from-pos": [{
3107
+ "mask-b-from": A()
3108
+ }],
3109
+ "mask-image-b-to-pos": [{
3110
+ "mask-b-to": A()
3111
+ }],
3112
+ "mask-image-b-from-color": [{
3113
+ "mask-b-from": x()
3114
+ }],
3115
+ "mask-image-b-to-color": [{
3116
+ "mask-b-to": x()
3117
+ }],
3118
+ "mask-image-l-from-pos": [{
3119
+ "mask-l-from": A()
3120
+ }],
3121
+ "mask-image-l-to-pos": [{
3122
+ "mask-l-to": A()
3123
+ }],
3124
+ "mask-image-l-from-color": [{
3125
+ "mask-l-from": x()
3126
+ }],
3127
+ "mask-image-l-to-color": [{
3128
+ "mask-l-to": x()
3129
+ }],
3130
+ "mask-image-x-from-pos": [{
3131
+ "mask-x-from": A()
3132
+ }],
3133
+ "mask-image-x-to-pos": [{
3134
+ "mask-x-to": A()
3135
+ }],
3136
+ "mask-image-x-from-color": [{
3137
+ "mask-x-from": x()
3138
+ }],
3139
+ "mask-image-x-to-color": [{
3140
+ "mask-x-to": x()
3141
+ }],
3142
+ "mask-image-y-from-pos": [{
3143
+ "mask-y-from": A()
3144
+ }],
3145
+ "mask-image-y-to-pos": [{
3146
+ "mask-y-to": A()
3147
+ }],
3148
+ "mask-image-y-from-color": [{
3149
+ "mask-y-from": x()
3150
+ }],
3151
+ "mask-image-y-to-color": [{
3152
+ "mask-y-to": x()
3153
+ }],
3154
+ "mask-image-radial": [{
3155
+ "mask-radial": [y, h]
3156
+ }],
3157
+ "mask-image-radial-from-pos": [{
3158
+ "mask-radial-from": A()
3159
+ }],
3160
+ "mask-image-radial-to-pos": [{
3161
+ "mask-radial-to": A()
3162
+ }],
3163
+ "mask-image-radial-from-color": [{
3164
+ "mask-radial-from": x()
3165
+ }],
3166
+ "mask-image-radial-to-color": [{
3167
+ "mask-radial-to": x()
3168
+ }],
3169
+ "mask-image-radial-shape": [{
3170
+ "mask-radial": ["circle", "ellipse"]
3171
+ }],
3172
+ "mask-image-radial-size": [{
3173
+ "mask-radial": [{
3174
+ closest: ["side", "corner"],
3175
+ farthest: ["side", "corner"]
3176
+ }]
3177
+ }],
3178
+ "mask-image-radial-pos": [{
3179
+ "mask-radial-at": z()
3180
+ }],
3181
+ "mask-image-conic-pos": [{
3182
+ "mask-conic": [S]
3183
+ }],
3184
+ "mask-image-conic-from-pos": [{
3185
+ "mask-conic-from": A()
3186
+ }],
3187
+ "mask-image-conic-to-pos": [{
3188
+ "mask-conic-to": A()
3189
+ }],
3190
+ "mask-image-conic-from-color": [{
3191
+ "mask-conic-from": x()
3192
+ }],
3193
+ "mask-image-conic-to-color": [{
3194
+ "mask-conic-to": x()
3195
+ }],
3196
+ /**
3197
+ * Mask Mode
3198
+ * @see https://tailwindcss.com/docs/mask-mode
3199
+ */
3200
+ "mask-mode": [{
3201
+ mask: ["alpha", "luminance", "match"]
3202
+ }],
3203
+ /**
3204
+ * Mask Origin
3205
+ * @see https://tailwindcss.com/docs/mask-origin
3206
+ */
3207
+ "mask-origin": [{
3208
+ "mask-origin": ["border", "padding", "content", "fill", "stroke", "view"]
3209
+ }],
3210
+ /**
3211
+ * Mask Position
3212
+ * @see https://tailwindcss.com/docs/mask-position
3213
+ */
3214
+ "mask-position": [{
3215
+ mask: oe()
3216
+ }],
3217
+ /**
3218
+ * Mask Repeat
3219
+ * @see https://tailwindcss.com/docs/mask-repeat
3220
+ */
3221
+ "mask-repeat": [{
3222
+ mask: a()
3223
+ }],
3224
+ /**
3225
+ * Mask Size
3226
+ * @see https://tailwindcss.com/docs/mask-size
3227
+ */
3228
+ "mask-size": [{
3229
+ mask: g()
3230
+ }],
3231
+ /**
3232
+ * Mask Type
3233
+ * @see https://tailwindcss.com/docs/mask-type
3234
+ */
3235
+ "mask-type": [{
3236
+ "mask-type": ["alpha", "luminance"]
3237
+ }],
3238
+ /**
3239
+ * Mask Image
3240
+ * @see https://tailwindcss.com/docs/mask-image
3241
+ */
3242
+ "mask-image": [{
3243
+ mask: ["none", y, h]
3244
+ }],
3245
+ // ---------------
3246
+ // --- Filters ---
3247
+ // ---------------
3248
+ /**
3249
+ * Filter
3250
+ * @see https://tailwindcss.com/docs/filter
3251
+ */
3252
+ filter: [{
3253
+ filter: [
3254
+ // Deprecated since Tailwind CSS v3.0.0
3255
+ "",
3256
+ "none",
3257
+ y,
3258
+ h
3259
+ ]
3260
+ }],
3261
+ /**
3262
+ * Blur
3263
+ * @see https://tailwindcss.com/docs/blur
3264
+ */
3265
+ blur: [{
3266
+ blur: E()
3267
+ }],
3268
+ /**
3269
+ * Brightness
3270
+ * @see https://tailwindcss.com/docs/brightness
3271
+ */
3272
+ brightness: [{
3273
+ brightness: [S, y, h]
3274
+ }],
3275
+ /**
3276
+ * Contrast
3277
+ * @see https://tailwindcss.com/docs/contrast
3278
+ */
3279
+ contrast: [{
3280
+ contrast: [S, y, h]
3281
+ }],
3282
+ /**
3283
+ * Drop Shadow
3284
+ * @see https://tailwindcss.com/docs/drop-shadow
3285
+ */
3286
+ "drop-shadow": [{
3287
+ "drop-shadow": [
3288
+ // Deprecated since Tailwind CSS v4.0.0
3289
+ "",
3290
+ "none",
3291
+ p,
3292
+ Ee,
3293
+ Oe
3294
+ ]
3295
+ }],
3296
+ /**
3297
+ * Drop Shadow Color
3298
+ * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color
3299
+ */
3300
+ "drop-shadow-color": [{
3301
+ "drop-shadow": x()
3302
+ }],
3303
+ /**
3304
+ * Grayscale
3305
+ * @see https://tailwindcss.com/docs/grayscale
3306
+ */
3307
+ grayscale: [{
3308
+ grayscale: ["", S, y, h]
3309
+ }],
3310
+ /**
3311
+ * Hue Rotate
3312
+ * @see https://tailwindcss.com/docs/hue-rotate
3313
+ */
3314
+ "hue-rotate": [{
3315
+ "hue-rotate": [S, y, h]
3316
+ }],
3317
+ /**
3318
+ * Invert
3319
+ * @see https://tailwindcss.com/docs/invert
3320
+ */
3321
+ invert: [{
3322
+ invert: ["", S, y, h]
3323
+ }],
3324
+ /**
3325
+ * Saturate
3326
+ * @see https://tailwindcss.com/docs/saturate
3327
+ */
3328
+ saturate: [{
3329
+ saturate: [S, y, h]
3330
+ }],
3331
+ /**
3332
+ * Sepia
3333
+ * @see https://tailwindcss.com/docs/sepia
3334
+ */
3335
+ sepia: [{
3336
+ sepia: ["", S, y, h]
3337
+ }],
3338
+ /**
3339
+ * Backdrop Filter
3340
+ * @see https://tailwindcss.com/docs/backdrop-filter
3341
+ */
3342
+ "backdrop-filter": [{
3343
+ "backdrop-filter": [
3344
+ // Deprecated since Tailwind CSS v3.0.0
3345
+ "",
3346
+ "none",
3347
+ y,
3348
+ h
3349
+ ]
3350
+ }],
3351
+ /**
3352
+ * Backdrop Blur
3353
+ * @see https://tailwindcss.com/docs/backdrop-blur
3354
+ */
3355
+ "backdrop-blur": [{
3356
+ "backdrop-blur": E()
3357
+ }],
3358
+ /**
3359
+ * Backdrop Brightness
3360
+ * @see https://tailwindcss.com/docs/backdrop-brightness
3361
+ */
3362
+ "backdrop-brightness": [{
3363
+ "backdrop-brightness": [S, y, h]
3364
+ }],
3365
+ /**
3366
+ * Backdrop Contrast
3367
+ * @see https://tailwindcss.com/docs/backdrop-contrast
3368
+ */
3369
+ "backdrop-contrast": [{
3370
+ "backdrop-contrast": [S, y, h]
3371
+ }],
3372
+ /**
3373
+ * Backdrop Grayscale
3374
+ * @see https://tailwindcss.com/docs/backdrop-grayscale
3375
+ */
3376
+ "backdrop-grayscale": [{
3377
+ "backdrop-grayscale": ["", S, y, h]
3378
+ }],
3379
+ /**
3380
+ * Backdrop Hue Rotate
3381
+ * @see https://tailwindcss.com/docs/backdrop-hue-rotate
3382
+ */
3383
+ "backdrop-hue-rotate": [{
3384
+ "backdrop-hue-rotate": [S, y, h]
3385
+ }],
3386
+ /**
3387
+ * Backdrop Invert
3388
+ * @see https://tailwindcss.com/docs/backdrop-invert
3389
+ */
3390
+ "backdrop-invert": [{
3391
+ "backdrop-invert": ["", S, y, h]
3392
+ }],
3393
+ /**
3394
+ * Backdrop Opacity
3395
+ * @see https://tailwindcss.com/docs/backdrop-opacity
3396
+ */
3397
+ "backdrop-opacity": [{
3398
+ "backdrop-opacity": [S, y, h]
3399
+ }],
3400
+ /**
3401
+ * Backdrop Saturate
3402
+ * @see https://tailwindcss.com/docs/backdrop-saturate
3403
+ */
3404
+ "backdrop-saturate": [{
3405
+ "backdrop-saturate": [S, y, h]
3406
+ }],
3407
+ /**
3408
+ * Backdrop Sepia
3409
+ * @see https://tailwindcss.com/docs/backdrop-sepia
3410
+ */
3411
+ "backdrop-sepia": [{
3412
+ "backdrop-sepia": ["", S, y, h]
3413
+ }],
3414
+ // --------------
3415
+ // --- Tables ---
3416
+ // --------------
3417
+ /**
3418
+ * Border Collapse
3419
+ * @see https://tailwindcss.com/docs/border-collapse
3420
+ */
3421
+ "border-collapse": [{
3422
+ border: ["collapse", "separate"]
3423
+ }],
3424
+ /**
3425
+ * Border Spacing
3426
+ * @see https://tailwindcss.com/docs/border-spacing
3427
+ */
3428
+ "border-spacing": [{
3429
+ "border-spacing": _()
3430
+ }],
3431
+ /**
3432
+ * Border Spacing X
3433
+ * @see https://tailwindcss.com/docs/border-spacing
3434
+ */
3435
+ "border-spacing-x": [{
3436
+ "border-spacing-x": _()
3437
+ }],
3438
+ /**
3439
+ * Border Spacing Y
3440
+ * @see https://tailwindcss.com/docs/border-spacing
3441
+ */
3442
+ "border-spacing-y": [{
3443
+ "border-spacing-y": _()
3444
+ }],
3445
+ /**
3446
+ * Table Layout
3447
+ * @see https://tailwindcss.com/docs/table-layout
3448
+ */
3449
+ "table-layout": [{
3450
+ table: ["auto", "fixed"]
3451
+ }],
3452
+ /**
3453
+ * Caption Side
3454
+ * @see https://tailwindcss.com/docs/caption-side
3455
+ */
3456
+ caption: [{
3457
+ caption: ["top", "bottom"]
3458
+ }],
3459
+ // ---------------------------------
3460
+ // --- Transitions and Animation ---
3461
+ // ---------------------------------
3462
+ /**
3463
+ * Transition Property
3464
+ * @see https://tailwindcss.com/docs/transition-property
3465
+ */
3466
+ transition: [{
3467
+ transition: ["", "all", "colors", "opacity", "shadow", "transform", "none", y, h]
3468
+ }],
3469
+ /**
3470
+ * Transition Behavior
3471
+ * @see https://tailwindcss.com/docs/transition-behavior
3472
+ */
3473
+ "transition-behavior": [{
3474
+ transition: ["normal", "discrete"]
3475
+ }],
3476
+ /**
3477
+ * Transition Duration
3478
+ * @see https://tailwindcss.com/docs/transition-duration
3479
+ */
3480
+ duration: [{
3481
+ duration: [S, "initial", y, h]
3482
+ }],
3483
+ /**
3484
+ * Transition Timing Function
3485
+ * @see https://tailwindcss.com/docs/transition-timing-function
3486
+ */
3487
+ ease: [{
3488
+ ease: ["linear", "initial", D, y, h]
3489
+ }],
3490
+ /**
3491
+ * Transition Delay
3492
+ * @see https://tailwindcss.com/docs/transition-delay
3493
+ */
3494
+ delay: [{
3495
+ delay: [S, y, h]
3496
+ }],
3497
+ /**
3498
+ * Animation
3499
+ * @see https://tailwindcss.com/docs/animation
3500
+ */
3501
+ animate: [{
3502
+ animate: ["none", F, y, h]
3503
+ }],
3504
+ // ------------------
3505
+ // --- Transforms ---
3506
+ // ------------------
3507
+ /**
3508
+ * Backface Visibility
3509
+ * @see https://tailwindcss.com/docs/backface-visibility
3510
+ */
3511
+ backface: [{
3512
+ backface: ["hidden", "visible"]
3513
+ }],
3514
+ /**
3515
+ * Perspective
3516
+ * @see https://tailwindcss.com/docs/perspective
3517
+ */
3518
+ perspective: [{
3519
+ perspective: [v, y, h]
3520
+ }],
3521
+ /**
3522
+ * Perspective Origin
3523
+ * @see https://tailwindcss.com/docs/perspective-origin
3524
+ */
3525
+ "perspective-origin": [{
3526
+ "perspective-origin": G()
3527
+ }],
3528
+ /**
3529
+ * Rotate
3530
+ * @see https://tailwindcss.com/docs/rotate
3531
+ */
3532
+ rotate: [{
3533
+ rotate: V()
3534
+ }],
3535
+ /**
3536
+ * Rotate X
3537
+ * @see https://tailwindcss.com/docs/rotate
3538
+ */
3539
+ "rotate-x": [{
3540
+ "rotate-x": V()
3541
+ }],
3542
+ /**
3543
+ * Rotate Y
3544
+ * @see https://tailwindcss.com/docs/rotate
3545
+ */
3546
+ "rotate-y": [{
3547
+ "rotate-y": V()
3548
+ }],
3549
+ /**
3550
+ * Rotate Z
3551
+ * @see https://tailwindcss.com/docs/rotate
3552
+ */
3553
+ "rotate-z": [{
3554
+ "rotate-z": V()
3555
+ }],
3556
+ /**
3557
+ * Scale
3558
+ * @see https://tailwindcss.com/docs/scale
3559
+ */
3560
+ scale: [{
3561
+ scale: q()
3562
+ }],
3563
+ /**
3564
+ * Scale X
3565
+ * @see https://tailwindcss.com/docs/scale
3566
+ */
3567
+ "scale-x": [{
3568
+ "scale-x": q()
3569
+ }],
3570
+ /**
3571
+ * Scale Y
3572
+ * @see https://tailwindcss.com/docs/scale
3573
+ */
3574
+ "scale-y": [{
3575
+ "scale-y": q()
3576
+ }],
3577
+ /**
3578
+ * Scale Z
3579
+ * @see https://tailwindcss.com/docs/scale
3580
+ */
3581
+ "scale-z": [{
3582
+ "scale-z": q()
3583
+ }],
3584
+ /**
3585
+ * Scale 3D
3586
+ * @see https://tailwindcss.com/docs/scale
3587
+ */
3588
+ "scale-3d": ["scale-3d"],
3589
+ /**
3590
+ * Skew
3591
+ * @see https://tailwindcss.com/docs/skew
3592
+ */
3593
+ skew: [{
3594
+ skew: se()
3595
+ }],
3596
+ /**
3597
+ * Skew X
3598
+ * @see https://tailwindcss.com/docs/skew
3599
+ */
3600
+ "skew-x": [{
3601
+ "skew-x": se()
3602
+ }],
3603
+ /**
3604
+ * Skew Y
3605
+ * @see https://tailwindcss.com/docs/skew
3606
+ */
3607
+ "skew-y": [{
3608
+ "skew-y": se()
3609
+ }],
3610
+ /**
3611
+ * Transform
3612
+ * @see https://tailwindcss.com/docs/transform
3613
+ */
3614
+ transform: [{
3615
+ transform: [y, h, "", "none", "gpu", "cpu"]
3616
+ }],
3617
+ /**
3618
+ * Transform Origin
3619
+ * @see https://tailwindcss.com/docs/transform-origin
3620
+ */
3621
+ "transform-origin": [{
3622
+ origin: G()
3623
+ }],
3624
+ /**
3625
+ * Transform Style
3626
+ * @see https://tailwindcss.com/docs/transform-style
3627
+ */
3628
+ "transform-style": [{
3629
+ transform: ["3d", "flat"]
3630
+ }],
3631
+ /**
3632
+ * Translate
3633
+ * @see https://tailwindcss.com/docs/translate
3634
+ */
3635
+ translate: [{
3636
+ translate: _e()
3637
+ }],
3638
+ /**
3639
+ * Translate X
3640
+ * @see https://tailwindcss.com/docs/translate
3641
+ */
3642
+ "translate-x": [{
3643
+ "translate-x": _e()
3644
+ }],
3645
+ /**
3646
+ * Translate Y
3647
+ * @see https://tailwindcss.com/docs/translate
3648
+ */
3649
+ "translate-y": [{
3650
+ "translate-y": _e()
3651
+ }],
3652
+ /**
3653
+ * Translate Z
3654
+ * @see https://tailwindcss.com/docs/translate
3655
+ */
3656
+ "translate-z": [{
3657
+ "translate-z": _e()
3658
+ }],
3659
+ /**
3660
+ * Translate None
3661
+ * @see https://tailwindcss.com/docs/translate
3662
+ */
3663
+ "translate-none": ["translate-none"],
3664
+ // ---------------------
3665
+ // --- Interactivity ---
3666
+ // ---------------------
3667
+ /**
3668
+ * Accent Color
3669
+ * @see https://tailwindcss.com/docs/accent-color
3670
+ */
3671
+ accent: [{
3672
+ accent: x()
3673
+ }],
3674
+ /**
3675
+ * Appearance
3676
+ * @see https://tailwindcss.com/docs/appearance
3677
+ */
3678
+ appearance: [{
3679
+ appearance: ["none", "auto"]
3680
+ }],
3681
+ /**
3682
+ * Caret Color
3683
+ * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
3684
+ */
3685
+ "caret-color": [{
3686
+ caret: x()
3687
+ }],
3688
+ /**
3689
+ * Color Scheme
3690
+ * @see https://tailwindcss.com/docs/color-scheme
3691
+ */
3692
+ "color-scheme": [{
3693
+ scheme: ["normal", "dark", "light", "light-dark", "only-dark", "only-light"]
3694
+ }],
3695
+ /**
3696
+ * Cursor
3697
+ * @see https://tailwindcss.com/docs/cursor
3698
+ */
3699
+ cursor: [{
3700
+ 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", y, h]
3701
+ }],
3702
+ /**
3703
+ * Field Sizing
3704
+ * @see https://tailwindcss.com/docs/field-sizing
3705
+ */
3706
+ "field-sizing": [{
3707
+ "field-sizing": ["fixed", "content"]
3708
+ }],
3709
+ /**
3710
+ * Pointer Events
3711
+ * @see https://tailwindcss.com/docs/pointer-events
3712
+ */
3713
+ "pointer-events": [{
3714
+ "pointer-events": ["auto", "none"]
3715
+ }],
3716
+ /**
3717
+ * Resize
3718
+ * @see https://tailwindcss.com/docs/resize
3719
+ */
3720
+ resize: [{
3721
+ resize: ["none", "", "y", "x"]
3722
+ }],
3723
+ /**
3724
+ * Scroll Behavior
3725
+ * @see https://tailwindcss.com/docs/scroll-behavior
3726
+ */
3727
+ "scroll-behavior": [{
3728
+ scroll: ["auto", "smooth"]
3729
+ }],
3730
+ /**
3731
+ * Scroll Margin
3732
+ * @see https://tailwindcss.com/docs/scroll-margin
3733
+ */
3734
+ "scroll-m": [{
3735
+ "scroll-m": _()
3736
+ }],
3737
+ /**
3738
+ * Scroll Margin X
3739
+ * @see https://tailwindcss.com/docs/scroll-margin
3740
+ */
3741
+ "scroll-mx": [{
3742
+ "scroll-mx": _()
3743
+ }],
3744
+ /**
3745
+ * Scroll Margin Y
3746
+ * @see https://tailwindcss.com/docs/scroll-margin
3747
+ */
3748
+ "scroll-my": [{
3749
+ "scroll-my": _()
3750
+ }],
3751
+ /**
3752
+ * Scroll Margin Start
3753
+ * @see https://tailwindcss.com/docs/scroll-margin
3754
+ */
3755
+ "scroll-ms": [{
3756
+ "scroll-ms": _()
3757
+ }],
3758
+ /**
3759
+ * Scroll Margin End
3760
+ * @see https://tailwindcss.com/docs/scroll-margin
3761
+ */
3762
+ "scroll-me": [{
3763
+ "scroll-me": _()
3764
+ }],
3765
+ /**
3766
+ * Scroll Margin Top
3767
+ * @see https://tailwindcss.com/docs/scroll-margin
3768
+ */
3769
+ "scroll-mt": [{
3770
+ "scroll-mt": _()
3771
+ }],
3772
+ /**
3773
+ * Scroll Margin Right
3774
+ * @see https://tailwindcss.com/docs/scroll-margin
3775
+ */
3776
+ "scroll-mr": [{
3777
+ "scroll-mr": _()
3778
+ }],
3779
+ /**
3780
+ * Scroll Margin Bottom
3781
+ * @see https://tailwindcss.com/docs/scroll-margin
3782
+ */
3783
+ "scroll-mb": [{
3784
+ "scroll-mb": _()
3785
+ }],
3786
+ /**
3787
+ * Scroll Margin Left
3788
+ * @see https://tailwindcss.com/docs/scroll-margin
3789
+ */
3790
+ "scroll-ml": [{
3791
+ "scroll-ml": _()
3792
+ }],
3793
+ /**
3794
+ * Scroll Padding
3795
+ * @see https://tailwindcss.com/docs/scroll-padding
3796
+ */
3797
+ "scroll-p": [{
3798
+ "scroll-p": _()
3799
+ }],
3800
+ /**
3801
+ * Scroll Padding X
3802
+ * @see https://tailwindcss.com/docs/scroll-padding
3803
+ */
3804
+ "scroll-px": [{
3805
+ "scroll-px": _()
3806
+ }],
3807
+ /**
3808
+ * Scroll Padding Y
3809
+ * @see https://tailwindcss.com/docs/scroll-padding
3810
+ */
3811
+ "scroll-py": [{
3812
+ "scroll-py": _()
3813
+ }],
3814
+ /**
3815
+ * Scroll Padding Start
3816
+ * @see https://tailwindcss.com/docs/scroll-padding
3817
+ */
3818
+ "scroll-ps": [{
3819
+ "scroll-ps": _()
3820
+ }],
3821
+ /**
3822
+ * Scroll Padding End
3823
+ * @see https://tailwindcss.com/docs/scroll-padding
3824
+ */
3825
+ "scroll-pe": [{
3826
+ "scroll-pe": _()
3827
+ }],
3828
+ /**
3829
+ * Scroll Padding Top
3830
+ * @see https://tailwindcss.com/docs/scroll-padding
3831
+ */
3832
+ "scroll-pt": [{
3833
+ "scroll-pt": _()
3834
+ }],
3835
+ /**
3836
+ * Scroll Padding Right
3837
+ * @see https://tailwindcss.com/docs/scroll-padding
3838
+ */
3839
+ "scroll-pr": [{
3840
+ "scroll-pr": _()
3841
+ }],
3842
+ /**
3843
+ * Scroll Padding Bottom
3844
+ * @see https://tailwindcss.com/docs/scroll-padding
3845
+ */
3846
+ "scroll-pb": [{
3847
+ "scroll-pb": _()
3848
+ }],
3849
+ /**
3850
+ * Scroll Padding Left
3851
+ * @see https://tailwindcss.com/docs/scroll-padding
3852
+ */
3853
+ "scroll-pl": [{
3854
+ "scroll-pl": _()
3855
+ }],
3856
+ /**
3857
+ * Scroll Snap Align
3858
+ * @see https://tailwindcss.com/docs/scroll-snap-align
3859
+ */
3860
+ "snap-align": [{
3861
+ snap: ["start", "end", "center", "align-none"]
3862
+ }],
3863
+ /**
3864
+ * Scroll Snap Stop
3865
+ * @see https://tailwindcss.com/docs/scroll-snap-stop
3866
+ */
3867
+ "snap-stop": [{
3868
+ snap: ["normal", "always"]
3869
+ }],
3870
+ /**
3871
+ * Scroll Snap Type
3872
+ * @see https://tailwindcss.com/docs/scroll-snap-type
3873
+ */
3874
+ "snap-type": [{
3875
+ snap: ["none", "x", "y", "both"]
3876
+ }],
3877
+ /**
3878
+ * Scroll Snap Type Strictness
3879
+ * @see https://tailwindcss.com/docs/scroll-snap-type
3880
+ */
3881
+ "snap-strictness": [{
3882
+ snap: ["mandatory", "proximity"]
3883
+ }],
3884
+ /**
3885
+ * Touch Action
3886
+ * @see https://tailwindcss.com/docs/touch-action
3887
+ */
3888
+ touch: [{
3889
+ touch: ["auto", "none", "manipulation"]
3890
+ }],
3891
+ /**
3892
+ * Touch Action X
3893
+ * @see https://tailwindcss.com/docs/touch-action
3894
+ */
3895
+ "touch-x": [{
3896
+ "touch-pan": ["x", "left", "right"]
3897
+ }],
3898
+ /**
3899
+ * Touch Action Y
3900
+ * @see https://tailwindcss.com/docs/touch-action
3901
+ */
3902
+ "touch-y": [{
3903
+ "touch-pan": ["y", "up", "down"]
3904
+ }],
3905
+ /**
3906
+ * Touch Action Pinch Zoom
3907
+ * @see https://tailwindcss.com/docs/touch-action
3908
+ */
3909
+ "touch-pz": ["touch-pinch-zoom"],
3910
+ /**
3911
+ * User Select
3912
+ * @see https://tailwindcss.com/docs/user-select
3913
+ */
3914
+ select: [{
3915
+ select: ["none", "text", "all", "auto"]
3916
+ }],
3917
+ /**
3918
+ * Will Change
3919
+ * @see https://tailwindcss.com/docs/will-change
3920
+ */
3921
+ "will-change": [{
3922
+ "will-change": ["auto", "scroll", "contents", "transform", y, h]
3923
+ }],
3924
+ // -----------
3925
+ // --- SVG ---
3926
+ // -----------
3927
+ /**
3928
+ * Fill
3929
+ * @see https://tailwindcss.com/docs/fill
3930
+ */
3931
+ fill: [{
3932
+ fill: ["none", ...x()]
3933
+ }],
3934
+ /**
3935
+ * Stroke Width
3936
+ * @see https://tailwindcss.com/docs/stroke-width
3937
+ */
3938
+ "stroke-w": [{
3939
+ stroke: [S, ve, ae, Me]
3940
+ }],
3941
+ /**
3942
+ * Stroke
3943
+ * @see https://tailwindcss.com/docs/stroke
3944
+ */
3945
+ stroke: [{
3946
+ stroke: ["none", ...x()]
3947
+ }],
3948
+ // ---------------------
3949
+ // --- Accessibility ---
3950
+ // ---------------------
3951
+ /**
3952
+ * Forced Color Adjust
3953
+ * @see https://tailwindcss.com/docs/forced-color-adjust
3954
+ */
3955
+ "forced-color-adjust": [{
3956
+ "forced-color-adjust": ["auto", "none"]
3957
+ }]
3958
+ },
3959
+ conflictingClassGroups: {
3960
+ overflow: ["overflow-x", "overflow-y"],
3961
+ overscroll: ["overscroll-x", "overscroll-y"],
3962
+ inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
3963
+ "inset-x": ["right", "left"],
3964
+ "inset-y": ["top", "bottom"],
3965
+ flex: ["basis", "grow", "shrink"],
3966
+ gap: ["gap-x", "gap-y"],
3967
+ p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
3968
+ px: ["pr", "pl"],
3969
+ py: ["pt", "pb"],
3970
+ m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
3971
+ mx: ["mr", "ml"],
3972
+ my: ["mt", "mb"],
3973
+ size: ["w", "h"],
3974
+ "font-size": ["leading"],
3975
+ "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
3976
+ "fvn-ordinal": ["fvn-normal"],
3977
+ "fvn-slashed-zero": ["fvn-normal"],
3978
+ "fvn-figure": ["fvn-normal"],
3979
+ "fvn-spacing": ["fvn-normal"],
3980
+ "fvn-fraction": ["fvn-normal"],
3981
+ "line-clamp": ["display", "overflow"],
3982
+ 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"],
3983
+ "rounded-s": ["rounded-ss", "rounded-es"],
3984
+ "rounded-e": ["rounded-se", "rounded-ee"],
3985
+ "rounded-t": ["rounded-tl", "rounded-tr"],
3986
+ "rounded-r": ["rounded-tr", "rounded-br"],
3987
+ "rounded-b": ["rounded-br", "rounded-bl"],
3988
+ "rounded-l": ["rounded-tl", "rounded-bl"],
3989
+ "border-spacing": ["border-spacing-x", "border-spacing-y"],
3990
+ "border-w": ["border-w-x", "border-w-y", "border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
3991
+ "border-w-x": ["border-w-r", "border-w-l"],
3992
+ "border-w-y": ["border-w-t", "border-w-b"],
3993
+ "border-color": ["border-color-x", "border-color-y", "border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
3994
+ "border-color-x": ["border-color-r", "border-color-l"],
3995
+ "border-color-y": ["border-color-t", "border-color-b"],
3996
+ translate: ["translate-x", "translate-y", "translate-none"],
3997
+ "translate-none": ["translate", "translate-x", "translate-y", "translate-z"],
3998
+ "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
3999
+ "scroll-mx": ["scroll-mr", "scroll-ml"],
4000
+ "scroll-my": ["scroll-mt", "scroll-mb"],
4001
+ "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
4002
+ "scroll-px": ["scroll-pr", "scroll-pl"],
4003
+ "scroll-py": ["scroll-pt", "scroll-pb"],
4004
+ touch: ["touch-x", "touch-y", "touch-pz"],
4005
+ "touch-x": ["touch"],
4006
+ "touch-y": ["touch"],
4007
+ "touch-pz": ["touch"]
4008
+ },
4009
+ conflictingClassGroupModifiers: {
4010
+ "font-size": ["leading"]
4011
+ },
4012
+ orderSensitiveModifiers: ["*", "**", "after", "backdrop", "before", "details-content", "file", "first-letter", "first-line", "marker", "placeholder", "selection"]
4013
+ };
4014
+ }, vo = /* @__PURE__ */ Zr(bo);
4015
+ function re(...e) {
4016
+ return vo(Mt(e));
4017
+ }
4018
+ const ht = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, yt = Mt, xo = (e, r) => (t) => {
4019
+ var o;
4020
+ if (r?.variants == null) return yt(e, t?.class, t?.className);
4021
+ const { variants: n, defaultVariants: s } = r, d = Object.keys(n).map((l) => {
4022
+ const m = t?.[l], c = s?.[l];
4023
+ if (m === null) return null;
4024
+ const i = ht(m) || ht(c);
4025
+ return n[l][i];
4026
+ }), f = t && Object.entries(t).reduce((l, m) => {
4027
+ let [c, i] = m;
4028
+ return i === void 0 || (l[c] = i), l;
4029
+ }, {}), u = r == null || (o = r.compoundVariants) === null || o === void 0 ? void 0 : o.reduce((l, m) => {
4030
+ let { class: c, className: i, ...p } = m;
4031
+ return Object.entries(p).every((b) => {
4032
+ let [v, R] = b;
4033
+ return Array.isArray(R) ? R.includes({
4034
+ ...s,
4035
+ ...f
4036
+ }[v]) : {
4037
+ ...s,
4038
+ ...f
4039
+ }[v] === R;
4040
+ }) ? [
4041
+ ...l,
4042
+ c,
4043
+ i
4044
+ ] : l;
4045
+ }, []);
4046
+ return yt(e, d, u, t?.class, t?.className);
4047
+ }, _o = xo(
4048
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
4049
+ {
4050
+ variants: {
4051
+ variant: {
4052
+ default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
4053
+ destructive: "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
4054
+ outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
4055
+ secondary: "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",
4056
+ ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
4057
+ link: "text-primary underline-offset-4 hover:underline"
4058
+ },
4059
+ size: {
4060
+ default: "h-9 px-4 py-2 has-[>svg]:px-3",
4061
+ sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
4062
+ lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
4063
+ icon: "size-9"
4064
+ }
4065
+ },
4066
+ defaultVariants: {
4067
+ variant: "default",
4068
+ size: "default"
4069
+ }
4070
+ }
4071
+ );
4072
+ function wo({
4073
+ className: e,
4074
+ variant: r,
4075
+ size: t,
4076
+ asChild: o = !1,
4077
+ ...n
4078
+ }) {
4079
+ const s = o ? At : "button";
4080
+ return /* @__PURE__ */ L.jsx(
4081
+ s,
4082
+ {
4083
+ "data-slot": "button",
4084
+ className: re(_o({ variant: r, size: t, className: e })),
4085
+ ...n
4086
+ }
4087
+ );
4088
+ }
4089
+ function ko({ className: e, ...r }) {
4090
+ return /* @__PURE__ */ L.jsx(
4091
+ "div",
4092
+ {
4093
+ "data-slot": "card",
4094
+ className: re(
4095
+ "bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",
4096
+ e
4097
+ ),
4098
+ ...r
4099
+ }
4100
+ );
4101
+ }
4102
+ function So({ className: e, ...r }) {
4103
+ return /* @__PURE__ */ L.jsx(
4104
+ "div",
4105
+ {
4106
+ "data-slot": "card-header",
4107
+ className: re(
4108
+ "@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
4109
+ e
4110
+ ),
4111
+ ...r
4112
+ }
4113
+ );
4114
+ }
4115
+ function Oo({ className: e, ...r }) {
4116
+ return /* @__PURE__ */ L.jsx(
4117
+ "div",
4118
+ {
4119
+ "data-slot": "card-title",
4120
+ className: re("leading-none font-semibold", e),
4121
+ ...r
4122
+ }
4123
+ );
4124
+ }
4125
+ function Eo({ className: e, ...r }) {
4126
+ return /* @__PURE__ */ L.jsx(
4127
+ "div",
4128
+ {
4129
+ "data-slot": "card-description",
4130
+ className: re("text-muted-foreground text-sm", e),
4131
+ ...r
4132
+ }
4133
+ );
4134
+ }
4135
+ function Ro({ className: e, ...r }) {
4136
+ return /* @__PURE__ */ L.jsx(
4137
+ "div",
4138
+ {
4139
+ "data-slot": "card-content",
4140
+ className: re("px-6", e),
4141
+ ...r
4142
+ }
4143
+ );
4144
+ }
4145
+ var No = "Label", Wt = O.forwardRef((e, r) => /* @__PURE__ */ L.jsx(
4146
+ Te.label,
4147
+ {
4148
+ ...e,
4149
+ ref: r,
4150
+ onMouseDown: (t) => {
4151
+ t.target.closest("button, input, select, textarea") || (e.onMouseDown?.(t), !t.defaultPrevented && t.detail > 1 && t.preventDefault());
4152
+ }
4153
+ }
4154
+ ));
4155
+ Wt.displayName = No;
4156
+ var jo = Wt, To = (e) => e.type === "checkbox", xe = (e) => e instanceof Date, qe = (e) => e == null;
4157
+ const Kt = (e) => typeof e == "object";
4158
+ var ce = (e) => !qe(e) && !Array.isArray(e) && Kt(e) && !xe(e), Ao = (e) => ce(e) && e.target ? To(e.target) ? e.target.checked : e.target.value : e, Co = (e) => e.substring(0, e.search(/\.\d+(\.|$)/)) || e, Do = (e, r) => e.has(Co(r)), Po = (e) => {
4159
+ const r = e.constructor && e.constructor.prototype;
4160
+ return ce(r) && r.hasOwnProperty("isPrototypeOf");
4161
+ }, Lo = typeof window < "u" && typeof window.HTMLElement < "u" && typeof document < "u";
4162
+ function qt(e) {
4163
+ let r;
4164
+ const t = Array.isArray(e), o = typeof FileList < "u" ? e instanceof FileList : !1;
4165
+ if (e instanceof Date)
4166
+ r = new Date(e);
4167
+ else if (!(Lo && (e instanceof Blob || o)) && (t || ce(e)))
4168
+ if (r = t ? [] : Object.create(Object.getPrototypeOf(e)), !t && !Po(e))
4169
+ r = e;
4170
+ else
4171
+ for (const n in e)
4172
+ e.hasOwnProperty(n) && (r[n] = qt(e[n]));
4173
+ else
4174
+ return e;
4175
+ return r;
4176
+ }
4177
+ var Xt = (e) => /^\w*$/.test(e), Be = (e) => e === void 0, Mo = (e) => Array.isArray(e) ? e.filter(Boolean) : [], Jt = (e) => Mo(e.replace(/["|']|\]/g, "").split(/\.|\[/)), B = (e, r, t) => {
4178
+ if (!r || !ce(e))
4179
+ return t;
4180
+ const o = (Xt(r) ? [r] : Jt(r)).reduce((n, s) => qe(n) ? n : n[s], e);
4181
+ return Be(o) || o === e ? Be(e[r]) ? t : e[r] : o;
4182
+ }, Ve = (e) => typeof e == "boolean", bt = (e, r, t) => {
4183
+ let o = -1;
4184
+ const n = Xt(r) ? [r] : Jt(r), s = n.length, d = s - 1;
4185
+ for (; ++o < s; ) {
4186
+ const f = n[o];
4187
+ let u = t;
4188
+ if (o !== d) {
4189
+ const l = e[f];
4190
+ u = ce(l) || Array.isArray(l) ? l : isNaN(+n[o + 1]) ? {} : [];
4191
+ }
4192
+ if (f === "__proto__" || f === "constructor" || f === "prototype")
4193
+ return;
4194
+ e[f] = u, e = e[f];
4195
+ }
4196
+ };
4197
+ const vt = {
4198
+ BLUR: "blur",
4199
+ CHANGE: "change"
4200
+ }, xt = {
4201
+ all: "all"
4202
+ }, Xe = N.createContext(null);
4203
+ Xe.displayName = "HookFormContext";
4204
+ const Ae = () => N.useContext(Xe), Vo = (e) => {
4205
+ const { children: r, ...t } = e;
4206
+ return N.createElement(Xe.Provider, { value: t }, r);
4207
+ };
4208
+ var zo = (e, r, t, o = !0) => {
4209
+ const n = {
4210
+ defaultValues: r._defaultValues
4211
+ };
4212
+ for (const s in e)
4213
+ Object.defineProperty(n, s, {
4214
+ get: () => {
4215
+ const d = s;
4216
+ return r._proxyFormState[d] !== xt.all && (r._proxyFormState[d] = !o || xt.all), t && (t[d] = !0), e[d];
4217
+ }
4218
+ });
4219
+ return n;
4220
+ };
4221
+ const Zt = typeof window < "u" ? N.useLayoutEffect : N.useEffect;
4222
+ function Qt(e) {
4223
+ const r = Ae(), { control: t = r.control, disabled: o, name: n, exact: s } = e || {}, [d, f] = N.useState(t._formState), u = N.useRef({
4224
+ isDirty: !1,
4225
+ isLoading: !1,
4226
+ dirtyFields: !1,
4227
+ touchedFields: !1,
4228
+ validatingFields: !1,
4229
+ isValidating: !1,
4230
+ isValid: !1,
4231
+ errors: !1
4232
+ });
4233
+ return Zt(() => t._subscribe({
4234
+ name: n,
4235
+ formState: u.current,
4236
+ exact: s,
4237
+ callback: (l) => {
4238
+ !o && f({
4239
+ ...t._formState,
4240
+ ...l
4241
+ });
4242
+ }
4243
+ }), [n, o, s]), N.useEffect(() => {
4244
+ u.current.isValid && t._setValid(!0);
4245
+ }, [t]), N.useMemo(() => zo(d, t, u.current, !1), [d, t]);
4246
+ }
4247
+ var Io = (e) => typeof e == "string", $o = (e, r, t, o, n) => Io(e) ? B(t, e, n) : Array.isArray(e) ? e.map((s) => B(t, s)) : t, _t = (e) => qe(e) || !Kt(e);
4248
+ function er(e, r, t = /* @__PURE__ */ new WeakSet()) {
4249
+ if (_t(e) || _t(r))
4250
+ return e === r;
4251
+ if (xe(e) && xe(r))
4252
+ return e.getTime() === r.getTime();
4253
+ const o = Object.keys(e), n = Object.keys(r);
4254
+ if (o.length !== n.length)
4255
+ return !1;
4256
+ if (t.has(e) || t.has(r))
4257
+ return !0;
4258
+ t.add(e), t.add(r);
4259
+ for (const s of o) {
4260
+ const d = e[s];
4261
+ if (!n.includes(s))
4262
+ return !1;
4263
+ if (s !== "ref") {
4264
+ const f = r[s];
4265
+ if (xe(d) && xe(f) || ce(d) && ce(f) || Array.isArray(d) && Array.isArray(f) ? !er(d, f, t) : d !== f)
4266
+ return !1;
4267
+ }
4268
+ }
4269
+ return !0;
4270
+ }
4271
+ function Fo(e) {
4272
+ const r = Ae(), { control: t = r.control, name: o, defaultValue: n, disabled: s, exact: d, compute: f } = e || {}, u = N.useRef(n), l = N.useRef(f), m = N.useRef(void 0);
4273
+ l.current = f;
4274
+ const c = N.useMemo(() => t._getWatch(o, u.current), [t, o]), [i, p] = N.useState(l.current ? l.current(c) : c);
4275
+ return Zt(() => t._subscribe({
4276
+ name: o,
4277
+ formState: {
4278
+ values: !0
4279
+ },
4280
+ exact: d,
4281
+ callback: (b) => {
4282
+ if (!s) {
4283
+ const v = $o(o, t._names, b.values || t._formValues, !1, u.current);
4284
+ if (l.current) {
4285
+ const R = l.current(v);
4286
+ er(R, m.current) || (p(R), m.current = R);
4287
+ } else
4288
+ p(v);
4289
+ }
4290
+ }
4291
+ }), [t, s, o, d]), N.useEffect(() => t._removeUnmounted()), i;
4292
+ }
4293
+ function Go(e) {
4294
+ const r = Ae(), { name: t, disabled: o, control: n = r.control, shouldUnregister: s, defaultValue: d } = e, f = Do(n._names.array, t), u = N.useMemo(() => B(n._formValues, t, B(n._defaultValues, t, d)), [n, t, d]), l = Fo({
4295
+ control: n,
4296
+ name: t,
4297
+ defaultValue: u,
4298
+ exact: !0
4299
+ }), m = Qt({
4300
+ control: n,
4301
+ name: t,
4302
+ exact: !0
4303
+ }), c = N.useRef(e), i = N.useRef(void 0), p = N.useRef(n.register(t, {
4304
+ ...e.rules,
4305
+ value: l,
4306
+ ...Ve(e.disabled) ? { disabled: e.disabled } : {}
4307
+ }));
4308
+ c.current = e;
4309
+ const b = N.useMemo(() => Object.defineProperties({}, {
4310
+ invalid: {
4311
+ enumerable: !0,
4312
+ get: () => !!B(m.errors, t)
4313
+ },
4314
+ isDirty: {
4315
+ enumerable: !0,
4316
+ get: () => !!B(m.dirtyFields, t)
4317
+ },
4318
+ isTouched: {
4319
+ enumerable: !0,
4320
+ get: () => !!B(m.touchedFields, t)
4321
+ },
4322
+ isValidating: {
4323
+ enumerable: !0,
4324
+ get: () => !!B(m.validatingFields, t)
4325
+ },
4326
+ error: {
4327
+ enumerable: !0,
4328
+ get: () => B(m.errors, t)
4329
+ }
4330
+ }), [m, t]), v = N.useCallback((P) => p.current.onChange({
4331
+ target: {
4332
+ value: Ao(P),
4333
+ name: t
4334
+ },
4335
+ type: vt.CHANGE
4336
+ }), [t]), R = N.useCallback(() => p.current.onBlur({
4337
+ target: {
4338
+ value: B(n._formValues, t),
4339
+ name: t
4340
+ },
4341
+ type: vt.BLUR
4342
+ }), [t, n._formValues]), D = N.useCallback((P) => {
4343
+ const z = B(n._fields, t);
4344
+ z && P && (z._f.ref = {
4345
+ focus: () => P.focus && P.focus(),
4346
+ select: () => P.select && P.select(),
4347
+ setCustomValidity: (G) => P.setCustomValidity(G),
4348
+ reportValidity: () => P.reportValidity()
4349
+ });
4350
+ }, [n._fields, t]), F = N.useMemo(() => ({
4351
+ name: t,
4352
+ value: l,
4353
+ ...Ve(o) || m.disabled ? { disabled: m.disabled || o } : {},
4354
+ onChange: v,
4355
+ onBlur: R,
4356
+ ref: D
4357
+ }), [t, o, m.disabled, v, R, D, l]);
4358
+ return N.useEffect(() => {
4359
+ const P = n._options.shouldUnregister || s, z = i.current;
4360
+ z && z !== t && !f && n.unregister(z), n.register(t, {
4361
+ ...c.current.rules,
4362
+ ...Ve(c.current.disabled) ? { disabled: c.current.disabled } : {}
4363
+ });
4364
+ const G = (I, X) => {
4365
+ const _ = B(n._fields, I);
4366
+ _ && _._f && (_._f.mount = X);
4367
+ };
4368
+ if (G(t, !0), P) {
4369
+ const I = qt(B(n._options.defaultValues, t));
4370
+ bt(n._defaultValues, t, I), Be(B(n._formValues, t)) && bt(n._formValues, t, I);
4371
+ }
4372
+ return !f && n.register(t), i.current = t, () => {
4373
+ (f ? P && !n._state.action : P) ? n.unregister(t) : G(t, !1);
4374
+ };
4375
+ }, [t, n, f, s]), N.useEffect(() => {
4376
+ n._setDisabledField({
4377
+ disabled: o,
4378
+ name: t
4379
+ });
4380
+ }, [o, t, n]), N.useMemo(() => ({
4381
+ field: F,
4382
+ formState: m,
4383
+ fieldState: b
4384
+ }), [F, m, b]);
4385
+ }
4386
+ const Uo = (e) => e.render(Go(e));
4387
+ function wt({
4388
+ className: e,
4389
+ ...r
4390
+ }) {
4391
+ return /* @__PURE__ */ L.jsx(
4392
+ jo,
4393
+ {
4394
+ "data-slot": "label",
4395
+ className: re(
4396
+ "flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
4397
+ e
4398
+ ),
4399
+ ...r
4400
+ }
4401
+ );
4402
+ }
4403
+ const Ho = Vo, tr = O.createContext(
4404
+ {}
4405
+ ), kt = ({
4406
+ ...e
4407
+ }) => /* @__PURE__ */ L.jsx(tr.Provider, { value: { name: e.name }, children: /* @__PURE__ */ L.jsx(Uo, { ...e }) }), Bo = () => {
4408
+ const e = O.useContext(tr), r = O.useContext(rr), { getFieldState: t } = Ae(), o = Qt({ name: e.name }), n = t(e.name, o);
4409
+ if (!e)
4410
+ throw new Error("useFormField should be used within <FormField>");
4411
+ const { id: s } = r;
4412
+ return {
4413
+ id: s,
4414
+ name: e.name,
4415
+ formItemId: `${s}-form-item`,
4416
+ formDescriptionId: `${s}-form-item-description`,
4417
+ formMessageId: `${s}-form-item-message`,
4418
+ ...n
4419
+ };
4420
+ }, rr = O.createContext(
4421
+ {}
4422
+ );
4423
+ function St({ className: e, ...r }) {
4424
+ const t = O.useId();
4425
+ return /* @__PURE__ */ L.jsx(rr.Provider, { value: { id: t }, children: /* @__PURE__ */ L.jsx(
4426
+ "div",
4427
+ {
4428
+ "data-slot": "form-item",
4429
+ className: re("grid gap-2", e),
4430
+ ...r
4431
+ }
4432
+ ) });
4433
+ }
4434
+ function Ot({ ...e }) {
4435
+ const { error: r, formItemId: t, formDescriptionId: o, formMessageId: n } = Bo();
4436
+ return /* @__PURE__ */ L.jsx(
4437
+ At,
4438
+ {
4439
+ "data-slot": "form-control",
4440
+ id: t,
4441
+ "aria-describedby": r ? `${o} ${n}` : `${o}`,
4442
+ "aria-invalid": !!r,
4443
+ ...e
4444
+ }
4445
+ );
4446
+ }
4447
+ function Et({ className: e, type: r, ...t }) {
4448
+ return /* @__PURE__ */ L.jsx(
4449
+ "input",
4450
+ {
4451
+ type: r,
4452
+ "data-slot": "input",
4453
+ className: re(
4454
+ "file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
4455
+ "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
4456
+ "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
4457
+ e
4458
+ ),
4459
+ ...t
4460
+ }
4461
+ );
4462
+ }
4463
+ /**
4464
+ * @license lucide-react v0.544.0 - ISC
4465
+ *
4466
+ * This source code is licensed under the ISC license.
4467
+ * See the LICENSE file in the root directory of this source tree.
4468
+ */
4469
+ const Yo = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), Wo = (e) => e.replace(
4470
+ /^([A-Z])|[\s-_]+(\w)/g,
4471
+ (r, t, o) => o ? o.toUpperCase() : t.toLowerCase()
4472
+ ), Rt = (e) => {
4473
+ const r = Wo(e);
4474
+ return r.charAt(0).toUpperCase() + r.slice(1);
4475
+ }, or = (...e) => e.filter((r, t, o) => !!r && r.trim() !== "" && o.indexOf(r) === t).join(" ").trim(), Ko = (e) => {
4476
+ for (const r in e)
4477
+ if (r.startsWith("aria-") || r === "role" || r === "title")
4478
+ return !0;
4479
+ };
4480
+ /**
4481
+ * @license lucide-react v0.544.0 - ISC
4482
+ *
4483
+ * This source code is licensed under the ISC license.
4484
+ * See the LICENSE file in the root directory of this source tree.
4485
+ */
4486
+ var qo = {
4487
+ xmlns: "http://www.w3.org/2000/svg",
4488
+ width: 24,
4489
+ height: 24,
4490
+ viewBox: "0 0 24 24",
4491
+ fill: "none",
4492
+ stroke: "currentColor",
4493
+ strokeWidth: 2,
4494
+ strokeLinecap: "round",
4495
+ strokeLinejoin: "round"
4496
+ };
4497
+ /**
4498
+ * @license lucide-react v0.544.0 - ISC
4499
+ *
4500
+ * This source code is licensed under the ISC license.
4501
+ * See the LICENSE file in the root directory of this source tree.
4502
+ */
4503
+ const Xo = jt(
4504
+ ({
4505
+ color: e = "currentColor",
4506
+ size: r = 24,
4507
+ strokeWidth: t = 2,
4508
+ absoluteStrokeWidth: o,
4509
+ className: n = "",
4510
+ children: s,
4511
+ iconNode: d,
4512
+ ...f
4513
+ }, u) => $e(
4514
+ "svg",
4515
+ {
4516
+ ref: u,
4517
+ ...qo,
4518
+ width: r,
4519
+ height: r,
4520
+ stroke: e,
4521
+ strokeWidth: o ? Number(t) * 24 / Number(r) : t,
4522
+ className: or("lucide", n),
4523
+ ...!s && !Ko(f) && { "aria-hidden": "true" },
4524
+ ...f
4525
+ },
4526
+ [
4527
+ ...d.map(([l, m]) => $e(l, m)),
4528
+ ...Array.isArray(s) ? s : [s]
4529
+ ]
4530
+ )
4531
+ );
4532
+ /**
4533
+ * @license lucide-react v0.544.0 - ISC
4534
+ *
4535
+ * This source code is licensed under the ISC license.
4536
+ * See the LICENSE file in the root directory of this source tree.
4537
+ */
4538
+ const nr = (e, r) => {
4539
+ const t = jt(
4540
+ ({ className: o, ...n }, s) => $e(Xo, {
4541
+ ref: s,
4542
+ iconNode: r,
4543
+ className: or(
4544
+ `lucide-${Yo(Rt(e))}`,
4545
+ `lucide-${e}`,
4546
+ o
4547
+ ),
4548
+ ...n
4549
+ })
4550
+ );
4551
+ return t.displayName = Rt(e), t;
4552
+ };
4553
+ /**
4554
+ * @license lucide-react v0.544.0 - ISC
4555
+ *
4556
+ * This source code is licensed under the ISC license.
4557
+ * See the LICENSE file in the root directory of this source tree.
4558
+ */
4559
+ const Jo = [
4560
+ [
4561
+ "path",
4562
+ {
4563
+ d: "M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",
4564
+ key: "ct8e1f"
4565
+ }
4566
+ ],
4567
+ ["path", { d: "M14.084 14.158a3 3 0 0 1-4.242-4.242", key: "151rxh" }],
4568
+ [
4569
+ "path",
4570
+ {
4571
+ d: "M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",
4572
+ key: "13bj9a"
4573
+ }
4574
+ ],
4575
+ ["path", { d: "m2 2 20 20", key: "1ooewy" }]
4576
+ ], Zo = nr("eye-off", Jo);
4577
+ /**
4578
+ * @license lucide-react v0.544.0 - ISC
4579
+ *
4580
+ * This source code is licensed under the ISC license.
4581
+ * See the LICENSE file in the root directory of this source tree.
4582
+ */
4583
+ const Qo = [
4584
+ [
4585
+ "path",
4586
+ {
4587
+ d: "M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",
4588
+ key: "1nclc0"
4589
+ }
4590
+ ],
4591
+ ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
4592
+ ], en = nr("eye", Qo);
4593
+ function ln(e) {
4594
+ const [r, t] = ir(!1);
4595
+ return /* @__PURE__ */ C.jsx("div", { className: "flex flex-col gap-6", children: /* @__PURE__ */ C.jsxs(ko, { children: [
4596
+ /* @__PURE__ */ C.jsxs(So, { children: [
4597
+ /* @__PURE__ */ C.jsx(Oo, { className: "text-2xl", children: e.loginFormTitle }),
4598
+ /* @__PURE__ */ C.jsx(Eo, { children: e.loginFormDescription })
4599
+ ] }),
4600
+ /* @__PURE__ */ C.jsx(Ro, { children: /* @__PURE__ */ C.jsx(Ho, { ...e.form, children: /* @__PURE__ */ C.jsx("form", { onSubmit: e.form.handleSubmit(e.submit), children: /* @__PURE__ */ C.jsxs("div", { className: "flex flex-col gap-6", children: [
4601
+ /* @__PURE__ */ C.jsxs("div", { className: "grid gap-2", children: [
4602
+ /* @__PURE__ */ C.jsx(wt, { htmlFor: "email", children: e.emailLabel }),
4603
+ /* @__PURE__ */ C.jsx(
4604
+ kt,
4605
+ {
4606
+ control: e.form.control,
4607
+ name: "email",
4608
+ render: ({ field: o }) => /* @__PURE__ */ C.jsx(St, { children: /* @__PURE__ */ C.jsx(Ot, { children: /* @__PURE__ */ C.jsx(
4609
+ Et,
4610
+ {
4611
+ id: "email",
4612
+ type: "email",
4613
+ placeholder: "m@example.com",
4614
+ required: !0,
4615
+ ...o
4616
+ }
4617
+ ) }) })
4618
+ }
4619
+ )
4620
+ ] }),
4621
+ /* @__PURE__ */ C.jsxs("div", { className: "grid gap-2", children: [
4622
+ /* @__PURE__ */ C.jsxs("div", { className: "flex items-center", children: [
4623
+ /* @__PURE__ */ C.jsx(wt, { htmlFor: "password", children: e.passwordLabel }),
4624
+ e.resetPasswordLinkComponent ? e.resetPasswordLinkComponent() : null
4625
+ ] }),
4626
+ /* @__PURE__ */ C.jsx(
4627
+ kt,
4628
+ {
4629
+ control: e.form.control,
4630
+ name: "password",
4631
+ render: ({ field: o }) => /* @__PURE__ */ C.jsx(St, { children: /* @__PURE__ */ C.jsx(Ot, { className: "relative", children: /* @__PURE__ */ C.jsxs("div", { className: "relative", children: [
4632
+ r ? /* @__PURE__ */ C.jsx(
4633
+ Zo,
4634
+ {
4635
+ className: "absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-500 z-10 cursor-pointer",
4636
+ onClick: () => {
4637
+ t(!1);
4638
+ }
4639
+ }
4640
+ ) : /* @__PURE__ */ C.jsx(
4641
+ en,
4642
+ {
4643
+ className: "absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-500 z-10 cursor-pointer",
4644
+ onClick: () => {
4645
+ t(!0);
4646
+ }
4647
+ }
4648
+ ),
4649
+ /* @__PURE__ */ C.jsx(
4650
+ Et,
4651
+ {
4652
+ type: r ? "text" : "password",
4653
+ placeholder: "********",
4654
+ ...o,
4655
+ className: "pr-10"
4656
+ }
4657
+ )
4658
+ ] }) }) })
4659
+ }
4660
+ )
4661
+ ] }),
4662
+ /* @__PURE__ */ C.jsx(wo, { type: "submit", className: "w-full", children: e.submitButtonLabel })
4663
+ ] }) }) }) })
4664
+ ] }) });
4665
+ }
4666
+ const pe = /* @__PURE__ */ new WeakMap(), Ne = /* @__PURE__ */ new WeakMap(), je = {
4667
+ current: []
4668
+ };
4669
+ let ze = !1;
4670
+ const Re = /* @__PURE__ */ new Set(), Nt = /* @__PURE__ */ new Map();
4671
+ function sr(e) {
4672
+ const r = Array.from(e).sort((t, o) => t instanceof le && t.options.deps.includes(o) ? 1 : o instanceof le && o.options.deps.includes(t) ? -1 : 0);
4673
+ for (const t of r) {
4674
+ if (je.current.includes(t))
4675
+ continue;
4676
+ je.current.push(t), t.recompute();
4677
+ const o = Ne.get(t);
4678
+ if (o)
4679
+ for (const n of o) {
4680
+ const s = pe.get(n);
4681
+ s && sr(s);
4682
+ }
4683
+ }
4684
+ }
4685
+ function tn(e) {
4686
+ e.listeners.forEach(
4687
+ (r) => r({
4688
+ prevVal: e.prevState,
4689
+ currentVal: e.state
4690
+ })
4691
+ );
4692
+ }
4693
+ function rn(e) {
4694
+ e.listeners.forEach(
4695
+ (r) => r({
4696
+ prevVal: e.prevState,
4697
+ currentVal: e.state
4698
+ })
4699
+ );
4700
+ }
4701
+ function on(e) {
4702
+ if (Re.add(e), !ze)
4703
+ try {
4704
+ for (ze = !0; Re.size > 0; ) {
4705
+ const r = Array.from(Re);
4706
+ Re.clear();
4707
+ for (const t of r) {
4708
+ const o = Nt.get(t) ?? t.prevState;
4709
+ t.prevState = o, tn(t);
4710
+ }
4711
+ for (const t of r) {
4712
+ const o = pe.get(t);
4713
+ o && (je.current.push(t), sr(o));
4714
+ }
4715
+ for (const t of r) {
4716
+ const o = pe.get(t);
4717
+ if (o)
4718
+ for (const n of o)
4719
+ rn(n);
4720
+ }
4721
+ }
4722
+ } finally {
4723
+ ze = !1, je.current = [], Nt.clear();
4724
+ }
4725
+ }
4726
+ function nn(e) {
4727
+ return typeof e == "function";
4728
+ }
4729
+ class Ye {
4730
+ constructor(r, t) {
4731
+ this.listeners = /* @__PURE__ */ new Set(), this.subscribe = (o) => {
4732
+ var n, s;
4733
+ this.listeners.add(o);
4734
+ const d = (s = (n = this.options) == null ? void 0 : n.onSubscribe) == null ? void 0 : s.call(n, o, this);
4735
+ return () => {
4736
+ this.listeners.delete(o), d?.();
4737
+ };
4738
+ }, this.prevState = r, this.state = r, this.options = t;
4739
+ }
4740
+ setState(r) {
4741
+ var t, o, n;
4742
+ this.prevState = this.state, (t = this.options) != null && t.updateFn ? this.state = this.options.updateFn(this.prevState)(r) : nn(r) ? this.state = r(this.prevState) : this.state = r, (n = (o = this.options) == null ? void 0 : o.onUpdate) == null || n.call(o), on(this);
4743
+ }
4744
+ }
4745
+ class le {
4746
+ constructor(r) {
4747
+ this.listeners = /* @__PURE__ */ new Set(), this._subscriptions = [], this.lastSeenDepValues = [], this.getDepVals = () => {
4748
+ const t = [], o = [];
4749
+ for (const n of this.options.deps)
4750
+ t.push(n.prevState), o.push(n.state);
4751
+ return this.lastSeenDepValues = o, {
4752
+ prevDepVals: t,
4753
+ currDepVals: o,
4754
+ prevVal: this.prevState ?? void 0
4755
+ };
4756
+ }, this.recompute = () => {
4757
+ var t, o;
4758
+ this.prevState = this.state;
4759
+ const { prevDepVals: n, currDepVals: s, prevVal: d } = this.getDepVals();
4760
+ this.state = this.options.fn({
4761
+ prevDepVals: n,
4762
+ currDepVals: s,
4763
+ prevVal: d
4764
+ }), (o = (t = this.options).onUpdate) == null || o.call(t);
4765
+ }, this.checkIfRecalculationNeededDeeply = () => {
4766
+ for (const s of this.options.deps)
4767
+ s instanceof le && s.checkIfRecalculationNeededDeeply();
4768
+ let t = !1;
4769
+ const o = this.lastSeenDepValues, { currDepVals: n } = this.getDepVals();
4770
+ for (let s = 0; s < n.length; s++)
4771
+ if (n[s] !== o[s]) {
4772
+ t = !0;
4773
+ break;
4774
+ }
4775
+ t && this.recompute();
4776
+ }, this.mount = () => (this.registerOnGraph(), this.checkIfRecalculationNeededDeeply(), () => {
4777
+ this.unregisterFromGraph();
4778
+ for (const t of this._subscriptions)
4779
+ t();
4780
+ }), this.subscribe = (t) => {
4781
+ var o, n;
4782
+ this.listeners.add(t);
4783
+ const s = (n = (o = this.options).onSubscribe) == null ? void 0 : n.call(o, t, this);
4784
+ return () => {
4785
+ this.listeners.delete(t), s?.();
4786
+ };
4787
+ }, this.options = r, this.state = r.fn({
4788
+ prevDepVals: void 0,
4789
+ prevVal: void 0,
4790
+ currDepVals: this.getDepVals().currDepVals
4791
+ });
4792
+ }
4793
+ registerOnGraph(r = this.options.deps) {
4794
+ for (const t of r)
4795
+ if (t instanceof le)
4796
+ t.registerOnGraph(), this.registerOnGraph(t.options.deps);
4797
+ else if (t instanceof Ye) {
4798
+ let o = pe.get(t);
4799
+ o || (o = /* @__PURE__ */ new Set(), pe.set(t, o)), o.add(this);
4800
+ let n = Ne.get(this);
4801
+ n || (n = /* @__PURE__ */ new Set(), Ne.set(this, n)), n.add(t);
4802
+ }
4803
+ }
4804
+ unregisterFromGraph(r = this.options.deps) {
4805
+ for (const t of r)
4806
+ if (t instanceof le)
4807
+ this.unregisterFromGraph(t.options.deps);
4808
+ else if (t instanceof Ye) {
4809
+ const o = pe.get(t);
4810
+ o && o.delete(this);
4811
+ const n = Ne.get(this);
4812
+ n && n.delete(t);
4813
+ }
4814
+ }
4815
+ }
4816
+ const Ie = "Authorization", ar = () => ({
4817
+ user: {
4818
+ id: null,
4819
+ email: null,
4820
+ roles: [],
4821
+ is_enabled: !1,
4822
+ is_active: !1
4823
+ },
4824
+ isAuthenticated: !1,
4825
+ isLoaded: !1
4826
+ }), ie = new Ye(ar()), cn = new le({
4827
+ fn: () => !!ie.state.user?.roles.find((e) => e.name === "admin"),
4828
+ deps: [ie]
4829
+ });
4830
+ class un {
4831
+ accountStore;
4832
+ httpClient;
4833
+ constructor(r) {
4834
+ this.httpClient = r, this.accountStore = ie;
4835
+ }
4836
+ initAuthData() {
4837
+ const r = localStorage.getItem("token");
4838
+ r && (this.httpClient.defaults.headers.common[Ie] = r);
4839
+ }
4840
+ async load() {
4841
+ try {
4842
+ const { data: r } = await this.httpClient.get("/api/auth/account/me");
4843
+ ie.setState(() => ({
4844
+ user: r,
4845
+ isAuthenticated: !0,
4846
+ isLoaded: !0
4847
+ }));
4848
+ } catch {
4849
+ ie.setState((r) => ({
4850
+ ...r,
4851
+ isLoaded: !0
4852
+ }));
4853
+ }
4854
+ }
4855
+ async login(r) {
4856
+ const t = await this.httpClient.post("/api/auth/account/login", r), { user: o, access_token: n } = t.data;
4857
+ return o.is_active && this._initUserData({ user: o, access_token: n }), o;
4858
+ }
4859
+ register(r) {
4860
+ return this.httpClient.post("/api/auth/account/register", r);
4861
+ }
4862
+ async activate(r) {
4863
+ const t = await this.httpClient.post("/api/auth/account/activate", r);
4864
+ this._initUserData(t.data);
4865
+ }
4866
+ logout() {
4867
+ ie.setState(() => ({ ...ar(), isLoaded: !0 })), this._clearAuthData();
4868
+ }
4869
+ startResetPassword(r) {
4870
+ return this.httpClient.post("/api/auth/account/start-reset-password", r);
4871
+ }
4872
+ async resetPassword(r) {
4873
+ const t = await this.httpClient.post("/api/auth/account/reset-password", r);
4874
+ this._initUserData(t.data);
4875
+ }
4876
+ _initUserData({ user: r, access_token: t }) {
4877
+ this._setAuthData(t), ie.setState(() => ({
4878
+ user: r,
4879
+ isAuthenticated: !0,
4880
+ isLoaded: !0
4881
+ }));
4882
+ }
4883
+ _setAuthData(r) {
4884
+ localStorage.setItem("token", r), this.httpClient.defaults.headers.common[Ie] = r;
4885
+ }
4886
+ _clearAuthData() {
4887
+ localStorage.removeItem("token"), delete this.httpClient.defaults.headers.common[Ie];
4888
+ }
4889
+ }
4890
+ export {
4891
+ un as Auth,
4892
+ ln as LoginForm,
4893
+ cn as isAdmin
4894
+ };