@still-forest/canopy 0.25.0 → 0.26.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/index6.js DELETED
@@ -1,1371 +0,0 @@
1
- import { j as a, c as l } from "./utils-D_B8C9Kp.js";
2
- import { g as Me, u as W, h as Z, i as Se, j as Ee, k as $e } from "./Textarea-BQK0FPhk.js";
3
- import { C as Ha, a as Ka, b as qa, D as Ua, I as Xa, c as Ya, L as Ja, N as Qa, R as Wa, d as Za, e as er, S as tr, f as ar, T as rr } from "./Textarea-BQK0FPhk.js";
4
- import * as b from "react";
5
- import f, { Fragment as De, useState as ze, useEffect as Oe, useMemo as Le } from "react";
6
- import { c as G, b as P, u as V, P as h, d as _, e as ee, q as Be, l as Ge, r as Ve, m as Fe, n as He, T as Ke, o as qe, p as Ue, O as Xe } from "./popover-C6FKo2kc.js";
7
- import { c as w, u as te, e as F, S as ae, C as re, f as Ye, g as Je } from "./calendar-DO3_NMz-.js";
8
- import { B as nr, a as sr } from "./calendar-DO3_NMz-.js";
9
- import { X as Qe, c as We } from "./SidebarLayout-BdELri0f.js";
10
- import { M as lr, P as cr, a as dr, b as ur, S as pr, T as mr, d as gr, e as br, f as xr, g as fr, h as vr, i as hr, j as yr } from "./SidebarLayout-BdELri0f.js";
11
- import { E as Nr, a as Cr, I as wr, P as kr, b as Ar } from "./PageNotFound-qxJMFm_R.js";
12
- import { B as Ir, C as Tr, F as Rr, a as Pr, G as Mr, H as Sr, L as Er } from "./Layout-DgdavEB0.js";
13
- import { C as Dr } from "./Code-BEyCtXmx.js";
14
- import { H as Or, T as Lr } from "./Heading-RoEgEUyn.js";
15
- import { P as Gr } from "./Paragraph-CbHixnRz.js";
16
- /**
17
- * @license lucide-react v0.525.0 - ISC
18
- *
19
- * This source code is licensed under the ISC license.
20
- * See the LICENSE file in the root directory of this source tree.
21
- */
22
- const Ze = [
23
- ["path", { d: "m17 18-6-6 6-6", key: "1yerx2" }],
24
- ["path", { d: "M7 6v12", key: "1p53r6" }]
25
- ], et = w("chevron-first", Ze);
26
- /**
27
- * @license lucide-react v0.525.0 - ISC
28
- *
29
- * This source code is licensed under the ISC license.
30
- * See the LICENSE file in the root directory of this source tree.
31
- */
32
- const tt = [
33
- ["path", { d: "m7 18 6-6-6-6", key: "lwmzdw" }],
34
- ["path", { d: "M17 6v12", key: "1o0aio" }]
35
- ], at = w("chevron-last", tt);
36
- /**
37
- * @license lucide-react v0.525.0 - ISC
38
- *
39
- * This source code is licensed under the ISC license.
40
- * See the LICENSE file in the root directory of this source tree.
41
- */
42
- const rt = [
43
- ["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
44
- ["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
45
- ], ot = w("circle-check-big", rt);
46
- /**
47
- * @license lucide-react v0.525.0 - ISC
48
- *
49
- * This source code is licensed under the ISC license.
50
- * See the LICENSE file in the root directory of this source tree.
51
- */
52
- const nt = [
53
- ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
54
- ["circle", { cx: "19", cy: "12", r: "1", key: "1wjl8i" }],
55
- ["circle", { cx: "5", cy: "12", r: "1", key: "1pcz8c" }]
56
- ], st = w("ellipsis", nt);
57
- /**
58
- * @license lucide-react v0.525.0 - ISC
59
- *
60
- * This source code is licensed under the ISC license.
61
- * See the LICENSE file in the root directory of this source tree.
62
- */
63
- const it = [
64
- ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
65
- ["path", { d: "M12 16v-4", key: "1dtifu" }],
66
- ["path", { d: "M12 8h.01", key: "e9boi3" }]
67
- ], lt = w("info", it);
68
- /**
69
- * @license lucide-react v0.525.0 - ISC
70
- *
71
- * This source code is licensed under the ISC license.
72
- * See the LICENSE file in the root directory of this source tree.
73
- */
74
- const ct = [
75
- ["path", { d: "m15 9-6 6", key: "1uzhvr" }],
76
- [
77
- "path",
78
- {
79
- d: "M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",
80
- key: "2d38gg"
81
- }
82
- ],
83
- ["path", { d: "m9 9 6 6", key: "z0biqf" }]
84
- ], dt = w("octagon-x", ct);
85
- /**
86
- * @license lucide-react v0.525.0 - ISC
87
- *
88
- * This source code is licensed under the ISC license.
89
- * See the LICENSE file in the root directory of this source tree.
90
- */
91
- const ut = [
92
- [
93
- "path",
94
- {
95
- d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",
96
- key: "wmoenq"
97
- }
98
- ],
99
- ["path", { d: "M12 9v4", key: "juzpu7" }],
100
- ["path", { d: "M12 17h.01", key: "p32p05" }]
101
- ], pt = w("triangle-alert", ut);
102
- var M = "Collapsible", [mt, oe] = G(M), [gt, H] = mt(M), ne = b.forwardRef(
103
- (e, t) => {
104
- const {
105
- __scopeCollapsible: o,
106
- open: n,
107
- defaultOpen: s,
108
- disabled: i,
109
- onOpenChange: r,
110
- ...c
111
- } = e, [u, m] = P({
112
- prop: n,
113
- defaultProp: s ?? !1,
114
- onChange: r,
115
- caller: M
116
- });
117
- return /* @__PURE__ */ a.jsx(
118
- gt,
119
- {
120
- scope: o,
121
- disabled: i,
122
- contentId: V(),
123
- open: u,
124
- onOpenToggle: b.useCallback(() => m((d) => !d), [m]),
125
- children: /* @__PURE__ */ a.jsx(
126
- h.div,
127
- {
128
- "data-state": q(u),
129
- "data-disabled": i ? "" : void 0,
130
- ...c,
131
- ref: t
132
- }
133
- )
134
- }
135
- );
136
- }
137
- );
138
- ne.displayName = M;
139
- var se = "CollapsibleTrigger", ie = b.forwardRef(
140
- (e, t) => {
141
- const { __scopeCollapsible: o, ...n } = e, s = H(se, o);
142
- return /* @__PURE__ */ a.jsx(
143
- h.button,
144
- {
145
- type: "button",
146
- "aria-controls": s.contentId,
147
- "aria-expanded": s.open || !1,
148
- "data-state": q(s.open),
149
- "data-disabled": s.disabled ? "" : void 0,
150
- disabled: s.disabled,
151
- ...n,
152
- ref: t,
153
- onClick: _(e.onClick, s.onOpenToggle)
154
- }
155
- );
156
- }
157
- );
158
- ie.displayName = se;
159
- var K = "CollapsibleContent", le = b.forwardRef(
160
- (e, t) => {
161
- const { forceMount: o, ...n } = e, s = H(K, e.__scopeCollapsible);
162
- return /* @__PURE__ */ a.jsx(ee, { present: o || s.open, children: ({ present: i }) => /* @__PURE__ */ a.jsx(bt, { ...n, ref: t, present: i }) });
163
- }
164
- );
165
- le.displayName = K;
166
- var bt = b.forwardRef((e, t) => {
167
- const { __scopeCollapsible: o, present: n, children: s, ...i } = e, r = H(K, o), [c, u] = b.useState(n), m = b.useRef(null), d = te(t, m), p = b.useRef(0), x = p.current, y = b.useRef(0), T = y.current, j = r.open || c, N = b.useRef(j), C = b.useRef(void 0);
168
- return b.useEffect(() => {
169
- const g = requestAnimationFrame(() => N.current = !1);
170
- return () => cancelAnimationFrame(g);
171
- }, []), Be(() => {
172
- const g = m.current;
173
- if (g) {
174
- C.current = C.current || {
175
- transitionDuration: g.style.transitionDuration,
176
- animationName: g.style.animationName
177
- }, g.style.transitionDuration = "0s", g.style.animationName = "none";
178
- const k = g.getBoundingClientRect();
179
- p.current = k.height, y.current = k.width, N.current || (g.style.transitionDuration = C.current.transitionDuration, g.style.animationName = C.current.animationName), u(n);
180
- }
181
- }, [r.open, n]), /* @__PURE__ */ a.jsx(
182
- h.div,
183
- {
184
- "data-state": q(r.open),
185
- "data-disabled": r.disabled ? "" : void 0,
186
- id: r.contentId,
187
- hidden: !j,
188
- ...i,
189
- ref: d,
190
- style: {
191
- "--radix-collapsible-content-height": x ? `${x}px` : void 0,
192
- "--radix-collapsible-content-width": T ? `${T}px` : void 0,
193
- ...e.style
194
- },
195
- children: j && s
196
- }
197
- );
198
- });
199
- function q(e) {
200
- return e ? "open" : "closed";
201
- }
202
- var xt = ne, ft = ie, vt = le, v = "Accordion", ht = ["Home", "End", "ArrowDown", "ArrowUp", "ArrowLeft", "ArrowRight"], [U, yt, jt] = Me(v), [S, va] = G(v, [
203
- jt,
204
- oe
205
- ]), X = oe(), ce = f.forwardRef(
206
- (e, t) => {
207
- const { type: o, ...n } = e, s = n, i = n;
208
- return /* @__PURE__ */ a.jsx(U.Provider, { scope: e.__scopeAccordion, children: o === "multiple" ? /* @__PURE__ */ a.jsx(kt, { ...i, ref: t }) : /* @__PURE__ */ a.jsx(wt, { ...s, ref: t }) });
209
- }
210
- );
211
- ce.displayName = v;
212
- var [de, Nt] = S(v), [ue, Ct] = S(
213
- v,
214
- { collapsible: !1 }
215
- ), wt = f.forwardRef(
216
- (e, t) => {
217
- const {
218
- value: o,
219
- defaultValue: n,
220
- onValueChange: s = () => {
221
- },
222
- collapsible: i = !1,
223
- ...r
224
- } = e, [c, u] = P({
225
- prop: o,
226
- defaultProp: n ?? "",
227
- onChange: s,
228
- caller: v
229
- });
230
- return /* @__PURE__ */ a.jsx(
231
- de,
232
- {
233
- scope: e.__scopeAccordion,
234
- value: f.useMemo(() => c ? [c] : [], [c]),
235
- onItemOpen: u,
236
- onItemClose: f.useCallback(() => i && u(""), [i, u]),
237
- children: /* @__PURE__ */ a.jsx(ue, { scope: e.__scopeAccordion, collapsible: i, children: /* @__PURE__ */ a.jsx(pe, { ...r, ref: t }) })
238
- }
239
- );
240
- }
241
- ), kt = f.forwardRef((e, t) => {
242
- const {
243
- value: o,
244
- defaultValue: n,
245
- onValueChange: s = () => {
246
- },
247
- ...i
248
- } = e, [r, c] = P({
249
- prop: o,
250
- defaultProp: n ?? [],
251
- onChange: s,
252
- caller: v
253
- }), u = f.useCallback(
254
- (d) => c((p = []) => [...p, d]),
255
- [c]
256
- ), m = f.useCallback(
257
- (d) => c((p = []) => p.filter((x) => x !== d)),
258
- [c]
259
- );
260
- return /* @__PURE__ */ a.jsx(
261
- de,
262
- {
263
- scope: e.__scopeAccordion,
264
- value: r,
265
- onItemOpen: u,
266
- onItemClose: m,
267
- children: /* @__PURE__ */ a.jsx(ue, { scope: e.__scopeAccordion, collapsible: !0, children: /* @__PURE__ */ a.jsx(pe, { ...i, ref: t }) })
268
- }
269
- );
270
- }), [At, E] = S(v), pe = f.forwardRef(
271
- (e, t) => {
272
- const { __scopeAccordion: o, disabled: n, dir: s, orientation: i = "vertical", ...r } = e, c = f.useRef(null), u = te(c, t), m = yt(o), p = W(s) === "ltr", x = _(e.onKeyDown, (y) => {
273
- if (!ht.includes(y.key)) return;
274
- const T = y.target, j = m().filter((L) => !L.ref.current?.disabled), N = j.findIndex((L) => L.ref.current === T), C = j.length;
275
- if (N === -1) return;
276
- y.preventDefault();
277
- let g = N;
278
- const k = 0, D = C - 1, z = () => {
279
- g = N + 1, g > D && (g = k);
280
- }, O = () => {
281
- g = N - 1, g < k && (g = D);
282
- };
283
- switch (y.key) {
284
- case "Home":
285
- g = k;
286
- break;
287
- case "End":
288
- g = D;
289
- break;
290
- case "ArrowRight":
291
- i === "horizontal" && (p ? z() : O());
292
- break;
293
- case "ArrowDown":
294
- i === "vertical" && z();
295
- break;
296
- case "ArrowLeft":
297
- i === "horizontal" && (p ? O() : z());
298
- break;
299
- case "ArrowUp":
300
- i === "vertical" && O();
301
- break;
302
- }
303
- const Pe = g % C;
304
- j[Pe].ref.current?.focus();
305
- });
306
- return /* @__PURE__ */ a.jsx(
307
- At,
308
- {
309
- scope: o,
310
- disabled: n,
311
- direction: s,
312
- orientation: i,
313
- children: /* @__PURE__ */ a.jsx(U.Slot, { scope: o, children: /* @__PURE__ */ a.jsx(
314
- h.div,
315
- {
316
- ...r,
317
- "data-orientation": i,
318
- ref: u,
319
- onKeyDown: n ? void 0 : x
320
- }
321
- ) })
322
- }
323
- );
324
- }
325
- ), R = "AccordionItem", [_t, Y] = S(R), me = f.forwardRef(
326
- (e, t) => {
327
- const { __scopeAccordion: o, value: n, ...s } = e, i = E(R, o), r = Nt(R, o), c = X(o), u = V(), m = n && r.value.includes(n) || !1, d = i.disabled || e.disabled;
328
- return /* @__PURE__ */ a.jsx(
329
- _t,
330
- {
331
- scope: o,
332
- open: m,
333
- disabled: d,
334
- triggerId: u,
335
- children: /* @__PURE__ */ a.jsx(
336
- xt,
337
- {
338
- "data-orientation": i.orientation,
339
- "data-state": he(m),
340
- ...c,
341
- ...s,
342
- ref: t,
343
- disabled: d,
344
- open: m,
345
- onOpenChange: (p) => {
346
- p ? r.onItemOpen(n) : r.onItemClose(n);
347
- }
348
- }
349
- )
350
- }
351
- );
352
- }
353
- );
354
- me.displayName = R;
355
- var ge = "AccordionHeader", be = f.forwardRef(
356
- (e, t) => {
357
- const { __scopeAccordion: o, ...n } = e, s = E(v, o), i = Y(ge, o);
358
- return /* @__PURE__ */ a.jsx(
359
- h.h3,
360
- {
361
- "data-orientation": s.orientation,
362
- "data-state": he(i.open),
363
- "data-disabled": i.disabled ? "" : void 0,
364
- ...n,
365
- ref: t
366
- }
367
- );
368
- }
369
- );
370
- be.displayName = ge;
371
- var B = "AccordionTrigger", xe = f.forwardRef(
372
- (e, t) => {
373
- const { __scopeAccordion: o, ...n } = e, s = E(v, o), i = Y(B, o), r = Ct(B, o), c = X(o);
374
- return /* @__PURE__ */ a.jsx(U.ItemSlot, { scope: o, children: /* @__PURE__ */ a.jsx(
375
- ft,
376
- {
377
- "aria-disabled": i.open && !r.collapsible || void 0,
378
- "data-orientation": s.orientation,
379
- id: i.triggerId,
380
- ...c,
381
- ...n,
382
- ref: t
383
- }
384
- ) });
385
- }
386
- );
387
- xe.displayName = B;
388
- var fe = "AccordionContent", ve = f.forwardRef(
389
- (e, t) => {
390
- const { __scopeAccordion: o, ...n } = e, s = E(v, o), i = Y(fe, o), r = X(o);
391
- return /* @__PURE__ */ a.jsx(
392
- vt,
393
- {
394
- role: "region",
395
- "aria-labelledby": i.triggerId,
396
- "data-orientation": s.orientation,
397
- ...r,
398
- ...n,
399
- ref: t,
400
- style: {
401
- "--radix-accordion-content-height": "var(--radix-collapsible-content-height)",
402
- "--radix-accordion-content-width": "var(--radix-collapsible-content-width)",
403
- ...e.style
404
- }
405
- }
406
- );
407
- }
408
- );
409
- ve.displayName = fe;
410
- function he(e) {
411
- return e ? "open" : "closed";
412
- }
413
- var It = ce, Tt = me, Rt = be, Pt = xe, Mt = ve, $ = "Tabs", [St, ha] = G($, [
414
- Z
415
- ]), ye = Z(), [Et, J] = St($), je = b.forwardRef(
416
- (e, t) => {
417
- const {
418
- __scopeTabs: o,
419
- value: n,
420
- onValueChange: s,
421
- defaultValue: i,
422
- orientation: r = "horizontal",
423
- dir: c,
424
- activationMode: u = "automatic",
425
- ...m
426
- } = e, d = W(c), [p, x] = P({
427
- prop: n,
428
- onChange: s,
429
- defaultProp: i ?? "",
430
- caller: $
431
- });
432
- return /* @__PURE__ */ a.jsx(
433
- Et,
434
- {
435
- scope: o,
436
- baseId: V(),
437
- value: p,
438
- onValueChange: x,
439
- orientation: r,
440
- dir: d,
441
- activationMode: u,
442
- children: /* @__PURE__ */ a.jsx(
443
- h.div,
444
- {
445
- dir: d,
446
- "data-orientation": r,
447
- ...m,
448
- ref: t
449
- }
450
- )
451
- }
452
- );
453
- }
454
- );
455
- je.displayName = $;
456
- var Ne = "TabsList", Ce = b.forwardRef(
457
- (e, t) => {
458
- const { __scopeTabs: o, loop: n = !0, ...s } = e, i = J(Ne, o), r = ye(o);
459
- return /* @__PURE__ */ a.jsx(
460
- Se,
461
- {
462
- asChild: !0,
463
- ...r,
464
- orientation: i.orientation,
465
- dir: i.dir,
466
- loop: n,
467
- children: /* @__PURE__ */ a.jsx(
468
- h.div,
469
- {
470
- role: "tablist",
471
- "aria-orientation": i.orientation,
472
- ...s,
473
- ref: t
474
- }
475
- )
476
- }
477
- );
478
- }
479
- );
480
- Ce.displayName = Ne;
481
- var we = "TabsTrigger", ke = b.forwardRef(
482
- (e, t) => {
483
- const { __scopeTabs: o, value: n, disabled: s = !1, ...i } = e, r = J(we, o), c = ye(o), u = Ie(r.baseId, n), m = Te(r.baseId, n), d = n === r.value;
484
- return /* @__PURE__ */ a.jsx(
485
- Ee,
486
- {
487
- asChild: !0,
488
- ...c,
489
- focusable: !s,
490
- active: d,
491
- children: /* @__PURE__ */ a.jsx(
492
- h.button,
493
- {
494
- type: "button",
495
- role: "tab",
496
- "aria-selected": d,
497
- "aria-controls": m,
498
- "data-state": d ? "active" : "inactive",
499
- "data-disabled": s ? "" : void 0,
500
- disabled: s,
501
- id: u,
502
- ...i,
503
- ref: t,
504
- onMouseDown: _(e.onMouseDown, (p) => {
505
- !s && p.button === 0 && p.ctrlKey === !1 ? r.onValueChange(n) : p.preventDefault();
506
- }),
507
- onKeyDown: _(e.onKeyDown, (p) => {
508
- [" ", "Enter"].includes(p.key) && r.onValueChange(n);
509
- }),
510
- onFocus: _(e.onFocus, () => {
511
- const p = r.activationMode !== "manual";
512
- !d && !s && p && r.onValueChange(n);
513
- })
514
- }
515
- )
516
- }
517
- );
518
- }
519
- );
520
- ke.displayName = we;
521
- var Ae = "TabsContent", _e = b.forwardRef(
522
- (e, t) => {
523
- const { __scopeTabs: o, value: n, forceMount: s, children: i, ...r } = e, c = J(Ae, o), u = Ie(c.baseId, n), m = Te(c.baseId, n), d = n === c.value, p = b.useRef(d);
524
- return b.useEffect(() => {
525
- const x = requestAnimationFrame(() => p.current = !1);
526
- return () => cancelAnimationFrame(x);
527
- }, []), /* @__PURE__ */ a.jsx(ee, { present: s || d, children: ({ present: x }) => /* @__PURE__ */ a.jsx(
528
- h.div,
529
- {
530
- "data-state": d ? "active" : "inactive",
531
- "data-orientation": c.orientation,
532
- role: "tabpanel",
533
- "aria-labelledby": u,
534
- hidden: !x,
535
- id: m,
536
- tabIndex: 0,
537
- ...r,
538
- ref: t,
539
- style: {
540
- ...e.style,
541
- animationDuration: p.current ? "0s" : void 0
542
- },
543
- children: x && i
544
- }
545
- ) });
546
- }
547
- );
548
- _e.displayName = Ae;
549
- function Ie(e, t) {
550
- return `${e}-trigger-${t}`;
551
- }
552
- function Te(e, t) {
553
- return `${e}-content-${t}`;
554
- }
555
- var $t = je, Dt = Ce, zt = ke, Ot = _e;
556
- function ya({ ...e }) {
557
- return /* @__PURE__ */ a.jsx(It, { "data-slot": "accordion", ...e });
558
- }
559
- function ja({ className: e, ...t }) {
560
- return /* @__PURE__ */ a.jsx(
561
- Tt,
562
- {
563
- className: l("border-b last:border-b-0", e),
564
- "data-slot": "accordion-item",
565
- ...t
566
- }
567
- );
568
- }
569
- function Na({ className: e, children: t, ...o }) {
570
- return /* @__PURE__ */ a.jsx(Rt, { className: "flex", children: /* @__PURE__ */ a.jsxs(
571
- Pt,
572
- {
573
- className: l(
574
- "flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left font-medium text-sm outline-none transition-all hover:underline focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",
575
- e
576
- ),
577
- "data-slot": "accordion-trigger",
578
- ...o,
579
- children: [
580
- t,
581
- /* @__PURE__ */ a.jsx($e, { className: "pointer-events-none size-4 shrink-0 translate-y-0.5 text-muted-foreground transition-transform duration-200" })
582
- ]
583
- }
584
- ) });
585
- }
586
- function Ca({ className: e, children: t, ...o }) {
587
- return /* @__PURE__ */ a.jsx(
588
- Mt,
589
- {
590
- className: "overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
591
- "data-slot": "accordion-content",
592
- ...o,
593
- children: /* @__PURE__ */ a.jsx("div", { className: l("pt-0 pb-4", e), children: t })
594
- }
595
- );
596
- }
597
- const Lt = F(
598
- "relative w-full rounded-lg border px-3 py-2 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",
599
- {
600
- variants: {
601
- variant: {
602
- info: "bg-info-foreground text-info border-info [&>svg]:text-current *:data-[slot=alert-description]:text-info-600",
603
- success: "bg-success-foreground text-success border-success [&>svg]:text-current *:data-[slot=alert-description]:text-success-600",
604
- warning: "bg-warning-foreground text-warning border-warning [&>svg]:text-current *:data-[slot=alert-description]:text-warning/80",
605
- error: "bg-destructive-foreground text-destructive border-destructive [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/80"
606
- }
607
- },
608
- defaultVariants: {
609
- variant: "info"
610
- }
611
- }
612
- );
613
- function Bt({ className: e, variant: t, ...o }) {
614
- return /* @__PURE__ */ a.jsx("div", { className: l(Lt({ variant: t }), e), "data-slot": "alert", role: "alert", ...o });
615
- }
616
- function Gt({ className: e, ...t }) {
617
- return /* @__PURE__ */ a.jsx(
618
- "div",
619
- {
620
- className: l("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight", e),
621
- "data-slot": "alert-title",
622
- ...t
623
- }
624
- );
625
- }
626
- function Vt({ className: e, ...t }) {
627
- return /* @__PURE__ */ a.jsx(
628
- "div",
629
- {
630
- className: l("col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed", e),
631
- "data-slot": "alert-description",
632
- ...t
633
- }
634
- );
635
- }
636
- const Ft = {
637
- success: ot,
638
- info: lt,
639
- error: dt,
640
- warning: pt
641
- }, wa = ({ type: e, title: t, message: o, className: n = "" }) => {
642
- const s = Ft[e];
643
- return /* @__PURE__ */ a.jsxs(Bt, { className: n, variant: e, children: [
644
- /* @__PURE__ */ a.jsx(s, { className: "h-4 w-4", "data-testid": `alert-icon-${e}` }),
645
- t ? /* @__PURE__ */ a.jsx(Gt, { children: t }) : null,
646
- /* @__PURE__ */ a.jsx(Vt, { children: o })
647
- ] });
648
- }, Ht = F(
649
- "inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-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 transition-[color,box-shadow] overflow-hidden",
650
- {
651
- variants: {
652
- variant: {
653
- default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
654
- secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
655
- destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
656
- outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
657
- }
658
- },
659
- defaultVariants: {
660
- variant: "default"
661
- }
662
- }
663
- );
664
- function Kt({
665
- className: e,
666
- variant: t,
667
- asChild: o = !1,
668
- ...n
669
- }) {
670
- const s = o ? ae : "span";
671
- return /* @__PURE__ */ a.jsx(s, { className: l(Ht({ variant: t }), e), "data-slot": "badge", ...n });
672
- }
673
- const qt = F(
674
- "inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-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 transition-[color,box-shadow] overflow-hidden",
675
- {
676
- variants: {
677
- color: {
678
- red: "bg-red-500",
679
- orange: "bg-orange-500",
680
- amber: "bg-amber-500",
681
- yellow: "bg-yellow-500",
682
- lime: "bg-lime-500",
683
- green: "bg-green-500",
684
- emerald: "bg-emerald-500",
685
- teal: "bg-teal-500",
686
- cyan: "bg-cyan-500",
687
- sky: "bg-sky-500",
688
- blue: "bg-blue-500",
689
- indigo: "bg-indigo-500",
690
- violet: "bg-violet-500",
691
- purple: "bg-purple-500",
692
- fuchsia: "bg-fuchsia-500",
693
- pink: "bg-pink-500",
694
- rose: "bg-rose-500",
695
- slate: "bg-slate-500",
696
- gray: "bg-gray-500",
697
- zinc: "bg-zinc-500",
698
- neutral: "bg-neutral-500",
699
- stone: "bg-stone-500",
700
- white: "bg-white",
701
- black: "bg-black"
702
- },
703
- variant: {
704
- default: "border-transparent",
705
- secondary: "border-transparent",
706
- destructive: "border-transparent",
707
- outline: ""
708
- }
709
- },
710
- compoundVariants: [
711
- {
712
- color: "red",
713
- variant: "outline",
714
- className: "border-red-500 bg-transparent text-red-500"
715
- },
716
- {
717
- color: "orange",
718
- variant: "outline",
719
- className: "border-orange-500 bg-transparent text-orange-500"
720
- },
721
- {
722
- color: "amber",
723
- variant: "outline",
724
- className: "border-amber-500 bg-transparent text-amber-500"
725
- },
726
- {
727
- color: "yellow",
728
- variant: "outline",
729
- className: "border-yellow-500 bg-transparent text-yellow-500"
730
- },
731
- {
732
- color: "lime",
733
- variant: "outline",
734
- className: "border-lime-500 bg-transparent text-lime-500"
735
- },
736
- {
737
- color: "green",
738
- variant: "outline",
739
- className: "border-green-500 bg-transparent text-green-500"
740
- },
741
- {
742
- color: "emerald",
743
- variant: "outline",
744
- className: "border-emerald-500 bg-transparent text-emerald-500"
745
- },
746
- {
747
- color: "teal",
748
- variant: "outline",
749
- className: "border-teal-500 bg-transparent text-teal-500"
750
- },
751
- {
752
- color: "cyan",
753
- variant: "outline",
754
- className: "border-cyan-500 bg-transparent text-cyan-500"
755
- },
756
- {
757
- color: "sky",
758
- variant: "outline",
759
- className: "border-sky-500 bg-transparent text-sky-500"
760
- },
761
- {
762
- color: "blue",
763
- variant: "outline",
764
- className: "border-blue-500 bg-transparent text-blue-500"
765
- },
766
- {
767
- color: "indigo",
768
- variant: "outline",
769
- className: "border-indigo-500 bg-transparent text-indigo-500"
770
- },
771
- {
772
- color: "violet",
773
- variant: "outline",
774
- className: "border-violet-500 bg-transparent text-violet-500"
775
- },
776
- {
777
- color: "purple",
778
- variant: "outline",
779
- className: "border-purple-500 bg-transparent text-purple-500"
780
- },
781
- {
782
- color: "fuchsia",
783
- variant: "outline",
784
- className: "border-fuchsia-500 bg-transparent text-fuchsia-500"
785
- },
786
- {
787
- color: "pink",
788
- variant: "outline",
789
- className: "border-pink-500 bg-transparent text-pink-500"
790
- },
791
- {
792
- color: "rose",
793
- variant: "outline",
794
- className: "border-rose-500 bg-transparent text-rose-500"
795
- },
796
- {
797
- color: "slate",
798
- variant: "outline",
799
- className: "border-slate-500 bg-transparent text-slate-500"
800
- },
801
- {
802
- color: "gray",
803
- variant: "outline",
804
- className: "border-gray-500 bg-transparent text-gray-500"
805
- },
806
- {
807
- color: "zinc",
808
- variant: "outline",
809
- className: "border-zinc-500 bg-transparent text-zinc-500"
810
- },
811
- {
812
- color: "neutral",
813
- variant: "outline",
814
- className: "border-neutral-500 bg-transparent text-neutral-500"
815
- },
816
- {
817
- color: "stone",
818
- variant: "outline",
819
- className: "border-stone-500 bg-transparent text-stone-500"
820
- },
821
- {
822
- color: "white",
823
- variant: "outline",
824
- className: "border-black bg-transparent text-black"
825
- },
826
- {
827
- color: "black",
828
- variant: "outline",
829
- className: "border-black bg-transparent text-black"
830
- }
831
- ]
832
- }
833
- ), ka = ({ label: e, onClick: t, className: o, variant: n = "default", color: s }) => {
834
- if (s && !(n === "default" || n === "outline"))
835
- throw new Error(
836
- `Color ${s} is not allowed for variant '${n}'. Only default and outline variants support color.`
837
- );
838
- const i = l(
839
- "cursor-default",
840
- !!t && "cursor-pointer",
841
- qt({ color: s, variant: n }),
842
- {
843
- "text-white": s === "black" && n !== "outline",
844
- "text-black": s === "white" && n !== "outline"
845
- },
846
- {
847
- "border-1 border-black": s === "white"
848
- },
849
- o
850
- );
851
- return /* @__PURE__ */ a.jsx(Kt, { className: i, onClick: t, variant: n, children: e });
852
- };
853
- function Ut({ ...e }) {
854
- return /* @__PURE__ */ a.jsx("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...e });
855
- }
856
- function Xt({ className: e, ...t }) {
857
- return /* @__PURE__ */ a.jsx(
858
- "ol",
859
- {
860
- className: l(
861
- "flex flex-wrap items-center gap-1.5 break-words text-muted-foreground text-sm sm:gap-2.5",
862
- e
863
- ),
864
- "data-slot": "breadcrumb-list",
865
- ...t
866
- }
867
- );
868
- }
869
- function Yt({ className: e, ...t }) {
870
- return /* @__PURE__ */ a.jsx("li", { className: l("inline-flex items-center gap-1.5", e), "data-slot": "breadcrumb-item", ...t });
871
- }
872
- function Re({
873
- asChild: e,
874
- className: t,
875
- ...o
876
- }) {
877
- const n = e ? ae : "a";
878
- return /* @__PURE__ */ a.jsx(n, { className: l("transition-colors hover:text-foreground", t), "data-slot": "breadcrumb-link", ...o });
879
- }
880
- function Jt({ className: e, ...t }) {
881
- return /* @__PURE__ */ a.jsx(
882
- "span",
883
- {
884
- "aria-current": "page",
885
- "aria-disabled": "true",
886
- className: l("font-normal text-foreground", e),
887
- "data-slot": "breadcrumb-page",
888
- ...t
889
- }
890
- );
891
- }
892
- function Qt({ children: e, className: t, ...o }) {
893
- return /* @__PURE__ */ a.jsx(
894
- "li",
895
- {
896
- "aria-hidden": "true",
897
- className: l("[&>svg]:size-3.5", t),
898
- "data-slot": "breadcrumb-separator",
899
- role: "presentation",
900
- ...o,
901
- children: e ?? /* @__PURE__ */ a.jsx(re, {})
902
- }
903
- );
904
- }
905
- const Wt = ({ to: e, label: t }) => /* @__PURE__ */ a.jsx(Re, { className: "font-display", href: e, children: t }), Zt = ({ label: e }) => /* @__PURE__ */ a.jsx(Jt, { className: "font-display", children: e }), Aa = ({ breadcrumbs: e, linkComponent: t, pageComponent: o, className: n }) => {
906
- const s = t || Wt, i = o || Zt;
907
- return /* @__PURE__ */ a.jsx(Ut, { className: l("my-4", n), children: /* @__PURE__ */ a.jsx(Xt, { children: e.map(({ to: r, label: c }, u) => /* @__PURE__ */ a.jsxs(De, { children: [
908
- /* @__PURE__ */ a.jsxs(Yt, { children: [
909
- r && /* @__PURE__ */ a.jsx(Re, { asChild: !0, className: "font-display", children: /* @__PURE__ */ a.jsx(s, { label: c, to: r }) }),
910
- !r && /* @__PURE__ */ a.jsx(i, { label: c })
911
- ] }),
912
- u < e.length - 1 && /* @__PURE__ */ a.jsx(Qt, {})
913
- ] }, c)) }) });
914
- };
915
- function _a({ className: e, ...t }) {
916
- return /* @__PURE__ */ a.jsx(
917
- "div",
918
- {
919
- className: l("flex flex-col gap-6 rounded-xl border bg-card py-6 text-card-foreground shadow-sm", e),
920
- "data-slot": "card",
921
- ...t
922
- }
923
- );
924
- }
925
- function Ia({ className: e, ...t }) {
926
- return /* @__PURE__ */ a.jsx(
927
- "div",
928
- {
929
- className: l(
930
- "@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
931
- e
932
- ),
933
- "data-slot": "card-header",
934
- ...t
935
- }
936
- );
937
- }
938
- function Ta({ className: e, ...t }) {
939
- return /* @__PURE__ */ a.jsx("div", { className: l("font-semibold leading-none", e), "data-slot": "card-title", ...t });
940
- }
941
- function Ra({ className: e, ...t }) {
942
- return /* @__PURE__ */ a.jsx("div", { className: l("text-muted-foreground text-sm", e), "data-slot": "card-description", ...t });
943
- }
944
- function Pa({ className: e, ...t }) {
945
- return /* @__PURE__ */ a.jsx(
946
- "div",
947
- {
948
- className: l("col-start-2 row-span-2 row-start-1 self-start justify-self-end", e),
949
- "data-slot": "card-action",
950
- ...t
951
- }
952
- );
953
- }
954
- function Ma({ className: e, ...t }) {
955
- return /* @__PURE__ */ a.jsx("div", { className: l("px-6", e), "data-slot": "card-content", ...t });
956
- }
957
- function Sa({ className: e, ...t }) {
958
- return /* @__PURE__ */ a.jsx("div", { className: l("flex items-center px-6 [.border-t]:pt-6", e), "data-slot": "card-footer", ...t });
959
- }
960
- function ea({ ...e }) {
961
- return /* @__PURE__ */ a.jsx(Ge, { "data-slot": "dialog", ...e });
962
- }
963
- function ta({ ...e }) {
964
- return /* @__PURE__ */ a.jsx(Ve, { "data-slot": "dialog-trigger", ...e });
965
- }
966
- function aa({ ...e }) {
967
- return /* @__PURE__ */ a.jsx(Ue, { "data-slot": "dialog-portal", ...e });
968
- }
969
- function ra({ className: e, ...t }) {
970
- return /* @__PURE__ */ a.jsx(
971
- Xe,
972
- {
973
- className: l(
974
- "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=open]:animate-in",
975
- e
976
- ),
977
- "data-slot": "dialog-overlay",
978
- ...t
979
- }
980
- );
981
- }
982
- function oa({ className: e, children: t, ...o }) {
983
- return /* @__PURE__ */ a.jsxs(aa, { "data-slot": "dialog-portal", children: [
984
- /* @__PURE__ */ a.jsx(ra, {}),
985
- /* @__PURE__ */ a.jsxs(
986
- Fe,
987
- {
988
- className: l(
989
- "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 bg-background p-6 shadow-lg duration-200 data-[state=closed]:animate-out data-[state=open]:animate-in sm:max-w-lg",
990
- e
991
- ),
992
- "data-slot": "dialog-content",
993
- ...o,
994
- children: [
995
- t,
996
- /* @__PURE__ */ a.jsxs(He, { className: "absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", children: [
997
- /* @__PURE__ */ a.jsx(Qe, {}),
998
- /* @__PURE__ */ a.jsx("span", { className: "sr-only", children: "Close" })
999
- ] })
1000
- ]
1001
- }
1002
- )
1003
- ] });
1004
- }
1005
- function na({ className: e, ...t }) {
1006
- return /* @__PURE__ */ a.jsx(
1007
- "div",
1008
- {
1009
- className: l("flex flex-col gap-2 text-center sm:text-left", e),
1010
- "data-slot": "dialog-header",
1011
- ...t
1012
- }
1013
- );
1014
- }
1015
- function sa({ className: e, ...t }) {
1016
- return /* @__PURE__ */ a.jsx(
1017
- Ke,
1018
- {
1019
- className: l("font-semibold text-lg leading-none", e),
1020
- "data-slot": "dialog-title",
1021
- ...t
1022
- }
1023
- );
1024
- }
1025
- function ia({ className: e, ...t }) {
1026
- return /* @__PURE__ */ a.jsx(
1027
- qe,
1028
- {
1029
- className: l("text-muted-foreground text-sm", e),
1030
- "data-slot": "dialog-description",
1031
- ...t
1032
- }
1033
- );
1034
- }
1035
- const Ea = ({ trigger: e, children: t, title: o, description: n, open: s, onOpenChange: i }) => {
1036
- const r = s !== void 0, [c, u] = ze(r ? s : !1);
1037
- if (Oe(() => {
1038
- r && u(s);
1039
- }, [s, r]), !e && !r)
1040
- throw new Error("Trigger must be provided if modal state is not controlled through open, onOpenChange props.");
1041
- const m = (d) => {
1042
- u(d), i?.(d);
1043
- };
1044
- return /* @__PURE__ */ a.jsxs(ea, { onOpenChange: m, open: c, children: [
1045
- /* @__PURE__ */ a.jsx(ta, { asChild: !0, children: e }),
1046
- /* @__PURE__ */ a.jsxs(oa, { children: [
1047
- (o || n) && /* @__PURE__ */ a.jsxs(na, { children: [
1048
- o && /* @__PURE__ */ a.jsx(sa, { children: o }),
1049
- n && /* @__PURE__ */ a.jsx(ia, { children: n })
1050
- ] }),
1051
- t
1052
- ] })
1053
- ] });
1054
- };
1055
- function la({ className: e, ...t }) {
1056
- return /* @__PURE__ */ a.jsx(
1057
- "nav",
1058
- {
1059
- "aria-label": "pagination",
1060
- className: l("mx-auto flex w-full justify-center", e),
1061
- "data-slot": "pagination",
1062
- ...t
1063
- }
1064
- );
1065
- }
1066
- function ca({ className: e, ...t }) {
1067
- return /* @__PURE__ */ a.jsx("ul", { className: l("flex flex-row items-center gap-1", e), "data-slot": "pagination-content", ...t });
1068
- }
1069
- function A({ ...e }) {
1070
- return /* @__PURE__ */ a.jsx("li", { "data-slot": "pagination-item", ...e });
1071
- }
1072
- function I({ className: e, isActive: t, size: o = "icon", ...n }) {
1073
- return /* @__PURE__ */ a.jsx(
1074
- "a",
1075
- {
1076
- "aria-current": t ? "page" : void 0,
1077
- className: l(
1078
- Ye({
1079
- variant: t ? "outline" : "ghost",
1080
- size: o
1081
- }),
1082
- e
1083
- ),
1084
- "data-active": t,
1085
- "data-slot": "pagination-link",
1086
- ...n
1087
- }
1088
- );
1089
- }
1090
- function da({ className: e, ...t }) {
1091
- return /* @__PURE__ */ a.jsxs(
1092
- I,
1093
- {
1094
- "aria-label": "Go to previous page",
1095
- className: l("gap-1 px-2.5 sm:pl-2.5", e),
1096
- size: "default",
1097
- ...t,
1098
- children: [
1099
- /* @__PURE__ */ a.jsx(Je, {}),
1100
- /* @__PURE__ */ a.jsx("span", { className: "hidden sm:block", children: "Previous" })
1101
- ]
1102
- }
1103
- );
1104
- }
1105
- function ua({ className: e, ...t }) {
1106
- return /* @__PURE__ */ a.jsxs(
1107
- I,
1108
- {
1109
- "aria-label": "Go to next page",
1110
- className: l("gap-1 px-2.5 sm:pr-2.5", e),
1111
- size: "default",
1112
- ...t,
1113
- children: [
1114
- /* @__PURE__ */ a.jsx("span", { className: "hidden sm:block", children: "Next" }),
1115
- /* @__PURE__ */ a.jsx(re, {})
1116
- ]
1117
- }
1118
- );
1119
- }
1120
- function Q({ className: e, ...t }) {
1121
- return /* @__PURE__ */ a.jsxs(
1122
- "span",
1123
- {
1124
- "aria-hidden": !0,
1125
- className: l("flex size-9 items-center justify-center", e),
1126
- "data-slot": "pagination-ellipsis",
1127
- ...t,
1128
- children: [
1129
- /* @__PURE__ */ a.jsx(st, { className: "size-4" }),
1130
- /* @__PURE__ */ a.jsx("span", { className: "sr-only", children: "More pages" })
1131
- ]
1132
- }
1133
- );
1134
- }
1135
- const $a = ({ pageCount: e, currentPage: t, onChange: o }) => {
1136
- const n = Math.max(1, e), s = Math.max(1, Math.min(t, n)), i = Le(() => n === 1 ? [1] : s <= 3 ? Array.from({ length: Math.min(3, n) }, (r, c) => c + 1) : s >= n - 2 ? Array.from(
1137
- { length: Math.min(3, n) },
1138
- (r, c) => n - Math.min(3, n) + c + 1
1139
- ) : [s - 1, s, s + 1], [s, n]);
1140
- return /* @__PURE__ */ a.jsx(la, { children: /* @__PURE__ */ a.jsxs(ca, { children: [
1141
- /* @__PURE__ */ a.jsx(A, { children: /* @__PURE__ */ a.jsxs(
1142
- I,
1143
- {
1144
- "aria-disabled": t === 1,
1145
- "aria-label": "Go to first page",
1146
- className: "h-auto w-auto cursor-pointer gap-1 px-2.5 py-2 has-[>svg]:px-3 sm:pl-2.5",
1147
- onClick: () => o(1),
1148
- style: { opacity: t === 1 ? 0.5 : 1, pointerEvents: t === 1 ? "none" : "auto" },
1149
- tabIndex: t === 1 ? -1 : void 0,
1150
- children: [
1151
- /* @__PURE__ */ a.jsx(et, {}),
1152
- /* @__PURE__ */ a.jsx("span", { className: "hidden sm:block", children: "First" })
1153
- ]
1154
- }
1155
- ) }),
1156
- /* @__PURE__ */ a.jsx(A, { children: /* @__PURE__ */ a.jsx(
1157
- da,
1158
- {
1159
- "aria-disabled": t === 1,
1160
- "aria-label": "Go to previous page",
1161
- className: "cursor-pointer",
1162
- onClick: () => o(Math.max(t - 1, 1)),
1163
- style: {
1164
- opacity: t === 1 ? 0.5 : 1,
1165
- pointerEvents: t === 1 ? "none" : "auto"
1166
- },
1167
- tabIndex: t === 1 ? -1 : void 0
1168
- }
1169
- ) }),
1170
- i[0] > 1 && /* @__PURE__ */ a.jsx(Q, { "aria-label": "More pages" }),
1171
- i.map((r) => /* @__PURE__ */ a.jsx(A, { children: /* @__PURE__ */ a.jsx(
1172
- I,
1173
- {
1174
- "aria-current": t === r ? "page" : void 0,
1175
- "aria-label": `Go to page ${r}`,
1176
- className: "cursor-pointer",
1177
- isActive: t === r,
1178
- onClick: () => o(r),
1179
- children: r
1180
- }
1181
- ) }, r)),
1182
- i[i.length - 1] < e && /* @__PURE__ */ a.jsx(Q, { "aria-label": "More pages" }),
1183
- /* @__PURE__ */ a.jsx(A, { children: /* @__PURE__ */ a.jsx(
1184
- ua,
1185
- {
1186
- "aria-disabled": t === e,
1187
- "aria-label": "Go to next page",
1188
- className: "cursor-pointer",
1189
- onClick: () => o(Math.min(t + 1, e)),
1190
- style: {
1191
- opacity: t === e ? 0.5 : 1,
1192
- pointerEvents: t === e ? "none" : "auto"
1193
- },
1194
- tabIndex: t === e ? -1 : void 0
1195
- }
1196
- ) }),
1197
- /* @__PURE__ */ a.jsx(A, { children: /* @__PURE__ */ a.jsxs(
1198
- I,
1199
- {
1200
- "aria-disabled": t === e,
1201
- "aria-label": "Go to last page",
1202
- className: "h-auto w-auto cursor-pointer gap-1 px-2.5 py-2 has-[>svg]:px-3 sm:pl-2.5",
1203
- onClick: () => o(e),
1204
- style: {
1205
- opacity: t === e ? 0.5 : 1,
1206
- pointerEvents: t === e ? "none" : "auto"
1207
- },
1208
- tabIndex: t === e ? -1 : void 0,
1209
- children: [
1210
- "Last",
1211
- /* @__PURE__ */ a.jsx(at, {})
1212
- ]
1213
- }
1214
- ) })
1215
- ] }) });
1216
- }, Da = ({ className: e, orientation: t = "horizontal", gap: o, ...n }) => {
1217
- const s = t === "vertical", r = o ?? (s ? "2" : "4");
1218
- return /* @__PURE__ */ a.jsx(
1219
- We,
1220
- {
1221
- className: l(
1222
- !s && {
1223
- "my-0": r === "0",
1224
- "my-1": r === "1",
1225
- "my-2": r === "2",
1226
- "my-3": r === "3",
1227
- "my-4": r === "4",
1228
- "my-5": r === "5",
1229
- "my-6": r === "6",
1230
- "my-7": r === "7",
1231
- "my-8": r === "8",
1232
- "my-9": r === "9",
1233
- "my-10": r === "10",
1234
- "my-11": r === "11",
1235
- "my-12": r === "12",
1236
- "my-13": r === "13",
1237
- "my-14": r === "14",
1238
- "my-15": r === "15",
1239
- "my-16": r === "16"
1240
- },
1241
- s && {
1242
- "mx-0": r === "0",
1243
- "mx-1": r === "1",
1244
- "mx-2": r === "2",
1245
- "mx-3": r === "3",
1246
- "mx-4": r === "4",
1247
- "mx-5": r === "5",
1248
- "mx-6": r === "6",
1249
- "mx-7": r === "7",
1250
- "mx-8": r === "8",
1251
- "mx-9": r === "9",
1252
- "mx-10": r === "10",
1253
- "mx-11": r === "11",
1254
- "mx-12": r === "12",
1255
- "mx-13": r === "13",
1256
- "mx-14": r === "14",
1257
- "mx-15": r === "15",
1258
- "mx-16": r === "16"
1259
- },
1260
- e
1261
- ),
1262
- orientation: t,
1263
- role: "separator",
1264
- ...n
1265
- }
1266
- );
1267
- };
1268
- function za({ className: e, ...t }) {
1269
- return /* @__PURE__ */ a.jsx("div", { className: l("animate-pulse rounded-md bg-accent", e), "data-slot": "skeleton", ...t });
1270
- }
1271
- function Oa({ className: e, ...t }) {
1272
- return /* @__PURE__ */ a.jsx($t, { className: l("flex flex-col gap-2", e), "data-slot": "tabs", ...t });
1273
- }
1274
- function La({ className: e, ...t }) {
1275
- return /* @__PURE__ */ a.jsx(
1276
- Dt,
1277
- {
1278
- className: l(
1279
- "inline-flex h-9 w-fit items-center justify-center rounded-lg bg-muted p-[3px] text-muted-foreground",
1280
- e
1281
- ),
1282
- "data-slot": "tabs-list",
1283
- ...t
1284
- }
1285
- );
1286
- }
1287
- function Ba({ className: e, ...t }) {
1288
- return /* @__PURE__ */ a.jsx(
1289
- zt,
1290
- {
1291
- className: l(
1292
- "inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 whitespace-nowrap rounded-md border border-transparent px-2 py-1 font-medium text-foreground text-sm transition-[color,box-shadow] focus-visible:border-ring focus-visible:outline-1 focus-visible:outline-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:shadow-sm dark:text-muted-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
1293
- e
1294
- ),
1295
- "data-slot": "tabs-trigger",
1296
- ...t
1297
- }
1298
- );
1299
- }
1300
- function Ga({ className: e, ...t }) {
1301
- return /* @__PURE__ */ a.jsx(Ot, { className: l("flex-1 outline-none", e), "data-slot": "tabs-content", ...t });
1302
- }
1303
- export {
1304
- ya as Accordion,
1305
- Ca as AccordionContent,
1306
- ja as AccordionItem,
1307
- Na as AccordionTrigger,
1308
- wa as Alert,
1309
- ka as Badge,
1310
- Ir as Box,
1311
- Aa as Breadcrumbs,
1312
- nr as Button,
1313
- sr as ButtonGroup,
1314
- _a as Card,
1315
- Pa as CardAction,
1316
- Ma as CardContent,
1317
- Ra as CardDescription,
1318
- Sa as CardFooter,
1319
- Ia as CardHeader,
1320
- Ta as CardTitle,
1321
- Ha as Checkbox,
1322
- Dr as Code,
1323
- Tr as Container,
1324
- Ka as DateInput,
1325
- qa as DatePicker,
1326
- Ua as DeleteButton,
1327
- Nr as ErrorFallback,
1328
- Cr as ErrorOverlay,
1329
- Rr as Flex,
1330
- Pr as Footer,
1331
- Mr as Grid,
1332
- Sr as Header,
1333
- Or as Heading,
1334
- Xa as InputError,
1335
- Ya as InputGroup,
1336
- wr as Interstitial,
1337
- Ja as Label,
1338
- Er as Layout,
1339
- lr as MenuItemText,
1340
- Ea as Modal,
1341
- Qa as NumberInput,
1342
- kr as PageLoader,
1343
- Ar as PageNotFound,
1344
- $a as Pagination,
1345
- Gr as Paragraph,
1346
- cr as Popover,
1347
- Wa as RadioSelect,
1348
- Za as SelectInput,
1349
- er as SelectPicker,
1350
- Da as Separator,
1351
- dr as Sidebar,
1352
- ur as SidebarLayout,
1353
- pr as SidebarTrigger,
1354
- za as Skeleton,
1355
- tr as SubmitButton,
1356
- mr as Table,
1357
- gr as TableBody,
1358
- br as TableCaption,
1359
- xr as TableCell,
1360
- fr as TableHead,
1361
- vr as TableHeader,
1362
- hr as TableRow,
1363
- Oa as Tabs,
1364
- Ga as TabsContent,
1365
- La as TabsList,
1366
- Ba as TabsTrigger,
1367
- Lr as Text,
1368
- ar as TextInput,
1369
- rr as Textarea,
1370
- yr as Tooltip
1371
- };