@krosoft/react 0.0.182 → 0.0.184

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 (75) hide show
  1. package/dist/{AppActions-DEkRxBia.js → AppActions-DZ7wVdmt.js} +8 -7
  2. package/dist/{AppSubTitle-ChCtQ7Sv.js → AppSubTitle-CZN_tmfv.js} +1 -1
  3. package/dist/AppVerticalTabs-C1SsBNAH.js +100 -0
  4. package/dist/{ConfirmationDialog-BPXA2g3g.js → ConfirmationDialog-M8sFAz4h.js} +7 -6
  5. package/dist/{DataTable-ny08K506.js → DataTable-KMYbhJ4C.js} +29 -28
  6. package/dist/{GenericForm-B39toMkE.js → GenericForm-DtY0moOD.js} +93 -92
  7. package/dist/{ImageInput-BoYUZx9H.js → ImageInput-3wZuCZGf.js} +2 -1
  8. package/dist/{KpiCardsLayout-mQ7AcbqA.js → KpiCardsLayout-DjRTqXFa.js} +16 -15
  9. package/dist/{MetricCard-CvQFjIOb.js → MetricCard-B0xnFyim.js} +1 -1
  10. package/dist/{MultiSelect-CqcbwKYV.js → MultiSelect-BhRXVpky.js} +14 -13
  11. package/dist/PieChart-C9gn0Dws.js +282 -0
  12. package/dist/SearchInput-BXOlvTO9.js +251 -0
  13. package/dist/{SkeletonCards-BvJYF_LK.js → SkeletonCards-av7XHlof.js} +12 -11
  14. package/dist/{TableFilter-CWDy_RHA.js → TableFilter-BlrrSOtg.js} +21 -20
  15. package/dist/chart-DntJZGxB.js +181 -0
  16. package/dist/components/core/cards/index.js +2 -2
  17. package/dist/components/core/charts/BarChartHorizontal.d.ts +24 -0
  18. package/dist/components/core/charts/BarChartHorizontal.d.ts.map +1 -0
  19. package/dist/components/core/charts/BarChartVertical.d.ts +24 -0
  20. package/dist/components/core/charts/BarChartVertical.d.ts.map +1 -0
  21. package/dist/components/core/charts/ChartCard.d.ts +31 -0
  22. package/dist/components/core/charts/ChartCard.d.ts.map +1 -0
  23. package/dist/components/core/charts/CircularGauge.d.ts +39 -0
  24. package/dist/components/core/charts/CircularGauge.d.ts.map +1 -0
  25. package/dist/components/core/charts/LineChart.d.ts +23 -0
  26. package/dist/components/core/charts/LineChart.d.ts.map +1 -0
  27. package/dist/components/core/charts/PieChart.d.ts +26 -0
  28. package/dist/components/core/charts/PieChart.d.ts.map +1 -0
  29. package/dist/components/core/charts/chartColors.d.ts +13 -0
  30. package/dist/components/core/charts/chartColors.d.ts.map +1 -0
  31. package/dist/components/core/charts/chartTooltip.helper.d.ts +14 -0
  32. package/dist/components/core/charts/chartTooltip.helper.d.ts.map +1 -0
  33. package/dist/components/core/charts/index.d.ts +14 -0
  34. package/dist/components/core/charts/index.d.ts.map +1 -0
  35. package/dist/components/core/charts/index.js +11 -0
  36. package/dist/components/core/dialogs/index.js +2 -2
  37. package/dist/components/core/filters/index.js +1 -1
  38. package/dist/components/core/forms/index.js +1 -1
  39. package/dist/components/core/index.d.ts +1 -0
  40. package/dist/components/core/index.d.ts.map +1 -1
  41. package/dist/components/core/index.js +80 -71
  42. package/dist/components/core/inputs/SearchableSelect.d.ts +16 -2
  43. package/dist/components/core/inputs/SearchableSelect.d.ts.map +1 -1
  44. package/dist/components/core/inputs/index.d.ts +1 -0
  45. package/dist/components/core/inputs/index.d.ts.map +1 -1
  46. package/dist/components/core/inputs/index.js +3 -3
  47. package/dist/components/core/layouts/index.js +3 -3
  48. package/dist/components/core/table/index.js +1 -1
  49. package/dist/components/core/tabs/AppTabs.d.ts.map +1 -1
  50. package/dist/components/core/tabs/index.js +1 -1
  51. package/dist/components/index.js +307 -297
  52. package/dist/components/ui/index.d.ts +1 -0
  53. package/dist/components/ui/index.d.ts.map +1 -1
  54. package/dist/components/ui/index.js +218 -217
  55. package/dist/components/ui/tabs.d.ts.map +1 -1
  56. package/dist/hooks/index.js +9 -7
  57. package/dist/hooks/ui/index.d.ts +1 -0
  58. package/dist/hooks/ui/index.d.ts.map +1 -1
  59. package/dist/hooks/ui/index.js +11 -9
  60. package/dist/hooks/ui/useScrollFade.d.ts +11 -0
  61. package/dist/hooks/ui/useScrollFade.d.ts.map +1 -0
  62. package/dist/tailwind/index.d.ts +7 -0
  63. package/dist/tailwind/index.d.ts.map +1 -1
  64. package/dist/tailwind/index.js +11 -2
  65. package/dist/{toaster-B6XKMRwI.js → toaster-Cm7utXqi.js} +13 -13
  66. package/dist/toggle-group-D6aFQQcf.js +1460 -0
  67. package/dist/types/ChartDatum.d.ts +19 -0
  68. package/dist/types/ChartDatum.d.ts.map +1 -0
  69. package/dist/types/index.d.ts +1 -0
  70. package/dist/types/index.d.ts.map +1 -1
  71. package/dist/useScrollFade-BA4KqJYp.js +23 -0
  72. package/package.json +1 -1
  73. package/dist/AppVerticalTabs-D8fURUUN.js +0 -94
  74. package/dist/SearchInput-ClZbbRWg.js +0 -254
  75. package/dist/toggle-group-D6c-gM1D.js +0 -1618
@@ -0,0 +1,1460 @@
1
+ import { jsx as o, jsxs as d } from "react/jsx-runtime";
2
+ import * as s from "react";
3
+ import * as C from "@radix-ui/react-accordion";
4
+ import { ChevronDown as q, MoreHorizontal as xe, ChevronRight as F, ChevronLeft as ye, ArrowLeft as he, ArrowRight as ve, CheckIcon as K, X as we, SearchIcon as Re, Check as X, Circle as E, ChevronRightIcon as J, CircleIcon as Ce, Dot as ke, MoreHorizontalIcon as Ie, ChevronLeftIcon as Se, XIcon as Te } from "lucide-react";
5
+ import { c as r } from "./tailwind.helper-B6yFEsav.js";
6
+ import * as g from "@radix-ui/react-alert-dialog";
7
+ import { d as I, B as Q } from "./tooltip-DVeqVwqV.js";
8
+ import * as S from "@radix-ui/react-avatar";
9
+ import { cva as M } from "class-variance-authority";
10
+ import { Slot as W } from "@radix-ui/react-slot";
11
+ import { DayPicker as Pe } from "react-day-picker";
12
+ import ze from "embla-carousel-react";
13
+ import * as O from "@radix-ui/react-checkbox";
14
+ import { Command as b } from "cmdk";
15
+ import * as x from "@radix-ui/react-dialog";
16
+ import * as m from "@radix-ui/react-context-menu";
17
+ import { Drawer as v } from "vaul";
18
+ import * as u from "@radix-ui/react-dropdown-menu";
19
+ import { useFormContext as De, FormProvider as Me, Controller as Fe } from "react-hook-form";
20
+ import * as Ae from "@radix-ui/react-label";
21
+ import * as A from "@radix-ui/react-hover-card";
22
+ import { OTPInput as Le, OTPInputContext as je } from "input-otp";
23
+ import * as l from "@radix-ui/react-menubar";
24
+ import * as N from "@radix-ui/react-navigation-menu";
25
+ import * as z from "@radix-ui/react-popover";
26
+ import * as H from "@radix-ui/react-progress";
27
+ import * as D from "@radix-ui/react-radio-group";
28
+ import * as R from "@radix-ui/react-scroll-area";
29
+ import * as U from "@radix-ui/react-separator";
30
+ import * as P from "@radix-ui/react-slider";
31
+ import * as V from "@radix-ui/react-switch";
32
+ import * as k from "@radix-ui/react-tabs";
33
+ import { u as _e } from "./useScrollFade-BA4KqJYp.js";
34
+ import * as y from "@radix-ui/react-toast";
35
+ import * as L from "@radix-ui/react-toggle-group";
36
+ import * as Y from "@radix-ui/react-toggle";
37
+ const vo = C.Root, Ge = s.forwardRef(
38
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(C.Item, { ref: t, className: r("border-b", e), ...a })
39
+ );
40
+ Ge.displayName = "AccordionItem";
41
+ const Be = s.forwardRef(({ className: e, children: a, ...t }, n) => /* @__PURE__ */ o(C.Header, { className: "flex", children: /* @__PURE__ */ d(
42
+ C.Trigger,
43
+ {
44
+ ref: n,
45
+ className: r("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180", e),
46
+ ...t,
47
+ children: [
48
+ a,
49
+ /* @__PURE__ */ o(q, { className: "size-4 shrink-0 transition-transform duration-200" })
50
+ ]
51
+ }
52
+ ) }));
53
+ Be.displayName = C.Trigger.displayName;
54
+ const Oe = s.forwardRef(({ className: e, children: a, ...t }, n) => /* @__PURE__ */ o(
55
+ C.Content,
56
+ {
57
+ ref: n,
58
+ className: "overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
59
+ ...t,
60
+ children: /* @__PURE__ */ o("div", { className: r("pb-4 pt-0", e), children: a })
61
+ }
62
+ ));
63
+ Oe.displayName = C.Content.displayName;
64
+ const wo = g.Root, Ro = g.Trigger, He = g.Portal, Z = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o(
65
+ g.Overlay,
66
+ {
67
+ className: r(
68
+ "fixed inset-0 z-70 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
69
+ e
70
+ ),
71
+ ...a,
72
+ ref: t
73
+ }
74
+ ));
75
+ Z.displayName = g.Overlay.displayName;
76
+ const Ve = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ d(He, { children: [
77
+ /* @__PURE__ */ o(Z, {}),
78
+ /* @__PURE__ */ o(
79
+ g.Content,
80
+ {
81
+ ref: t,
82
+ className: r(
83
+ "fixed left-[50%] top-[50%] z-70 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-surface",
84
+ e
85
+ ),
86
+ ...a
87
+ }
88
+ )
89
+ ] }));
90
+ Ve.displayName = g.Content.displayName;
91
+ const Ee = ({ className: e, ...a }) => /* @__PURE__ */ o("div", { className: r("flex flex-col space-y-2 text-center sm:text-left", e), ...a });
92
+ Ee.displayName = "AlertDialogHeader";
93
+ const $e = ({ className: e, ...a }) => /* @__PURE__ */ o("div", { className: r("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", e), ...a });
94
+ $e.displayName = "AlertDialogFooter";
95
+ const qe = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o(g.Title, { ref: t, className: r("text-lg font-semibold", e), ...a }));
96
+ qe.displayName = g.Title.displayName;
97
+ const Ke = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o(g.Description, { ref: t, className: r("text-sm text-muted-foreground", e), ...a }));
98
+ Ke.displayName = g.Description.displayName;
99
+ const Xe = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o(g.Action, { ref: t, className: r(I(), e), ...a }));
100
+ Xe.displayName = g.Action.displayName;
101
+ const Je = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o(g.Cancel, { ref: t, className: r(I({ variant: "outline" }), "mt-2 sm:mt-0", e), ...a }));
102
+ Je.displayName = g.Cancel.displayName;
103
+ const Qe = s.forwardRef(
104
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(S.Root, { ref: t, className: r("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full", e), ...a })
105
+ );
106
+ Qe.displayName = S.Root.displayName;
107
+ const We = s.forwardRef(
108
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(S.Image, { ref: t, className: r("aspect-square h-full w-full", e), ...a })
109
+ );
110
+ We.displayName = S.Image.displayName;
111
+ const Ue = s.forwardRef(
112
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(S.Fallback, { ref: t, className: r("flex h-full w-full items-center justify-center rounded-full bg-muted", e), ...a })
113
+ );
114
+ Ue.displayName = S.Fallback.displayName;
115
+ const Ye = M(
116
+ "inline-flex items-center rounded-control border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
117
+ {
118
+ variants: {
119
+ variant: {
120
+ default: "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
121
+ secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
122
+ destructive: "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
123
+ outline: "text-foreground"
124
+ }
125
+ },
126
+ defaultVariants: {
127
+ variant: "default"
128
+ }
129
+ }
130
+ );
131
+ function Co({ className: e, variant: a, ...t }) {
132
+ return /* @__PURE__ */ o("div", { className: r(Ye({ variant: a }), e), ...t });
133
+ }
134
+ const Ze = s.forwardRef(({ ...e }, a) => /* @__PURE__ */ o("nav", { ref: a, "aria-label": "breadcrumb", ...e }));
135
+ Ze.displayName = "Breadcrumb";
136
+ const ea = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o("ol", { ref: t, className: r("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5", e), ...a }));
137
+ ea.displayName = "BreadcrumbList";
138
+ const aa = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o("li", { ref: t, className: r("inline-flex items-center gap-1.5", e), ...a }));
139
+ aa.displayName = "BreadcrumbItem";
140
+ const ta = s.forwardRef(({ asChild: e, className: a, ...t }, n) => /* @__PURE__ */ o(e ? W : "a", { ref: n, className: r("transition-colors hover:text-foreground", a), ...t }));
141
+ ta.displayName = "BreadcrumbLink";
142
+ const oa = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o("span", { ref: t, role: "link", "aria-disabled": "true", "aria-current": "page", className: r("font-normal text-foreground", e), ...a }));
143
+ oa.displayName = "BreadcrumbPage";
144
+ const ra = ({ children: e, className: a, ...t }) => /* @__PURE__ */ o("li", { role: "presentation", "aria-hidden": "true", className: r("[&>svg]:size-3.5", a), ...t, children: e ?? /* @__PURE__ */ o(F, {}) });
145
+ ra.displayName = "BreadcrumbSeparator";
146
+ const sa = ({ className: e, ...a }) => /* @__PURE__ */ d("span", { role: "presentation", "aria-hidden": "true", className: r("flex h-9 w-9 items-center justify-center", e), ...a, children: [
147
+ /* @__PURE__ */ o(xe, { className: "size-4" }),
148
+ /* @__PURE__ */ o("span", { className: "sr-only", children: "More" })
149
+ ] });
150
+ sa.displayName = "BreadcrumbElipssis";
151
+ function na({ className: e, classNames: a, showOutsideDays: t = !0, ...n }) {
152
+ return /* @__PURE__ */ o(
153
+ Pe,
154
+ {
155
+ showOutsideDays: t,
156
+ className: r("p-3 pointer-events-auto", e),
157
+ classNames: {
158
+ months: "flex flex-col gap-2 relative sm:flex-row",
159
+ month: "flex flex-col gap-4",
160
+ month_caption: "flex justify-center pt-1 relative items-center w-full",
161
+ caption_label: "text-sm font-medium",
162
+ nav: "flex items-center gap-1 absolute h-7 w-full z-10",
163
+ button_previous: r(I({ variant: "outline" }), "h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100", "absolute left-1"),
164
+ button_next: r(I({ variant: "outline" }), "h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100", "absolute right-1"),
165
+ weekdays: "flex justify-center",
166
+ weekday: "text-muted-foreground rounded-control w-9 font-normal text-[0.8rem] text-center flex items-center justify-center",
167
+ week: "flex w-full mt-2",
168
+ day: r(
169
+ "group relative size-9 p-0 text-center text-sm focus-within:relative focus-within:z-20",
170
+ "[&:has([aria-selected].day-range-end)]:rounded-r-control",
171
+ "[&:has([aria-selected])]:bg-accent",
172
+ "first:[&:has([aria-selected])]:rounded-l-control",
173
+ "last:[&:has([aria-selected])]:rounded-r-control",
174
+ "[&:has([aria-selected].day-outside)]:bg-accent/50"
175
+ ),
176
+ day_button: r(I({ variant: "ghost" }), "size-9 p-0 font-normal aria-selected:opacity-100"),
177
+ range_start: "day-range-start rounded-l-control",
178
+ range_end: "day-range-end rounded-r-control",
179
+ selected: "bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",
180
+ today: "bg-accent text-accent-foreground",
181
+ outside: "day-outside text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30",
182
+ disabled: "text-muted-foreground opacity-50",
183
+ range_middle: "aria-selected:bg-accent aria-selected:text-accent-foreground",
184
+ hidden: "invisible",
185
+ ...a
186
+ },
187
+ components: {
188
+ Chevron: ({ orientation: i, ...c }) => /* @__PURE__ */ o(i === "left" ? ye : F, { className: "size-4", ...c })
189
+ },
190
+ ...n
191
+ }
192
+ );
193
+ }
194
+ na.displayName = "Calendar";
195
+ const ee = s.createContext(null);
196
+ function j() {
197
+ const e = s.useContext(ee);
198
+ if (!e)
199
+ throw new Error("useCarousel must be used within a <Carousel />");
200
+ return e;
201
+ }
202
+ const ia = s.forwardRef(
203
+ ({ orientation: e = "horizontal", opts: a, setApi: t, plugins: n, className: i, children: c, ...p }, h) => {
204
+ const [ue, f] = ze(
205
+ {
206
+ ...a,
207
+ axis: e === "horizontal" ? "x" : "y"
208
+ },
209
+ n
210
+ ), [fe, pe] = s.useState(!1), [ge, be] = s.useState(!1), T = s.useCallback((w) => {
211
+ w && (pe(w.canScrollPrev()), be(w.canScrollNext()));
212
+ }, []), G = s.useCallback(() => {
213
+ f == null || f.scrollPrev();
214
+ }, [f]), B = s.useCallback(() => {
215
+ f == null || f.scrollNext();
216
+ }, [f]), Ne = s.useCallback(
217
+ (w) => {
218
+ w.key === "ArrowLeft" ? (w.preventDefault(), G()) : w.key === "ArrowRight" && (w.preventDefault(), B());
219
+ },
220
+ [G, B]
221
+ );
222
+ return s.useEffect(() => {
223
+ !f || !t || t(f);
224
+ }, [f, t]), s.useEffect(() => {
225
+ if (f)
226
+ return T(f), f.on("reInit", T), f.on("select", T), () => {
227
+ f == null || f.off("select", T);
228
+ };
229
+ }, [f, T]), /* @__PURE__ */ o(
230
+ ee.Provider,
231
+ {
232
+ value: {
233
+ carouselRef: ue,
234
+ api: f,
235
+ opts: a,
236
+ orientation: e || ((a == null ? void 0 : a.axis) === "y" ? "vertical" : "horizontal"),
237
+ scrollPrev: G,
238
+ scrollNext: B,
239
+ canScrollPrev: fe,
240
+ canScrollNext: ge
241
+ },
242
+ children: /* @__PURE__ */ o("div", { ref: h, onKeyDownCapture: Ne, className: r("relative", i), role: "region", "aria-roledescription": "carousel", ...p, children: c })
243
+ }
244
+ );
245
+ }
246
+ );
247
+ ia.displayName = "Carousel";
248
+ const da = s.forwardRef(({ className: e, ...a }, t) => {
249
+ const { carouselRef: n, orientation: i } = j();
250
+ return /* @__PURE__ */ o("div", { ref: n, className: "overflow-hidden", children: /* @__PURE__ */ o("div", { ref: t, className: r("flex", i === "horizontal" ? "-ml-4" : "-mt-4 flex-col", e), ...a }) });
251
+ });
252
+ da.displayName = "CarouselContent";
253
+ const la = s.forwardRef(({ className: e, ...a }, t) => {
254
+ const { orientation: n } = j();
255
+ return /* @__PURE__ */ o(
256
+ "div",
257
+ {
258
+ ref: t,
259
+ role: "group",
260
+ "aria-roledescription": "slide",
261
+ className: r("min-w-0 shrink-0 grow-0 basis-full", n === "horizontal" ? "pl-4" : "pt-4", e),
262
+ ...a
263
+ }
264
+ );
265
+ });
266
+ la.displayName = "CarouselItem";
267
+ const ca = s.forwardRef(
268
+ ({ className: e, variant: a = "outline", size: t = "icon", ...n }, i) => {
269
+ const { orientation: c, scrollPrev: p, canScrollPrev: h } = j();
270
+ return /* @__PURE__ */ d(
271
+ Q,
272
+ {
273
+ ref: i,
274
+ variant: a,
275
+ size: t,
276
+ className: r(
277
+ "absolute h-8 w-8 rounded-control",
278
+ c === "horizontal" ? "-left-12 top-1/2 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
279
+ e
280
+ ),
281
+ disabled: !h,
282
+ onClick: p,
283
+ ...n,
284
+ children: [
285
+ /* @__PURE__ */ o(he, { className: "size-4" }),
286
+ /* @__PURE__ */ o("span", { className: "sr-only", children: "Previous slide" })
287
+ ]
288
+ }
289
+ );
290
+ }
291
+ );
292
+ ca.displayName = "CarouselPrevious";
293
+ const ma = s.forwardRef(
294
+ ({ className: e, variant: a = "outline", size: t = "icon", ...n }, i) => {
295
+ const { orientation: c, scrollNext: p, canScrollNext: h } = j();
296
+ return /* @__PURE__ */ d(
297
+ Q,
298
+ {
299
+ ref: i,
300
+ variant: a,
301
+ size: t,
302
+ className: r(
303
+ "absolute h-8 w-8 rounded-control",
304
+ c === "horizontal" ? "-right-12 top-1/2 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
305
+ e
306
+ ),
307
+ disabled: !h,
308
+ onClick: p,
309
+ ...n,
310
+ children: [
311
+ /* @__PURE__ */ o(ve, { className: "size-4" }),
312
+ /* @__PURE__ */ o("span", { className: "sr-only", children: "Next slide" })
313
+ ]
314
+ }
315
+ );
316
+ }
317
+ );
318
+ ma.displayName = "CarouselNext";
319
+ const ua = s.forwardRef(
320
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(
321
+ O.Root,
322
+ {
323
+ ref: t,
324
+ className: r(
325
+ "peer size-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground",
326
+ e
327
+ ),
328
+ ...a,
329
+ children: /* @__PURE__ */ o(O.Indicator, { className: r("flex items-center justify-center text-current"), children: a.checked === "indeterminate" ? /* @__PURE__ */ o("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 3, className: "size-3", children: /* @__PURE__ */ o("line", { x1: "5", y1: "12", x2: "19", y2: "12" }) }) : /* @__PURE__ */ o(K, { className: "size-3" }) })
330
+ }
331
+ )
332
+ );
333
+ ua.displayName = O.Root.displayName;
334
+ const fa = x.Root, ko = x.Trigger, pa = x.Portal, Io = x.Close, ae = s.forwardRef(
335
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(
336
+ x.Overlay,
337
+ {
338
+ ref: t,
339
+ className: r(
340
+ "fixed inset-0 z-[70] bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
341
+ e
342
+ ),
343
+ ...a
344
+ }
345
+ )
346
+ );
347
+ ae.displayName = x.Overlay.displayName;
348
+ const te = s.forwardRef(
349
+ ({ className: e, children: a, ...t }, n) => /* @__PURE__ */ d(pa, { children: [
350
+ /* @__PURE__ */ o(ae, {}),
351
+ /* @__PURE__ */ d(
352
+ x.Content,
353
+ {
354
+ ref: n,
355
+ className: r(
356
+ "fixed left-[50%] top-[50%] z-[70] grid w-full max-w-lg max-h-[95vh] overflow-y-auto translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-surface",
357
+ e
358
+ ),
359
+ ...t,
360
+ children: [
361
+ a,
362
+ /* @__PURE__ */ d(x.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity data-[state=open]:bg-accent data-[state=open]:text-muted-foreground hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none", children: [
363
+ /* @__PURE__ */ o(we, { className: "size-4" }),
364
+ /* @__PURE__ */ o("span", { className: "sr-only", children: "Close" })
365
+ ] })
366
+ ]
367
+ }
368
+ )
369
+ ] })
370
+ );
371
+ te.displayName = x.Content.displayName;
372
+ const ga = ({ className: e, ...a }) => /* @__PURE__ */ o("div", { className: r("flex flex-col space-y-1.5 text-center sm:text-left", e), ...a });
373
+ ga.displayName = "DialogHeader";
374
+ const ba = ({ className: e, ...a }) => /* @__PURE__ */ o("div", { className: r("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", e), ...a });
375
+ ba.displayName = "DialogFooter";
376
+ const Na = s.forwardRef(
377
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(x.Title, { ref: t, className: r("text-lg font-semibold leading-none tracking-tight", e), ...a })
378
+ );
379
+ Na.displayName = x.Title.displayName;
380
+ const xa = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o(x.Description, { ref: t, className: r("text-sm text-muted-foreground", e), ...a }));
381
+ xa.displayName = x.Description.displayName;
382
+ const oe = s.forwardRef(
383
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(
384
+ b,
385
+ {
386
+ ref: t,
387
+ className: r("flex h-full w-full flex-col overflow-hidden rounded-surface bg-popover text-popover-foreground", e),
388
+ ...a
389
+ }
390
+ )
391
+ );
392
+ oe.displayName = b.displayName;
393
+ const So = ({ children: e, ...a }) => /* @__PURE__ */ o(fa, { ...a, children: /* @__PURE__ */ o(te, { className: "overflow-hidden p-0 shadow-lg", children: /* @__PURE__ */ o(oe, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children: e }) }) }), ya = s.forwardRef(
394
+ ({ className: e, ...a }, t) => /* @__PURE__ */ d("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
395
+ /* @__PURE__ */ o(Re, { className: "mr-2 size-4 shrink-0 opacity-50" }),
396
+ /* @__PURE__ */ o(
397
+ b.Input,
398
+ {
399
+ ref: t,
400
+ className: r(
401
+ "flex h-11 w-full rounded-control bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
402
+ e
403
+ ),
404
+ ...a
405
+ }
406
+ )
407
+ ] })
408
+ );
409
+ ya.displayName = b.Input.displayName;
410
+ const ha = s.forwardRef(
411
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(b.List, { ref: t, className: r("max-h-[300px] overflow-y-auto overflow-x-hidden", e), ...a })
412
+ );
413
+ ha.displayName = b.List.displayName;
414
+ const va = s.forwardRef(
415
+ (e, a) => /* @__PURE__ */ o(b.Empty, { ref: a, className: "py-6 text-center text-sm", ...e })
416
+ );
417
+ va.displayName = b.Empty.displayName;
418
+ const wa = s.forwardRef(
419
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(
420
+ b.Group,
421
+ {
422
+ ref: t,
423
+ className: r(
424
+ "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",
425
+ e
426
+ ),
427
+ ...a
428
+ }
429
+ )
430
+ );
431
+ wa.displayName = b.Group.displayName;
432
+ const Ra = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o(b.Separator, { ref: t, className: r("-mx-1 h-px bg-border", e), ...a }));
433
+ Ra.displayName = b.Separator.displayName;
434
+ const Ca = s.forwardRef(
435
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(
436
+ b.Item,
437
+ {
438
+ ref: t,
439
+ className: r(
440
+ "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50",
441
+ e
442
+ ),
443
+ ...a
444
+ }
445
+ )
446
+ );
447
+ Ca.displayName = b.Item.displayName;
448
+ const ka = ({ className: e, ...a }) => /* @__PURE__ */ o("span", { className: r("ml-auto text-xs tracking-widest text-muted-foreground", e), ...a });
449
+ ka.displayName = "CommandShortcut";
450
+ const To = m.Root, Po = m.Trigger, zo = m.Group, Do = m.Portal, Mo = m.Sub, Fo = m.RadioGroup, Ia = s.forwardRef(({ className: e, inset: a, children: t, ...n }, i) => /* @__PURE__ */ d(
451
+ m.SubTrigger,
452
+ {
453
+ ref: i,
454
+ className: r(
455
+ "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
456
+ a && "pl-8",
457
+ e
458
+ ),
459
+ ...n,
460
+ children: [
461
+ t,
462
+ /* @__PURE__ */ o(F, { className: "ml-auto size-4" })
463
+ ]
464
+ }
465
+ ));
466
+ Ia.displayName = m.SubTrigger.displayName;
467
+ const Sa = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o(
468
+ m.SubContent,
469
+ {
470
+ ref: t,
471
+ className: r(
472
+ "z-50 min-w-[8rem] overflow-hidden rounded-surface border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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",
473
+ e
474
+ ),
475
+ ...a
476
+ }
477
+ ));
478
+ Sa.displayName = m.SubContent.displayName;
479
+ const Ta = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o(m.Portal, { children: /* @__PURE__ */ o(
480
+ m.Content,
481
+ {
482
+ ref: t,
483
+ className: r(
484
+ "z-50 min-w-[8rem] overflow-hidden rounded-surface border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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",
485
+ e
486
+ ),
487
+ ...a
488
+ }
489
+ ) }));
490
+ Ta.displayName = m.Content.displayName;
491
+ const Pa = s.forwardRef(({ className: e, inset: a, ...t }, n) => /* @__PURE__ */ o(
492
+ m.Item,
493
+ {
494
+ ref: n,
495
+ className: r(
496
+ "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
497
+ a && "pl-8",
498
+ e
499
+ ),
500
+ ...t
501
+ }
502
+ ));
503
+ Pa.displayName = m.Item.displayName;
504
+ const za = s.forwardRef(({ className: e, children: a, checked: t, ...n }, i) => /* @__PURE__ */ d(
505
+ m.CheckboxItem,
506
+ {
507
+ ref: i,
508
+ className: r(
509
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
510
+ e
511
+ ),
512
+ checked: t,
513
+ ...n,
514
+ children: [
515
+ /* @__PURE__ */ o("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ o(m.ItemIndicator, { children: /* @__PURE__ */ o(X, { className: "size-4" }) }) }),
516
+ a
517
+ ]
518
+ }
519
+ ));
520
+ za.displayName = m.CheckboxItem.displayName;
521
+ const Da = s.forwardRef(({ className: e, children: a, ...t }, n) => /* @__PURE__ */ d(
522
+ m.RadioItem,
523
+ {
524
+ ref: n,
525
+ className: r(
526
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
527
+ e
528
+ ),
529
+ ...t,
530
+ children: [
531
+ /* @__PURE__ */ o("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ o(m.ItemIndicator, { children: /* @__PURE__ */ o(E, { className: "h-2 w-2 fill-current" }) }) }),
532
+ a
533
+ ]
534
+ }
535
+ ));
536
+ Da.displayName = m.RadioItem.displayName;
537
+ const Ma = s.forwardRef(({ className: e, inset: a, ...t }, n) => /* @__PURE__ */ o(m.Label, { ref: n, className: r("px-2 py-1.5 text-sm font-semibold text-foreground", a && "pl-8", e), ...t }));
538
+ Ma.displayName = m.Label.displayName;
539
+ const Fa = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o(m.Separator, { ref: t, className: r("-mx-1 my-1 h-px bg-border", e), ...a }));
540
+ Fa.displayName = m.Separator.displayName;
541
+ const Aa = ({ className: e, ...a }) => /* @__PURE__ */ o("span", { className: r("ml-auto text-xs tracking-widest text-muted-foreground", e), ...a });
542
+ Aa.displayName = "ContextMenuShortcut";
543
+ const La = ({ shouldScaleBackground: e = !0, ...a }) => /* @__PURE__ */ o(v.Root, { shouldScaleBackground: e, ...a });
544
+ La.displayName = "Drawer";
545
+ const Ao = v.Trigger, ja = v.Portal, Lo = v.Close, re = s.forwardRef(
546
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(v.Overlay, { ref: t, className: r("fixed inset-0 z-50 bg-black/80", e), ...a })
547
+ );
548
+ re.displayName = v.Overlay.displayName;
549
+ const _a = s.forwardRef(
550
+ ({ className: e, children: a, ...t }, n) => /* @__PURE__ */ d(ja, { children: [
551
+ /* @__PURE__ */ o(re, {}),
552
+ /* @__PURE__ */ d(
553
+ v.Content,
554
+ {
555
+ ref: n,
556
+ className: r("fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-surface border bg-background", e),
557
+ ...t,
558
+ children: [
559
+ /* @__PURE__ */ o("div", { className: "mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted" }),
560
+ a
561
+ ]
562
+ }
563
+ )
564
+ ] })
565
+ );
566
+ _a.displayName = "DrawerContent";
567
+ const Ga = ({ className: e, ...a }) => /* @__PURE__ */ o("div", { className: r("grid gap-1.5 p-4 text-center sm:text-left", e), ...a });
568
+ Ga.displayName = "DrawerHeader";
569
+ const Ba = ({ className: e, ...a }) => /* @__PURE__ */ o("div", { className: r("mt-auto flex flex-col gap-2 p-4", e), ...a });
570
+ Ba.displayName = "DrawerFooter";
571
+ const Oa = s.forwardRef(
572
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(v.Title, { ref: t, className: r("text-lg font-semibold leading-none tracking-tight", e), ...a })
573
+ );
574
+ Oa.displayName = v.Title.displayName;
575
+ const Ha = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o(v.Description, { ref: t, className: r("text-sm text-muted-foreground", e), ...a }));
576
+ Ha.displayName = v.Description.displayName;
577
+ const jo = u.Root, _o = u.Trigger, Go = u.Group, Bo = u.Portal, Oo = u.Sub, Ho = u.RadioGroup, Va = s.forwardRef(({ className: e, inset: a, children: t, ...n }, i) => /* @__PURE__ */ d(
578
+ u.SubTrigger,
579
+ {
580
+ ref: i,
581
+ className: r(
582
+ "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[state=open]:bg-accent focus:bg-accent",
583
+ a === !0 && "pl-8",
584
+ e
585
+ ),
586
+ ...n,
587
+ children: [
588
+ t,
589
+ /* @__PURE__ */ o(J, { className: "ml-auto size-4" })
590
+ ]
591
+ }
592
+ ));
593
+ Va.displayName = u.SubTrigger.displayName;
594
+ const Ea = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o(
595
+ u.SubContent,
596
+ {
597
+ ref: t,
598
+ className: r(
599
+ "z-50 min-w-[8rem] overflow-hidden rounded-surface border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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",
600
+ e
601
+ ),
602
+ ...a
603
+ }
604
+ ));
605
+ Ea.displayName = u.SubContent.displayName;
606
+ const $a = s.forwardRef(({ className: e, sideOffset: a = 4, ...t }, n) => /* @__PURE__ */ o(u.Portal, { children: /* @__PURE__ */ o(
607
+ u.Content,
608
+ {
609
+ ref: n,
610
+ sideOffset: a,
611
+ className: r(
612
+ "z-50 min-w-[8rem] overflow-hidden rounded-surface border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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",
613
+ e
614
+ ),
615
+ ...t
616
+ }
617
+ ) }));
618
+ $a.displayName = u.Content.displayName;
619
+ const qa = s.forwardRef(({ className: e, inset: a, ...t }, n) => /* @__PURE__ */ o(
620
+ u.Item,
621
+ {
622
+ ref: n,
623
+ className: r(
624
+ "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",
625
+ a === !0 && "pl-8",
626
+ e
627
+ ),
628
+ ...t
629
+ }
630
+ ));
631
+ qa.displayName = u.Item.displayName;
632
+ const Ka = s.forwardRef(({ className: e, children: a, checked: t, ...n }, i) => /* @__PURE__ */ d(
633
+ u.CheckboxItem,
634
+ {
635
+ ref: i,
636
+ className: r(
637
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",
638
+ e
639
+ ),
640
+ checked: t,
641
+ ...n,
642
+ children: [
643
+ /* @__PURE__ */ o("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ o(u.ItemIndicator, { children: /* @__PURE__ */ o(K, { className: "size-4" }) }) }),
644
+ a
645
+ ]
646
+ }
647
+ ));
648
+ Ka.displayName = u.CheckboxItem.displayName;
649
+ const Xa = s.forwardRef(({ className: e, children: a, ...t }, n) => /* @__PURE__ */ d(
650
+ u.RadioItem,
651
+ {
652
+ ref: n,
653
+ className: r(
654
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",
655
+ e
656
+ ),
657
+ ...t,
658
+ children: [
659
+ /* @__PURE__ */ o("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ o(u.ItemIndicator, { children: /* @__PURE__ */ o(Ce, { className: "h-2 w-2 fill-current" }) }) }),
660
+ a
661
+ ]
662
+ }
663
+ ));
664
+ Xa.displayName = u.RadioItem.displayName;
665
+ const Ja = s.forwardRef(({ className: e, inset: a, ...t }, n) => /* @__PURE__ */ o(u.Label, { ref: n, className: r("px-2 py-1.5 text-sm font-semibold", a === !0 && "pl-8", e), ...t }));
666
+ Ja.displayName = u.Label.displayName;
667
+ const Qa = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o(u.Separator, { ref: t, className: r("-mx-1 my-1 h-px bg-muted", e), ...a }));
668
+ Qa.displayName = u.Separator.displayName;
669
+ const Wa = ({ className: e, ...a }) => /* @__PURE__ */ o("span", { className: r("ml-auto text-xs tracking-widest opacity-60", e), ...a });
670
+ Wa.displayName = "DropdownMenuShortcut";
671
+ const Ua = M("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"), se = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o(Ae.Root, { ref: t, className: r(Ua(), e), ...a }));
672
+ se.displayName = "Label";
673
+ const Vo = Me, ne = s.createContext({}), Eo = ({
674
+ ...e
675
+ }) => /* @__PURE__ */ o(ne.Provider, { value: { name: e.name }, children: /* @__PURE__ */ o(Fe, { ...e }) }), _ = () => {
676
+ const e = s.useContext(ne), a = s.useContext(ie), { getFieldState: t, formState: n } = De(), i = t(e.name, n);
677
+ if (!e)
678
+ throw new Error("useFormField should be used within <FormField>");
679
+ const { id: c } = a;
680
+ return {
681
+ id: c,
682
+ name: e.name,
683
+ formItemId: `${c}-form-item`,
684
+ formDescriptionId: `${c}-form-item-description`,
685
+ formMessageId: `${c}-form-item-message`,
686
+ ...i
687
+ };
688
+ }, ie = s.createContext({}), Ya = s.forwardRef(({ className: e, ...a }, t) => {
689
+ const n = s.useId();
690
+ return /* @__PURE__ */ o(ie.Provider, { value: { id: n }, children: /* @__PURE__ */ o("div", { ref: t, className: r("space-y-2", e), ...a }) });
691
+ });
692
+ Ya.displayName = "FormItem";
693
+ const Za = s.forwardRef(
694
+ ({ className: e, ...a }, t) => {
695
+ const { error: n, formItemId: i } = _();
696
+ return /* @__PURE__ */ o(se, { ref: t, className: r(n && "text-destructive", e), htmlFor: i, ...a });
697
+ }
698
+ );
699
+ Za.displayName = "FormLabel";
700
+ const et = s.forwardRef(({ ...e }, a) => {
701
+ const { error: t, formItemId: n, formDescriptionId: i, formMessageId: c } = _();
702
+ return /* @__PURE__ */ o(
703
+ W,
704
+ {
705
+ ref: a,
706
+ id: n,
707
+ "aria-describedby": t ? `${i} ${c}` : `${i}`,
708
+ "aria-invalid": !!t,
709
+ ...e
710
+ }
711
+ );
712
+ });
713
+ et.displayName = "FormControl";
714
+ const at = s.forwardRef(({ className: e, ...a }, t) => {
715
+ const { formDescriptionId: n } = _();
716
+ return /* @__PURE__ */ o("p", { ref: t, id: n, className: r("text-sm text-muted-foreground", e), ...a });
717
+ });
718
+ at.displayName = "FormDescription";
719
+ const tt = s.forwardRef(({ className: e, children: a, ...t }, n) => {
720
+ const { error: i, formMessageId: c } = _(), p = i ? String(i == null ? void 0 : i.message) : a;
721
+ return p ? /* @__PURE__ */ o("p", { ref: n, id: c, className: r("text-sm font-medium text-destructive", e), ...t, children: p }) : null;
722
+ });
723
+ tt.displayName = "FormMessage";
724
+ const $o = A.Root, qo = A.Trigger, ot = s.forwardRef(({ className: e, align: a = "center", sideOffset: t = 4, ...n }, i) => /* @__PURE__ */ o(
725
+ A.Content,
726
+ {
727
+ ref: i,
728
+ align: a,
729
+ sideOffset: t,
730
+ className: r(
731
+ "z-50 w-64 rounded-surface border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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",
732
+ e
733
+ ),
734
+ ...n
735
+ }
736
+ ));
737
+ ot.displayName = A.Content.displayName;
738
+ const rt = s.forwardRef(
739
+ ({ className: e, containerClassName: a, ...t }, n) => /* @__PURE__ */ o(
740
+ Le,
741
+ {
742
+ ref: n,
743
+ containerClassName: r("flex items-center gap-2 has-[:disabled]:opacity-50", a),
744
+ className: r("disabled:cursor-not-allowed", e),
745
+ ...t
746
+ }
747
+ )
748
+ );
749
+ rt.displayName = "InputOTP";
750
+ const st = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o("div", { ref: t, className: r("flex items-center", e), ...a }));
751
+ st.displayName = "InputOTPGroup";
752
+ const nt = s.forwardRef(
753
+ ({ index: e, className: a, ...t }, n) => {
754
+ const i = s.useContext(je), { char: c, hasFakeCaret: p, isActive: h } = i.slots[e];
755
+ return /* @__PURE__ */ d(
756
+ "div",
757
+ {
758
+ ref: n,
759
+ className: r(
760
+ "relative flex h-10 w-10 items-center justify-center border-y border-r border-input text-sm transition-all first:rounded-l-control first:border-l last:rounded-r-control",
761
+ h && "z-10 ring-2 ring-ring ring-offset-background",
762
+ a
763
+ ),
764
+ ...t,
765
+ children: [
766
+ c,
767
+ p && /* @__PURE__ */ o("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ o("div", { className: "h-4 w-px animate-caret-blink bg-foreground duration-1000" }) })
768
+ ]
769
+ }
770
+ );
771
+ }
772
+ );
773
+ nt.displayName = "InputOTPSlot";
774
+ const it = s.forwardRef(({ ...e }, a) => /* @__PURE__ */ o("div", { ref: a, role: "separator", ...e, children: /* @__PURE__ */ o(ke, {}) }));
775
+ it.displayName = "InputOTPSeparator";
776
+ const Ko = l.Menu, Xo = l.Group, Jo = l.Portal, Qo = l.Sub, Wo = l.RadioGroup, dt = s.forwardRef(
777
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(l.Root, { ref: t, className: r("flex h-10 items-center space-x-1 rounded-surface border bg-background p-1", e), ...a })
778
+ );
779
+ dt.displayName = l.Root.displayName;
780
+ const lt = s.forwardRef(
781
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(
782
+ l.Trigger,
783
+ {
784
+ ref: t,
785
+ className: r(
786
+ "flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
787
+ e
788
+ ),
789
+ ...a
790
+ }
791
+ )
792
+ );
793
+ lt.displayName = l.Trigger.displayName;
794
+ const ct = s.forwardRef(({ className: e, inset: a, children: t, ...n }, i) => /* @__PURE__ */ d(
795
+ l.SubTrigger,
796
+ {
797
+ ref: i,
798
+ className: r(
799
+ "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
800
+ a && "pl-8",
801
+ e
802
+ ),
803
+ ...n,
804
+ children: [
805
+ t,
806
+ /* @__PURE__ */ o(F, { className: "ml-auto size-4" })
807
+ ]
808
+ }
809
+ ));
810
+ ct.displayName = l.SubTrigger.displayName;
811
+ const mt = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o(
812
+ l.SubContent,
813
+ {
814
+ ref: t,
815
+ className: r(
816
+ "z-50 min-w-[8rem] overflow-hidden rounded-surface border bg-popover p-1 text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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",
817
+ e
818
+ ),
819
+ ...a
820
+ }
821
+ ));
822
+ mt.displayName = l.SubContent.displayName;
823
+ const ut = s.forwardRef(
824
+ ({ className: e, align: a = "start", alignOffset: t = -4, sideOffset: n = 8, ...i }, c) => /* @__PURE__ */ o(l.Portal, { children: /* @__PURE__ */ o(
825
+ l.Content,
826
+ {
827
+ ref: c,
828
+ align: a,
829
+ alignOffset: t,
830
+ sideOffset: n,
831
+ className: r(
832
+ "z-50 min-w-[12rem] overflow-hidden rounded-surface border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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",
833
+ e
834
+ ),
835
+ ...i
836
+ }
837
+ ) })
838
+ );
839
+ ut.displayName = l.Content.displayName;
840
+ const ft = s.forwardRef(({ className: e, inset: a, ...t }, n) => /* @__PURE__ */ o(
841
+ l.Item,
842
+ {
843
+ ref: n,
844
+ className: r(
845
+ "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
846
+ a && "pl-8",
847
+ e
848
+ ),
849
+ ...t
850
+ }
851
+ ));
852
+ ft.displayName = l.Item.displayName;
853
+ const pt = s.forwardRef(({ className: e, children: a, checked: t, ...n }, i) => /* @__PURE__ */ d(
854
+ l.CheckboxItem,
855
+ {
856
+ ref: i,
857
+ className: r(
858
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
859
+ e
860
+ ),
861
+ checked: t,
862
+ ...n,
863
+ children: [
864
+ /* @__PURE__ */ o("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ o(l.ItemIndicator, { children: /* @__PURE__ */ o(X, { className: "size-4" }) }) }),
865
+ a
866
+ ]
867
+ }
868
+ ));
869
+ pt.displayName = l.CheckboxItem.displayName;
870
+ const gt = s.forwardRef(({ className: e, children: a, ...t }, n) => /* @__PURE__ */ d(
871
+ l.RadioItem,
872
+ {
873
+ ref: n,
874
+ className: r(
875
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
876
+ e
877
+ ),
878
+ ...t,
879
+ children: [
880
+ /* @__PURE__ */ o("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ o(l.ItemIndicator, { children: /* @__PURE__ */ o(E, { className: "h-2 w-2 fill-current" }) }) }),
881
+ a
882
+ ]
883
+ }
884
+ ));
885
+ gt.displayName = l.RadioItem.displayName;
886
+ const bt = s.forwardRef(({ className: e, inset: a, ...t }, n) => /* @__PURE__ */ o(l.Label, { ref: n, className: r("px-2 py-1.5 text-sm font-semibold", a && "pl-8", e), ...t }));
887
+ bt.displayName = l.Label.displayName;
888
+ const Nt = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o(l.Separator, { ref: t, className: r("-mx-1 my-1 h-px bg-muted", e), ...a }));
889
+ Nt.displayName = l.Separator.displayName;
890
+ const xt = ({ className: e, ...a }) => /* @__PURE__ */ o("span", { className: r("ml-auto text-xs tracking-widest text-muted-foreground", e), ...a });
891
+ xt.displayname = "MenubarShortcut";
892
+ const yt = s.forwardRef(({ className: e, children: a, ...t }, n) => /* @__PURE__ */ d(N.Root, { ref: n, className: r("relative z-10 flex max-w-max flex-1 items-center justify-center", e), ...t, children: [
893
+ a,
894
+ /* @__PURE__ */ o(de, {})
895
+ ] }));
896
+ yt.displayName = N.Root.displayName;
897
+ const ht = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o(N.List, { ref: t, className: r("group flex flex-1 list-none items-center justify-center space-x-1", e), ...a }));
898
+ ht.displayName = N.List.displayName;
899
+ const Uo = N.Item, vt = M(
900
+ "group inline-flex h-10 w-max items-center justify-center rounded-control bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50"
901
+ ), wt = s.forwardRef(({ className: e, children: a, ...t }, n) => /* @__PURE__ */ d(N.Trigger, { ref: n, className: r(vt(), "group", e), ...t, children: [
902
+ a,
903
+ " ",
904
+ /* @__PURE__ */ o(q, { className: "relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180", "aria-hidden": "true" })
905
+ ] }));
906
+ wt.displayName = N.Trigger.displayName;
907
+ const Rt = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o(
908
+ N.Content,
909
+ {
910
+ ref: t,
911
+ className: r(
912
+ "left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto ",
913
+ e
914
+ ),
915
+ ...a
916
+ }
917
+ ));
918
+ Rt.displayName = N.Content.displayName;
919
+ const Yo = N.Link, de = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o("div", { className: r("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ o(
920
+ N.Viewport,
921
+ {
922
+ className: r(
923
+ "origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-surface border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",
924
+ e
925
+ ),
926
+ ref: t,
927
+ ...a
928
+ }
929
+ ) }));
930
+ de.displayName = N.Viewport.displayName;
931
+ const Ct = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o(
932
+ N.Indicator,
933
+ {
934
+ ref: t,
935
+ className: r(
936
+ "top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",
937
+ e
938
+ ),
939
+ ...a,
940
+ children: /* @__PURE__ */ o("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
941
+ }
942
+ ));
943
+ Ct.displayName = N.Indicator.displayName;
944
+ const kt = ({ className: e, ...a }) => /* @__PURE__ */ o("nav", { role: "navigation", "aria-label": "pagination", className: r("mx-auto flex w-full justify-center", e), ...a });
945
+ kt.displayName = "Pagination";
946
+ const It = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o("ul", { ref: t, className: r("flex flex-row items-center gap-1", e), ...a }));
947
+ It.displayName = "PaginationContent";
948
+ const St = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o("li", { ref: t, className: r("", e), ...a }));
949
+ St.displayName = "PaginationItem";
950
+ const $ = ({ className: e, isActive: a, size: t = "icon", ...n }) => /* @__PURE__ */ o(
951
+ "a",
952
+ {
953
+ "aria-current": a ? "page" : void 0,
954
+ className: r(
955
+ I({
956
+ variant: a ? "outline" : "ghost",
957
+ size: t
958
+ }),
959
+ e
960
+ ),
961
+ ...n
962
+ }
963
+ );
964
+ $.displayName = "PaginationLink";
965
+ const Tt = ({ className: e, label: a = "Previous", ...t }) => /* @__PURE__ */ d($, { "aria-label": "Go to previous page", size: "default", className: r("gap-1 pl-2.5", e), ...t, children: [
966
+ /* @__PURE__ */ o(Se, { className: "size-4" }),
967
+ /* @__PURE__ */ o("span", { children: a })
968
+ ] });
969
+ Tt.displayName = "PaginationPrevious";
970
+ const Pt = ({ className: e, label: a = "Next", ...t }) => /* @__PURE__ */ d($, { "aria-label": "Go to next page", size: "default", className: r("gap-1 pr-2.5", e), ...t, children: [
971
+ /* @__PURE__ */ o("span", { children: a }),
972
+ /* @__PURE__ */ o(J, { className: "size-4" })
973
+ ] });
974
+ Pt.displayName = "PaginationNext";
975
+ const zt = ({ className: e, ...a }) => /* @__PURE__ */ d("span", { "aria-hidden": !0, className: r("flex h-9 w-9 items-center justify-center", e), ...a, children: [
976
+ /* @__PURE__ */ o(Ie, { className: "size-4" }),
977
+ /* @__PURE__ */ o("span", { className: "sr-only", children: "More pages" })
978
+ ] });
979
+ zt.displayName = "PaginationEllipsis";
980
+ const Zo = z.Root, er = z.Trigger, Dt = s.forwardRef(
981
+ ({ className: e, align: a = "center", sideOffset: t = 4, ...n }, i) => /* @__PURE__ */ o(z.Portal, { children: /* @__PURE__ */ o(
982
+ z.Content,
983
+ {
984
+ ref: i,
985
+ align: a,
986
+ sideOffset: t,
987
+ className: r(
988
+ "z-[100] w-72 rounded-surface border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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",
989
+ e
990
+ ),
991
+ ...n
992
+ }
993
+ ) })
994
+ );
995
+ Dt.displayName = z.Content.displayName;
996
+ const Mt = s.forwardRef(
997
+ ({ className: e, value: a, indeterminate: t = !1, ...n }, i) => /* @__PURE__ */ o(H.Root, { ref: i, className: r("relative h-4 w-full overflow-hidden rounded-full bg-secondary", e), ...n, children: /* @__PURE__ */ o(
998
+ H.Indicator,
999
+ {
1000
+ className: r("h-full w-full flex-1 bg-primary transition-all", t && "animate-progress origin-left"),
1001
+ style: t ? void 0 : { transform: `translateX(-${(100 - (a ?? 0)).toString()}%)` }
1002
+ }
1003
+ ) })
1004
+ );
1005
+ Mt.displayName = H.Root.displayName;
1006
+ const Ft = s.forwardRef(
1007
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(D.Root, { className: r("grid gap-2", e), ...a, ref: t })
1008
+ );
1009
+ Ft.displayName = D.Root.displayName;
1010
+ const At = s.forwardRef(
1011
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(
1012
+ D.Item,
1013
+ {
1014
+ ref: t,
1015
+ className: r(
1016
+ "aspect-square size-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
1017
+ e
1018
+ ),
1019
+ ...a,
1020
+ children: /* @__PURE__ */ o(D.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ o(E, { className: "h-2.5 w-2.5 fill-current text-current" }) })
1021
+ }
1022
+ )
1023
+ );
1024
+ At.displayName = D.Item.displayName;
1025
+ const Lt = s.forwardRef(
1026
+ ({ className: e, children: a, ...t }, n) => /* @__PURE__ */ d(R.Root, { ref: n, className: r("relative overflow-hidden", e), ...t, children: [
1027
+ /* @__PURE__ */ o(R.Viewport, { className: "h-full w-full rounded-[inherit]", children: a }),
1028
+ /* @__PURE__ */ o(le, {}),
1029
+ /* @__PURE__ */ o(R.Corner, {})
1030
+ ] })
1031
+ );
1032
+ Lt.displayName = R.Root.displayName;
1033
+ const le = s.forwardRef(({ className: e, orientation: a = "vertical", ...t }, n) => /* @__PURE__ */ o(
1034
+ R.ScrollAreaScrollbar,
1035
+ {
1036
+ ref: n,
1037
+ orientation: a,
1038
+ className: r(
1039
+ "flex touch-none select-none transition-colors",
1040
+ a === "vertical" && "h-full w-2.5 border-l border-l-transparent p-[1px]",
1041
+ a === "horizontal" && "h-2.5 flex-col border-t border-t-transparent p-[1px]",
1042
+ e
1043
+ ),
1044
+ ...t,
1045
+ children: /* @__PURE__ */ o(R.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
1046
+ }
1047
+ ));
1048
+ le.displayName = R.ScrollAreaScrollbar.displayName;
1049
+ const jt = s.forwardRef(
1050
+ ({ className: e, orientation: a = "horizontal", decorative: t = !0, ...n }, i) => /* @__PURE__ */ o(
1051
+ U.Root,
1052
+ {
1053
+ ref: i,
1054
+ decorative: t,
1055
+ orientation: a,
1056
+ className: r("shrink-0 bg-border", a === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]", e),
1057
+ ...n
1058
+ }
1059
+ )
1060
+ );
1061
+ jt.displayName = U.Root.displayName;
1062
+ const _t = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o("div", { className: "relative w-full max-w-full overflow-auto", children: /* @__PURE__ */ o("table", { ref: t, className: r("w-full caption-bottom text-sm", e), ...a }) }));
1063
+ _t.displayName = "SimpleTable";
1064
+ const Gt = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o("thead", { ref: t, className: r("[&_tr]:border-b", e), ...a }));
1065
+ Gt.displayName = "SimpleTableHeader";
1066
+ const Bt = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o("tbody", { ref: t, className: r("[&_tr:last-child]:border-0", e), ...a }));
1067
+ Bt.displayName = "SimpleTableBody";
1068
+ const Ot = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o("tfoot", { ref: t, className: r("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0", e), ...a }));
1069
+ Ot.displayName = "SimpleTableFooter";
1070
+ const Ht = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o("tr", { ref: t, className: r("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted", e), ...a }));
1071
+ Ht.displayName = "SimpleTableRow";
1072
+ const Vt = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o("th", { ref: t, className: r("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0", e), ...a }));
1073
+ Vt.displayName = "SimpleTableHead";
1074
+ const Et = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o("td", { ref: t, className: r("p-4 align-middle [&:has([role=checkbox])]:pr-0", e), ...a }));
1075
+ Et.displayName = "SimpleTableCell";
1076
+ const $t = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o("caption", { ref: t, className: r("mt-4 text-sm text-muted-foreground", e), ...a }));
1077
+ $t.displayName = "SimpleTableCaption";
1078
+ const qt = s.forwardRef(
1079
+ ({ className: e, ...a }, t) => /* @__PURE__ */ d(P.Root, { ref: t, className: r("relative flex w-full touch-none select-none items-center", e), ...a, children: [
1080
+ /* @__PURE__ */ o(P.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-secondary", children: /* @__PURE__ */ o(P.Range, { className: "absolute h-full bg-primary" }) }),
1081
+ /* @__PURE__ */ o(P.Thumb, { className: "block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50" })
1082
+ ] })
1083
+ );
1084
+ qt.displayName = P.Root.displayName;
1085
+ const Kt = s.forwardRef(
1086
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(
1087
+ V.Root,
1088
+ {
1089
+ className: r(
1090
+ "peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",
1091
+ e
1092
+ ),
1093
+ ...a,
1094
+ ref: t,
1095
+ children: /* @__PURE__ */ o(
1096
+ V.Thumb,
1097
+ {
1098
+ className: r(
1099
+ "pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0"
1100
+ )
1101
+ }
1102
+ )
1103
+ }
1104
+ )
1105
+ );
1106
+ Kt.displayName = V.Root.displayName;
1107
+ const ar = k.Root, Xt = s.forwardRef(
1108
+ ({ className: e, style: a, ...t }, n) => {
1109
+ const i = s.useRef(null), c = s.useCallback(
1110
+ (h) => {
1111
+ i.current = h, typeof n == "function" ? n(h) : n && (n.current = h);
1112
+ },
1113
+ [n]
1114
+ ), p = _e(i);
1115
+ return /* @__PURE__ */ o(
1116
+ k.List,
1117
+ {
1118
+ ref: c,
1119
+ style: { ...a, ...p },
1120
+ className: r(
1121
+ // Les onglets qui ne tiennent pas dans la largeur défilent dans la liste au lieu d'élargir
1122
+ // la page : sur mobile, une liste plus large que l'écran rendait tout le layout scrollable
1123
+ // horizontalement (en-tête et contenu compris). overscroll-x-contain évite en plus que le
1124
+ // swipe sur les onglets déclenche le retour arrière du navigateur.
1125
+ // La scrollbar est masquée : haute de ~15px sur Windows, elle rognerait la barre (h-10).
1126
+ "inline-flex h-10 items-center justify-start gap-6 overflow-x-auto overscroll-x-contain border-b border-border bg-transparent p-0 text-muted-foreground w-full [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",
1127
+ e
1128
+ ),
1129
+ ...t
1130
+ }
1131
+ );
1132
+ }
1133
+ );
1134
+ Xt.displayName = k.List.displayName;
1135
+ const Jt = s.forwardRef(
1136
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(
1137
+ k.Trigger,
1138
+ {
1139
+ ref: t,
1140
+ className: r(
1141
+ "relative inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-none border-b-2 border-transparent bg-transparent px-1 pb-2.5 pt-2 -mb-px text-sm font-medium text-muted-foreground ring-offset-background cursor-pointer transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:border-primary data-[state=active]:text-foreground data-[state=active]:shadow-none [&_svg]:h-4 [&_svg]:w-4",
1142
+ e
1143
+ ),
1144
+ ...a
1145
+ }
1146
+ )
1147
+ );
1148
+ Jt.displayName = k.Trigger.displayName;
1149
+ const Qt = s.forwardRef(
1150
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(
1151
+ k.Content,
1152
+ {
1153
+ ref: t,
1154
+ className: r(
1155
+ "mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
1156
+ e
1157
+ ),
1158
+ ...a
1159
+ }
1160
+ )
1161
+ );
1162
+ Qt.displayName = k.Content.displayName;
1163
+ const Wt = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o(
1164
+ "textarea",
1165
+ {
1166
+ className: r(
1167
+ "flex min-h-[80px] w-full rounded-control border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
1168
+ e
1169
+ ),
1170
+ ref: t,
1171
+ ...a
1172
+ }
1173
+ ));
1174
+ Wt.displayName = "Textarea";
1175
+ const tr = y.Provider, Ut = s.forwardRef(
1176
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(
1177
+ y.Viewport,
1178
+ {
1179
+ ref: t,
1180
+ className: r(
1181
+ "fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",
1182
+ e
1183
+ ),
1184
+ ...a
1185
+ }
1186
+ )
1187
+ );
1188
+ Ut.displayName = y.Viewport.displayName;
1189
+ const Yt = M(
1190
+ "group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-surface border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",
1191
+ {
1192
+ variants: {
1193
+ variant: {
1194
+ default: "border bg-background text-foreground",
1195
+ destructive: "destructive group border-destructive bg-destructive text-destructive-foreground"
1196
+ }
1197
+ },
1198
+ defaultVariants: {
1199
+ variant: "default"
1200
+ }
1201
+ }
1202
+ ), Zt = s.forwardRef(({ className: e, variant: a, ...t }, n) => /* @__PURE__ */ o(y.Root, { ref: n, className: r(Yt({ variant: a }), e), ...t }));
1203
+ Zt.displayName = y.Root.displayName;
1204
+ const eo = s.forwardRef(
1205
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(
1206
+ y.Action,
1207
+ {
1208
+ ref: t,
1209
+ className: r(
1210
+ "inline-flex h-8 shrink-0 items-center justify-center rounded-control border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors group-[.destructive]:border-muted/40 hover:bg-secondary group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 group-[.destructive]:focus:ring-destructive disabled:pointer-events-none disabled:opacity-50",
1211
+ e
1212
+ ),
1213
+ ...a
1214
+ }
1215
+ )
1216
+ );
1217
+ eo.displayName = y.Action.displayName;
1218
+ const ao = s.forwardRef(
1219
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(
1220
+ y.Close,
1221
+ {
1222
+ ref: t,
1223
+ className: r(
1224
+ "absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 hover:text-foreground group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:outline-none focus:ring-2 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",
1225
+ e
1226
+ ),
1227
+ "toast-close": "",
1228
+ ...a,
1229
+ children: /* @__PURE__ */ o(Te, { className: "size-4" })
1230
+ }
1231
+ )
1232
+ );
1233
+ ao.displayName = y.Close.displayName;
1234
+ const to = s.forwardRef(
1235
+ ({ className: e, ...a }, t) => /* @__PURE__ */ o(y.Title, { ref: t, className: r("text-sm font-semibold", e), ...a })
1236
+ );
1237
+ to.displayName = y.Title.displayName;
1238
+ const oo = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o(y.Description, { ref: t, className: r("text-sm opacity-90", e), ...a }));
1239
+ oo.displayName = y.Description.displayName;
1240
+ const ce = M(
1241
+ "inline-flex items-center justify-center rounded-control text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",
1242
+ {
1243
+ variants: {
1244
+ variant: {
1245
+ default: "bg-transparent",
1246
+ outline: "border border-input bg-transparent hover:bg-accent hover:text-accent-foreground"
1247
+ },
1248
+ size: {
1249
+ default: "h-10 px-3",
1250
+ sm: "h-9 px-2.5",
1251
+ lg: "h-11 px-5"
1252
+ }
1253
+ },
1254
+ defaultVariants: {
1255
+ variant: "default",
1256
+ size: "default"
1257
+ }
1258
+ }
1259
+ ), ro = s.forwardRef(({ className: e, variant: a, size: t, ...n }, i) => /* @__PURE__ */ o(Y.Root, { ref: i, className: r(ce({ variant: a, size: t, className: e })), ...n }));
1260
+ ro.displayName = Y.Root.displayName;
1261
+ const me = s.createContext({
1262
+ size: "default",
1263
+ variant: "default"
1264
+ }), so = s.forwardRef(({ className: e, variant: a, size: t, children: n, ...i }, c) => /* @__PURE__ */ o(L.Root, { ref: c, className: r("flex items-center justify-center gap-1", e), ...i, children: /* @__PURE__ */ o(me.Provider, { value: { variant: a, size: t }, children: n }) }));
1265
+ so.displayName = L.Root.displayName;
1266
+ const no = s.forwardRef(({ className: e, children: a, variant: t, size: n, ...i }, c) => {
1267
+ const p = s.useContext(me);
1268
+ return /* @__PURE__ */ o(
1269
+ L.Item,
1270
+ {
1271
+ ref: c,
1272
+ className: r(
1273
+ ce({
1274
+ variant: p.variant || t,
1275
+ size: p.size || n
1276
+ }),
1277
+ e
1278
+ ),
1279
+ ...i,
1280
+ children: a
1281
+ }
1282
+ );
1283
+ });
1284
+ no.displayName = L.Item.displayName;
1285
+ export {
1286
+ Ta as $,
1287
+ vo as A,
1288
+ Co as B,
1289
+ aa as C,
1290
+ fa as D,
1291
+ ta as E,
1292
+ ea as F,
1293
+ oa as G,
1294
+ ra as H,
1295
+ na as I,
1296
+ ia as J,
1297
+ da as K,
1298
+ la as L,
1299
+ ma as M,
1300
+ ca as N,
1301
+ ua as O,
1302
+ Mt as P,
1303
+ oe as Q,
1304
+ So as R,
1305
+ va as S,
1306
+ wa as T,
1307
+ ya as U,
1308
+ Ca as V,
1309
+ ha as W,
1310
+ Ra as X,
1311
+ ka as Y,
1312
+ To as Z,
1313
+ za as _,
1314
+ Io as a,
1315
+ xt as a$,
1316
+ zo as a0,
1317
+ Pa as a1,
1318
+ Ma as a2,
1319
+ Do as a3,
1320
+ Fo as a4,
1321
+ Da as a5,
1322
+ Fa as a6,
1323
+ Aa as a7,
1324
+ Mo as a8,
1325
+ Sa as a9,
1326
+ _o as aA,
1327
+ Vo as aB,
1328
+ et as aC,
1329
+ at as aD,
1330
+ Eo as aE,
1331
+ Ya as aF,
1332
+ Za as aG,
1333
+ tt as aH,
1334
+ $o as aI,
1335
+ ot as aJ,
1336
+ qo as aK,
1337
+ rt as aL,
1338
+ st as aM,
1339
+ it as aN,
1340
+ nt as aO,
1341
+ se as aP,
1342
+ dt as aQ,
1343
+ pt as aR,
1344
+ ut as aS,
1345
+ Xo as aT,
1346
+ ft as aU,
1347
+ bt as aV,
1348
+ Ko as aW,
1349
+ Jo as aX,
1350
+ Wo as aY,
1351
+ gt as aZ,
1352
+ Nt as a_,
1353
+ Ia as aa,
1354
+ Po as ab,
1355
+ La as ac,
1356
+ Lo as ad,
1357
+ _a as ae,
1358
+ Ha as af,
1359
+ Ba as ag,
1360
+ Ga as ah,
1361
+ re as ai,
1362
+ ja as aj,
1363
+ Oa as ak,
1364
+ Ao as al,
1365
+ jo as am,
1366
+ Ka as an,
1367
+ $a as ao,
1368
+ Go as ap,
1369
+ qa as aq,
1370
+ Ja as ar,
1371
+ Bo as as,
1372
+ Ho as at,
1373
+ Xa as au,
1374
+ Qa as av,
1375
+ Wa as aw,
1376
+ Oo as ax,
1377
+ Ea as ay,
1378
+ Va as az,
1379
+ te as b,
1380
+ Qo as b0,
1381
+ mt as b1,
1382
+ ct as b2,
1383
+ lt as b3,
1384
+ yt as b4,
1385
+ Rt as b5,
1386
+ Ct as b6,
1387
+ Uo as b7,
1388
+ Yo as b8,
1389
+ ht as b9,
1390
+ Kt as bA,
1391
+ ar as bB,
1392
+ Qt as bC,
1393
+ Xt as bD,
1394
+ Jt as bE,
1395
+ Wt as bF,
1396
+ Zt as bG,
1397
+ eo as bH,
1398
+ ao as bI,
1399
+ oo as bJ,
1400
+ tr as bK,
1401
+ to as bL,
1402
+ Ut as bM,
1403
+ ro as bN,
1404
+ so as bO,
1405
+ no as bP,
1406
+ Ye as bQ,
1407
+ vt as bR,
1408
+ ce as bS,
1409
+ _ as bT,
1410
+ wt as ba,
1411
+ de as bb,
1412
+ kt as bc,
1413
+ It as bd,
1414
+ zt as be,
1415
+ St as bf,
1416
+ $ as bg,
1417
+ Pt as bh,
1418
+ Tt as bi,
1419
+ Zo as bj,
1420
+ Dt as bk,
1421
+ er as bl,
1422
+ Ft as bm,
1423
+ At as bn,
1424
+ Lt as bo,
1425
+ le as bp,
1426
+ jt as bq,
1427
+ _t as br,
1428
+ Bt as bs,
1429
+ $t as bt,
1430
+ Et as bu,
1431
+ Ot as bv,
1432
+ Vt as bw,
1433
+ Gt as bx,
1434
+ Ht as by,
1435
+ qt as bz,
1436
+ xa as c,
1437
+ ba as d,
1438
+ ga as e,
1439
+ ae as f,
1440
+ pa as g,
1441
+ Na as h,
1442
+ ko as i,
1443
+ Oe as j,
1444
+ Ge as k,
1445
+ Be as l,
1446
+ wo as m,
1447
+ Xe as n,
1448
+ Je as o,
1449
+ Ve as p,
1450
+ Ke as q,
1451
+ $e as r,
1452
+ Ee as s,
1453
+ qe as t,
1454
+ Ro as u,
1455
+ Qe as v,
1456
+ Ue as w,
1457
+ We as x,
1458
+ Ze as y,
1459
+ sa as z
1460
+ };