@sharpnr/ui 1.0.14 → 1.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/components/ui/404Page.d.ts +1 -0
  2. package/dist/components/ui/GlobalLoader.d.ts +5 -0
  3. package/dist/components/ui/SharpnrSidebarFooter.d.ts +1 -0
  4. package/dist/components/ui/alert-dialog.d.ts +18 -0
  5. package/dist/components/ui/alert.d.ts +10 -0
  6. package/dist/components/ui/avatar.d.ts +11 -0
  7. package/dist/components/ui/badge.d.ts +9 -0
  8. package/dist/components/ui/breadcrumb.d.ts +11 -0
  9. package/dist/components/ui/button-group.d.ts +11 -0
  10. package/dist/components/ui/button-group.stories.d.ts +9 -0
  11. package/dist/components/ui/button.d.ts +10 -0
  12. package/dist/components/ui/button.stories.d.ts +9 -0
  13. package/dist/components/ui/card.d.ts +11 -0
  14. package/dist/components/ui/card.stories.d.ts +9 -0
  15. package/dist/components/ui/carousel.d.ts +28 -0
  16. package/dist/components/ui/checkbox.d.ts +4 -0
  17. package/dist/components/ui/command.d.ts +18 -0
  18. package/dist/components/ui/dialog.d.ts +17 -0
  19. package/dist/components/ui/dropdown-menu.d.ts +29 -0
  20. package/dist/components/ui/empty.d.ts +11 -0
  21. package/dist/components/ui/global-err.d.ts +8 -0
  22. package/dist/components/ui/hover-card.d.ts +6 -0
  23. package/dist/components/ui/input-group.d.ts +16 -0
  24. package/dist/components/ui/input.d.ts +3 -0
  25. package/dist/components/ui/kbd.d.ts +3 -0
  26. package/dist/components/ui/label.d.ts +4 -0
  27. package/dist/components/ui/navigation-menu.d.ts +14 -0
  28. package/dist/components/ui/pagination.d.ts +17 -0
  29. package/dist/components/ui/popover.d.ts +10 -0
  30. package/dist/components/ui/scroll-area.d.ts +5 -0
  31. package/dist/components/ui/select.d.ts +15 -0
  32. package/dist/components/ui/separator.d.ts +4 -0
  33. package/dist/components/ui/sheet.d.ts +13 -0
  34. package/dist/components/ui/sidebar.d.ts +69 -0
  35. package/dist/components/ui/sidebar.stories.d.ts +8 -0
  36. package/dist/components/ui/skeleton.d.ts +2 -0
  37. package/dist/components/ui/sonner.d.ts +3 -0
  38. package/dist/components/ui/spinner.d.ts +2 -0
  39. package/dist/components/ui/switch.d.ts +6 -0
  40. package/dist/components/ui/table.d.ts +10 -0
  41. package/dist/components/ui/tabs.d.ts +11 -0
  42. package/dist/components/ui/tabs.stories.d.ts +9 -0
  43. package/dist/components/ui/textarea.d.ts +3 -0
  44. package/dist/components/ui/tooltip.d.ts +7 -0
  45. package/dist/hooks/ThemeToggle.d.ts +1 -0
  46. package/dist/hooks/theme-provider.d.ts +13 -0
  47. package/dist/hooks/use-mobile.d.ts +1 -0
  48. package/dist/hooks/useDialog.d.ts +10 -0
  49. package/dist/hooks/useFormModal.d.ts +10 -0
  50. package/dist/hooks/useSheets.d.ts +11 -0
  51. package/dist/index.d.ts +46 -0
  52. package/dist/index.es.js +4054 -0
  53. package/dist/lib/utils.d.ts +2 -0
  54. package/dist/stories/Button.d.ts +14 -0
  55. package/dist/stories/Button.stories.d.ts +23 -0
  56. package/dist/stories/Header.d.ts +11 -0
  57. package/dist/stories/Header.stories.d.ts +18 -0
  58. package/dist/stories/Page.d.ts +2 -0
  59. package/dist/stories/Page.stories.d.ts +12 -0
  60. package/dist/ui.css +3 -0
  61. package/package.json +2 -2
@@ -0,0 +1,4054 @@
1
+ import * as e from "react";
2
+ import { createContext as t, useCallback as n, useContext as r, useEffect as i, useRef as a, useState as o } from "react";
3
+ import { clsx as s } from "clsx";
4
+ import { twMerge as c } from "tailwind-merge";
5
+ import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
6
+ import { Command as f } from "cmdk";
7
+ import * as p from "@radix-ui/react-dialog";
8
+ import { cva as m } from "class-variance-authority";
9
+ import { Slot as h } from "@radix-ui/react-slot";
10
+ import { Check as g, CheckIcon as _, ChevronDownIcon as v, ChevronLeft as y, ChevronLeftIcon as b, ChevronRightIcon as x, ChevronUpIcon as S, CircleCheckIcon as C, Home as w, InfoIcon as T, Loader2Icon as E, Moon as D, MoreHorizontalIcon as O, OctagonXIcon as ee, PanelLeftIcon as k, SearchIcon as te, Sun as A, TriangleAlertIcon as j, X as ne, XIcon as M } from "lucide-react";
11
+ import * as re from "@radix-ui/react-separator";
12
+ import * as N from "@radix-ui/react-tooltip";
13
+ import * as P from "@radix-ui/react-dropdown-menu";
14
+ import * as F from "@radix-ui/react-select";
15
+ import * as I from "@radix-ui/react-alert-dialog";
16
+ import * as L from "@radix-ui/react-hover-card";
17
+ import * as R from "@radix-ui/react-popover";
18
+ import { Checkbox as z, Label as B, Tabs as V } from "radix-ui";
19
+ import * as H from "@radix-ui/react-switch";
20
+ import { useTheme as ie } from "next-themes";
21
+ import { Toaster as ae, toast as oe } from "sonner";
22
+ import * as U from "@radix-ui/react-scroll-area";
23
+ import * as W from "@radix-ui/react-avatar";
24
+ import se, { gsap as G } from "gsap";
25
+ import { AnimatePresence as K, motion as q } from "framer-motion";
26
+ import { VisuallyHidden as ce } from "@radix-ui/react-visually-hidden";
27
+ //#region src/lib/utils.ts
28
+ function J(...e) {
29
+ return c(s(e));
30
+ }
31
+ //#endregion
32
+ //#region src/components/ui/card.tsx
33
+ function le({ className: e, size: t = "default", ...n }) {
34
+ return /* @__PURE__ */ u("div", {
35
+ "data-slot": "card",
36
+ "data-size": t,
37
+ className: J("group/card flex flex-col gap-6 overflow-hidden rounded-xl bg-card py-6 text-sm text-card-foreground shadow-xs ring-1 ring-foreground/10 has-[>img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl", e),
38
+ ...n
39
+ });
40
+ }
41
+ function ue({ className: e, ...t }) {
42
+ return /* @__PURE__ */ u("div", {
43
+ "data-slot": "card-header",
44
+ className: J("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-6 group-data-[size=sm]/card:px-4 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-6 group-data-[size=sm]/card:[.border-b]:pb-4", e),
45
+ ...t
46
+ });
47
+ }
48
+ function de({ className: e, ...t }) {
49
+ return /* @__PURE__ */ u("div", {
50
+ "data-slot": "card-title",
51
+ className: J("font-heading text-base leading-normal font-medium group-data-[size=sm]/card:text-sm", e),
52
+ ...t
53
+ });
54
+ }
55
+ function fe({ className: e, ...t }) {
56
+ return /* @__PURE__ */ u("div", {
57
+ "data-slot": "card-description",
58
+ className: J("text-sm text-muted-foreground", e),
59
+ ...t
60
+ });
61
+ }
62
+ function pe({ className: e, ...t }) {
63
+ return /* @__PURE__ */ u("div", {
64
+ "data-slot": "card-action",
65
+ className: J("col-start-2 row-span-2 row-start-1 self-start justify-self-end", e),
66
+ ...t
67
+ });
68
+ }
69
+ function me({ className: e, ...t }) {
70
+ return /* @__PURE__ */ u("div", {
71
+ "data-slot": "card-content",
72
+ className: J("px-6 group-data-[size=sm]/card:px-4", e),
73
+ ...t
74
+ });
75
+ }
76
+ function he({ className: e, ...t }) {
77
+ return /* @__PURE__ */ u("div", {
78
+ "data-slot": "card-footer",
79
+ className: J("flex items-center rounded-b-xl px-6 group-data-[size=sm]/card:px-4 [.border-t]:pt-6 group-data-[size=sm]/card:[.border-t]:pt-4", e),
80
+ ...t
81
+ });
82
+ }
83
+ //#endregion
84
+ //#region src/components/ui/button.tsx
85
+ var ge = m("group/button inline-flex shrink-0 items-center justify-center rounded-md border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
86
+ variants: {
87
+ variant: {
88
+ default: "bg-primary text-primary-foreground hover:bg-primary/80",
89
+ outline: "border-border bg-background shadow-xs hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
90
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
91
+ ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",
92
+ destructive: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",
93
+ link: "text-primary underline-offset-4 hover:underline"
94
+ },
95
+ size: {
96
+ default: "h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
97
+ xs: "h-6 gap-1 rounded-[min(var(--radius-md),8px)] px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",
98
+ sm: "h-8 gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5",
99
+ lg: "h-10 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
100
+ icon: "size-9",
101
+ "icon-xs": "size-6 rounded-[min(var(--radius-md),8px)] in-data-[slot=button-group]:rounded-md [&_svg:not([class*='size-'])]:size-3",
102
+ "icon-sm": "size-8 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-md",
103
+ "icon-lg": "size-10"
104
+ }
105
+ },
106
+ defaultVariants: {
107
+ variant: "default",
108
+ size: "default"
109
+ }
110
+ });
111
+ function Y({ className: e, variant: t = "default", size: n = "default", asChild: r = !1, ...i }) {
112
+ return /* @__PURE__ */ u(r ? h : "button", {
113
+ "data-slot": "button",
114
+ "data-variant": t,
115
+ "data-size": n,
116
+ className: J(ge({
117
+ variant: t,
118
+ size: n,
119
+ className: e
120
+ })),
121
+ ...i
122
+ });
123
+ }
124
+ //#endregion
125
+ //#region src/components/ui/dialog.tsx
126
+ function _e({ ...e }) {
127
+ return /* @__PURE__ */ u(p.Root, {
128
+ "data-slot": "dialog",
129
+ ...e
130
+ });
131
+ }
132
+ function ve({ ...e }) {
133
+ return /* @__PURE__ */ u(p.Trigger, {
134
+ "data-slot": "dialog-trigger",
135
+ ...e
136
+ });
137
+ }
138
+ function ye({ ...e }) {
139
+ return /* @__PURE__ */ u(p.Portal, {
140
+ "data-slot": "dialog-portal",
141
+ ...e
142
+ });
143
+ }
144
+ function be({ ...e }) {
145
+ return /* @__PURE__ */ u(p.Close, {
146
+ "data-slot": "dialog-close",
147
+ ...e
148
+ });
149
+ }
150
+ function xe({ className: e, ...t }) {
151
+ return /* @__PURE__ */ u(p.Overlay, {
152
+ "data-slot": "dialog-overlay",
153
+ className: J("fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0", e),
154
+ ...t
155
+ });
156
+ }
157
+ function Se({ className: e, children: t, showCloseButton: n = !0, ...r }) {
158
+ return /* @__PURE__ */ d(ye, { children: [/* @__PURE__ */ u(xe, {}), /* @__PURE__ */ d(p.Content, {
159
+ "data-slot": "dialog-content",
160
+ className: J("fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-6 rounded-xl bg-popover p-6 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-md data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", e),
161
+ ...r,
162
+ children: [t, n && /* @__PURE__ */ u(p.Close, {
163
+ "data-slot": "dialog-close",
164
+ asChild: !0,
165
+ children: /* @__PURE__ */ d(Y, {
166
+ variant: "ghost",
167
+ className: "absolute top-4 right-4",
168
+ size: "icon-sm",
169
+ children: [/* @__PURE__ */ u(M, {}), /* @__PURE__ */ u("span", {
170
+ className: "sr-only",
171
+ children: "Close"
172
+ })]
173
+ })
174
+ })]
175
+ })] });
176
+ }
177
+ function Ce({ className: e, ...t }) {
178
+ return /* @__PURE__ */ u("div", {
179
+ "data-slot": "dialog-header",
180
+ className: J("flex flex-col gap-2", e),
181
+ ...t
182
+ });
183
+ }
184
+ function we({ className: e, showCloseButton: t = !1, children: n, ...r }) {
185
+ return /* @__PURE__ */ d("div", {
186
+ "data-slot": "dialog-footer",
187
+ className: J("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", e),
188
+ ...r,
189
+ children: [n, t && /* @__PURE__ */ u(p.Close, {
190
+ asChild: !0,
191
+ children: /* @__PURE__ */ u(Y, {
192
+ variant: "outline",
193
+ children: "Close"
194
+ })
195
+ })]
196
+ });
197
+ }
198
+ function Te({ className: e, ...t }) {
199
+ return /* @__PURE__ */ u(p.Title, {
200
+ "data-slot": "dialog-title",
201
+ className: J("font-heading leading-none font-medium", e),
202
+ ...t
203
+ });
204
+ }
205
+ function Ee({ className: e, ...t }) {
206
+ return /* @__PURE__ */ u(p.Description, {
207
+ "data-slot": "dialog-description",
208
+ className: J("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", e),
209
+ ...t
210
+ });
211
+ }
212
+ //#endregion
213
+ //#region src/components/ui/input.tsx
214
+ function De({ className: e, type: t, ...n }) {
215
+ return /* @__PURE__ */ u("input", {
216
+ type: t,
217
+ "data-slot": "input",
218
+ className: J("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-2.5 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40", e),
219
+ ...n
220
+ });
221
+ }
222
+ //#endregion
223
+ //#region src/components/ui/textarea.tsx
224
+ function Oe({ className: e, ...t }) {
225
+ return /* @__PURE__ */ u("textarea", {
226
+ "data-slot": "textarea",
227
+ className: J("flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-2.5 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40", e),
228
+ ...t
229
+ });
230
+ }
231
+ //#endregion
232
+ //#region src/components/ui/input-group.tsx
233
+ function ke({ className: e, ...t }) {
234
+ return /* @__PURE__ */ u("div", {
235
+ "data-slot": "input-group",
236
+ role: "group",
237
+ className: J("group/input-group relative flex h-9 w-full min-w-0 items-center rounded-md border border-input shadow-xs transition-[color,box-shadow] outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5", e),
238
+ ...t
239
+ });
240
+ }
241
+ var Ae = m("flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4", {
242
+ variants: { align: {
243
+ "inline-start": "order-first pl-2 has-[>button]:-ml-1 has-[>kbd]:ml-[-0.15rem]",
244
+ "inline-end": "order-last pr-2 has-[>button]:-mr-1 has-[>kbd]:mr-[-0.15rem]",
245
+ "block-start": "order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2",
246
+ "block-end": "order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2"
247
+ } },
248
+ defaultVariants: { align: "inline-start" }
249
+ });
250
+ function je({ className: e, align: t = "inline-start", ...n }) {
251
+ return /* @__PURE__ */ u("div", {
252
+ role: "group",
253
+ "data-slot": "input-group-addon",
254
+ "data-align": t,
255
+ className: J(Ae({ align: t }), e),
256
+ onClick: (e) => {
257
+ e.target.closest("button") || e.currentTarget.parentElement?.querySelector("input")?.focus();
258
+ },
259
+ ...n
260
+ });
261
+ }
262
+ var Me = m("flex items-center gap-2 text-sm shadow-none", {
263
+ variants: { size: {
264
+ xs: "h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5",
265
+ sm: "",
266
+ "icon-xs": "size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0",
267
+ "icon-sm": "size-8 p-0 has-[>svg]:p-0"
268
+ } },
269
+ defaultVariants: { size: "xs" }
270
+ });
271
+ function Ne({ className: e, type: t = "button", variant: n = "ghost", size: r = "xs", ...i }) {
272
+ return /* @__PURE__ */ u(Y, {
273
+ type: t,
274
+ "data-size": r,
275
+ variant: n,
276
+ className: J(Me({ size: r }), e),
277
+ ...i
278
+ });
279
+ }
280
+ function Pe({ className: e, ...t }) {
281
+ return /* @__PURE__ */ u("span", {
282
+ className: J("flex items-center gap-2 text-sm text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4", e),
283
+ ...t
284
+ });
285
+ }
286
+ function Fe({ className: e, ...t }) {
287
+ return /* @__PURE__ */ u(De, {
288
+ "data-slot": "input-group-control",
289
+ className: J("flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent", e),
290
+ ...t
291
+ });
292
+ }
293
+ function Ie({ className: e, ...t }) {
294
+ return /* @__PURE__ */ u(Oe, {
295
+ "data-slot": "input-group-control",
296
+ className: J("flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent", e),
297
+ ...t
298
+ });
299
+ }
300
+ //#endregion
301
+ //#region src/components/ui/command.tsx
302
+ function Le({ className: e, ...t }) {
303
+ return /* @__PURE__ */ u(f, {
304
+ "data-slot": "command",
305
+ className: J("flex size-full flex-col overflow-hidden rounded-xl! bg-popover p-1 text-popover-foreground", e),
306
+ ...t
307
+ });
308
+ }
309
+ function Re({ title: e = "Command Palette", description: t = "Search for a command to run...", children: n, className: r, showCloseButton: i = !1, ...a }) {
310
+ return /* @__PURE__ */ d(_e, {
311
+ ...a,
312
+ children: [/* @__PURE__ */ d(Ce, {
313
+ className: "sr-only",
314
+ children: [/* @__PURE__ */ u(Te, { children: e }), /* @__PURE__ */ u(Ee, { children: t })]
315
+ }), /* @__PURE__ */ u(Se, {
316
+ className: J("top-1/3 translate-y-0 overflow-hidden rounded-xl! p-0", r),
317
+ showCloseButton: i,
318
+ children: n
319
+ })]
320
+ });
321
+ }
322
+ function ze({ className: e, ...t }) {
323
+ return /* @__PURE__ */ u("div", {
324
+ "data-slot": "command-input-wrapper",
325
+ className: "p-1 pb-0",
326
+ children: /* @__PURE__ */ d(ke, {
327
+ className: "h-8! rounded-lg! border-input/30 bg-input/30 shadow-none! *:data-[slot=input-group-addon]:pl-2!",
328
+ children: [/* @__PURE__ */ u(f.Input, {
329
+ "data-slot": "command-input",
330
+ className: J("w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50", e),
331
+ ...t
332
+ }), /* @__PURE__ */ u(je, { children: /* @__PURE__ */ u(te, { className: "size-4 shrink-0 opacity-50" }) })]
333
+ })
334
+ });
335
+ }
336
+ function Be({ className: e, ...t }) {
337
+ return /* @__PURE__ */ u(f.List, {
338
+ "data-slot": "command-list",
339
+ className: J("no-scrollbar max-h-72 scroll-py-1 overflow-x-hidden overflow-y-auto outline-none", e),
340
+ ...t
341
+ });
342
+ }
343
+ function Ve({ className: e, ...t }) {
344
+ return /* @__PURE__ */ u(f.Empty, {
345
+ "data-slot": "command-empty",
346
+ className: J("py-6 text-center text-sm", e),
347
+ ...t
348
+ });
349
+ }
350
+ function He({ className: e, ...t }) {
351
+ return /* @__PURE__ */ u(f.Group, {
352
+ "data-slot": "command-group",
353
+ className: J("overflow-hidden p-1 text-foreground **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground", e),
354
+ ...t
355
+ });
356
+ }
357
+ function Ue({ className: e, ...t }) {
358
+ return /* @__PURE__ */ u(f.Separator, {
359
+ "data-slot": "command-separator",
360
+ className: J("-mx-1 h-px w-auto bg-border", e),
361
+ ...t
362
+ });
363
+ }
364
+ function We({ className: e, children: t, ...n }) {
365
+ return /* @__PURE__ */ d(f.Item, {
366
+ "data-slot": "command-item",
367
+ className: J("group/command-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none in-data-[slot=dialog-content]:rounded-lg! data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-selected:bg-muted data-selected:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-selected:**:[svg]:text-foreground", e),
368
+ ...n,
369
+ children: [t, /* @__PURE__ */ u(_, { className: "ml-auto opacity-0 group-has-data-[slot=command-shortcut]/command-item:hidden group-data-[checked=true]/command-item:opacity-100" })]
370
+ });
371
+ }
372
+ function Ge({ className: e, ...t }) {
373
+ return /* @__PURE__ */ u("span", {
374
+ "data-slot": "command-shortcut",
375
+ className: J("ml-auto text-xs tracking-widest text-muted-foreground group-data-selected/command-item:text-foreground", e),
376
+ ...t
377
+ });
378
+ }
379
+ //#endregion
380
+ //#region src/components/ui/separator.tsx
381
+ function Ke({ className: e, orientation: t = "horizontal", decorative: n = !0, ...r }) {
382
+ return /* @__PURE__ */ u(re.Root, {
383
+ "data-slot": "separator",
384
+ decorative: n,
385
+ orientation: t,
386
+ className: J("shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch", e),
387
+ ...r
388
+ });
389
+ }
390
+ //#endregion
391
+ //#region src/components/ui/button-group.tsx
392
+ var qe = m("group/button-group flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1", {
393
+ variants: { orientation: {
394
+ horizontal: "[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-md!",
395
+ vertical: "flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-md!"
396
+ } },
397
+ defaultVariants: { orientation: "horizontal" }
398
+ });
399
+ function Je({ className: e, orientation: t, ...n }) {
400
+ return /* @__PURE__ */ u("div", {
401
+ role: "group",
402
+ "data-slot": "button-group",
403
+ "data-orientation": t,
404
+ className: J(qe({ orientation: t }), e),
405
+ ...n
406
+ });
407
+ }
408
+ function Ye({ className: e, asChild: t = !1, ...n }) {
409
+ return /* @__PURE__ */ u(t ? h : "div", {
410
+ className: J("flex items-center gap-2 rounded-md border bg-muted px-2.5 text-sm font-medium shadow-xs [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4", e),
411
+ ...n
412
+ });
413
+ }
414
+ function Xe({ className: e, orientation: t = "vertical", ...n }) {
415
+ return /* @__PURE__ */ u(Ke, {
416
+ "data-slot": "button-group-separator",
417
+ orientation: t,
418
+ className: J("relative self-stretch bg-input data-horizontal:mx-px data-horizontal:w-auto data-vertical:my-px data-vertical:h-auto", e),
419
+ ...n
420
+ });
421
+ }
422
+ //#endregion
423
+ //#region src/hooks/use-mobile.ts
424
+ var Ze = 768;
425
+ function Qe() {
426
+ let [t, n] = e.useState(void 0);
427
+ return e.useEffect(() => {
428
+ let e = window.matchMedia(`(max-width: ${Ze - 1}px)`), t = () => {
429
+ n(window.innerWidth < Ze);
430
+ };
431
+ return e.addEventListener("change", t), n(window.innerWidth < Ze), () => e.removeEventListener("change", t);
432
+ }, []), !!t;
433
+ }
434
+ //#endregion
435
+ //#region src/components/ui/sheet.tsx
436
+ function $e({ ...e }) {
437
+ return /* @__PURE__ */ u(p.Root, {
438
+ "data-slot": "sheet",
439
+ ...e
440
+ });
441
+ }
442
+ function et({ ...e }) {
443
+ return /* @__PURE__ */ u(p.Trigger, {
444
+ "data-slot": "sheet-trigger",
445
+ ...e
446
+ });
447
+ }
448
+ function tt({ ...e }) {
449
+ return /* @__PURE__ */ u(p.Close, {
450
+ "data-slot": "sheet-close",
451
+ ...e
452
+ });
453
+ }
454
+ function nt({ ...e }) {
455
+ return /* @__PURE__ */ u(p.Portal, {
456
+ "data-slot": "sheet-portal",
457
+ ...e
458
+ });
459
+ }
460
+ function rt({ className: e, ...t }) {
461
+ return /* @__PURE__ */ u(p.Overlay, {
462
+ "data-slot": "sheet-overlay",
463
+ className: J("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", e),
464
+ ...t
465
+ });
466
+ }
467
+ function it({ className: e, children: t, side: n = "right", ...r }) {
468
+ return /* @__PURE__ */ d(nt, { children: [/* @__PURE__ */ u(rt, {}), /* @__PURE__ */ d(p.Content, {
469
+ "data-slot": "sheet-content",
470
+ className: J("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500", n === "right" && "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l", n === "left" && "data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r", n === "top" && "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b", n === "bottom" && "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t", e),
471
+ ...r,
472
+ children: [t, /* @__PURE__ */ d(p.Close, {
473
+ className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary 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",
474
+ children: [/* @__PURE__ */ u(M, { className: "size-4" }), /* @__PURE__ */ u("span", {
475
+ className: "sr-only",
476
+ children: "Close"
477
+ })]
478
+ })]
479
+ })] });
480
+ }
481
+ function at({ className: e, ...t }) {
482
+ return /* @__PURE__ */ u("div", {
483
+ "data-slot": "sheet-header",
484
+ className: J("flex flex-col gap-1.5 p-4", e),
485
+ ...t
486
+ });
487
+ }
488
+ function ot({ className: e, ...t }) {
489
+ return /* @__PURE__ */ u("div", {
490
+ "data-slot": "sheet-footer",
491
+ className: J("mt-auto flex flex-col gap-2 p-4", e),
492
+ ...t
493
+ });
494
+ }
495
+ function st({ className: e, ...t }) {
496
+ return /* @__PURE__ */ u(p.Title, {
497
+ "data-slot": "sheet-title",
498
+ className: J("text-foreground font-semibold", e),
499
+ ...t
500
+ });
501
+ }
502
+ function ct({ className: e, ...t }) {
503
+ return /* @__PURE__ */ u(p.Description, {
504
+ "data-slot": "sheet-description",
505
+ className: J("text-muted-foreground text-sm", e),
506
+ ...t
507
+ });
508
+ }
509
+ //#endregion
510
+ //#region src/components/ui/skeleton.tsx
511
+ function lt({ className: e, ...t }) {
512
+ return /* @__PURE__ */ u("div", {
513
+ "data-slot": "skeleton",
514
+ className: J("animate-pulse rounded-md bg-muted", e),
515
+ ...t
516
+ });
517
+ }
518
+ //#endregion
519
+ //#region src/components/ui/tooltip.tsx
520
+ function ut({ delayDuration: e = 0, ...t }) {
521
+ return /* @__PURE__ */ u(N.Provider, {
522
+ "data-slot": "tooltip-provider",
523
+ delayDuration: e,
524
+ ...t
525
+ });
526
+ }
527
+ function dt({ ...e }) {
528
+ return /* @__PURE__ */ u(N.Root, {
529
+ "data-slot": "tooltip",
530
+ ...e
531
+ });
532
+ }
533
+ function ft({ ...e }) {
534
+ return /* @__PURE__ */ u(N.Trigger, {
535
+ "data-slot": "tooltip-trigger",
536
+ ...e
537
+ });
538
+ }
539
+ function pt({ className: e, sideOffset: t = 0, children: n, ...r }) {
540
+ return /* @__PURE__ */ u(N.Portal, { children: /* @__PURE__ */ d(N.Content, {
541
+ "data-slot": "tooltip-content",
542
+ sideOffset: t,
543
+ className: J("z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pr-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", e),
544
+ ...r,
545
+ children: [n, /* @__PURE__ */ u(N.Arrow, { className: "z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground" })]
546
+ }) });
547
+ }
548
+ //#endregion
549
+ //#region src/components/ui/sidebar.tsx
550
+ var mt = "sidebar_state", ht = 3600 * 24 * 7, gt = "16rem", _t = "18rem", vt = "3rem", yt = "b", bt = e.createContext(null);
551
+ function X() {
552
+ let t = e.useContext(bt);
553
+ if (!t) throw Error("useSidebar must be used within a SidebarProvider.");
554
+ return t;
555
+ }
556
+ function xt({ defaultOpen: t = !0, open: n, onOpenChange: r, className: i, style: a, children: o, ...s }) {
557
+ let c = Qe(), [l, d] = e.useState(!1), [f, p] = e.useState(t), m = n ?? f, h = e.useCallback((e) => {
558
+ let t = typeof e == "function" ? e(m) : e;
559
+ r ? r(t) : p(t), document.cookie = `${mt}=${t}; path=/; max-age=${ht}`;
560
+ }, [r, m]), g = e.useCallback(() => c ? d((e) => !e) : h((e) => !e), [
561
+ c,
562
+ h,
563
+ d
564
+ ]);
565
+ e.useEffect(() => {
566
+ let e = (e) => {
567
+ e.key === yt && (e.metaKey || e.ctrlKey) && (e.preventDefault(), g());
568
+ };
569
+ return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
570
+ }, [g]);
571
+ let _ = m ? "expanded" : "collapsed", v = e.useMemo(() => ({
572
+ state: _,
573
+ open: m,
574
+ setOpen: h,
575
+ isMobile: c,
576
+ openMobile: l,
577
+ setOpenMobile: d,
578
+ toggleSidebar: g
579
+ }), [
580
+ _,
581
+ m,
582
+ h,
583
+ c,
584
+ l,
585
+ d,
586
+ g
587
+ ]);
588
+ return /* @__PURE__ */ u(bt.Provider, {
589
+ value: v,
590
+ children: /* @__PURE__ */ u("div", {
591
+ "data-slot": "sidebar-wrapper",
592
+ style: {
593
+ "--sidebar-width": gt,
594
+ "--sidebar-width-icon": vt,
595
+ ...a
596
+ },
597
+ className: J("group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar", i),
598
+ ...s,
599
+ children: o
600
+ })
601
+ });
602
+ }
603
+ function St({ side: e = "left", variant: t = "sidebar", collapsible: n = "offcanvas", className: r, children: i, dir: a, ...o }) {
604
+ let { isMobile: s, state: c, openMobile: l, setOpenMobile: f } = X();
605
+ return n === "none" ? /* @__PURE__ */ u("div", {
606
+ "data-slot": "sidebar",
607
+ className: J("flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground", r),
608
+ ...o,
609
+ children: i
610
+ }) : s ? /* @__PURE__ */ u($e, {
611
+ open: l,
612
+ onOpenChange: f,
613
+ ...o,
614
+ children: /* @__PURE__ */ d(it, {
615
+ dir: a,
616
+ "data-sidebar": "sidebar",
617
+ "data-slot": "sidebar",
618
+ "data-mobile": "true",
619
+ className: "w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",
620
+ style: { "--sidebar-width": _t },
621
+ side: e,
622
+ children: [/* @__PURE__ */ d(at, {
623
+ className: "sr-only",
624
+ children: [/* @__PURE__ */ u(st, { children: "Sidebar" }), /* @__PURE__ */ u(ct, { children: "Displays the mobile sidebar." })]
625
+ }), /* @__PURE__ */ u("div", {
626
+ className: "flex h-full w-full flex-col",
627
+ children: i
628
+ })]
629
+ })
630
+ }) : /* @__PURE__ */ d("div", {
631
+ className: "group peer hidden text-sidebar-foreground md:block",
632
+ "data-state": c,
633
+ "data-collapsible": c === "collapsed" ? n : "",
634
+ "data-variant": t,
635
+ "data-side": e,
636
+ "data-slot": "sidebar",
637
+ children: [/* @__PURE__ */ u("div", {
638
+ "data-slot": "sidebar-gap",
639
+ className: J("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear", "group-data-[collapsible=offcanvas]:w-0", "group-data-[side=right]:rotate-180", t === "floating" || t === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)")
640
+ }), /* @__PURE__ */ u("div", {
641
+ "data-slot": "sidebar-container",
642
+ "data-side": e,
643
+ className: J("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear data-[side=left]:left-0 data-[side=left]:group-data-[collapsible=offcanvas]:-left-(--sidebar-width) data-[side=right]:right-0 data-[side=right]:group-data-[collapsible=offcanvas]:-right-(--sidebar-width) md:flex", t === "floating" || t === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l", r),
644
+ ...o,
645
+ children: /* @__PURE__ */ u("div", {
646
+ "data-sidebar": "sidebar",
647
+ "data-slot": "sidebar-inner",
648
+ className: "flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-sidebar-border",
649
+ children: i
650
+ })
651
+ })]
652
+ });
653
+ }
654
+ function Ct({ className: e, onClick: t, ...n }) {
655
+ let { toggleSidebar: r } = X();
656
+ return /* @__PURE__ */ d(Y, {
657
+ "data-sidebar": "trigger",
658
+ "data-slot": "sidebar-trigger",
659
+ variant: "ghost",
660
+ size: "icon-sm",
661
+ className: J(e),
662
+ onClick: (e) => {
663
+ t?.(e), r();
664
+ },
665
+ ...n,
666
+ children: [/* @__PURE__ */ u(k, {}), /* @__PURE__ */ u("span", {
667
+ className: "sr-only",
668
+ children: "Toggle Sidebar"
669
+ })]
670
+ });
671
+ }
672
+ function wt({ className: e, ...t }) {
673
+ let { toggleSidebar: n } = X();
674
+ return /* @__PURE__ */ u("button", {
675
+ "data-sidebar": "rail",
676
+ "data-slot": "sidebar-rail",
677
+ "aria-label": "Toggle Sidebar",
678
+ tabIndex: -1,
679
+ onClick: n,
680
+ title: "Toggle Sidebar",
681
+ className: J("absolute inset-y-0 z-20 hidden w-4 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:inset-s-1/2 after:w-0.5 hover:after:bg-sidebar-border sm:flex ltr:-translate-x-1/2 rtl:-translate-x-1/2", "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize", "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize", "group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full hover:group-data-[collapsible=offcanvas]:bg-sidebar", "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2", "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2", e),
682
+ ...t
683
+ });
684
+ }
685
+ function Tt({ className: e, ...t }) {
686
+ return /* @__PURE__ */ u("main", {
687
+ "data-slot": "sidebar-inset",
688
+ className: J("relative flex w-full flex-1 flex-col bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2", e),
689
+ ...t
690
+ });
691
+ }
692
+ function Et({ className: e, ...t }) {
693
+ return /* @__PURE__ */ u(De, {
694
+ "data-slot": "sidebar-input",
695
+ "data-sidebar": "input",
696
+ className: J("h-8 w-full bg-background shadow-none", e),
697
+ ...t
698
+ });
699
+ }
700
+ function Dt({ className: e, ...t }) {
701
+ return /* @__PURE__ */ u("div", {
702
+ "data-slot": "sidebar-header",
703
+ "data-sidebar": "header",
704
+ className: J("flex flex-col gap-2 p-2", e),
705
+ ...t
706
+ });
707
+ }
708
+ function Ot({ className: e, ...t }) {
709
+ return /* @__PURE__ */ u("div", {
710
+ "data-slot": "sidebar-footer",
711
+ "data-sidebar": "footer",
712
+ className: J("flex flex-col gap-2 p-2", e),
713
+ ...t
714
+ });
715
+ }
716
+ function kt({ className: e, ...t }) {
717
+ return /* @__PURE__ */ u(Ke, {
718
+ "data-slot": "sidebar-separator",
719
+ "data-sidebar": "separator",
720
+ className: J("mx-2 w-auto bg-sidebar-border", e),
721
+ ...t
722
+ });
723
+ }
724
+ function At({ className: e, ...t }) {
725
+ return /* @__PURE__ */ u("div", {
726
+ "data-slot": "sidebar-content",
727
+ "data-sidebar": "content",
728
+ className: J("no-scrollbar flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden", e),
729
+ ...t
730
+ });
731
+ }
732
+ function jt({ className: e, ...t }) {
733
+ return /* @__PURE__ */ u("div", {
734
+ "data-slot": "sidebar-group",
735
+ "data-sidebar": "group",
736
+ className: J("relative flex w-full min-w-0 flex-col p-2", e),
737
+ ...t
738
+ });
739
+ }
740
+ function Mt({ className: e, asChild: t = !1, ...n }) {
741
+ return /* @__PURE__ */ u(t ? h : "div", {
742
+ "data-slot": "sidebar-group-label",
743
+ "data-sidebar": "group-label",
744
+ className: J("flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", e),
745
+ ...n
746
+ });
747
+ }
748
+ function Nt({ className: e, asChild: t = !1, ...n }) {
749
+ return /* @__PURE__ */ u(t ? h : "button", {
750
+ "data-slot": "sidebar-group-action",
751
+ "data-sidebar": "group-action",
752
+ className: J("absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform group-data-[collapsible=icon]:hidden after:absolute after:-inset-2 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0", e),
753
+ ...n
754
+ });
755
+ }
756
+ function Pt({ className: e, ...t }) {
757
+ return /* @__PURE__ */ u("div", {
758
+ "data-slot": "sidebar-group-content",
759
+ "data-sidebar": "group-content",
760
+ className: J("w-full text-sm", e),
761
+ ...t
762
+ });
763
+ }
764
+ function Ft({ className: e, ...t }) {
765
+ return /* @__PURE__ */ u("ul", {
766
+ "data-slot": "sidebar-menu",
767
+ "data-sidebar": "menu",
768
+ className: J("flex w-full min-w-0 flex-col gap-1", e),
769
+ ...t
770
+ });
771
+ }
772
+ function It({ className: e, ...t }) {
773
+ return /* @__PURE__ */ u("li", {
774
+ "data-slot": "sidebar-menu-item",
775
+ "data-sidebar": "menu-item",
776
+ className: J("group/menu-item relative", e),
777
+ ...t
778
+ });
779
+ }
780
+ var Lt = m("peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate", {
781
+ variants: {
782
+ variant: {
783
+ default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
784
+ outline: "bg-background shadow-[0_0_0_1px_var(--sidebar-border)] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--sidebar-accent)]"
785
+ },
786
+ size: {
787
+ default: "h-8 text-sm",
788
+ sm: "h-7 text-xs",
789
+ lg: "h-12 text-sm group-data-[collapsible=icon]:p-0!"
790
+ }
791
+ },
792
+ defaultVariants: {
793
+ variant: "default",
794
+ size: "default"
795
+ }
796
+ });
797
+ function Rt({ asChild: e = !1, isActive: t = !1, variant: n = "default", size: r = "default", tooltip: i, className: a, ...o }) {
798
+ let s = e ? h : "button", { isMobile: c, state: l } = X(), f = /* @__PURE__ */ u(s, {
799
+ "data-slot": "sidebar-menu-button",
800
+ "data-sidebar": "menu-button",
801
+ "data-size": r,
802
+ "data-active": t,
803
+ className: J(Lt({
804
+ variant: n,
805
+ size: r
806
+ }), a),
807
+ ...o
808
+ });
809
+ return i ? (typeof i == "string" && (i = { children: i }), /* @__PURE__ */ d(dt, { children: [/* @__PURE__ */ u(ft, {
810
+ asChild: !0,
811
+ children: f
812
+ }), /* @__PURE__ */ u(pt, {
813
+ side: "right",
814
+ align: "center",
815
+ hidden: l !== "collapsed" || c,
816
+ ...i
817
+ })] })) : f;
818
+ }
819
+ function zt({ className: e, asChild: t = !1, showOnHover: n = !1, ...r }) {
820
+ return /* @__PURE__ */ u(t ? h : "button", {
821
+ "data-slot": "sidebar-menu-action",
822
+ "data-sidebar": "menu-action",
823
+ className: J("absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform group-data-[collapsible=icon]:hidden peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 after:absolute after:-inset-2 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0", n && "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 peer-data-active/menu-button:text-sidebar-accent-foreground aria-expanded:opacity-100 md:opacity-0", e),
824
+ ...r
825
+ });
826
+ }
827
+ function Bt({ className: e, ...t }) {
828
+ return /* @__PURE__ */ u("div", {
829
+ "data-slot": "sidebar-menu-badge",
830
+ "data-sidebar": "menu-badge",
831
+ className: J("pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium text-sidebar-foreground tabular-nums select-none group-data-[collapsible=icon]:hidden peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 peer-data-active/menu-button:text-sidebar-accent-foreground", e),
832
+ ...t
833
+ });
834
+ }
835
+ function Vt({ className: t, showIcon: n = !1, ...r }) {
836
+ let [i] = e.useState(() => `${Math.floor(Math.random() * 40) + 50}%`);
837
+ return /* @__PURE__ */ d("div", {
838
+ "data-slot": "sidebar-menu-skeleton",
839
+ "data-sidebar": "menu-skeleton",
840
+ className: J("flex h-8 items-center gap-2 rounded-md px-2", t),
841
+ ...r,
842
+ children: [n && /* @__PURE__ */ u(lt, {
843
+ className: "size-4 rounded-md",
844
+ "data-sidebar": "menu-skeleton-icon"
845
+ }), /* @__PURE__ */ u(lt, {
846
+ className: "h-4 max-w-(--skeleton-width) flex-1",
847
+ "data-sidebar": "menu-skeleton-text",
848
+ style: { "--skeleton-width": i }
849
+ })]
850
+ });
851
+ }
852
+ function Ht({ className: e, ...t }) {
853
+ return /* @__PURE__ */ u("ul", {
854
+ "data-slot": "sidebar-menu-sub",
855
+ "data-sidebar": "menu-sub",
856
+ className: J("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5 group-data-[collapsible=icon]:hidden", e),
857
+ ...t
858
+ });
859
+ }
860
+ function Ut({ className: e, ...t }) {
861
+ return /* @__PURE__ */ u("li", {
862
+ "data-slot": "sidebar-menu-sub-item",
863
+ "data-sidebar": "menu-sub-item",
864
+ className: J("group/menu-sub-item relative", e),
865
+ ...t
866
+ });
867
+ }
868
+ function Wt({ asChild: e = !1, size: t = "md", isActive: n = !1, className: r, ...i }) {
869
+ return /* @__PURE__ */ u(e ? h : "a", {
870
+ "data-slot": "sidebar-menu-sub-button",
871
+ "data-sidebar": "menu-sub-button",
872
+ "data-size": t,
873
+ "data-active": n,
874
+ className: J("flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground ring-sidebar-ring outline-hidden group-data-[collapsible=icon]:hidden hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[size=md]:text-sm data-[size=sm]:text-xs data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground", r),
875
+ ...i
876
+ });
877
+ }
878
+ //#endregion
879
+ //#region src/components/ui/dropdown-menu.tsx
880
+ function Gt({ ...e }) {
881
+ return /* @__PURE__ */ u(P.Root, {
882
+ "data-slot": "dropdown-menu",
883
+ ...e
884
+ });
885
+ }
886
+ function Kt({ ...e }) {
887
+ return /* @__PURE__ */ u(P.Portal, {
888
+ "data-slot": "dropdown-menu-portal",
889
+ ...e
890
+ });
891
+ }
892
+ function qt({ ...e }) {
893
+ return /* @__PURE__ */ u(P.Trigger, {
894
+ "data-slot": "dropdown-menu-trigger",
895
+ ...e
896
+ });
897
+ }
898
+ function Jt({ className: e, align: t = "start", sideOffset: n = 4, ...r }) {
899
+ return /* @__PURE__ */ u(P.Portal, { children: /* @__PURE__ */ u(P.Content, {
900
+ "data-slot": "dropdown-menu-content",
901
+ sideOffset: n,
902
+ align: t,
903
+ className: J("z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:overflow-hidden data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", e),
904
+ ...r
905
+ }) });
906
+ }
907
+ function Yt({ ...e }) {
908
+ return /* @__PURE__ */ u(P.Group, {
909
+ "data-slot": "dropdown-menu-group",
910
+ ...e
911
+ });
912
+ }
913
+ function Xt({ className: e, inset: t, variant: n = "default", ...r }) {
914
+ return /* @__PURE__ */ u(P.Item, {
915
+ "data-slot": "dropdown-menu-item",
916
+ "data-inset": t,
917
+ "data-variant": n,
918
+ className: J("group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive", e),
919
+ ...r
920
+ });
921
+ }
922
+ function Zt({ className: e, children: t, checked: n, inset: r, ...i }) {
923
+ return /* @__PURE__ */ d(P.CheckboxItem, {
924
+ "data-slot": "dropdown-menu-checkbox-item",
925
+ "data-inset": r,
926
+ className: J("relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", e),
927
+ checked: n,
928
+ ...i,
929
+ children: [/* @__PURE__ */ u("span", {
930
+ className: "pointer-events-none absolute right-2 flex items-center justify-center",
931
+ "data-slot": "dropdown-menu-checkbox-item-indicator",
932
+ children: /* @__PURE__ */ u(P.ItemIndicator, { children: /* @__PURE__ */ u(_, {}) })
933
+ }), t]
934
+ });
935
+ }
936
+ function Qt({ ...e }) {
937
+ return /* @__PURE__ */ u(P.RadioGroup, {
938
+ "data-slot": "dropdown-menu-radio-group",
939
+ ...e
940
+ });
941
+ }
942
+ function $t({ className: e, children: t, inset: n, ...r }) {
943
+ return /* @__PURE__ */ d(P.RadioItem, {
944
+ "data-slot": "dropdown-menu-radio-item",
945
+ "data-inset": n,
946
+ className: J("relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", e),
947
+ ...r,
948
+ children: [/* @__PURE__ */ u("span", {
949
+ className: "pointer-events-none absolute right-2 flex items-center justify-center",
950
+ "data-slot": "dropdown-menu-radio-item-indicator",
951
+ children: /* @__PURE__ */ u(P.ItemIndicator, { children: /* @__PURE__ */ u(_, {}) })
952
+ }), t]
953
+ });
954
+ }
955
+ function en({ className: e, inset: t, ...n }) {
956
+ return /* @__PURE__ */ u(P.Label, {
957
+ "data-slot": "dropdown-menu-label",
958
+ "data-inset": t,
959
+ className: J("px-2 py-1.5 text-xs font-medium text-muted-foreground data-inset:pl-8", e),
960
+ ...n
961
+ });
962
+ }
963
+ function tn({ className: e, ...t }) {
964
+ return /* @__PURE__ */ u(P.Separator, {
965
+ "data-slot": "dropdown-menu-separator",
966
+ className: J("-mx-1 my-1 h-px bg-border", e),
967
+ ...t
968
+ });
969
+ }
970
+ function nn({ className: e, ...t }) {
971
+ return /* @__PURE__ */ u("span", {
972
+ "data-slot": "dropdown-menu-shortcut",
973
+ className: J("ml-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground", e),
974
+ ...t
975
+ });
976
+ }
977
+ function rn({ ...e }) {
978
+ return /* @__PURE__ */ u(P.Sub, {
979
+ "data-slot": "dropdown-menu-sub",
980
+ ...e
981
+ });
982
+ }
983
+ function an({ className: e, inset: t, children: n, ...r }) {
984
+ return /* @__PURE__ */ d(P.SubTrigger, {
985
+ "data-slot": "dropdown-menu-sub-trigger",
986
+ "data-inset": t,
987
+ className: J("flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-8 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", e),
988
+ ...r,
989
+ children: [n, /* @__PURE__ */ u(x, { className: "ml-auto" })]
990
+ });
991
+ }
992
+ function on({ className: e, ...t }) {
993
+ return /* @__PURE__ */ u(P.SubContent, {
994
+ "data-slot": "dropdown-menu-sub-content",
995
+ className: J("z-50 min-w-24 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", e),
996
+ ...t
997
+ });
998
+ }
999
+ //#endregion
1000
+ //#region src/components/ui/select.tsx
1001
+ function sn({ ...e }) {
1002
+ return /* @__PURE__ */ u(F.Root, {
1003
+ "data-slot": "select",
1004
+ ...e
1005
+ });
1006
+ }
1007
+ function cn({ className: e, ...t }) {
1008
+ return /* @__PURE__ */ u(F.Group, {
1009
+ "data-slot": "select-group",
1010
+ className: J("scroll-my-1 p-1", e),
1011
+ ...t
1012
+ });
1013
+ }
1014
+ function ln({ ...e }) {
1015
+ return /* @__PURE__ */ u(F.Value, {
1016
+ "data-slot": "select-value",
1017
+ ...e
1018
+ });
1019
+ }
1020
+ function un({ className: e, size: t = "default", children: n, ...r }) {
1021
+ return /* @__PURE__ */ d(F.Trigger, {
1022
+ "data-slot": "select-trigger",
1023
+ "data-size": t,
1024
+ className: J("flex w-fit items-center justify-between gap-1.5 rounded-md border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", e),
1025
+ ...r,
1026
+ children: [n, /* @__PURE__ */ u(F.Icon, {
1027
+ asChild: !0,
1028
+ children: /* @__PURE__ */ u(v, { className: "pointer-events-none size-4 text-muted-foreground" })
1029
+ })]
1030
+ });
1031
+ }
1032
+ function dn({ className: e, children: t, position: n = "item-aligned", align: r = "center", ...i }) {
1033
+ return /* @__PURE__ */ u(F.Portal, { children: /* @__PURE__ */ d(F.Content, {
1034
+ "data-slot": "select-content",
1035
+ "data-align-trigger": n === "item-aligned",
1036
+ className: J("relative z-50 max-h-(--radix-select-content-available-height) min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", n === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", e),
1037
+ position: n,
1038
+ align: r,
1039
+ ...i,
1040
+ children: [
1041
+ /* @__PURE__ */ u(hn, {}),
1042
+ /* @__PURE__ */ u(F.Viewport, {
1043
+ "data-position": n,
1044
+ className: J("data-[position=popper]:h-(--radix-select-trigger-height) data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)", n === "popper" && ""),
1045
+ children: t
1046
+ }),
1047
+ /* @__PURE__ */ u(gn, {})
1048
+ ]
1049
+ }) });
1050
+ }
1051
+ function fn({ className: e, ...t }) {
1052
+ return /* @__PURE__ */ u(F.Label, {
1053
+ "data-slot": "select-label",
1054
+ className: J("px-2 py-1.5 text-xs text-muted-foreground", e),
1055
+ ...t
1056
+ });
1057
+ }
1058
+ function pn({ className: e, children: t, ...n }) {
1059
+ return /* @__PURE__ */ d(F.Item, {
1060
+ "data-slot": "select-item",
1061
+ className: J("relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", e),
1062
+ ...n,
1063
+ children: [/* @__PURE__ */ u("span", {
1064
+ className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center",
1065
+ children: /* @__PURE__ */ u(F.ItemIndicator, { children: /* @__PURE__ */ u(_, { className: "pointer-events-none" }) })
1066
+ }), /* @__PURE__ */ u(F.ItemText, { children: t })]
1067
+ });
1068
+ }
1069
+ function mn({ className: e, ...t }) {
1070
+ return /* @__PURE__ */ u(F.Separator, {
1071
+ "data-slot": "select-separator",
1072
+ className: J("pointer-events-none -mx-1 my-1 h-px bg-border", e),
1073
+ ...t
1074
+ });
1075
+ }
1076
+ function hn({ className: e, ...t }) {
1077
+ return /* @__PURE__ */ u(F.ScrollUpButton, {
1078
+ "data-slot": "select-scroll-up-button",
1079
+ className: J("z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4", e),
1080
+ ...t,
1081
+ children: /* @__PURE__ */ u(S, {})
1082
+ });
1083
+ }
1084
+ function gn({ className: e, ...t }) {
1085
+ return /* @__PURE__ */ u(F.ScrollDownButton, {
1086
+ "data-slot": "select-scroll-down-button",
1087
+ className: J("z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4", e),
1088
+ ...t,
1089
+ children: /* @__PURE__ */ u(v, {})
1090
+ });
1091
+ }
1092
+ //#endregion
1093
+ //#region src/components/ui/alert.tsx
1094
+ var _n = m("group/alert relative grid w-full gap-0.5 rounded-lg border px-4 py-3 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2.5 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4", {
1095
+ variants: { variant: {
1096
+ default: "bg-card text-card-foreground",
1097
+ destructive: "bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current"
1098
+ } },
1099
+ defaultVariants: { variant: "default" }
1100
+ });
1101
+ function vn({ className: e, variant: t, ...n }) {
1102
+ return /* @__PURE__ */ u("div", {
1103
+ "data-slot": "alert",
1104
+ role: "alert",
1105
+ className: J(_n({ variant: t }), e),
1106
+ ...n
1107
+ });
1108
+ }
1109
+ function yn({ className: e, ...t }) {
1110
+ return /* @__PURE__ */ u("div", {
1111
+ "data-slot": "alert-title",
1112
+ className: J("font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground", e),
1113
+ ...t
1114
+ });
1115
+ }
1116
+ function bn({ className: e, ...t }) {
1117
+ return /* @__PURE__ */ u("div", {
1118
+ "data-slot": "alert-description",
1119
+ className: J("text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4", e),
1120
+ ...t
1121
+ });
1122
+ }
1123
+ function xn({ className: e, ...t }) {
1124
+ return /* @__PURE__ */ u("div", {
1125
+ "data-slot": "alert-action",
1126
+ className: J("absolute top-2.5 right-3", e),
1127
+ ...t
1128
+ });
1129
+ }
1130
+ //#endregion
1131
+ //#region src/components/ui/alert-dialog.tsx
1132
+ function Sn({ ...e }) {
1133
+ return /* @__PURE__ */ u(I.Root, {
1134
+ "data-slot": "alert-dialog",
1135
+ ...e
1136
+ });
1137
+ }
1138
+ function Cn({ ...e }) {
1139
+ return /* @__PURE__ */ u(I.Trigger, {
1140
+ "data-slot": "alert-dialog-trigger",
1141
+ ...e
1142
+ });
1143
+ }
1144
+ function wn({ ...e }) {
1145
+ return /* @__PURE__ */ u(I.Portal, {
1146
+ "data-slot": "alert-dialog-portal",
1147
+ ...e
1148
+ });
1149
+ }
1150
+ function Tn({ className: e, ...t }) {
1151
+ return /* @__PURE__ */ u(I.Overlay, {
1152
+ "data-slot": "alert-dialog-overlay",
1153
+ className: J("fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0", e),
1154
+ ...t
1155
+ });
1156
+ }
1157
+ function En({ className: e, size: t = "default", ...n }) {
1158
+ return /* @__PURE__ */ d(wn, { children: [/* @__PURE__ */ u(Tn, {}), /* @__PURE__ */ u(I.Content, {
1159
+ "data-slot": "alert-dialog-content",
1160
+ "data-size": t,
1161
+ className: J("group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-6 rounded-xl bg-popover p-6 text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", e),
1162
+ ...n
1163
+ })] });
1164
+ }
1165
+ function Dn({ className: e, ...t }) {
1166
+ return /* @__PURE__ */ u("div", {
1167
+ "data-slot": "alert-dialog-header",
1168
+ className: J("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]", e),
1169
+ ...t
1170
+ });
1171
+ }
1172
+ function On({ className: e, ...t }) {
1173
+ return /* @__PURE__ */ u("div", {
1174
+ "data-slot": "alert-dialog-footer",
1175
+ className: J("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end", e),
1176
+ ...t
1177
+ });
1178
+ }
1179
+ function kn({ className: e, ...t }) {
1180
+ return /* @__PURE__ */ u("div", {
1181
+ "data-slot": "alert-dialog-media",
1182
+ className: J("mb-2 inline-flex size-16 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8", e),
1183
+ ...t
1184
+ });
1185
+ }
1186
+ function An({ className: e, ...t }) {
1187
+ return /* @__PURE__ */ u(I.Title, {
1188
+ "data-slot": "alert-dialog-title",
1189
+ className: J("font-heading text-lg font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2", e),
1190
+ ...t
1191
+ });
1192
+ }
1193
+ function jn({ className: e, ...t }) {
1194
+ return /* @__PURE__ */ u(I.Description, {
1195
+ "data-slot": "alert-dialog-description",
1196
+ className: J("text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", e),
1197
+ ...t
1198
+ });
1199
+ }
1200
+ function Mn({ className: e, variant: t = "default", size: n = "default", ...r }) {
1201
+ return /* @__PURE__ */ u(Y, {
1202
+ variant: t,
1203
+ size: n,
1204
+ asChild: !0,
1205
+ children: /* @__PURE__ */ u(I.Action, {
1206
+ "data-slot": "alert-dialog-action",
1207
+ className: J(e),
1208
+ ...r
1209
+ })
1210
+ });
1211
+ }
1212
+ function Nn({ className: e, variant: t = "outline", size: n = "default", ...r }) {
1213
+ return /* @__PURE__ */ u(Y, {
1214
+ variant: t,
1215
+ size: n,
1216
+ asChild: !0,
1217
+ children: /* @__PURE__ */ u(I.Cancel, {
1218
+ "data-slot": "alert-dialog-cancel",
1219
+ className: J(e),
1220
+ ...r
1221
+ })
1222
+ });
1223
+ }
1224
+ //#endregion
1225
+ //#region src/components/ui/empty.tsx
1226
+ function Pn({ className: e, ...t }) {
1227
+ return /* @__PURE__ */ u("div", {
1228
+ "data-slot": "empty",
1229
+ className: J("flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-4 rounded-lg border-dashed p-12 text-center text-balance", e),
1230
+ ...t
1231
+ });
1232
+ }
1233
+ function Fn({ className: e, ...t }) {
1234
+ return /* @__PURE__ */ u("div", {
1235
+ "data-slot": "empty-header",
1236
+ className: J("flex max-w-sm flex-col items-center gap-2", e),
1237
+ ...t
1238
+ });
1239
+ }
1240
+ var In = m("mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0", {
1241
+ variants: { variant: {
1242
+ default: "bg-transparent",
1243
+ icon: "flex size-10 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*='size-'])]:size-6"
1244
+ } },
1245
+ defaultVariants: { variant: "default" }
1246
+ });
1247
+ function Ln({ className: e, variant: t = "default", ...n }) {
1248
+ return /* @__PURE__ */ u("div", {
1249
+ "data-slot": "empty-icon",
1250
+ "data-variant": t,
1251
+ className: J(In({
1252
+ variant: t,
1253
+ className: e
1254
+ })),
1255
+ ...n
1256
+ });
1257
+ }
1258
+ function Rn({ className: e, ...t }) {
1259
+ return /* @__PURE__ */ u("div", {
1260
+ "data-slot": "empty-title",
1261
+ className: J("font-heading text-lg font-medium tracking-tight", e),
1262
+ ...t
1263
+ });
1264
+ }
1265
+ function zn({ className: e, ...t }) {
1266
+ return /* @__PURE__ */ u("div", {
1267
+ "data-slot": "empty-description",
1268
+ className: J("text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary", e),
1269
+ ...t
1270
+ });
1271
+ }
1272
+ function Bn({ className: e, ...t }) {
1273
+ return /* @__PURE__ */ u("div", {
1274
+ "data-slot": "empty-content",
1275
+ className: J("flex w-full max-w-sm min-w-0 flex-col items-center gap-4 text-sm text-balance", e),
1276
+ ...t
1277
+ });
1278
+ }
1279
+ //#endregion
1280
+ //#region src/components/ui/hover-card.tsx
1281
+ function Vn({ ...e }) {
1282
+ return /* @__PURE__ */ u(L.Root, {
1283
+ "data-slot": "hover-card",
1284
+ ...e
1285
+ });
1286
+ }
1287
+ function Hn({ ...e }) {
1288
+ return /* @__PURE__ */ u(L.Trigger, {
1289
+ "data-slot": "hover-card-trigger",
1290
+ ...e
1291
+ });
1292
+ }
1293
+ function Un({ className: e, align: t = "center", sideOffset: n = 4, ...r }) {
1294
+ return /* @__PURE__ */ u(L.Portal, {
1295
+ "data-slot": "hover-card-portal",
1296
+ children: /* @__PURE__ */ u(L.Content, {
1297
+ "data-slot": "hover-card-content",
1298
+ align: t,
1299
+ sideOffset: n,
1300
+ className: J("z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-lg bg-popover p-4 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", e),
1301
+ ...r
1302
+ })
1303
+ });
1304
+ }
1305
+ //#endregion
1306
+ //#region src/components/ui/pagination.tsx
1307
+ function Wn({ className: e, ...t }) {
1308
+ return /* @__PURE__ */ u("nav", {
1309
+ role: "navigation",
1310
+ "aria-label": "pagination",
1311
+ "data-slot": "pagination",
1312
+ className: J("mx-auto flex w-full justify-center", e),
1313
+ ...t
1314
+ });
1315
+ }
1316
+ function Gn({ className: e, ...t }) {
1317
+ return /* @__PURE__ */ u("ul", {
1318
+ "data-slot": "pagination-content",
1319
+ className: J("flex items-center gap-1", e),
1320
+ ...t
1321
+ });
1322
+ }
1323
+ function Kn({ ...e }) {
1324
+ return /* @__PURE__ */ u("li", {
1325
+ "data-slot": "pagination-item",
1326
+ ...e
1327
+ });
1328
+ }
1329
+ function qn({ className: e, isActive: t, size: n = "icon", ...r }) {
1330
+ return /* @__PURE__ */ u(Y, {
1331
+ asChild: !0,
1332
+ variant: t ? "outline" : "ghost",
1333
+ size: n,
1334
+ className: J(e),
1335
+ children: /* @__PURE__ */ u("a", {
1336
+ "aria-current": t ? "page" : void 0,
1337
+ "data-slot": "pagination-link",
1338
+ "data-active": t,
1339
+ ...r
1340
+ })
1341
+ });
1342
+ }
1343
+ function Jn({ className: e, text: t = "Previous", ...n }) {
1344
+ return /* @__PURE__ */ d(qn, {
1345
+ "aria-label": "Go to previous page",
1346
+ size: "default",
1347
+ className: J("pl-2!", e),
1348
+ ...n,
1349
+ children: [/* @__PURE__ */ u(b, { "data-icon": "inline-start" }), /* @__PURE__ */ u("span", {
1350
+ className: "hidden sm:block",
1351
+ children: t
1352
+ })]
1353
+ });
1354
+ }
1355
+ function Yn({ className: e, text: t = "Next", ...n }) {
1356
+ return /* @__PURE__ */ d(qn, {
1357
+ "aria-label": "Go to next page",
1358
+ size: "default",
1359
+ className: J("pr-2!", e),
1360
+ ...n,
1361
+ children: [/* @__PURE__ */ u("span", {
1362
+ className: "hidden sm:block",
1363
+ children: t
1364
+ }), /* @__PURE__ */ u(x, { "data-icon": "inline-end" })]
1365
+ });
1366
+ }
1367
+ function Xn({ className: e, ...t }) {
1368
+ return /* @__PURE__ */ d("span", {
1369
+ "aria-hidden": !0,
1370
+ "data-slot": "pagination-ellipsis",
1371
+ className: J("flex size-9 items-center justify-center [&_svg:not([class*='size-'])]:size-4", e),
1372
+ ...t,
1373
+ children: [/* @__PURE__ */ u(O, {}), /* @__PURE__ */ u("span", {
1374
+ className: "sr-only",
1375
+ children: "More pages"
1376
+ })]
1377
+ });
1378
+ }
1379
+ //#endregion
1380
+ //#region src/components/ui/popover.tsx
1381
+ function Zn({ ...e }) {
1382
+ return /* @__PURE__ */ u(R.Root, {
1383
+ "data-slot": "popover",
1384
+ ...e
1385
+ });
1386
+ }
1387
+ function Qn({ ...e }) {
1388
+ return /* @__PURE__ */ u(R.Trigger, {
1389
+ "data-slot": "popover-trigger",
1390
+ ...e
1391
+ });
1392
+ }
1393
+ function $n({ className: e, align: t = "center", sideOffset: n = 4, ...r }) {
1394
+ return /* @__PURE__ */ u(R.Portal, { children: /* @__PURE__ */ u(R.Content, {
1395
+ "data-slot": "popover-content",
1396
+ align: t,
1397
+ sideOffset: n,
1398
+ className: J("z-50 flex w-72 origin-(--radix-popover-content-transform-origin) flex-col gap-4 rounded-md bg-popover p-4 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", e),
1399
+ ...r
1400
+ }) });
1401
+ }
1402
+ function er({ ...e }) {
1403
+ return /* @__PURE__ */ u(R.Anchor, {
1404
+ "data-slot": "popover-anchor",
1405
+ ...e
1406
+ });
1407
+ }
1408
+ function tr({ className: e, ...t }) {
1409
+ return /* @__PURE__ */ u("div", {
1410
+ "data-slot": "popover-header",
1411
+ className: J("flex flex-col gap-1 text-sm", e),
1412
+ ...t
1413
+ });
1414
+ }
1415
+ function nr({ className: e, ...t }) {
1416
+ return /* @__PURE__ */ u("div", {
1417
+ "data-slot": "popover-title",
1418
+ className: J("font-medium", e),
1419
+ ...t
1420
+ });
1421
+ }
1422
+ function rr({ className: e, ...t }) {
1423
+ return /* @__PURE__ */ u("p", {
1424
+ "data-slot": "popover-description",
1425
+ className: J("text-muted-foreground", e),
1426
+ ...t
1427
+ });
1428
+ }
1429
+ //#endregion
1430
+ //#region src/components/ui/table.tsx
1431
+ function ir({ className: e, ...t }) {
1432
+ return /* @__PURE__ */ u("div", {
1433
+ "data-slot": "table-container",
1434
+ className: "relative w-full overflow-x-auto",
1435
+ children: /* @__PURE__ */ u("table", {
1436
+ "data-slot": "table",
1437
+ className: J("w-full caption-bottom text-sm", e),
1438
+ ...t
1439
+ })
1440
+ });
1441
+ }
1442
+ function ar({ className: e, ...t }) {
1443
+ return /* @__PURE__ */ u("thead", {
1444
+ "data-slot": "table-header",
1445
+ className: J("[&_tr]:border-b", e),
1446
+ ...t
1447
+ });
1448
+ }
1449
+ function or({ className: e, ...t }) {
1450
+ return /* @__PURE__ */ u("tbody", {
1451
+ "data-slot": "table-body",
1452
+ className: J("[&_tr:last-child]:border-0", e),
1453
+ ...t
1454
+ });
1455
+ }
1456
+ function sr({ className: e, ...t }) {
1457
+ return /* @__PURE__ */ u("tfoot", {
1458
+ "data-slot": "table-footer",
1459
+ className: J("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0", e),
1460
+ ...t
1461
+ });
1462
+ }
1463
+ function cr({ className: e, ...t }) {
1464
+ return /* @__PURE__ */ u("tr", {
1465
+ "data-slot": "table-row",
1466
+ className: J("border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted", e),
1467
+ ...t
1468
+ });
1469
+ }
1470
+ function lr({ className: e, ...t }) {
1471
+ return /* @__PURE__ */ u("th", {
1472
+ "data-slot": "table-head",
1473
+ className: J("h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground has-[[role=checkbox]]:pr-0", e),
1474
+ ...t
1475
+ });
1476
+ }
1477
+ function ur({ className: e, ...t }) {
1478
+ return /* @__PURE__ */ u("td", {
1479
+ "data-slot": "table-cell",
1480
+ className: J("p-2 align-middle whitespace-nowrap has-[[role=checkbox]]:pr-0", e),
1481
+ ...t
1482
+ });
1483
+ }
1484
+ function dr({ className: e, ...t }) {
1485
+ return /* @__PURE__ */ u("caption", {
1486
+ "data-slot": "table-caption",
1487
+ className: J("mt-4 text-sm text-muted-foreground", e),
1488
+ ...t
1489
+ });
1490
+ }
1491
+ //#endregion
1492
+ //#region src/components/ui/tabs.tsx
1493
+ function fr({ className: e, orientation: t = "horizontal", ...n }) {
1494
+ return /* @__PURE__ */ u(V.Root, {
1495
+ "data-slot": "tabs",
1496
+ "data-orientation": t,
1497
+ className: J("group/tabs flex gap-2 data-horizontal:flex-col", e),
1498
+ ...n
1499
+ });
1500
+ }
1501
+ var pr = m("group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none", {
1502
+ variants: { variant: {
1503
+ default: "bg-muted",
1504
+ line: "gap-1 bg-transparent"
1505
+ } },
1506
+ defaultVariants: { variant: "default" }
1507
+ });
1508
+ function mr({ className: e, variant: t = "default", ...n }) {
1509
+ return /* @__PURE__ */ u(V.List, {
1510
+ "data-slot": "tabs-list",
1511
+ "data-variant": t,
1512
+ className: J(pr({ variant: t }), e),
1513
+ ...n
1514
+ });
1515
+ }
1516
+ function hr({ className: e, ...t }) {
1517
+ return /* @__PURE__ */ u(V.Trigger, {
1518
+ "data-slot": "tabs-trigger",
1519
+ className: J("relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-xs font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start group-data-vertical/tabs:py-[calc(--spacing(1.25))] hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5", "group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent", "data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground", "after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100", e),
1520
+ ...t
1521
+ });
1522
+ }
1523
+ function gr({ className: e, ...t }) {
1524
+ return /* @__PURE__ */ u(V.Content, {
1525
+ "data-slot": "tabs-content",
1526
+ className: J("flex-1 text-xs/relaxed outline-none", e),
1527
+ ...t
1528
+ });
1529
+ }
1530
+ //#endregion
1531
+ //#region src/components/ui/switch.tsx
1532
+ function _r({ className: e, size: t = "default", ...n }) {
1533
+ return /* @__PURE__ */ u(H.Root, {
1534
+ "data-slot": "switch",
1535
+ "data-size": t,
1536
+ className: J("peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50", e),
1537
+ ...n,
1538
+ children: /* @__PURE__ */ u(H.Thumb, {
1539
+ "data-slot": "switch-thumb",
1540
+ className: "pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground"
1541
+ })
1542
+ });
1543
+ }
1544
+ //#endregion
1545
+ //#region src/components/ui/spinner.tsx
1546
+ function vr({ className: e, ...t }) {
1547
+ return /* @__PURE__ */ u(E, {
1548
+ role: "status",
1549
+ "aria-label": "Loading",
1550
+ className: J("size-4 animate-spin", e),
1551
+ ...t
1552
+ });
1553
+ }
1554
+ //#endregion
1555
+ //#region src/components/ui/badge.tsx
1556
+ var yr = m("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!", {
1557
+ variants: { variant: {
1558
+ default: "bg-primary text-primary-foreground [a]:hover:bg-primary/80",
1559
+ secondary: "bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",
1560
+ destructive: "bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",
1561
+ outline: "border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",
1562
+ ghost: "hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",
1563
+ link: "text-primary underline-offset-4 hover:underline"
1564
+ } },
1565
+ defaultVariants: { variant: "default" }
1566
+ });
1567
+ function br({ className: e, variant: t = "default", asChild: n = !1, ...r }) {
1568
+ return /* @__PURE__ */ u(n ? h : "span", {
1569
+ "data-slot": "badge",
1570
+ "data-variant": t,
1571
+ className: J(yr({ variant: t }), e),
1572
+ ...r
1573
+ });
1574
+ }
1575
+ //#endregion
1576
+ //#region src/components/ui/sonner.tsx
1577
+ var xr = ({ ...e }) => {
1578
+ let { theme: t = "system" } = ie();
1579
+ return /* @__PURE__ */ u(ae, {
1580
+ theme: t,
1581
+ className: "toaster group",
1582
+ icons: {
1583
+ success: /* @__PURE__ */ u(C, { className: "size-4" }),
1584
+ info: /* @__PURE__ */ u(T, { className: "size-4" }),
1585
+ warning: /* @__PURE__ */ u(j, { className: "size-4" }),
1586
+ error: /* @__PURE__ */ u(ee, { className: "size-4" }),
1587
+ loading: /* @__PURE__ */ u(E, { className: "size-4 animate-spin" })
1588
+ },
1589
+ style: {
1590
+ "--normal-bg": "var(--popover)",
1591
+ "--normal-text": "var(--popover-foreground)",
1592
+ "--normal-border": "var(--border)",
1593
+ "--border-radius": "var(--radius)"
1594
+ },
1595
+ toastOptions: { classNames: { toast: "cn-toast" } },
1596
+ ...e
1597
+ });
1598
+ };
1599
+ //#endregion
1600
+ //#region src/components/ui/kbd.tsx
1601
+ function Sr({ className: e, ...t }) {
1602
+ return /* @__PURE__ */ u("kbd", {
1603
+ "data-slot": "kbd",
1604
+ className: J("pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-muted-foreground select-none in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 [&_svg:not([class*='size-'])]:size-3", e),
1605
+ ...t
1606
+ });
1607
+ }
1608
+ function Cr({ className: e, ...t }) {
1609
+ return /* @__PURE__ */ u("kbd", {
1610
+ "data-slot": "kbd-group",
1611
+ className: J("inline-flex items-center gap-1", e),
1612
+ ...t
1613
+ });
1614
+ }
1615
+ //#endregion
1616
+ //#region src/components/ui/scroll-area.tsx
1617
+ function wr({ className: e, children: t, ...n }) {
1618
+ return /* @__PURE__ */ d(U.Root, {
1619
+ "data-slot": "scroll-area",
1620
+ className: J("relative", e),
1621
+ ...n,
1622
+ children: [
1623
+ /* @__PURE__ */ u(U.Viewport, {
1624
+ "data-slot": "scroll-area-viewport",
1625
+ className: "size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",
1626
+ children: t
1627
+ }),
1628
+ /* @__PURE__ */ u(Tr, {}),
1629
+ /* @__PURE__ */ u(U.Corner, {})
1630
+ ]
1631
+ });
1632
+ }
1633
+ function Tr({ className: e, orientation: t = "vertical", ...n }) {
1634
+ return /* @__PURE__ */ u(U.ScrollAreaScrollbar, {
1635
+ "data-slot": "scroll-area-scrollbar",
1636
+ "data-orientation": t,
1637
+ orientation: t,
1638
+ className: J("flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent", e),
1639
+ ...n,
1640
+ children: /* @__PURE__ */ u(U.ScrollAreaThumb, {
1641
+ "data-slot": "scroll-area-thumb",
1642
+ className: "relative flex-1 rounded-full bg-border"
1643
+ })
1644
+ });
1645
+ }
1646
+ //#endregion
1647
+ //#region src/components/ui/checkbox.tsx
1648
+ function Er({ className: e, ...t }) {
1649
+ return /* @__PURE__ */ u(z.Root, {
1650
+ "data-slot": "checkbox",
1651
+ className: J("peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-input shadow-xs transition-shadow outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary", e),
1652
+ ...t,
1653
+ children: /* @__PURE__ */ u(z.Indicator, {
1654
+ "data-slot": "checkbox-indicator",
1655
+ className: "grid place-content-center text-current transition-none [&>svg]:size-3.5",
1656
+ children: /* @__PURE__ */ u(_, {})
1657
+ })
1658
+ });
1659
+ }
1660
+ //#endregion
1661
+ //#region src/components/ui/label.tsx
1662
+ function Dr({ className: e, ...t }) {
1663
+ return /* @__PURE__ */ u(B.Root, {
1664
+ "data-slot": "label",
1665
+ className: J("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", e),
1666
+ ...t
1667
+ });
1668
+ }
1669
+ //#endregion
1670
+ //#region src/components/ui/avatar.tsx
1671
+ function Or({ className: e, size: t = "default", ...n }) {
1672
+ return /* @__PURE__ */ u(W.Root, {
1673
+ "data-slot": "avatar",
1674
+ "data-size": t,
1675
+ className: J("group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten", e),
1676
+ ...n
1677
+ });
1678
+ }
1679
+ function kr({ className: e, ...t }) {
1680
+ return /* @__PURE__ */ u(W.Image, {
1681
+ "data-slot": "avatar-image",
1682
+ className: J("aspect-square size-full rounded-full object-cover", e),
1683
+ ...t
1684
+ });
1685
+ }
1686
+ function Ar({ className: e, ...t }) {
1687
+ return /* @__PURE__ */ u(W.Fallback, {
1688
+ "data-slot": "avatar-fallback",
1689
+ className: J("flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs", e),
1690
+ ...t
1691
+ });
1692
+ }
1693
+ function jr({ className: e, ...t }) {
1694
+ return /* @__PURE__ */ u("span", {
1695
+ "data-slot": "avatar-badge",
1696
+ className: J("absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground bg-blend-color ring-2 ring-background select-none", "group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden", "group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2", "group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2", e),
1697
+ ...t
1698
+ });
1699
+ }
1700
+ function Mr({ className: e, ...t }) {
1701
+ return /* @__PURE__ */ u("div", {
1702
+ "data-slot": "avatar-group",
1703
+ className: J("group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background", e),
1704
+ ...t
1705
+ });
1706
+ }
1707
+ function Nr({ className: e, ...t }) {
1708
+ return /* @__PURE__ */ u("div", {
1709
+ "data-slot": "avatar-group-count",
1710
+ className: J("relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3", e),
1711
+ ...t
1712
+ });
1713
+ }
1714
+ //#endregion
1715
+ //#region node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js
1716
+ function Pr(e) {
1717
+ return Object.prototype.toString.call(e) === "[object Object]";
1718
+ }
1719
+ function Fr(e) {
1720
+ return Pr(e) || Array.isArray(e);
1721
+ }
1722
+ function Ir() {
1723
+ return !!(typeof window < "u" && window.document && window.document.createElement);
1724
+ }
1725
+ function Lr(e, t) {
1726
+ let n = Object.keys(e), r = Object.keys(t);
1727
+ return n.length !== r.length || JSON.stringify(Object.keys(e.breakpoints || {})) !== JSON.stringify(Object.keys(t.breakpoints || {})) ? !1 : n.every((n) => {
1728
+ let r = e[n], i = t[n];
1729
+ return typeof r == "function" ? `${r}` == `${i}` : !Fr(r) || !Fr(i) ? r === i : Lr(r, i);
1730
+ });
1731
+ }
1732
+ function Rr(e) {
1733
+ return e.concat().sort((e, t) => e.name > t.name ? 1 : -1).map((e) => e.options);
1734
+ }
1735
+ function zr(e, t) {
1736
+ if (e.length !== t.length) return !1;
1737
+ let n = Rr(e), r = Rr(t);
1738
+ return n.every((e, t) => {
1739
+ let n = r[t];
1740
+ return Lr(e, n);
1741
+ });
1742
+ }
1743
+ //#endregion
1744
+ //#region node_modules/embla-carousel/esm/embla-carousel.esm.js
1745
+ function Br(e) {
1746
+ return typeof e == "number";
1747
+ }
1748
+ function Vr(e) {
1749
+ return typeof e == "string";
1750
+ }
1751
+ function Hr(e) {
1752
+ return typeof e == "boolean";
1753
+ }
1754
+ function Ur(e) {
1755
+ return Object.prototype.toString.call(e) === "[object Object]";
1756
+ }
1757
+ function Z(e) {
1758
+ return Math.abs(e);
1759
+ }
1760
+ function Wr(e) {
1761
+ return Math.sign(e);
1762
+ }
1763
+ function Gr(e, t) {
1764
+ return Z(e - t);
1765
+ }
1766
+ function Kr(e, t) {
1767
+ return e === 0 || t === 0 || Z(e) <= Z(t) ? 0 : Z(Gr(Z(e), Z(t)) / e);
1768
+ }
1769
+ function qr(e) {
1770
+ return Math.round(e * 100) / 100;
1771
+ }
1772
+ function Jr(e) {
1773
+ return Qr(e).map(Number);
1774
+ }
1775
+ function Q(e) {
1776
+ return e[Yr(e)];
1777
+ }
1778
+ function Yr(e) {
1779
+ return Math.max(0, e.length - 1);
1780
+ }
1781
+ function Xr(e, t) {
1782
+ return t === Yr(e);
1783
+ }
1784
+ function Zr(e, t = 0) {
1785
+ return Array.from(Array(e), (e, n) => t + n);
1786
+ }
1787
+ function Qr(e) {
1788
+ return Object.keys(e);
1789
+ }
1790
+ function $r(e, t) {
1791
+ return [e, t].reduce((e, t) => (Qr(t).forEach((n) => {
1792
+ let r = e[n], i = t[n];
1793
+ e[n] = Ur(r) && Ur(i) ? $r(r, i) : i;
1794
+ }), e), {});
1795
+ }
1796
+ function ei(e, t) {
1797
+ return t.MouseEvent !== void 0 && e instanceof t.MouseEvent;
1798
+ }
1799
+ function ti(e, t) {
1800
+ let n = {
1801
+ start: r,
1802
+ center: i,
1803
+ end: a
1804
+ };
1805
+ function r() {
1806
+ return 0;
1807
+ }
1808
+ function i(e) {
1809
+ return a(e) / 2;
1810
+ }
1811
+ function a(e) {
1812
+ return t - e;
1813
+ }
1814
+ function o(r, i) {
1815
+ return Vr(e) ? n[e](r) : e(t, r, i);
1816
+ }
1817
+ return { measure: o };
1818
+ }
1819
+ function ni() {
1820
+ let e = [];
1821
+ function t(t, n, i, a = { passive: !0 }) {
1822
+ let o;
1823
+ if ("addEventListener" in t) t.addEventListener(n, i, a), o = () => t.removeEventListener(n, i, a);
1824
+ else {
1825
+ let e = t;
1826
+ e.addListener(i), o = () => e.removeListener(i);
1827
+ }
1828
+ return e.push(o), r;
1829
+ }
1830
+ function n() {
1831
+ e = e.filter((e) => e());
1832
+ }
1833
+ let r = {
1834
+ add: t,
1835
+ clear: n
1836
+ };
1837
+ return r;
1838
+ }
1839
+ function ri(e, t, n, r) {
1840
+ let i = ni(), a = 1e3 / 60, o = null, s = 0, c = 0;
1841
+ function l() {
1842
+ i.add(e, "visibilitychange", () => {
1843
+ e.hidden && m();
1844
+ });
1845
+ }
1846
+ function u() {
1847
+ p(), i.clear();
1848
+ }
1849
+ function d(e) {
1850
+ if (!c) return;
1851
+ o || (o = e, n(), n());
1852
+ let i = e - o;
1853
+ for (o = e, s += i; s >= a;) n(), s -= a;
1854
+ r(s / a), c &&= t.requestAnimationFrame(d);
1855
+ }
1856
+ function f() {
1857
+ c ||= t.requestAnimationFrame(d);
1858
+ }
1859
+ function p() {
1860
+ t.cancelAnimationFrame(c), o = null, s = 0, c = 0;
1861
+ }
1862
+ function m() {
1863
+ o = null, s = 0;
1864
+ }
1865
+ return {
1866
+ init: l,
1867
+ destroy: u,
1868
+ start: f,
1869
+ stop: p,
1870
+ update: n,
1871
+ render: r
1872
+ };
1873
+ }
1874
+ function ii(e, t) {
1875
+ let n = t === "rtl", r = e === "y", i = r ? "y" : "x", a = r ? "x" : "y", o = !r && n ? -1 : 1, s = u(), c = d();
1876
+ function l(e) {
1877
+ let { height: t, width: n } = e;
1878
+ return r ? t : n;
1879
+ }
1880
+ function u() {
1881
+ return r ? "top" : n ? "right" : "left";
1882
+ }
1883
+ function d() {
1884
+ return r ? "bottom" : n ? "left" : "right";
1885
+ }
1886
+ function f(e) {
1887
+ return e * o;
1888
+ }
1889
+ return {
1890
+ scroll: i,
1891
+ cross: a,
1892
+ startEdge: s,
1893
+ endEdge: c,
1894
+ measureSize: l,
1895
+ direction: f
1896
+ };
1897
+ }
1898
+ function $(e = 0, t = 0) {
1899
+ let n = Z(e - t);
1900
+ function r(t) {
1901
+ return t < e;
1902
+ }
1903
+ function i(e) {
1904
+ return e > t;
1905
+ }
1906
+ function a(e) {
1907
+ return r(e) || i(e);
1908
+ }
1909
+ function o(n) {
1910
+ return a(n) ? r(n) ? e : t : n;
1911
+ }
1912
+ function s(e) {
1913
+ return n ? e - n * Math.ceil((e - t) / n) : e;
1914
+ }
1915
+ return {
1916
+ length: n,
1917
+ max: t,
1918
+ min: e,
1919
+ constrain: o,
1920
+ reachedAny: a,
1921
+ reachedMax: i,
1922
+ reachedMin: r,
1923
+ removeOffset: s
1924
+ };
1925
+ }
1926
+ function ai(e, t, n) {
1927
+ let { constrain: r } = $(0, e), i = e + 1, a = o(t);
1928
+ function o(e) {
1929
+ return n ? Z((i + e) % i) : r(e);
1930
+ }
1931
+ function s() {
1932
+ return a;
1933
+ }
1934
+ function c(e) {
1935
+ return a = o(e), d;
1936
+ }
1937
+ function l(e) {
1938
+ return u().set(s() + e);
1939
+ }
1940
+ function u() {
1941
+ return ai(e, s(), n);
1942
+ }
1943
+ let d = {
1944
+ get: s,
1945
+ set: c,
1946
+ add: l,
1947
+ clone: u
1948
+ };
1949
+ return d;
1950
+ }
1951
+ function oi(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h, g, _, v) {
1952
+ let { cross: y, direction: b } = e, x = [
1953
+ "INPUT",
1954
+ "SELECT",
1955
+ "TEXTAREA"
1956
+ ], S = { passive: !1 }, C = ni(), w = ni(), T = $(50, 225).constrain(p.measure(20)), E = {
1957
+ mouse: 300,
1958
+ touch: 400
1959
+ }, D = {
1960
+ mouse: 500,
1961
+ touch: 600
1962
+ }, O = m ? 43 : 25, ee = !1, k = 0, te = 0, A = !1, j = !1, ne = !1, M = !1;
1963
+ function re(e) {
1964
+ if (!v) return;
1965
+ function n(t) {
1966
+ (Hr(v) || v(e, t)) && R(t);
1967
+ }
1968
+ let r = t;
1969
+ C.add(r, "dragstart", (e) => e.preventDefault(), S).add(r, "touchmove", () => void 0, S).add(r, "touchend", () => void 0).add(r, "touchstart", n).add(r, "mousedown", n).add(r, "touchcancel", B).add(r, "contextmenu", B).add(r, "click", V, !0);
1970
+ }
1971
+ function N() {
1972
+ C.clear(), w.clear();
1973
+ }
1974
+ function P() {
1975
+ let e = M ? n : t;
1976
+ w.add(e, "touchmove", z, S).add(e, "touchend", B).add(e, "mousemove", z, S).add(e, "mouseup", B);
1977
+ }
1978
+ function F(e) {
1979
+ let t = e.nodeName || "";
1980
+ return x.includes(t);
1981
+ }
1982
+ function I() {
1983
+ return (m ? D : E)[M ? "mouse" : "touch"];
1984
+ }
1985
+ function L(e, t) {
1986
+ let n = d.add(Wr(e) * -1), r = u.byDistance(e, !m).distance;
1987
+ return m || Z(e) < T ? r : g && t ? r * .5 : u.byIndex(n.get(), 0).distance;
1988
+ }
1989
+ function R(e) {
1990
+ let t = ei(e, r);
1991
+ M = t, ne = m && t && !e.buttons && ee, ee = Gr(i.get(), o.get()) >= 2, !(t && e.button !== 0) && (F(e.target) || (A = !0, a.pointerDown(e), l.useFriction(0).useDuration(0), i.set(o), P(), k = a.readPoint(e), te = a.readPoint(e, y), f.emit("pointerDown")));
1992
+ }
1993
+ function z(e) {
1994
+ if (!ei(e, r) && e.touches.length >= 2) return B(e);
1995
+ let t = a.readPoint(e), n = a.readPoint(e, y), o = Gr(t, k), c = Gr(n, te);
1996
+ if (!j && !M && (!e.cancelable || (j = o > c, !j))) return B(e);
1997
+ let u = a.pointerMove(e);
1998
+ o > h && (ne = !0), l.useFriction(.3).useDuration(.75), s.start(), i.add(b(u)), e.preventDefault();
1999
+ }
2000
+ function B(e) {
2001
+ let t = u.byDistance(0, !1).index !== d.get(), n = a.pointerUp(e) * I(), r = L(b(n), t), i = Kr(n, r), o = O - 10 * i, s = _ + i / 50;
2002
+ j = !1, A = !1, w.clear(), l.useDuration(o).useFriction(s), c.distance(r, !m), M = !1, f.emit("pointerUp");
2003
+ }
2004
+ function V(e) {
2005
+ ne &&= (e.stopPropagation(), e.preventDefault(), !1);
2006
+ }
2007
+ function H() {
2008
+ return A;
2009
+ }
2010
+ return {
2011
+ init: re,
2012
+ destroy: N,
2013
+ pointerDown: H
2014
+ };
2015
+ }
2016
+ function si(e, t) {
2017
+ let n, r;
2018
+ function i(e) {
2019
+ return e.timeStamp;
2020
+ }
2021
+ function a(n, r) {
2022
+ let i = `client${(r || e.scroll) === "x" ? "X" : "Y"}`;
2023
+ return (ei(n, t) ? n : n.touches[0])[i];
2024
+ }
2025
+ function o(e) {
2026
+ return n = e, r = e, a(e);
2027
+ }
2028
+ function s(e) {
2029
+ let t = a(e) - a(r), o = i(e) - i(n) > 170;
2030
+ return r = e, o && (n = e), t;
2031
+ }
2032
+ function c(e) {
2033
+ if (!n || !r) return 0;
2034
+ let t = a(r) - a(n), o = i(e) - i(n), s = i(e) - i(r) > 170, c = t / o;
2035
+ return o && !s && Z(c) > .1 ? c : 0;
2036
+ }
2037
+ return {
2038
+ pointerDown: o,
2039
+ pointerMove: s,
2040
+ pointerUp: c,
2041
+ readPoint: a
2042
+ };
2043
+ }
2044
+ function ci() {
2045
+ function e(e) {
2046
+ let { offsetTop: t, offsetLeft: n, offsetWidth: r, offsetHeight: i } = e;
2047
+ return {
2048
+ top: t,
2049
+ right: n + r,
2050
+ bottom: t + i,
2051
+ left: n,
2052
+ width: r,
2053
+ height: i
2054
+ };
2055
+ }
2056
+ return { measure: e };
2057
+ }
2058
+ function li(e) {
2059
+ function t(t) {
2060
+ return t / 100 * e;
2061
+ }
2062
+ return { measure: t };
2063
+ }
2064
+ function ui(e, t, n, r, i, a, o) {
2065
+ let s = [e].concat(r), c, l, u = [], d = !1;
2066
+ function f(e) {
2067
+ return i.measureSize(o.measure(e));
2068
+ }
2069
+ function p(i) {
2070
+ if (!a) return;
2071
+ l = f(e), u = r.map(f);
2072
+ function o(n) {
2073
+ for (let a of n) {
2074
+ if (d) return;
2075
+ let n = a.target === e, o = r.indexOf(a.target), s = n ? l : u[o];
2076
+ if (Z(f(n ? e : r[o]) - s) >= .5) {
2077
+ i.reInit(), t.emit("resize");
2078
+ break;
2079
+ }
2080
+ }
2081
+ }
2082
+ c = new ResizeObserver((e) => {
2083
+ (Hr(a) || a(i, e)) && o(e);
2084
+ }), n.requestAnimationFrame(() => {
2085
+ s.forEach((e) => c.observe(e));
2086
+ });
2087
+ }
2088
+ function m() {
2089
+ d = !0, c && c.disconnect();
2090
+ }
2091
+ return {
2092
+ init: p,
2093
+ destroy: m
2094
+ };
2095
+ }
2096
+ function di(e, t, n, r, i, a) {
2097
+ let o = 0, s = 0, c = i, l = a, u = e.get(), d = 0;
2098
+ function f() {
2099
+ let t = r.get() - e.get(), i = !c, a = 0;
2100
+ return i ? (o = 0, n.set(r), e.set(r), a = t) : (n.set(e), o += t / c, o *= l, u += o, e.add(o), a = u - d), s = Wr(a), d = u, x;
2101
+ }
2102
+ function p() {
2103
+ return Z(r.get() - t.get()) < .001;
2104
+ }
2105
+ function m() {
2106
+ return c;
2107
+ }
2108
+ function h() {
2109
+ return s;
2110
+ }
2111
+ function g() {
2112
+ return o;
2113
+ }
2114
+ function _() {
2115
+ return y(i);
2116
+ }
2117
+ function v() {
2118
+ return b(a);
2119
+ }
2120
+ function y(e) {
2121
+ return c = e, x;
2122
+ }
2123
+ function b(e) {
2124
+ return l = e, x;
2125
+ }
2126
+ let x = {
2127
+ direction: h,
2128
+ duration: m,
2129
+ velocity: g,
2130
+ seek: f,
2131
+ settled: p,
2132
+ useBaseFriction: v,
2133
+ useBaseDuration: _,
2134
+ useFriction: b,
2135
+ useDuration: y
2136
+ };
2137
+ return x;
2138
+ }
2139
+ function fi(e, t, n, r, i) {
2140
+ let a = i.measure(10), o = i.measure(50), s = $(.1, .99), c = !1;
2141
+ function l() {
2142
+ return !(c || !e.reachedAny(n.get()) || !e.reachedAny(t.get()));
2143
+ }
2144
+ function u(i) {
2145
+ if (!l()) return;
2146
+ let c = Z(e[e.reachedMin(t.get()) ? "min" : "max"] - t.get()), u = n.get() - t.get(), d = s.constrain(c / o);
2147
+ n.subtract(u * d), !i && Z(u) < a && (n.set(e.constrain(n.get())), r.useDuration(25).useBaseFriction());
2148
+ }
2149
+ function d(e) {
2150
+ c = !e;
2151
+ }
2152
+ return {
2153
+ shouldConstrain: l,
2154
+ constrain: u,
2155
+ toggleActive: d
2156
+ };
2157
+ }
2158
+ function pi(e, t, n, r, i) {
2159
+ let a = $(-t + e, 0), o = d(), s = u(), c = f();
2160
+ function l(e, t) {
2161
+ return Gr(e, t) <= 1;
2162
+ }
2163
+ function u() {
2164
+ let e = o[0], t = Q(o);
2165
+ return $(o.lastIndexOf(e), o.indexOf(t) + 1);
2166
+ }
2167
+ function d() {
2168
+ return n.map((e, t) => {
2169
+ let { min: r, max: i } = a, o = a.constrain(e), s = !t, c = Xr(n, t);
2170
+ return s ? i : c || l(r, o) ? r : l(i, o) ? i : o;
2171
+ }).map((e) => parseFloat(e.toFixed(3)));
2172
+ }
2173
+ function f() {
2174
+ if (t <= e + i) return [a.max];
2175
+ if (r === "keepSnaps") return o;
2176
+ let { min: n, max: c } = s;
2177
+ return o.slice(n, c);
2178
+ }
2179
+ return {
2180
+ snapsContained: c,
2181
+ scrollContainLimit: s
2182
+ };
2183
+ }
2184
+ function mi(e, t, n) {
2185
+ let r = t[0];
2186
+ return { limit: $(n ? r - e : Q(t), r) };
2187
+ }
2188
+ function hi(e, t, n, r) {
2189
+ let i = .1, { reachedMin: a, reachedMax: o } = $(t.min + i, t.max + i);
2190
+ function s(e) {
2191
+ return e === 1 ? o(n.get()) : e === -1 ? a(n.get()) : !1;
2192
+ }
2193
+ function c(t) {
2194
+ if (!s(t)) return;
2195
+ let n = t * -1 * e;
2196
+ r.forEach((e) => e.add(n));
2197
+ }
2198
+ return { loop: c };
2199
+ }
2200
+ function gi(e) {
2201
+ let { max: t, length: n } = e;
2202
+ function r(e) {
2203
+ let r = e - t;
2204
+ return n ? r / -n : 0;
2205
+ }
2206
+ return { get: r };
2207
+ }
2208
+ function _i(e, t, n, r, i) {
2209
+ let { startEdge: a, endEdge: o } = e, { groupSlides: s } = i, c = d().map(t.measure), l = f(), u = p();
2210
+ function d() {
2211
+ return s(r).map((e) => Q(e)[o] - e[0][a]).map(Z);
2212
+ }
2213
+ function f() {
2214
+ return r.map((e) => n[a] - e[a]).map((e) => -Z(e));
2215
+ }
2216
+ function p() {
2217
+ return s(l).map((e) => e[0]).map((e, t) => e + c[t]);
2218
+ }
2219
+ return {
2220
+ snaps: l,
2221
+ snapsAligned: u
2222
+ };
2223
+ }
2224
+ function vi(e, t, n, r, i, a) {
2225
+ let { groupSlides: o } = i, { min: s, max: c } = r, l = u();
2226
+ function u() {
2227
+ let r = o(a), i = !e || t === "keepSnaps";
2228
+ return n.length === 1 ? [a] : i ? r : r.slice(s, c).map((e, t, n) => {
2229
+ let r = !t, i = Xr(n, t);
2230
+ return r ? Zr(Q(n[0]) + 1) : i ? Zr(Yr(a) - Q(n)[0] + 1, Q(n)[0]) : e;
2231
+ });
2232
+ }
2233
+ return { slideRegistry: l };
2234
+ }
2235
+ function yi(e, t, n, r, i) {
2236
+ let { reachedAny: a, removeOffset: o, constrain: s } = r;
2237
+ function c(e) {
2238
+ return e.concat().sort((e, t) => Z(e) - Z(t))[0];
2239
+ }
2240
+ function l(n) {
2241
+ let r = e ? o(n) : s(n), { index: i } = t.map((e, t) => ({
2242
+ diff: u(e - r, 0),
2243
+ index: t
2244
+ })).sort((e, t) => Z(e.diff) - Z(t.diff))[0];
2245
+ return {
2246
+ index: i,
2247
+ distance: r
2248
+ };
2249
+ }
2250
+ function u(t, r) {
2251
+ let i = [
2252
+ t,
2253
+ t + n,
2254
+ t - n
2255
+ ];
2256
+ if (!e) return t;
2257
+ if (!r) return c(i);
2258
+ let a = i.filter((e) => Wr(e) === r);
2259
+ return a.length ? c(a) : Q(i) - n;
2260
+ }
2261
+ function d(e, n) {
2262
+ return {
2263
+ index: e,
2264
+ distance: u(t[e] - i.get(), n)
2265
+ };
2266
+ }
2267
+ function f(n, r) {
2268
+ let o = i.get() + n, { index: s, distance: c } = l(o), d = !e && a(o);
2269
+ return !r || d ? {
2270
+ index: s,
2271
+ distance: n
2272
+ } : {
2273
+ index: s,
2274
+ distance: n + u(t[s] - c, 0)
2275
+ };
2276
+ }
2277
+ return {
2278
+ byDistance: f,
2279
+ byIndex: d,
2280
+ shortcut: u
2281
+ };
2282
+ }
2283
+ function bi(e, t, n, r, i, a, o) {
2284
+ function s(i) {
2285
+ let s = i.distance, c = i.index !== t.get();
2286
+ a.add(s), s && (r.duration() ? e.start() : (e.update(), e.render(1), e.update())), c && (n.set(t.get()), t.set(i.index), o.emit("select"));
2287
+ }
2288
+ function c(e, t) {
2289
+ s(i.byDistance(e, t));
2290
+ }
2291
+ function l(e, n) {
2292
+ let r = t.clone().set(e);
2293
+ s(i.byIndex(r.get(), n));
2294
+ }
2295
+ return {
2296
+ distance: c,
2297
+ index: l
2298
+ };
2299
+ }
2300
+ function xi(e, t, n, r, i, a, o, s) {
2301
+ let c = {
2302
+ passive: !0,
2303
+ capture: !0
2304
+ }, l = 0;
2305
+ function u(u) {
2306
+ if (!s) return;
2307
+ function f(t) {
2308
+ if ((/* @__PURE__ */ new Date()).getTime() - l > 10) return;
2309
+ o.emit("slideFocusStart"), e.scrollLeft = 0;
2310
+ let a = n.findIndex((e) => e.includes(t));
2311
+ Br(a) && (i.useDuration(0), r.index(a, 0), o.emit("slideFocus"));
2312
+ }
2313
+ a.add(document, "keydown", d, !1), t.forEach((e, t) => {
2314
+ a.add(e, "focus", (e) => {
2315
+ (Hr(s) || s(u, e)) && f(t);
2316
+ }, c);
2317
+ });
2318
+ }
2319
+ function d(e) {
2320
+ e.code === "Tab" && (l = (/* @__PURE__ */ new Date()).getTime());
2321
+ }
2322
+ return { init: u };
2323
+ }
2324
+ function Si(e) {
2325
+ let t = e;
2326
+ function n() {
2327
+ return t;
2328
+ }
2329
+ function r(e) {
2330
+ t = o(e);
2331
+ }
2332
+ function i(e) {
2333
+ t += o(e);
2334
+ }
2335
+ function a(e) {
2336
+ t -= o(e);
2337
+ }
2338
+ function o(e) {
2339
+ return Br(e) ? e : e.get();
2340
+ }
2341
+ return {
2342
+ get: n,
2343
+ set: r,
2344
+ add: i,
2345
+ subtract: a
2346
+ };
2347
+ }
2348
+ function Ci(e, t) {
2349
+ let n = e.scroll === "x" ? o : s, r = t.style, i = null, a = !1;
2350
+ function o(e) {
2351
+ return `translate3d(${e}px,0px,0px)`;
2352
+ }
2353
+ function s(e) {
2354
+ return `translate3d(0px,${e}px,0px)`;
2355
+ }
2356
+ function c(t) {
2357
+ if (a) return;
2358
+ let o = qr(e.direction(t));
2359
+ o !== i && (r.transform = n(o), i = o);
2360
+ }
2361
+ function l(e) {
2362
+ a = !e;
2363
+ }
2364
+ function u() {
2365
+ a || (r.transform = "", t.getAttribute("style") || t.removeAttribute("style"));
2366
+ }
2367
+ return {
2368
+ clear: u,
2369
+ to: c,
2370
+ toggleActive: l
2371
+ };
2372
+ }
2373
+ function wi(e, t, n, r, i, a, o, s, c) {
2374
+ let l = .5, u = Jr(i), d = Jr(i).reverse(), f = _().concat(v());
2375
+ function p(e, t) {
2376
+ return e.reduce((e, t) => e - i[t], t);
2377
+ }
2378
+ function m(e, t) {
2379
+ return e.reduce((e, n) => p(e, t) > 0 ? e.concat([n]) : e, []);
2380
+ }
2381
+ function h(e) {
2382
+ return a.map((n, i) => ({
2383
+ start: n - r[i] + l + e,
2384
+ end: n + t - l + e
2385
+ }));
2386
+ }
2387
+ function g(t, r, i) {
2388
+ let a = h(r);
2389
+ return t.map((t) => {
2390
+ let r = i ? 0 : -n, o = i ? n : 0, l = i ? "end" : "start", u = a[t][l];
2391
+ return {
2392
+ index: t,
2393
+ loopPoint: u,
2394
+ slideLocation: Si(-1),
2395
+ translate: Ci(e, c[t]),
2396
+ target: () => s.get() > u ? r : o
2397
+ };
2398
+ });
2399
+ }
2400
+ function _() {
2401
+ let e = o[0];
2402
+ return g(m(d, e), n, !1);
2403
+ }
2404
+ function v() {
2405
+ return g(m(u, t - o[0] - 1), -n, !0);
2406
+ }
2407
+ function y() {
2408
+ return f.every(({ index: e }) => p(u.filter((t) => t !== e), t) <= .1);
2409
+ }
2410
+ function b() {
2411
+ f.forEach((e) => {
2412
+ let { target: t, translate: n, slideLocation: r } = e, i = t();
2413
+ i !== r.get() && (n.to(i), r.set(i));
2414
+ });
2415
+ }
2416
+ function x() {
2417
+ f.forEach((e) => e.translate.clear());
2418
+ }
2419
+ return {
2420
+ canLoop: y,
2421
+ clear: x,
2422
+ loop: b,
2423
+ loopPoints: f
2424
+ };
2425
+ }
2426
+ function Ti(e, t, n) {
2427
+ let r, i = !1;
2428
+ function a(a) {
2429
+ if (!n) return;
2430
+ function o(e) {
2431
+ for (let n of e) if (n.type === "childList") {
2432
+ a.reInit(), t.emit("slidesChanged");
2433
+ break;
2434
+ }
2435
+ }
2436
+ r = new MutationObserver((e) => {
2437
+ i || (Hr(n) || n(a, e)) && o(e);
2438
+ }), r.observe(e, { childList: !0 });
2439
+ }
2440
+ function o() {
2441
+ r && r.disconnect(), i = !0;
2442
+ }
2443
+ return {
2444
+ init: a,
2445
+ destroy: o
2446
+ };
2447
+ }
2448
+ function Ei(e, t, n, r) {
2449
+ let i = {}, a = null, o = null, s, c = !1;
2450
+ function l() {
2451
+ s = new IntersectionObserver((e) => {
2452
+ c || (e.forEach((e) => {
2453
+ let n = t.indexOf(e.target);
2454
+ i[n] = e;
2455
+ }), a = null, o = null, n.emit("slidesInView"));
2456
+ }, {
2457
+ root: e.parentElement,
2458
+ threshold: r
2459
+ }), t.forEach((e) => s.observe(e));
2460
+ }
2461
+ function u() {
2462
+ s && s.disconnect(), c = !0;
2463
+ }
2464
+ function d(e) {
2465
+ return Qr(i).reduce((t, n) => {
2466
+ let r = parseInt(n), { isIntersecting: a } = i[r];
2467
+ return (e && a || !e && !a) && t.push(r), t;
2468
+ }, []);
2469
+ }
2470
+ function f(e = !0) {
2471
+ if (e && a) return a;
2472
+ if (!e && o) return o;
2473
+ let t = d(e);
2474
+ return e && (a = t), e || (o = t), t;
2475
+ }
2476
+ return {
2477
+ init: l,
2478
+ destroy: u,
2479
+ get: f
2480
+ };
2481
+ }
2482
+ function Di(e, t, n, r, i, a) {
2483
+ let { measureSize: o, startEdge: s, endEdge: c } = e, l = n[0] && i, u = m(), d = h(), f = n.map(o), p = g();
2484
+ function m() {
2485
+ if (!l) return 0;
2486
+ let e = n[0];
2487
+ return Z(t[s] - e[s]);
2488
+ }
2489
+ function h() {
2490
+ if (!l) return 0;
2491
+ let e = a.getComputedStyle(Q(r));
2492
+ return parseFloat(e.getPropertyValue(`margin-${c}`));
2493
+ }
2494
+ function g() {
2495
+ return n.map((e, t, n) => {
2496
+ let r = !t, i = Xr(n, t);
2497
+ return r ? f[t] + u : i ? f[t] + d : n[t + 1][s] - e[s];
2498
+ }).map(Z);
2499
+ }
2500
+ return {
2501
+ slideSizes: f,
2502
+ slideSizesWithGaps: p,
2503
+ startGap: u,
2504
+ endGap: d
2505
+ };
2506
+ }
2507
+ function Oi(e, t, n, r, i, a, o, s, c) {
2508
+ let { startEdge: l, endEdge: u, direction: d } = e, f = Br(n);
2509
+ function p(e, t) {
2510
+ return Jr(e).filter((e) => e % t === 0).map((n) => e.slice(n, n + t));
2511
+ }
2512
+ function m(e) {
2513
+ return e.length ? Jr(e).reduce((n, f, p) => {
2514
+ let m = Q(n) || 0, h = m === 0, g = f === Yr(e), _ = i[l] - a[m][l], v = i[l] - a[f][u], y = !r && h ? d(o) : 0, b = Z(v - (!r && g ? d(s) : 0) - (_ + y));
2515
+ return p && b > t + c && n.push(f), g && n.push(e.length), n;
2516
+ }, []).map((t, n, r) => {
2517
+ let i = Math.max(r[n - 1] || 0);
2518
+ return e.slice(i, t);
2519
+ }) : [];
2520
+ }
2521
+ function h(e) {
2522
+ return f ? p(e, n) : m(e);
2523
+ }
2524
+ return { groupSlides: h };
2525
+ }
2526
+ function ki(e, t, n, r, i, a, o) {
2527
+ let { align: s, axis: c, direction: l, startIndex: u, loop: d, duration: f, dragFree: p, dragThreshold: m, inViewThreshold: h, slidesToScroll: g, skipSnaps: _, containScroll: v, watchResize: y, watchSlides: b, watchDrag: x, watchFocus: S } = a, C = ci(), w = C.measure(t), T = n.map(C.measure), E = ii(c, l), D = E.measureSize(w), O = li(D), ee = ti(s, D), k = !d && !!v, { slideSizes: te, slideSizesWithGaps: A, startGap: j, endGap: ne } = Di(E, w, T, n, d || !!v, i), M = Oi(E, D, g, d, w, T, j, ne, 2), { snaps: re, snapsAligned: N } = _i(E, ee, w, T, M), P = -Q(re) + Q(A), { snapsContained: F, scrollContainLimit: I } = pi(D, P, N, v, 2), L = k ? F : N, { limit: R } = mi(P, L, d), z = ai(Yr(L), u, d), B = z.clone(), V = Jr(n), H = ({ dragHandler: e, scrollBody: t, scrollBounds: n, options: { loop: r } }) => {
2528
+ r || n.constrain(e.pointerDown()), t.seek();
2529
+ }, ie = ({ scrollBody: e, translate: t, location: n, offsetLocation: r, previousLocation: i, scrollLooper: a, slideLooper: o, dragHandler: s, animation: c, eventHandler: l, scrollBounds: u, options: { loop: d } }, f) => {
2530
+ let p = e.settled(), m = !u.shouldConstrain(), h = d ? p : p && m, g = h && !s.pointerDown();
2531
+ g && c.stop();
2532
+ let _ = n.get() * f + i.get() * (1 - f);
2533
+ r.set(_), d && (a.loop(e.direction()), o.loop()), t.to(r.get()), g && l.emit("settle"), h || l.emit("scroll");
2534
+ }, ae = ri(r, i, () => H(me), (e) => ie(me, e)), oe = .68, U = L[z.get()], W = Si(U), se = Si(U), G = Si(U), K = Si(U), q = di(W, G, se, K, f, oe), ce = yi(d, L, P, R, K), J = bi(ae, z, B, q, ce, K, o), le = gi(R), ue = ni(), de = Ei(t, n, o, h), { slideRegistry: fe } = vi(k, v, L, I, M, V), pe = xi(e, n, fe, J, q, ue, o, S), me = {
2535
+ ownerDocument: r,
2536
+ ownerWindow: i,
2537
+ eventHandler: o,
2538
+ containerRect: w,
2539
+ slideRects: T,
2540
+ animation: ae,
2541
+ axis: E,
2542
+ dragHandler: oi(E, e, r, i, K, si(E, i), W, ae, J, q, ce, z, o, O, p, m, _, oe, x),
2543
+ eventStore: ue,
2544
+ percentOfView: O,
2545
+ index: z,
2546
+ indexPrevious: B,
2547
+ limit: R,
2548
+ location: W,
2549
+ offsetLocation: G,
2550
+ previousLocation: se,
2551
+ options: a,
2552
+ resizeHandler: ui(t, o, i, n, E, y, C),
2553
+ scrollBody: q,
2554
+ scrollBounds: fi(R, G, K, q, O),
2555
+ scrollLooper: hi(P, R, G, [
2556
+ W,
2557
+ G,
2558
+ se,
2559
+ K
2560
+ ]),
2561
+ scrollProgress: le,
2562
+ scrollSnapList: L.map(le.get),
2563
+ scrollSnaps: L,
2564
+ scrollTarget: ce,
2565
+ scrollTo: J,
2566
+ slideLooper: wi(E, D, P, te, A, re, L, G, n),
2567
+ slideFocus: pe,
2568
+ slidesHandler: Ti(t, o, b),
2569
+ slidesInView: de,
2570
+ slideIndexes: V,
2571
+ slideRegistry: fe,
2572
+ slidesToScroll: M,
2573
+ target: K,
2574
+ translate: Ci(E, t)
2575
+ };
2576
+ return me;
2577
+ }
2578
+ function Ai() {
2579
+ let e = {}, t;
2580
+ function n(e) {
2581
+ t = e;
2582
+ }
2583
+ function r(t) {
2584
+ return e[t] || [];
2585
+ }
2586
+ function i(e) {
2587
+ return r(e).forEach((n) => n(t, e)), c;
2588
+ }
2589
+ function a(t, n) {
2590
+ return e[t] = r(t).concat([n]), c;
2591
+ }
2592
+ function o(t, n) {
2593
+ return e[t] = r(t).filter((e) => e !== n), c;
2594
+ }
2595
+ function s() {
2596
+ e = {};
2597
+ }
2598
+ let c = {
2599
+ init: n,
2600
+ emit: i,
2601
+ off: o,
2602
+ on: a,
2603
+ clear: s
2604
+ };
2605
+ return c;
2606
+ }
2607
+ var ji = {
2608
+ align: "center",
2609
+ axis: "x",
2610
+ container: null,
2611
+ slides: null,
2612
+ containScroll: "trimSnaps",
2613
+ direction: "ltr",
2614
+ slidesToScroll: 1,
2615
+ inViewThreshold: 0,
2616
+ breakpoints: {},
2617
+ dragFree: !1,
2618
+ dragThreshold: 10,
2619
+ loop: !1,
2620
+ skipSnaps: !1,
2621
+ duration: 25,
2622
+ startIndex: 0,
2623
+ active: !0,
2624
+ watchDrag: !0,
2625
+ watchResize: !0,
2626
+ watchSlides: !0,
2627
+ watchFocus: !0
2628
+ };
2629
+ function Mi(e) {
2630
+ function t(e, t) {
2631
+ return $r(e, t || {});
2632
+ }
2633
+ function n(n) {
2634
+ let r = n.breakpoints || {};
2635
+ return t(n, Qr(r).filter((t) => e.matchMedia(t).matches).map((e) => r[e]).reduce((e, n) => t(e, n), {}));
2636
+ }
2637
+ function r(t) {
2638
+ return t.map((e) => Qr(e.breakpoints || {})).reduce((e, t) => e.concat(t), []).map(e.matchMedia);
2639
+ }
2640
+ return {
2641
+ mergeOptions: t,
2642
+ optionsAtMedia: n,
2643
+ optionsMediaQueries: r
2644
+ };
2645
+ }
2646
+ function Ni(e) {
2647
+ let t = [];
2648
+ function n(n, r) {
2649
+ return t = r.filter(({ options: t }) => e.optionsAtMedia(t).active !== !1), t.forEach((t) => t.init(n, e)), r.reduce((e, t) => Object.assign(e, { [t.name]: t }), {});
2650
+ }
2651
+ function r() {
2652
+ t = t.filter((e) => e.destroy());
2653
+ }
2654
+ return {
2655
+ init: n,
2656
+ destroy: r
2657
+ };
2658
+ }
2659
+ function Pi(e, t, n) {
2660
+ let r = e.ownerDocument, i = r.defaultView, a = Mi(i), o = Ni(a), s = ni(), c = Ai(), { mergeOptions: l, optionsAtMedia: u, optionsMediaQueries: d } = a, { on: f, off: p, emit: m } = c, h = D, g = !1, _, v = l(ji, Pi.globalOptions), y = l(v), b = [], x, S, C;
2661
+ function w() {
2662
+ let { container: t, slides: n } = y;
2663
+ S = (Vr(t) ? e.querySelector(t) : t) || e.children[0];
2664
+ let r = Vr(n) ? S.querySelectorAll(n) : n;
2665
+ C = [].slice.call(r || S.children);
2666
+ }
2667
+ function T(t) {
2668
+ let n = ki(e, S, C, r, i, t, c);
2669
+ return t.loop && !n.slideLooper.canLoop() ? T(Object.assign({}, t, { loop: !1 })) : n;
2670
+ }
2671
+ function E(e, t) {
2672
+ g || (v = l(v, e), y = u(v), b = t || b, w(), _ = T(y), d([v, ...b.map(({ options: e }) => e)]).forEach((e) => s.add(e, "change", D)), y.active && (_.translate.to(_.location.get()), _.animation.init(), _.slidesInView.init(), _.slideFocus.init(H), _.eventHandler.init(H), _.resizeHandler.init(H), _.slidesHandler.init(H), _.options.loop && _.slideLooper.loop(), S.offsetParent && C.length && _.dragHandler.init(H), x = o.init(H, b)));
2673
+ }
2674
+ function D(e, t) {
2675
+ let n = N();
2676
+ O(), E(l({ startIndex: n }, e), t), c.emit("reInit");
2677
+ }
2678
+ function O() {
2679
+ _.dragHandler.destroy(), _.eventStore.clear(), _.translate.clear(), _.slideLooper.clear(), _.resizeHandler.destroy(), _.slidesHandler.destroy(), _.slidesInView.destroy(), _.animation.destroy(), o.destroy(), s.clear();
2680
+ }
2681
+ function ee() {
2682
+ g || (g = !0, s.clear(), O(), c.emit("destroy"), c.clear());
2683
+ }
2684
+ function k(e, t, n) {
2685
+ !y.active || g || (_.scrollBody.useBaseFriction().useDuration(t === !0 ? 0 : y.duration), _.scrollTo.index(e, n || 0));
2686
+ }
2687
+ function te(e) {
2688
+ k(_.index.add(1).get(), e, -1);
2689
+ }
2690
+ function A(e) {
2691
+ k(_.index.add(-1).get(), e, 1);
2692
+ }
2693
+ function j() {
2694
+ return _.index.add(1).get() !== N();
2695
+ }
2696
+ function ne() {
2697
+ return _.index.add(-1).get() !== N();
2698
+ }
2699
+ function M() {
2700
+ return _.scrollSnapList;
2701
+ }
2702
+ function re() {
2703
+ return _.scrollProgress.get(_.offsetLocation.get());
2704
+ }
2705
+ function N() {
2706
+ return _.index.get();
2707
+ }
2708
+ function P() {
2709
+ return _.indexPrevious.get();
2710
+ }
2711
+ function F() {
2712
+ return _.slidesInView.get();
2713
+ }
2714
+ function I() {
2715
+ return _.slidesInView.get(!1);
2716
+ }
2717
+ function L() {
2718
+ return x;
2719
+ }
2720
+ function R() {
2721
+ return _;
2722
+ }
2723
+ function z() {
2724
+ return e;
2725
+ }
2726
+ function B() {
2727
+ return S;
2728
+ }
2729
+ function V() {
2730
+ return C;
2731
+ }
2732
+ let H = {
2733
+ canScrollNext: j,
2734
+ canScrollPrev: ne,
2735
+ containerNode: B,
2736
+ internalEngine: R,
2737
+ destroy: ee,
2738
+ off: p,
2739
+ on: f,
2740
+ emit: m,
2741
+ plugins: L,
2742
+ previousScrollSnap: P,
2743
+ reInit: h,
2744
+ rootNode: z,
2745
+ scrollNext: te,
2746
+ scrollPrev: A,
2747
+ scrollProgress: re,
2748
+ scrollSnapList: M,
2749
+ scrollTo: k,
2750
+ selectedScrollSnap: N,
2751
+ slideNodes: V,
2752
+ slidesInView: F,
2753
+ slidesNotInView: I
2754
+ };
2755
+ return E(t, n), setTimeout(() => c.emit("init"), 0), H;
2756
+ }
2757
+ Pi.globalOptions = void 0;
2758
+ //#endregion
2759
+ //#region node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js
2760
+ function Fi(e = {}, t = []) {
2761
+ let r = a(e), s = a(t), [c, l] = o(), [u, d] = o(), f = n(() => {
2762
+ c && c.reInit(r.current, s.current);
2763
+ }, [c]);
2764
+ return i(() => {
2765
+ Lr(r.current, e) || (r.current = e, f());
2766
+ }, [e, f]), i(() => {
2767
+ zr(s.current, t) || (s.current = t, f());
2768
+ }, [t, f]), i(() => {
2769
+ if (Ir() && u) {
2770
+ Pi.globalOptions = Fi.globalOptions;
2771
+ let e = Pi(u, r.current, s.current);
2772
+ return l(e), () => e.destroy();
2773
+ } else l(void 0);
2774
+ }, [u, l]), [d, c];
2775
+ }
2776
+ Fi.globalOptions = void 0;
2777
+ //#endregion
2778
+ //#region src/components/ui/carousel.tsx
2779
+ var Ii = e.createContext(null);
2780
+ function Li() {
2781
+ let t = e.useContext(Ii);
2782
+ if (!t) throw Error("useCarousel must be used within a <Carousel />");
2783
+ return t;
2784
+ }
2785
+ function Ri({ orientation: t = "horizontal", opts: n, setApi: r, plugins: i, className: a, children: o, ...s }) {
2786
+ let [c, l] = Fi({
2787
+ ...n,
2788
+ axis: t === "horizontal" ? "x" : "y"
2789
+ }, i), [d, f] = e.useState(!1), [p, m] = e.useState(!1), h = e.useCallback((e) => {
2790
+ e && (f(e.canScrollPrev()), m(e.canScrollNext()));
2791
+ }, []), g = e.useCallback(() => {
2792
+ l?.scrollPrev();
2793
+ }, [l]), _ = e.useCallback(() => {
2794
+ l?.scrollNext();
2795
+ }, [l]), v = e.useCallback((e) => {
2796
+ e.key === "ArrowLeft" ? (e.preventDefault(), g()) : e.key === "ArrowRight" && (e.preventDefault(), _());
2797
+ }, [g, _]);
2798
+ return e.useEffect(() => {
2799
+ !l || !r || r(l);
2800
+ }, [l, r]), e.useEffect(() => {
2801
+ if (l) return h(l), l.on("reInit", h), l.on("select", h), () => {
2802
+ l?.off("select", h);
2803
+ };
2804
+ }, [l, h]), /* @__PURE__ */ u(Ii.Provider, {
2805
+ value: {
2806
+ carouselRef: c,
2807
+ api: l,
2808
+ opts: n,
2809
+ orientation: t || (n?.axis === "y" ? "vertical" : "horizontal"),
2810
+ scrollPrev: g,
2811
+ scrollNext: _,
2812
+ canScrollPrev: d,
2813
+ canScrollNext: p
2814
+ },
2815
+ children: /* @__PURE__ */ u("div", {
2816
+ onKeyDownCapture: v,
2817
+ className: J("relative", a),
2818
+ role: "region",
2819
+ "aria-roledescription": "carousel",
2820
+ "data-slot": "carousel",
2821
+ ...s,
2822
+ children: o
2823
+ })
2824
+ });
2825
+ }
2826
+ function zi({ className: e, ...t }) {
2827
+ let { carouselRef: n, orientation: r } = Li();
2828
+ return /* @__PURE__ */ u("div", {
2829
+ ref: n,
2830
+ className: "overflow-hidden",
2831
+ "data-slot": "carousel-content",
2832
+ children: /* @__PURE__ */ u("div", {
2833
+ className: J("flex", r === "horizontal" ? "-ml-4" : "-mt-4 flex-col", e),
2834
+ ...t
2835
+ })
2836
+ });
2837
+ }
2838
+ function Bi({ className: e, ...t }) {
2839
+ let { orientation: n } = Li();
2840
+ return /* @__PURE__ */ u("div", {
2841
+ role: "group",
2842
+ "aria-roledescription": "slide",
2843
+ "data-slot": "carousel-item",
2844
+ className: J("min-w-0 shrink-0 grow-0 basis-full", n === "horizontal" ? "pl-4" : "pt-4", e),
2845
+ ...t
2846
+ });
2847
+ }
2848
+ function Vi({ className: e, variant: t = "outline", size: n = "icon-sm", ...r }) {
2849
+ let { orientation: i, scrollPrev: a, canScrollPrev: o } = Li();
2850
+ return /* @__PURE__ */ d(Y, {
2851
+ "data-slot": "carousel-previous",
2852
+ variant: t,
2853
+ size: n,
2854
+ className: J("absolute touch-manipulation rounded-full", i === "horizontal" ? "top-1/2 -left-12 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90", e),
2855
+ disabled: !o,
2856
+ onClick: a,
2857
+ ...r,
2858
+ children: [/* @__PURE__ */ u(b, {}), /* @__PURE__ */ u("span", {
2859
+ className: "sr-only",
2860
+ children: "Previous slide"
2861
+ })]
2862
+ });
2863
+ }
2864
+ function Hi({ className: e, variant: t = "outline", size: n = "icon-sm", ...r }) {
2865
+ let { orientation: i, scrollNext: a, canScrollNext: o } = Li();
2866
+ return /* @__PURE__ */ d(Y, {
2867
+ "data-slot": "carousel-next",
2868
+ variant: t,
2869
+ size: n,
2870
+ className: J("absolute touch-manipulation rounded-full", i === "horizontal" ? "top-1/2 -right-12 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90", e),
2871
+ disabled: !o,
2872
+ onClick: a,
2873
+ ...r,
2874
+ children: [/* @__PURE__ */ u(x, {}), /* @__PURE__ */ u("span", {
2875
+ className: "sr-only",
2876
+ children: "Next slide"
2877
+ })]
2878
+ });
2879
+ }
2880
+ //#endregion
2881
+ //#region src/components/ui/GlobalLoader.tsx
2882
+ function Ui({ message: e = "Loading..." }) {
2883
+ let t = a(null), n = a(null), r = a(null), o = a(null), s = a(null), c = a(null), l = a(null), f = a(null), p = a(null), m = a(null), h = a(null);
2884
+ i(() => {
2885
+ let e = G.context(() => {
2886
+ let e = G.timeline({ defaults: { ease: "power3.out" } });
2887
+ e.fromTo(t.current, { opacity: 0 }, {
2888
+ opacity: 1,
2889
+ duration: .1
2890
+ }, 0), e.fromTo(n.current, {
2891
+ strokeDashoffset: 314,
2892
+ opacity: 0
2893
+ }, {
2894
+ strokeDashoffset: 0,
2895
+ opacity: 1,
2896
+ duration: .9,
2897
+ ease: "expo.inOut"
2898
+ }, .1), e.fromTo(r.current, {
2899
+ strokeDashoffset: 226,
2900
+ opacity: 0
2901
+ }, {
2902
+ strokeDashoffset: 0,
2903
+ opacity: .3,
2904
+ duration: .75,
2905
+ ease: "expo.inOut"
2906
+ }, .25), e.fromTo(o.current, {
2907
+ strokeDashoffset: 138,
2908
+ opacity: 0
2909
+ }, {
2910
+ strokeDashoffset: 0,
2911
+ opacity: .15,
2912
+ duration: .6,
2913
+ ease: "expo.inOut"
2914
+ }, .38), e.fromTo(s.current.children, {
2915
+ opacity: 0,
2916
+ scale: 0,
2917
+ transformOrigin: "center"
2918
+ }, {
2919
+ opacity: 1,
2920
+ scale: 1,
2921
+ duration: .3,
2922
+ stagger: .04,
2923
+ ease: "back.out(2)"
2924
+ }, .55), e.fromTo(m.current.children, {
2925
+ scale: 0,
2926
+ opacity: 0,
2927
+ transformOrigin: "center"
2928
+ }, {
2929
+ scale: 1,
2930
+ opacity: 1,
2931
+ duration: .6,
2932
+ stagger: .06,
2933
+ ease: "back.out(1.7)"
2934
+ }, .65), e.fromTo(h.current.children, {
2935
+ scale: 0,
2936
+ opacity: 0,
2937
+ transformOrigin: "center"
2938
+ }, {
2939
+ scale: 1,
2940
+ opacity: 1,
2941
+ duration: .4,
2942
+ stagger: .04
2943
+ }, .8), e.fromTo(c.current, {
2944
+ opacity: 0,
2945
+ y: 8
2946
+ }, {
2947
+ opacity: 1,
2948
+ y: 0,
2949
+ duration: .4
2950
+ }, .75), e.fromTo(l.current, {
2951
+ scaleX: 0,
2952
+ transformOrigin: "left center"
2953
+ }, {
2954
+ scaleX: 1,
2955
+ duration: .55,
2956
+ ease: "power2.inOut"
2957
+ }, .8), G.to(n.current, {
2958
+ rotation: 360,
2959
+ transformOrigin: "60px 60px",
2960
+ duration: 9,
2961
+ repeat: -1,
2962
+ ease: "none",
2963
+ delay: 1
2964
+ }), G.to(r.current, {
2965
+ rotation: -360,
2966
+ transformOrigin: "60px 60px",
2967
+ duration: 14,
2968
+ repeat: -1,
2969
+ ease: "none",
2970
+ delay: 1
2971
+ }), G.to(p.current, {
2972
+ rotation: 360,
2973
+ transformOrigin: "25px 25px",
2974
+ duration: 20,
2975
+ repeat: -1,
2976
+ ease: "none",
2977
+ delay: 1
2978
+ }), Array.from(m.current.children).forEach((e, t) => {
2979
+ G.to(e, {
2980
+ y: t % 2 == 0 ? -3 : 3,
2981
+ duration: 1.5 + t * .2,
2982
+ repeat: -1,
2983
+ yoyo: !0,
2984
+ ease: "sine.inOut"
2985
+ });
2986
+ }), G.to(f.current, {
2987
+ y: "100vh",
2988
+ duration: 2.8,
2989
+ repeat: -1,
2990
+ ease: "none",
2991
+ delay: .5
2992
+ }), G.to(l.current, {
2993
+ opacity: .35,
2994
+ duration: 1.1,
2995
+ repeat: -1,
2996
+ yoyo: !0,
2997
+ ease: "sine.inOut",
2998
+ delay: 1.4
2999
+ });
3000
+ }, t);
3001
+ return () => e.revert();
3002
+ }, []);
3003
+ let g = Array.from({ length: 12 }).map((e, t) => {
3004
+ let n = t / 12 * Math.PI * 2 - Math.PI / 2, r = t % 3 == 0 ? 54 : 50;
3005
+ return {
3006
+ x1: 60 + Math.cos(n) * 46,
3007
+ y1: 60 + Math.sin(n) * 46,
3008
+ x2: 60 + Math.cos(n) * r,
3009
+ y2: 60 + Math.sin(n) * r,
3010
+ major: t % 3 == 0
3011
+ };
3012
+ });
3013
+ return /* @__PURE__ */ d("div", {
3014
+ ref: t,
3015
+ style: {
3016
+ position: "fixed",
3017
+ inset: 0,
3018
+ zIndex: 9999,
3019
+ display: "flex",
3020
+ flexDirection: "column",
3021
+ alignItems: "center",
3022
+ justifyContent: "center",
3023
+ gap: "32px",
3024
+ background: "#09090b",
3025
+ opacity: 0,
3026
+ overflow: "hidden"
3027
+ },
3028
+ children: [
3029
+ /* @__PURE__ */ u("div", {
3030
+ ref: f,
3031
+ style: {
3032
+ position: "absolute",
3033
+ top: "-2px",
3034
+ left: 0,
3035
+ right: 0,
3036
+ height: "2px",
3037
+ background: "linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.03) 40%, rgba(255, 255, 255, 0.08) 50%, rgba(255, 255, 255, 0.03) 60%, transparent 100%)",
3038
+ pointerEvents: "none"
3039
+ }
3040
+ }),
3041
+ /* @__PURE__ */ u("div", { style: {
3042
+ position: "absolute",
3043
+ inset: 0,
3044
+ backgroundImage: "\n linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),\n linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px)\n ",
3045
+ backgroundSize: "48px 48px",
3046
+ maskImage: "radial-gradient(ellipse 60% 60% at 50% 50%, black 30%, transparent 100%)",
3047
+ WebkitMaskImage: "radial-gradient(ellipse 60% 60% at 50% 50%, black 30%, transparent 100%)",
3048
+ pointerEvents: "none",
3049
+ opacity: .3
3050
+ } }),
3051
+ /* @__PURE__ */ u("div", {
3052
+ style: { position: "relative" },
3053
+ children: /* @__PURE__ */ d("svg", {
3054
+ width: "120",
3055
+ height: "120",
3056
+ viewBox: "0 0 120 120",
3057
+ fill: "none",
3058
+ xmlns: "http://www.w3.org/2000/svg",
3059
+ style: { overflow: "visible" },
3060
+ children: [
3061
+ /* @__PURE__ */ u("circle", {
3062
+ ref: n,
3063
+ cx: "60",
3064
+ cy: "60",
3065
+ r: "50",
3066
+ stroke: "#f4f4f5",
3067
+ strokeWidth: "0.75",
3068
+ strokeDasharray: "314",
3069
+ strokeDashoffset: "314",
3070
+ strokeLinecap: "round",
3071
+ fill: "none",
3072
+ opacity: "0"
3073
+ }),
3074
+ /* @__PURE__ */ u("circle", {
3075
+ ref: r,
3076
+ cx: "60",
3077
+ cy: "60",
3078
+ r: "36",
3079
+ stroke: "#f4f4f5",
3080
+ strokeWidth: "0.5",
3081
+ strokeDasharray: "226",
3082
+ strokeDashoffset: "226",
3083
+ strokeLinecap: "round",
3084
+ fill: "none",
3085
+ opacity: "0"
3086
+ }),
3087
+ /* @__PURE__ */ u("circle", {
3088
+ ref: o,
3089
+ cx: "60",
3090
+ cy: "60",
3091
+ r: "22",
3092
+ stroke: "#f4f4f5",
3093
+ strokeWidth: "0.5",
3094
+ strokeDasharray: "138",
3095
+ strokeDashoffset: "138",
3096
+ fill: "none",
3097
+ opacity: "0"
3098
+ }),
3099
+ /* @__PURE__ */ u("g", {
3100
+ ref: s,
3101
+ children: g.map((e, t) => /* @__PURE__ */ u("line", {
3102
+ x1: e.x1,
3103
+ y1: e.y1,
3104
+ x2: e.x2,
3105
+ y2: e.y2,
3106
+ stroke: "#f4f4f5",
3107
+ strokeWidth: e.major ? 1.5 : .75,
3108
+ strokeLinecap: "round",
3109
+ opacity: e.major ? .9 : .4
3110
+ }, t))
3111
+ }),
3112
+ /* @__PURE__ */ u("g", {
3113
+ transform: "translate(35, 35) scale(0.83)",
3114
+ children: /* @__PURE__ */ d("g", {
3115
+ ref: p,
3116
+ children: [/* @__PURE__ */ d("g", {
3117
+ ref: h,
3118
+ stroke: "#52525b",
3119
+ strokeWidth: "2",
3120
+ strokeLinecap: "round",
3121
+ children: [
3122
+ /* @__PURE__ */ u("line", {
3123
+ x1: "25",
3124
+ y1: "38",
3125
+ x2: "10",
3126
+ y2: "15"
3127
+ }),
3128
+ /* @__PURE__ */ u("line", {
3129
+ x1: "38",
3130
+ y1: "42",
3131
+ x2: "58",
3132
+ y2: "30"
3133
+ }),
3134
+ /* @__PURE__ */ u("line", {
3135
+ x1: "32",
3136
+ y1: "55",
3137
+ x2: "25",
3138
+ y2: "68"
3139
+ }),
3140
+ /* @__PURE__ */ u("line", {
3141
+ x1: "58",
3142
+ y1: "30",
3143
+ x2: "62",
3144
+ y2: "12"
3145
+ }),
3146
+ /* @__PURE__ */ u("line", {
3147
+ x1: "60",
3148
+ y1: "35",
3149
+ x2: "55",
3150
+ y2: "48"
3151
+ })
3152
+ ]
3153
+ }), /* @__PURE__ */ d("g", {
3154
+ ref: m,
3155
+ fill: "#fafafa",
3156
+ children: [
3157
+ /* @__PURE__ */ u("circle", {
3158
+ cx: "32",
3159
+ cy: "45",
3160
+ r: "10"
3161
+ }),
3162
+ /* @__PURE__ */ u("circle", {
3163
+ cx: "8",
3164
+ cy: "12",
3165
+ r: "8"
3166
+ }),
3167
+ /* @__PURE__ */ u("circle", {
3168
+ cx: "60",
3169
+ cy: "30",
3170
+ r: "6"
3171
+ }),
3172
+ /* @__PURE__ */ u("circle", {
3173
+ cx: "22",
3174
+ cy: "72",
3175
+ r: "5"
3176
+ }),
3177
+ /* @__PURE__ */ u("circle", {
3178
+ cx: "65",
3179
+ cy: "8",
3180
+ r: "3"
3181
+ }),
3182
+ /* @__PURE__ */ u("circle", {
3183
+ cx: "55",
3184
+ cy: "52",
3185
+ r: "3"
3186
+ })
3187
+ ]
3188
+ })]
3189
+ })
3190
+ })
3191
+ ]
3192
+ })
3193
+ }),
3194
+ /* @__PURE__ */ d("div", {
3195
+ style: {
3196
+ display: "flex",
3197
+ flexDirection: "column",
3198
+ alignItems: "center",
3199
+ gap: "14px"
3200
+ },
3201
+ children: [/* @__PURE__ */ u("p", {
3202
+ ref: c,
3203
+ style: {
3204
+ margin: 0,
3205
+ opacity: 0,
3206
+ fontFamily: "monospace",
3207
+ fontSize: "11px",
3208
+ fontWeight: 500,
3209
+ letterSpacing: "0.22em",
3210
+ textTransform: "uppercase",
3211
+ color: "#a1a1aa"
3212
+ },
3213
+ children: e
3214
+ }), /* @__PURE__ */ u("div", {
3215
+ style: {
3216
+ width: "96px",
3217
+ height: "1px",
3218
+ background: "#27272a",
3219
+ overflow: "hidden"
3220
+ },
3221
+ children: /* @__PURE__ */ u("div", {
3222
+ ref: l,
3223
+ style: {
3224
+ width: "100%",
3225
+ height: "100%",
3226
+ background: "#fafafa",
3227
+ transformOrigin: "left center",
3228
+ transform: "scaleX(0)"
3229
+ }
3230
+ })
3231
+ })]
3232
+ })
3233
+ ]
3234
+ });
3235
+ }
3236
+ //#endregion
3237
+ //#region src/components/ui/global-err.tsx
3238
+ function Wi() {
3239
+ let e = a(null), t = a(null);
3240
+ return i(() => {
3241
+ !e.current || !t.current || (se.to(e.current, {
3242
+ opacity: .3,
3243
+ scale: 1.06,
3244
+ duration: 2.8,
3245
+ ease: "sine.inOut",
3246
+ repeat: -1,
3247
+ yoyo: !0,
3248
+ transformOrigin: "center"
3249
+ }), se.to(t.current, {
3250
+ y: -3,
3251
+ duration: 3.4,
3252
+ ease: "sine.inOut",
3253
+ repeat: -1,
3254
+ yoyo: !0
3255
+ }));
3256
+ }, []), /* @__PURE__ */ d(q.svg, {
3257
+ viewBox: "0 0 80 80",
3258
+ width: 72,
3259
+ height: 72,
3260
+ initial: {
3261
+ opacity: 0,
3262
+ y: 8
3263
+ },
3264
+ animate: {
3265
+ opacity: 1,
3266
+ y: 0
3267
+ },
3268
+ transition: {
3269
+ duration: .6,
3270
+ ease: [
3271
+ .16,
3272
+ 1,
3273
+ .3,
3274
+ 1
3275
+ ]
3276
+ },
3277
+ children: [
3278
+ /* @__PURE__ */ u("circle", {
3279
+ ref: e,
3280
+ cx: "40",
3281
+ cy: "40",
3282
+ r: "37",
3283
+ fill: "none",
3284
+ stroke: "#e05a5a",
3285
+ strokeWidth: "1",
3286
+ opacity: "0.55"
3287
+ }),
3288
+ /* @__PURE__ */ u("circle", {
3289
+ cx: "40",
3290
+ cy: "40",
3291
+ r: "28",
3292
+ fill: "rgba(224,90,90,0.07)",
3293
+ stroke: "#e05a5a",
3294
+ strokeWidth: "1.2"
3295
+ }),
3296
+ /* @__PURE__ */ d("g", {
3297
+ ref: t,
3298
+ children: [/* @__PURE__ */ u("rect", {
3299
+ x: "38.5",
3300
+ y: "24",
3301
+ width: "3",
3302
+ height: "17",
3303
+ rx: "1.5",
3304
+ fill: "#e05a5a",
3305
+ opacity: "0.85"
3306
+ }), /* @__PURE__ */ u("circle", {
3307
+ cx: "40",
3308
+ cy: "49.5",
3309
+ r: "2",
3310
+ fill: "#e05a5a",
3311
+ opacity: "0.85"
3312
+ })]
3313
+ })
3314
+ ]
3315
+ });
3316
+ }
3317
+ function Gi({ error: e, reset: t }) {
3318
+ let [n, r] = o(!1), i = async () => {
3319
+ !t || n || (r(!0), await new Promise((e) => setTimeout(e, 800)), t(), r(!1));
3320
+ }, a = {
3321
+ hidden: {},
3322
+ visible: { transition: {
3323
+ staggerChildren: .08,
3324
+ delayChildren: .15
3325
+ } }
3326
+ }, s = {
3327
+ hidden: {
3328
+ opacity: 0,
3329
+ y: 10
3330
+ },
3331
+ visible: {
3332
+ opacity: 1,
3333
+ y: 0,
3334
+ transition: {
3335
+ duration: .5,
3336
+ ease: [
3337
+ .16,
3338
+ 1,
3339
+ .3,
3340
+ 1
3341
+ ]
3342
+ }
3343
+ }
3344
+ };
3345
+ return /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u("style", { children: "\n @import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&display=swap');\n\n .err-divider {\n width: 100%;\n height: 1px;\n background: linear-gradient(to right, transparent, rgba(255,255,255,0.06), transparent);\n }\n\n .err-retry {\n background: rgba(224,90,90,0.1);\n border: 1px solid rgba(224,90,90,0.28);\n color: #e05a5a;\n padding: 10px 22px;\n font-family: 'JetBrains Mono', monospace;\n font-size: 12px;\n letter-spacing: 0.08em;\n border-radius: 6px;\n cursor: pointer;\n transition: background 0.2s, border-color 0.2s;\n }\n .err-retry:hover {\n background: rgba(224,90,90,0.17);\n border-color: rgba(224,90,90,0.45);\n }\n .err-retry:disabled { opacity: 0.4; cursor: not-allowed; }\n\n .err-home {\n background: transparent;\n border: 1px solid rgba(255,255,255,0.07);\n color: #4a4a58;\n padding: 10px 22px;\n font-family: 'JetBrains Mono', monospace;\n font-size: 12px;\n letter-spacing: 0.08em;\n border-radius: 6px;\n cursor: pointer;\n text-decoration: none;\n display: inline-flex;\n align-items: center;\n transition: border-color 0.2s, color 0.2s;\n }\n .err-home:hover { border-color: rgba(255,255,255,0.16); color: #7a7a90; }\n\n .err-row {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n gap: 16px;\n padding: 6px 0;\n border-bottom: 1px solid rgba(255,255,255,0.04);\n font-size: 11px;\n font-family: 'JetBrains Mono', monospace;\n }\n .err-row:last-child { border-bottom: none; }\n .err-key { color: #32323e; flex-shrink: 0; }\n .err-val { color: #5a4a4a; text-align: right; word-break: break-all; }\n " }), /* @__PURE__ */ d("div", {
3346
+ style: {
3347
+ position: "fixed",
3348
+ inset: 0,
3349
+ background: "#0e0e10",
3350
+ display: "flex",
3351
+ alignItems: "center",
3352
+ justifyContent: "center",
3353
+ fontFamily: "'JetBrains Mono', monospace"
3354
+ },
3355
+ children: [/* @__PURE__ */ u("div", { style: {
3356
+ position: "absolute",
3357
+ inset: 0,
3358
+ background: "radial-gradient(ellipse 50% 40% at 50% 48%, rgba(70,15,15,0.14) 0%, transparent 70%)",
3359
+ pointerEvents: "none"
3360
+ } }), /* @__PURE__ */ d(q.div, {
3361
+ variants: a,
3362
+ initial: "hidden",
3363
+ animate: "visible",
3364
+ style: {
3365
+ position: "relative",
3366
+ zIndex: 10,
3367
+ display: "flex",
3368
+ flexDirection: "column",
3369
+ alignItems: "center",
3370
+ textAlign: "center",
3371
+ maxWidth: 400,
3372
+ width: "100%",
3373
+ padding: "0 28px"
3374
+ },
3375
+ children: [
3376
+ /* @__PURE__ */ u(q.div, {
3377
+ variants: s,
3378
+ style: { marginBottom: 28 },
3379
+ children: /* @__PURE__ */ u(Wi, {})
3380
+ }),
3381
+ /* @__PURE__ */ u(q.div, {
3382
+ variants: s,
3383
+ style: {
3384
+ fontSize: 10,
3385
+ letterSpacing: "0.16em",
3386
+ color: "#32323e",
3387
+ marginBottom: 14
3388
+ },
3389
+ children: "500 · INTERNAL ERROR"
3390
+ }),
3391
+ /* @__PURE__ */ u(q.h1, {
3392
+ variants: s,
3393
+ style: {
3394
+ fontSize: "clamp(20px, 4vw, 26px)",
3395
+ fontWeight: 500,
3396
+ color: "#c4c4d0",
3397
+ margin: "0 0 14px",
3398
+ letterSpacing: "-0.01em",
3399
+ lineHeight: 1.25
3400
+ },
3401
+ children: "Something went wrong"
3402
+ }),
3403
+ /* @__PURE__ */ u(q.p, {
3404
+ variants: s,
3405
+ style: {
3406
+ fontSize: 12,
3407
+ color: "#3a3a48",
3408
+ lineHeight: 1.8,
3409
+ margin: "0 0 32px",
3410
+ maxWidth: 320
3411
+ },
3412
+ children: "An unexpected error occurred. The team has been notified — try refreshing or head back home."
3413
+ }),
3414
+ /* @__PURE__ */ u(q.div, {
3415
+ variants: s,
3416
+ style: {
3417
+ width: "100%",
3418
+ marginBottom: 24
3419
+ },
3420
+ children: /* @__PURE__ */ u("div", { className: "err-divider" })
3421
+ }),
3422
+ /* @__PURE__ */ u(K, { children: e && /* @__PURE__ */ d(q.div, {
3423
+ initial: {
3424
+ opacity: 0,
3425
+ y: 8
3426
+ },
3427
+ animate: {
3428
+ opacity: 1,
3429
+ y: 0
3430
+ },
3431
+ transition: { duration: .4 },
3432
+ style: {
3433
+ width: "100%",
3434
+ marginBottom: 28,
3435
+ textAlign: "left"
3436
+ },
3437
+ children: [
3438
+ /* @__PURE__ */ d("div", {
3439
+ className: "err-row",
3440
+ children: [/* @__PURE__ */ u("span", {
3441
+ className: "err-key",
3442
+ children: "type"
3443
+ }), /* @__PURE__ */ u("span", {
3444
+ className: "err-val",
3445
+ children: e.name || "Error"
3446
+ })]
3447
+ }),
3448
+ /* @__PURE__ */ d("div", {
3449
+ className: "err-row",
3450
+ children: [/* @__PURE__ */ u("span", {
3451
+ className: "err-key",
3452
+ children: "message"
3453
+ }), /* @__PURE__ */ d("span", {
3454
+ className: "err-val",
3455
+ children: [(e.message || "—").slice(0, 58), (e.message?.length ?? 0) > 58 ? "…" : ""]
3456
+ })]
3457
+ }),
3458
+ e.digest && /* @__PURE__ */ d("div", {
3459
+ className: "err-row",
3460
+ children: [/* @__PURE__ */ u("span", {
3461
+ className: "err-key",
3462
+ children: "digest"
3463
+ }), /* @__PURE__ */ u("span", {
3464
+ className: "err-val",
3465
+ children: e.digest
3466
+ })]
3467
+ })
3468
+ ]
3469
+ }) }),
3470
+ /* @__PURE__ */ d(q.div, {
3471
+ variants: s,
3472
+ style: {
3473
+ display: "flex",
3474
+ gap: 10,
3475
+ alignItems: "center"
3476
+ },
3477
+ children: [t && /* @__PURE__ */ u(q.button, {
3478
+ className: "err-retry",
3479
+ onClick: i,
3480
+ disabled: n,
3481
+ whileTap: { scale: .97 },
3482
+ children: /* @__PURE__ */ u(K, {
3483
+ mode: "wait",
3484
+ children: n ? /* @__PURE__ */ u(q.span, {
3485
+ initial: { opacity: 0 },
3486
+ animate: { opacity: 1 },
3487
+ exit: { opacity: 0 },
3488
+ children: "retrying…"
3489
+ }, "busy") : /* @__PURE__ */ u(q.span, {
3490
+ initial: { opacity: 0 },
3491
+ animate: { opacity: 1 },
3492
+ exit: { opacity: 0 },
3493
+ children: "try again"
3494
+ }, "idle")
3495
+ })
3496
+ }), /* @__PURE__ */ u(q.a, {
3497
+ href: "/",
3498
+ className: "err-home",
3499
+ whileTap: { scale: .97 },
3500
+ children: "go home"
3501
+ })]
3502
+ })
3503
+ ]
3504
+ })]
3505
+ })] });
3506
+ }
3507
+ //#endregion
3508
+ //#region src/components/ui/404Page.tsx
3509
+ function Ki() {
3510
+ return /* @__PURE__ */ d("div", {
3511
+ className: "relative flex w-full flex-col items-center justify-center overflow-hidden",
3512
+ children: [
3513
+ /* @__PURE__ */ u(q.div, {
3514
+ animate: {
3515
+ scale: [
3516
+ 1,
3517
+ 1.2,
3518
+ 1
3519
+ ],
3520
+ opacity: [
3521
+ .3,
3522
+ .5,
3523
+ .3
3524
+ ]
3525
+ },
3526
+ transition: {
3527
+ duration: 8,
3528
+ repeat: Infinity,
3529
+ ease: "easeInOut"
3530
+ },
3531
+ className: "absolute h-screen w-4xl rounded-full bg-blue-600/10 blur-[120px]"
3532
+ }),
3533
+ /* @__PURE__ */ d("div", {
3534
+ className: "relative z-10 flex flex-col items-center px-6 text-center",
3535
+ children: [
3536
+ /* @__PURE__ */ u(q.h1, {
3537
+ initial: {
3538
+ y: 20,
3539
+ opacity: 0
3540
+ },
3541
+ animate: {
3542
+ y: 0,
3543
+ opacity: 1
3544
+ },
3545
+ className: "text-[12rem] font-black leading-none tracking-tighter text-white/5",
3546
+ children: "404"
3547
+ }),
3548
+ /* @__PURE__ */ d(q.div, {
3549
+ initial: {
3550
+ scale: .8,
3551
+ opacity: 0
3552
+ },
3553
+ animate: {
3554
+ scale: 1,
3555
+ opacity: 1
3556
+ },
3557
+ transition: { delay: .2 },
3558
+ className: "-mt-20 space-y-4",
3559
+ children: [/* @__PURE__ */ u("h2", {
3560
+ className: "text-4xl font-bold tracking-tight",
3561
+ children: "You've drifted off course."
3562
+ }), /* @__PURE__ */ u("p", {
3563
+ className: "mx-auto max-w-md text-zinc-400",
3564
+ children: "The module or page you are looking for doesn't exist or has been moved to another station."
3565
+ })]
3566
+ }),
3567
+ /* @__PURE__ */ d(q.div, {
3568
+ initial: {
3569
+ y: 20,
3570
+ opacity: 0
3571
+ },
3572
+ animate: {
3573
+ y: 0,
3574
+ opacity: 1
3575
+ },
3576
+ transition: { delay: .4 },
3577
+ className: "mt-10 flex flex-wrap items-center justify-center gap-4",
3578
+ children: [/* @__PURE__ */ d(Y, {
3579
+ variant: "outline",
3580
+ className: "h-12 border-white/10 bg-white/5 px-6 hover:bg-white/10",
3581
+ children: [/* @__PURE__ */ u(y, { className: "mr-2 h-4 w-4" }), "Go Back"]
3582
+ }), /* @__PURE__ */ u(Y, {
3583
+ asChild: !0,
3584
+ className: "h-12 bg-blue-600 px-8 font-semibold hover:bg-blue-500 shadow-[0_0_20px_rgba(37,99,235,0.3)]",
3585
+ children: /* @__PURE__ */ d(Y, { children: [/* @__PURE__ */ u(w, { className: "mr-2 h-4 w-4" }), "Return to Dashboard"] })
3586
+ })]
3587
+ })
3588
+ ]
3589
+ }),
3590
+ /* @__PURE__ */ u("div", {
3591
+ className: "absolute inset-0 z-0 opacity-20",
3592
+ style: {
3593
+ backgroundImage: "radial-gradient(circle at 2px 2px, rgba(255,255,255,0.05) 1px, transparent 0)",
3594
+ backgroundSize: "40px 40px"
3595
+ }
3596
+ })
3597
+ ]
3598
+ });
3599
+ }
3600
+ //#endregion
3601
+ //#region src/components/ui/SharpnrSidebarFooter.tsx
3602
+ var qi = "#0B0D2E", Ji = "#141741", Yi = "#1E2260", Xi = "#F0F2F7", Zi = "rgba(240,242,247,0.55)";
3603
+ function Qi({ x: e, y: t, size: n, duration: r, delay: i }) {
3604
+ return /* @__PURE__ */ u(q.div, {
3605
+ className: "absolute rounded-full pointer-events-none",
3606
+ style: {
3607
+ width: n,
3608
+ height: n,
3609
+ left: `${e}%`,
3610
+ top: `${t}%`,
3611
+ background: Xi
3612
+ },
3613
+ animate: {
3614
+ y: [
3615
+ 0,
3616
+ -14,
3617
+ 0
3618
+ ],
3619
+ x: [
3620
+ 0,
3621
+ 3,
3622
+ -3,
3623
+ 0
3624
+ ],
3625
+ opacity: [
3626
+ 0,
3627
+ .55,
3628
+ 0
3629
+ ],
3630
+ scale: [
3631
+ .4,
3632
+ 1,
3633
+ .4
3634
+ ]
3635
+ },
3636
+ transition: {
3637
+ duration: r,
3638
+ delay: i,
3639
+ repeat: Infinity,
3640
+ ease: "easeInOut"
3641
+ }
3642
+ });
3643
+ }
3644
+ var $i = [
3645
+ {
3646
+ x: 8,
3647
+ y: 82,
3648
+ size: 2.5,
3649
+ duration: 3.4,
3650
+ delay: 0
3651
+ },
3652
+ {
3653
+ x: 28,
3654
+ y: 65,
3655
+ size: 1.8,
3656
+ duration: 2.9,
3657
+ delay: .6
3658
+ },
3659
+ {
3660
+ x: 55,
3661
+ y: 75,
3662
+ size: 3,
3663
+ duration: 3.7,
3664
+ delay: 1.2
3665
+ },
3666
+ {
3667
+ x: 78,
3668
+ y: 55,
3669
+ size: 2,
3670
+ duration: 2.6,
3671
+ delay: .2
3672
+ },
3673
+ {
3674
+ x: 48,
3675
+ y: 88,
3676
+ size: 2.5,
3677
+ duration: 3.1,
3678
+ delay: 1.9
3679
+ },
3680
+ {
3681
+ x: 92,
3682
+ y: 70,
3683
+ size: 1.8,
3684
+ duration: 3,
3685
+ delay: .9
3686
+ }
3687
+ ];
3688
+ function ea() {
3689
+ let { state: e } = X(), t = e === "collapsed";
3690
+ return /* @__PURE__ */ u(Ot, {
3691
+ className: "",
3692
+ children: /* @__PURE__ */ d(q.div, {
3693
+ layout: !0,
3694
+ transition: {
3695
+ type: "spring",
3696
+ stiffness: 300,
3697
+ damping: 30
3698
+ },
3699
+ style: { background: qi },
3700
+ className: `relative overflow-hidden rounded-xl ${t ? "p-2" : "p-3"}`,
3701
+ children: [
3702
+ /* @__PURE__ */ u("div", {
3703
+ className: "absolute inset-0 rounded-xl pointer-events-none",
3704
+ style: { boxShadow: "inset 0 0 0 1px rgba(240,242,247,0.10), inset 0 1px 0 rgba(240,242,247,0.18)" }
3705
+ }),
3706
+ /* @__PURE__ */ u(q.div, {
3707
+ className: "absolute inset-0 pointer-events-none",
3708
+ animate: { background: [
3709
+ `radial-gradient(ellipse at 10% 90%, ${Yi} 0%, transparent 55%)`,
3710
+ `radial-gradient(ellipse at 90% 10%, ${Yi} 0%, transparent 55%)`,
3711
+ `radial-gradient(ellipse at 10% 90%, ${Yi} 0%, transparent 55%)`
3712
+ ] },
3713
+ transition: {
3714
+ duration: 6,
3715
+ repeat: Infinity,
3716
+ ease: "easeInOut"
3717
+ }
3718
+ }),
3719
+ /* @__PURE__ */ u(q.div, {
3720
+ className: "absolute inset-0 pointer-events-none",
3721
+ style: {
3722
+ backgroundImage: `radial-gradient(circle, ${Xi} 1px, transparent 1px)`,
3723
+ backgroundSize: "14px 14px"
3724
+ },
3725
+ animate: { opacity: [
3726
+ .03,
3727
+ .07,
3728
+ .03
3729
+ ] },
3730
+ transition: {
3731
+ duration: 4,
3732
+ repeat: Infinity,
3733
+ ease: "easeInOut"
3734
+ }
3735
+ }),
3736
+ /* @__PURE__ */ u(K, { children: !t && $i.map((e, t) => /* @__PURE__ */ u(Qi, { ...e }, t)) }),
3737
+ /* @__PURE__ */ u(q.div, {
3738
+ className: "absolute top-0 left-0 right-0 h-px pointer-events-none",
3739
+ style: { background: `linear-gradient(90deg, transparent, ${Xi}, transparent)` },
3740
+ animate: { opacity: [
3741
+ .2,
3742
+ .6,
3743
+ .2
3744
+ ] },
3745
+ transition: {
3746
+ duration: 2.8,
3747
+ repeat: Infinity,
3748
+ ease: "easeInOut"
3749
+ }
3750
+ }),
3751
+ /* @__PURE__ */ d("div", {
3752
+ className: `relative flex items-center gap-3 ${t ? "justify-center" : ""}`,
3753
+ children: [/* @__PURE__ */ u(q.div, {
3754
+ layout: !0,
3755
+ whileHover: { scale: 1.1 },
3756
+ whileTap: { scale: .92 },
3757
+ transition: {
3758
+ type: "spring",
3759
+ stiffness: 400,
3760
+ damping: 20
3761
+ },
3762
+ className: "relative shrink-0 w-8 h-8",
3763
+ children: /* @__PURE__ */ u("div", {
3764
+ className: "absolute inset-[1.5px] rounded-[8px] overflow-hidden z-10",
3765
+ style: { background: Ji },
3766
+ children: /* @__PURE__ */ u("img", {
3767
+ src: "https://cdn.sharpnr.com/shicon.svg",
3768
+ alt: "Sharpnr",
3769
+ className: "w-full h-full object-cover"
3770
+ })
3771
+ })
3772
+ }), /* @__PURE__ */ u(K, {
3773
+ mode: "wait",
3774
+ children: !t && /* @__PURE__ */ d(q.div, {
3775
+ initial: {
3776
+ opacity: 0,
3777
+ x: -10,
3778
+ filter: "blur(6px)"
3779
+ },
3780
+ animate: {
3781
+ opacity: 1,
3782
+ x: 0,
3783
+ filter: "blur(0px)"
3784
+ },
3785
+ exit: {
3786
+ opacity: 0,
3787
+ x: -10,
3788
+ filter: "blur(6px)"
3789
+ },
3790
+ transition: {
3791
+ duration: .25,
3792
+ ease: "easeOut"
3793
+ },
3794
+ className: "flex flex-col min-w-0",
3795
+ children: [/* @__PURE__ */ u("span", {
3796
+ className: "text-[9px] font-semibold uppercase tracking-[0.18em] leading-none mb-1",
3797
+ style: { color: Zi },
3798
+ children: "Powered by"
3799
+ }), /* @__PURE__ */ u(q.span, {
3800
+ className: "text-sm font-bold leading-tight tracking-tight truncate",
3801
+ style: { color: Xi },
3802
+ whileHover: { letterSpacing: "0.03em" },
3803
+ transition: { duration: .2 },
3804
+ children: "Sharpnr"
3805
+ })]
3806
+ }, "footer-text")
3807
+ })]
3808
+ }),
3809
+ /* @__PURE__ */ u(K, { children: !t && /* @__PURE__ */ u(q.div, {
3810
+ initial: {
3811
+ scaleX: 0,
3812
+ opacity: 0
3813
+ },
3814
+ animate: {
3815
+ scaleX: 1,
3816
+ opacity: 1
3817
+ },
3818
+ exit: {
3819
+ scaleX: 0,
3820
+ opacity: 0
3821
+ },
3822
+ transition: {
3823
+ duration: .45,
3824
+ ease: "easeOut",
3825
+ delay: .1
3826
+ },
3827
+ className: "absolute bottom-0 left-4 right-4 h-px origin-left pointer-events-none",
3828
+ style: { background: `linear-gradient(90deg, transparent, ${Zi}, transparent)` }
3829
+ }) })
3830
+ ]
3831
+ })
3832
+ });
3833
+ }
3834
+ //#endregion
3835
+ //#region src/hooks/useDialog.tsx
3836
+ var ta = t(void 0), na = ({ children: e }) => {
3837
+ let [t, n] = o(!1), [r, i] = o(null), [a, s] = o(""), [c, l] = o("");
3838
+ return /* @__PURE__ */ d(ta.Provider, {
3839
+ value: {
3840
+ openModal: (e, t = "Dialog", r = "") => {
3841
+ i(e), s(t), l(r), n(!0);
3842
+ },
3843
+ closeModal: () => {
3844
+ n(!1), i(null), s(""), l("");
3845
+ }
3846
+ },
3847
+ children: [e, /* @__PURE__ */ u(_e, {
3848
+ open: t,
3849
+ onOpenChange: n,
3850
+ children: /* @__PURE__ */ d(Se, {
3851
+ className: " rounded-2xl",
3852
+ children: [
3853
+ /* @__PURE__ */ d(Ce, {
3854
+ className: "hidden",
3855
+ children: [a ? /* @__PURE__ */ u(Te, { children: a }) : /* @__PURE__ */ u(ce, { children: /* @__PURE__ */ u(Te, { children: "Dialog" }) }), c && /* @__PURE__ */ u(Ee, { children: c })]
3856
+ }),
3857
+ /* @__PURE__ */ u("div", {
3858
+ className: "",
3859
+ children: r
3860
+ }),
3861
+ /* @__PURE__ */ u(we, {})
3862
+ ]
3863
+ })
3864
+ })]
3865
+ });
3866
+ }, ra = () => {
3867
+ let e = r(ta);
3868
+ if (!e) throw Error("useDialogModal must be used within a DialogModalProvider");
3869
+ return e;
3870
+ }, ia = t(void 0), aa = () => {
3871
+ let e = r(ia);
3872
+ if (!e) throw Error("useSheet must be used inside SheetProvider");
3873
+ return e;
3874
+ }, oa = ({ children: e }) => {
3875
+ let [t, n] = o({
3876
+ isOpen: !1,
3877
+ content: void 0,
3878
+ size: "2/4"
3879
+ }), r = (e, t = "2/4") => {
3880
+ n({
3881
+ content: e,
3882
+ size: t,
3883
+ isOpen: !0
3884
+ });
3885
+ }, i = () => {
3886
+ n((e) => ({
3887
+ ...e,
3888
+ isOpen: !1
3889
+ }));
3890
+ };
3891
+ return /* @__PURE__ */ d(ia.Provider, {
3892
+ value: {
3893
+ openSheet: r,
3894
+ closeSheet: i
3895
+ },
3896
+ children: [e, /* @__PURE__ */ u($e, {
3897
+ open: t.isOpen,
3898
+ onOpenChange: i,
3899
+ children: /* @__PURE__ */ d(it, {
3900
+ side: "right",
3901
+ className: `w-full max-w-none overflow-y-scroll ${((e) => {
3902
+ switch (e) {
3903
+ case "1/4": return "w-1/4 p-4";
3904
+ case "2/4": return "sm:w-2/4 w-3/4 p-4";
3905
+ case "3/4": return "w-3/4 p-4 ";
3906
+ case "full": return "w-full p-4 ";
3907
+ default: return "w-2/4 p-4";
3908
+ }
3909
+ })(t.size)}
3910
+ [&::-webkit-scrollbar]:w-1.5
3911
+ [&::-webkit-scrollbar-track]:bg-transparent
3912
+ [&::-webkit-scrollbar-thumb]:bg-slate-300
3913
+ [&::-webkit-scrollbar-thumb]:rounded-full
3914
+ hover:[&::-webkit-scrollbar-thumb]:bg-slate-400
3915
+ scrollbar-thin scrollbar-track-transparent scrollbar-thumb-slate-300`,
3916
+ children: [/* @__PURE__ */ u(ce, { children: /* @__PURE__ */ d(at, { children: [/* @__PURE__ */ u(st, { children: t.title || "Sheet Dialog" }), t.description && /* @__PURE__ */ u(ct, { children: t.description })] }) }), /* @__PURE__ */ u("div", { children: t.content })]
3917
+ })
3918
+ })]
3919
+ });
3920
+ }, sa = t(void 0), ca = () => {
3921
+ let e = r(sa);
3922
+ if (!e) throw Error("useFormsModal must be used within a FormsModalProvider");
3923
+ return e;
3924
+ }, la = ({ children: e }) => {
3925
+ let [t, n] = o({
3926
+ heading: "",
3927
+ description: "",
3928
+ isOpen: !1,
3929
+ component: null
3930
+ }), r = (e, t, r) => {
3931
+ n({
3932
+ heading: e,
3933
+ description: t,
3934
+ component: r,
3935
+ isOpen: !0
3936
+ });
3937
+ }, i = () => {
3938
+ n((e) => ({
3939
+ ...e,
3940
+ isOpen: !1
3941
+ }));
3942
+ };
3943
+ return /* @__PURE__ */ d(sa.Provider, {
3944
+ value: {
3945
+ showModal: r,
3946
+ closeModal: i
3947
+ },
3948
+ children: [e, /* @__PURE__ */ u(p.Root, {
3949
+ open: t.isOpen,
3950
+ onOpenChange: (e) => !e && i(),
3951
+ children: /* @__PURE__ */ d(p.Portal, { children: [/* @__PURE__ */ u(p.Overlay, { className: "\n fixed inset-0 z-50\n bg-black/60 backdrop-blur-md\n data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:duration-300\n data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:duration-200\n " }), /* @__PURE__ */ d(p.Content, {
3952
+ onInteractOutside: i,
3953
+ className: "\n fixed left-1/2 top-1/2 z-50\n -translate-x-1/2 -translate-y-1/2\n w-[70vw] max-h-[88vh]\n rounded-2xl\n ring-1 ring-white/10\n shadow-[0_0_0_1px_rgba(255,255,255,0.06),0_32px_64px_-12px_rgba(0,0,0,0.7),0_0_80px_-20px_rgba(120,80,255,0.15)]\n bg-background\n flex flex-col overflow-hidden\n data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-[97%] data-[state=open]:slide-in-from-bottom-2 data-[state=open]:duration-300 data-[state=open]:ease-out\n data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-[97%] data-[state=closed]:duration-200 data-[state=closed]:ease-in\n ",
3954
+ children: [
3955
+ /* @__PURE__ */ u("div", { className: "absolute inset-x-0 top-0 h-px bg-linear-to-r from-transparent via-violet-500/60 to-transparent" }),
3956
+ /* @__PURE__ */ u(p.Close, {
3957
+ "aria-label": "Close modal",
3958
+ className: "\n absolute top-4 right-4 z-50\n flex items-center justify-center\n w-7 h-7 rounded-full\n bg-white/5 hover:bg-white/10\n text-white/40 hover:text-white/80\n ring-1 ring-white/10 hover:ring-white/20\n transition-all duration-150\n focus:outline-none focus-visible:ring-2 focus-visible:ring-violet-500\n ",
3959
+ children: /* @__PURE__ */ u(ne, {
3960
+ className: "w-3.5 h-3.5",
3961
+ strokeWidth: 2.5
3962
+ })
3963
+ }),
3964
+ (t.heading || t.description) && /* @__PURE__ */ d("div", {
3965
+ className: "shrink-0 px-7 pt-7 pb-5 border-b border-border",
3966
+ children: [t.heading && /* @__PURE__ */ u(p.Title, {
3967
+ className: "text-[1.35rem] font-semibold tracking-tight text-foreground leading-snug pr-8",
3968
+ children: t.heading
3969
+ }), t.description && /* @__PURE__ */ u(p.Description, {
3970
+ className: "mt-1.5 text-[0.8375rem] text-muted-foreground leading-relaxed",
3971
+ children: t.description
3972
+ })]
3973
+ }),
3974
+ /* @__PURE__ */ d("div", {
3975
+ className: "relative flex-1 min-h-0",
3976
+ children: [/* @__PURE__ */ u("div", {
3977
+ className: "h-full overflow-y-auto px-7 py-6 scrollbar-thin scrollbar-thumb-white/10 scrollbar-track-transparent",
3978
+ children: t.component
3979
+ }), /* @__PURE__ */ u("div", { className: "pointer-events-none absolute inset-x-0 bottom-0 h-10 bg-linear-to-t from-background to-transparent" })]
3980
+ })
3981
+ ]
3982
+ })] })
3983
+ })]
3984
+ });
3985
+ }, ua = t({
3986
+ theme: "system",
3987
+ setTheme: () => null
3988
+ });
3989
+ function da({ children: e, defaultTheme: t = "system", storageKey: n = "vite-ui-theme", ...r }) {
3990
+ let [a, s] = o(() => localStorage.getItem(n) || t);
3991
+ i(() => {
3992
+ let e = window.document.documentElement;
3993
+ if (e.classList.remove("light", "dark"), a === "system") {
3994
+ let t = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
3995
+ e.classList.add(t);
3996
+ return;
3997
+ }
3998
+ e.classList.add(a);
3999
+ }, [a]);
4000
+ let c = {
4001
+ theme: a,
4002
+ setTheme: (e) => {
4003
+ localStorage.setItem(n, e), s(e);
4004
+ }
4005
+ };
4006
+ return /* @__PURE__ */ u(ua.Provider, {
4007
+ ...r,
4008
+ value: c,
4009
+ children: e
4010
+ });
4011
+ }
4012
+ var fa = () => {
4013
+ let e = r(ua);
4014
+ if (e === void 0) throw Error("useTheme must be used within a ThemeProvider");
4015
+ return e;
4016
+ };
4017
+ //#endregion
4018
+ //#region src/hooks/ThemeToggle.tsx
4019
+ function pa() {
4020
+ let { theme: e, setTheme: t } = fa();
4021
+ return /* @__PURE__ */ d(Gt, { children: [/* @__PURE__ */ u(qt, {
4022
+ asChild: !0,
4023
+ children: /* @__PURE__ */ d(Y, {
4024
+ variant: "ghost",
4025
+ size: "icon",
4026
+ children: [
4027
+ /* @__PURE__ */ u(A, { className: "h-[1.3rem] w-[1.3rem] scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90" }),
4028
+ /* @__PURE__ */ u(D, { className: "absolute h-[1.3rem] w-[1.3rem] scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0" }),
4029
+ /* @__PURE__ */ u("span", {
4030
+ className: "sr-only",
4031
+ children: "Toggle theme"
4032
+ })
4033
+ ]
4034
+ })
4035
+ }), /* @__PURE__ */ d(Jt, {
4036
+ align: "end",
4037
+ children: [
4038
+ /* @__PURE__ */ d(Xt, {
4039
+ onClick: () => t("light"),
4040
+ children: [/* @__PURE__ */ u(g, { className: `mr-2 h-4 w-4 ${e === "light" ? "opacity-100" : "opacity-0"}` }), "Light"]
4041
+ }),
4042
+ /* @__PURE__ */ d(Xt, {
4043
+ onClick: () => t("dark"),
4044
+ children: [/* @__PURE__ */ u(g, { className: `mr-2 h-4 w-4 ${e === "dark" ? "opacity-100" : "opacity-0"}` }), "Dark"]
4045
+ }),
4046
+ /* @__PURE__ */ d(Xt, {
4047
+ onClick: () => t("system"),
4048
+ children: [/* @__PURE__ */ u(g, { className: `mr-2 h-4 w-4 ${e === "system" ? "opacity-100" : "opacity-0"}` }), "System"]
4049
+ })
4050
+ ]
4051
+ })] });
4052
+ }
4053
+ //#endregion
4054
+ export { vn as Alert, xn as AlertAction, bn as AlertDescription, Sn as AlertDialog, Mn as AlertDialogAction, Nn as AlertDialogCancel, En as AlertDialogContent, jn as AlertDialogDescription, On as AlertDialogFooter, Dn as AlertDialogHeader, kn as AlertDialogMedia, Tn as AlertDialogOverlay, wn as AlertDialogPortal, An as AlertDialogTitle, Cn as AlertDialogTrigger, yn as AlertTitle, Or as Avatar, jr as AvatarBadge, Ar as AvatarFallback, Mr as AvatarGroup, Nr as AvatarGroupCount, kr as AvatarImage, br as Badge, Y as Button, Je as ButtonGroup, Xe as ButtonGroupSeparator, Ye as ButtonGroupText, le as Card, pe as CardAction, me as CardContent, fe as CardDescription, he as CardFooter, ue as CardHeader, de as CardTitle, Ri as Carousel, zi as CarouselContent, Bi as CarouselItem, Hi as CarouselNext, Vi as CarouselPrevious, Er as Checkbox, Le as Command, Re as CommandDialog, Ve as CommandEmpty, He as CommandGroup, ze as CommandInput, We as CommandItem, Be as CommandList, Ue as CommandSeparator, Ge as CommandShortcut, _e as Dialog, be as DialogClose, Se as DialogContent, Ee as DialogDescription, we as DialogFooter, Ce as DialogHeader, na as DialogModalProvider, xe as DialogOverlay, ye as DialogPortal, Te as DialogTitle, ve as DialogTrigger, Gt as DropdownMenu, Zt as DropdownMenuCheckboxItem, Jt as DropdownMenuContent, Yt as DropdownMenuGroup, Xt as DropdownMenuItem, en as DropdownMenuLabel, Kt as DropdownMenuPortal, Qt as DropdownMenuRadioGroup, $t as DropdownMenuRadioItem, tn as DropdownMenuSeparator, nn as DropdownMenuShortcut, rn as DropdownMenuSub, on as DropdownMenuSubContent, an as DropdownMenuSubTrigger, qt as DropdownMenuTrigger, Pn as Empty, Bn as EmptyContent, zn as EmptyDescription, Fn as EmptyHeader, Ln as EmptyMedia, Rn as EmptyTitle, la as FormsModalProvider, Gi as GlobalErrorPage, Ui as GlobalLoader, Vn as HoverCard, Un as HoverCardContent, Hn as HoverCardTrigger, De as Input, ke as InputGroup, je as InputGroupAddon, Ne as InputGroupButton, Fe as InputGroupInput, Pe as InputGroupText, Ie as InputGroupTextarea, Sr as Kbd, Cr as KbdGroup, Dr as Label, pa as ModeToggle, Ki as NotFound, Wn as Pagination, Gn as PaginationContent, Xn as PaginationEllipsis, Kn as PaginationItem, qn as PaginationLink, Yn as PaginationNext, Jn as PaginationPrevious, Zn as Popover, er as PopoverAnchor, $n as PopoverContent, rr as PopoverDescription, tr as PopoverHeader, nr as PopoverTitle, Qn as PopoverTrigger, wr as ScrollArea, Tr as ScrollBar, sn as Select, dn as SelectContent, cn as SelectGroup, pn as SelectItem, fn as SelectLabel, gn as SelectScrollDownButton, hn as SelectScrollUpButton, mn as SelectSeparator, un as SelectTrigger, ln as SelectValue, Ke as Separator, ea as SharpnrSidebarFooter, $e as Sheet, tt as SheetClose, it as SheetContent, ct as SheetDescription, ot as SheetFooter, at as SheetHeader, oa as SheetProvider, st as SheetTitle, et as SheetTrigger, St as Sidebar, At as SidebarContent, Ot as SidebarFooter, jt as SidebarGroup, Nt as SidebarGroupAction, Pt as SidebarGroupContent, Mt as SidebarGroupLabel, Dt as SidebarHeader, Et as SidebarInput, Tt as SidebarInset, Ft as SidebarMenu, zt as SidebarMenuAction, Bt as SidebarMenuBadge, Rt as SidebarMenuButton, It as SidebarMenuItem, Vt as SidebarMenuSkeleton, Ht as SidebarMenuSub, Wt as SidebarMenuSubButton, Ut as SidebarMenuSubItem, xt as SidebarProvider, wt as SidebarRail, kt as SidebarSeparator, Ct as SidebarTrigger, lt as Skeleton, vr as Spinner, _r as Switch, ir as Table, or as TableBody, dr as TableCaption, ur as TableCell, sr as TableFooter, lr as TableHead, ar as TableHeader, cr as TableRow, fr as Tabs, gr as TabsContent, mr as TabsList, hr as TabsTrigger, Oe as Textarea, da as ThemeProvider, xr as Toaster, dt as Tooltip, pt as TooltipContent, ut as TooltipProvider, ft as TooltipTrigger, yr as badgeVariants, qe as buttonGroupVariants, J as cn, oe as toast, Li as useCarousel, ra as useDialogModal, ca as useFormsModal, Qe as useIsMobile, aa as useSheet, X as useSidebar, fa as useTheme };