@sozialhelden/ui 1.0.0

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