@melv1c/ui-kit 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +65 -0
  2. package/dist/base.css +49 -0
  3. package/dist/chunk-2ZWQNZEN.cjs +63 -0
  4. package/dist/chunk-2ZWQNZEN.cjs.map +1 -0
  5. package/dist/chunk-4H5OSMBC.js +52 -0
  6. package/dist/chunk-4H5OSMBC.js.map +1 -0
  7. package/dist/chunk-GQ6Z5A4R.cjs +262 -0
  8. package/dist/chunk-GQ6Z5A4R.cjs.map +1 -0
  9. package/dist/chunk-I7WHASOO.cjs +13 -0
  10. package/dist/chunk-I7WHASOO.cjs.map +1 -0
  11. package/dist/chunk-PYHBC3IQ.js +17 -0
  12. package/dist/chunk-PYHBC3IQ.js.map +1 -0
  13. package/dist/chunk-PZ5AY32C.js +9 -0
  14. package/dist/chunk-PZ5AY32C.js.map +1 -0
  15. package/dist/chunk-Q4GFV3J3.cjs +19 -0
  16. package/dist/chunk-Q4GFV3J3.cjs.map +1 -0
  17. package/dist/chunk-Q7SFCCGT.cjs +11 -0
  18. package/dist/chunk-Q7SFCCGT.cjs.map +1 -0
  19. package/dist/chunk-QV4CTFLS.cjs +60 -0
  20. package/dist/chunk-QV4CTFLS.cjs.map +1 -0
  21. package/dist/chunk-RZJFYAJW.js +60 -0
  22. package/dist/chunk-RZJFYAJW.js.map +1 -0
  23. package/dist/chunk-WTLIXI2B.js +225 -0
  24. package/dist/chunk-WTLIXI2B.js.map +1 -0
  25. package/dist/chunk-WZ2GOU2J.js +11 -0
  26. package/dist/chunk-WZ2GOU2J.js.map +1 -0
  27. package/dist/code-diff-editor-IT2RMVDC.js +73 -0
  28. package/dist/code-diff-editor-IT2RMVDC.js.map +1 -0
  29. package/dist/code-diff-editor-J24VGXHL.cjs +75 -0
  30. package/dist/code-diff-editor-J24VGXHL.cjs.map +1 -0
  31. package/dist/code-editor-DK64HVFQ.cjs +84 -0
  32. package/dist/code-editor-DK64HVFQ.cjs.map +1 -0
  33. package/dist/code-editor-EJIJXZLN.js +82 -0
  34. package/dist/code-editor-EJIJXZLN.js.map +1 -0
  35. package/dist/index.cjs +4196 -0
  36. package/dist/index.cjs.map +1 -0
  37. package/dist/index.d.cts +623 -0
  38. package/dist/index.d.ts +623 -0
  39. package/dist/index.js +3870 -0
  40. package/dist/index.js.map +1 -0
  41. package/dist/locales/index.cjs +33 -0
  42. package/dist/locales/index.cjs.map +1 -0
  43. package/dist/locales/index.d.cts +43 -0
  44. package/dist/locales/index.d.ts +43 -0
  45. package/dist/locales/index.js +4 -0
  46. package/dist/locales/index.js.map +1 -0
  47. package/dist/rich-text-editor-JUERRDHQ.js +442 -0
  48. package/dist/rich-text-editor-JUERRDHQ.js.map +1 -0
  49. package/dist/rich-text-editor-MOJDWQTI.cjs +451 -0
  50. package/dist/rich-text-editor-MOJDWQTI.cjs.map +1 -0
  51. package/dist/themes/claude.css +125 -0
  52. package/dist/themes/default.css +70 -0
  53. package/dist/themes/doom64.css +117 -0
  54. package/dist/themes/t3chat.css +125 -0
  55. package/dist/themes/twitter.css +127 -0
  56. package/dist/themes/vercel.css +117 -0
  57. package/package.json +166 -0
  58. package/styles.css +120 -0
package/dist/index.cjs ADDED
@@ -0,0 +1,4196 @@
1
+ 'use strict';
2
+
3
+ var chunkQV4CTFLS_cjs = require('./chunk-QV4CTFLS.cjs');
4
+ var chunkQ4GFV3J3_cjs = require('./chunk-Q4GFV3J3.cjs');
5
+ var chunkGQ6Z5A4R_cjs = require('./chunk-GQ6Z5A4R.cjs');
6
+ var chunkI7WHASOO_cjs = require('./chunk-I7WHASOO.cjs');
7
+ require('./chunk-Q7SFCCGT.cjs');
8
+ var React9 = require('react');
9
+ var AccordionPrimitive = require('@radix-ui/react-accordion');
10
+ var lucideReact = require('lucide-react');
11
+ var jsxRuntime = require('react/jsx-runtime');
12
+ var classVarianceAuthority = require('class-variance-authority');
13
+ var AlertDialogPrimitive = require('@radix-ui/react-alert-dialog');
14
+ var AvatarPrimitive = require('@radix-ui/react-avatar');
15
+ var reactSlot = require('@radix-ui/react-slot');
16
+ var reactDayPicker = require('react-day-picker');
17
+ var useEmblaCarousel = require('embla-carousel-react');
18
+ var CheckboxPrimitive = require('@radix-ui/react-checkbox');
19
+ var CollapsiblePrimitive = require('@radix-ui/react-collapsible');
20
+ var cmdk = require('cmdk');
21
+ var DialogPrimitive = require('@radix-ui/react-dialog');
22
+ var ContextMenuPrimitive = require('@radix-ui/react-context-menu');
23
+ var vaul = require('vaul');
24
+ var DropdownMenuPrimitive = require('@radix-ui/react-dropdown-menu');
25
+ var reactHookForm = require('react-hook-form');
26
+ var LabelPrimitive = require('@radix-ui/react-label');
27
+ var HoverCardPrimitive = require('@radix-ui/react-hover-card');
28
+ var MenubarPrimitive = require('@radix-ui/react-menubar');
29
+ var NavigationMenuPrimitive = require('@radix-ui/react-navigation-menu');
30
+ var ProgressPrimitive = require('@radix-ui/react-progress');
31
+ var RadioGroupPrimitive = require('@radix-ui/react-radio-group');
32
+ var ScrollAreaPrimitive = require('@radix-ui/react-scroll-area');
33
+ var SelectPrimitive = require('@radix-ui/react-select');
34
+ var TooltipPrimitive = require('@radix-ui/react-tooltip');
35
+ var SliderPrimitive = require('@radix-ui/react-slider');
36
+ var nextThemes = require('next-themes');
37
+ var sonner = require('sonner');
38
+ var SwitchPrimitive = require('@radix-ui/react-switch');
39
+ var TabsPrimitive = require('@radix-ui/react-tabs');
40
+ var reactI18next = require('react-i18next');
41
+ var i18n = require('i18next');
42
+
43
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
44
+
45
+ function _interopNamespace(e) {
46
+ if (e && e.__esModule) return e;
47
+ var n = Object.create(null);
48
+ if (e) {
49
+ Object.keys(e).forEach(function (k) {
50
+ if (k !== 'default') {
51
+ var d = Object.getOwnPropertyDescriptor(e, k);
52
+ Object.defineProperty(n, k, d.get ? d : {
53
+ enumerable: true,
54
+ get: function () { return e[k]; }
55
+ });
56
+ }
57
+ });
58
+ }
59
+ n.default = e;
60
+ return Object.freeze(n);
61
+ }
62
+
63
+ var React9__namespace = /*#__PURE__*/_interopNamespace(React9);
64
+ var AccordionPrimitive__namespace = /*#__PURE__*/_interopNamespace(AccordionPrimitive);
65
+ var AlertDialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(AlertDialogPrimitive);
66
+ var AvatarPrimitive__namespace = /*#__PURE__*/_interopNamespace(AvatarPrimitive);
67
+ var useEmblaCarousel__default = /*#__PURE__*/_interopDefault(useEmblaCarousel);
68
+ var CheckboxPrimitive__namespace = /*#__PURE__*/_interopNamespace(CheckboxPrimitive);
69
+ var CollapsiblePrimitive__namespace = /*#__PURE__*/_interopNamespace(CollapsiblePrimitive);
70
+ var DialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(DialogPrimitive);
71
+ var ContextMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(ContextMenuPrimitive);
72
+ var DropdownMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(DropdownMenuPrimitive);
73
+ var LabelPrimitive__namespace = /*#__PURE__*/_interopNamespace(LabelPrimitive);
74
+ var HoverCardPrimitive__namespace = /*#__PURE__*/_interopNamespace(HoverCardPrimitive);
75
+ var MenubarPrimitive__namespace = /*#__PURE__*/_interopNamespace(MenubarPrimitive);
76
+ var NavigationMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(NavigationMenuPrimitive);
77
+ var ProgressPrimitive__namespace = /*#__PURE__*/_interopNamespace(ProgressPrimitive);
78
+ var RadioGroupPrimitive__namespace = /*#__PURE__*/_interopNamespace(RadioGroupPrimitive);
79
+ var ScrollAreaPrimitive__namespace = /*#__PURE__*/_interopNamespace(ScrollAreaPrimitive);
80
+ var SelectPrimitive__namespace = /*#__PURE__*/_interopNamespace(SelectPrimitive);
81
+ var TooltipPrimitive__namespace = /*#__PURE__*/_interopNamespace(TooltipPrimitive);
82
+ var SliderPrimitive__namespace = /*#__PURE__*/_interopNamespace(SliderPrimitive);
83
+ var SwitchPrimitive__namespace = /*#__PURE__*/_interopNamespace(SwitchPrimitive);
84
+ var TabsPrimitive__namespace = /*#__PURE__*/_interopNamespace(TabsPrimitive);
85
+ var i18n__default = /*#__PURE__*/_interopDefault(i18n);
86
+
87
+ function Accordion({
88
+ ...props
89
+ }) {
90
+ return /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Root, { "data-slot": "accordion", ...props });
91
+ }
92
+ function AccordionItem({
93
+ className,
94
+ ...props
95
+ }) {
96
+ return /* @__PURE__ */ jsxRuntime.jsx(
97
+ AccordionPrimitive__namespace.Item,
98
+ {
99
+ "data-slot": "accordion-item",
100
+ className: chunkI7WHASOO_cjs.cn("border-b last:border-b-0", className),
101
+ ...props
102
+ }
103
+ );
104
+ }
105
+ function AccordionTrigger({
106
+ className,
107
+ children,
108
+ ...props
109
+ }) {
110
+ return /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Header, { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs(
111
+ AccordionPrimitive__namespace.Trigger,
112
+ {
113
+ "data-slot": "accordion-trigger",
114
+ className: chunkI7WHASOO_cjs.cn(
115
+ "focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",
116
+ className
117
+ ),
118
+ ...props,
119
+ children: [
120
+ children,
121
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200" })
122
+ ]
123
+ }
124
+ ) });
125
+ }
126
+ function AccordionContent({
127
+ className,
128
+ children,
129
+ ...props
130
+ }) {
131
+ return /* @__PURE__ */ jsxRuntime.jsx(
132
+ AccordionPrimitive__namespace.Content,
133
+ {
134
+ "data-slot": "accordion-content",
135
+ className: "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm",
136
+ ...props,
137
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkI7WHASOO_cjs.cn("pt-0 pb-4", className), children })
138
+ }
139
+ );
140
+ }
141
+ var alertVariants = classVarianceAuthority.cva(
142
+ "relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
143
+ {
144
+ variants: {
145
+ variant: {
146
+ default: "bg-card text-card-foreground",
147
+ destructive: "text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"
148
+ }
149
+ },
150
+ defaultVariants: {
151
+ variant: "default"
152
+ }
153
+ }
154
+ );
155
+ function Alert({
156
+ className,
157
+ variant,
158
+ ...props
159
+ }) {
160
+ return /* @__PURE__ */ jsxRuntime.jsx(
161
+ "div",
162
+ {
163
+ "data-slot": "alert",
164
+ role: "alert",
165
+ className: chunkI7WHASOO_cjs.cn(alertVariants({ variant }), className),
166
+ ...props
167
+ }
168
+ );
169
+ }
170
+ function AlertTitle({ className, ...props }) {
171
+ return /* @__PURE__ */ jsxRuntime.jsx(
172
+ "div",
173
+ {
174
+ "data-slot": "alert-title",
175
+ className: chunkI7WHASOO_cjs.cn(
176
+ "col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",
177
+ className
178
+ ),
179
+ ...props
180
+ }
181
+ );
182
+ }
183
+ function AlertDescription({
184
+ className,
185
+ ...props
186
+ }) {
187
+ return /* @__PURE__ */ jsxRuntime.jsx(
188
+ "div",
189
+ {
190
+ "data-slot": "alert-description",
191
+ className: chunkI7WHASOO_cjs.cn(
192
+ "text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",
193
+ className
194
+ ),
195
+ ...props
196
+ }
197
+ );
198
+ }
199
+ function AlertDialog({
200
+ ...props
201
+ }) {
202
+ return /* @__PURE__ */ jsxRuntime.jsx(AlertDialogPrimitive__namespace.Root, { "data-slot": "alert-dialog", ...props });
203
+ }
204
+ function AlertDialogTrigger({
205
+ ...props
206
+ }) {
207
+ return /* @__PURE__ */ jsxRuntime.jsx(AlertDialogPrimitive__namespace.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
208
+ }
209
+ function AlertDialogPortal({
210
+ ...props
211
+ }) {
212
+ return /* @__PURE__ */ jsxRuntime.jsx(AlertDialogPrimitive__namespace.Portal, { "data-slot": "alert-dialog-portal", ...props });
213
+ }
214
+ function AlertDialogOverlay({
215
+ className,
216
+ ...props
217
+ }) {
218
+ return /* @__PURE__ */ jsxRuntime.jsx(
219
+ AlertDialogPrimitive__namespace.Overlay,
220
+ {
221
+ "data-slot": "alert-dialog-overlay",
222
+ className: chunkI7WHASOO_cjs.cn(
223
+ "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",
224
+ className
225
+ ),
226
+ ...props
227
+ }
228
+ );
229
+ }
230
+ function AlertDialogContent({
231
+ className,
232
+ ...props
233
+ }) {
234
+ return /* @__PURE__ */ jsxRuntime.jsxs(AlertDialogPortal, { children: [
235
+ /* @__PURE__ */ jsxRuntime.jsx(AlertDialogOverlay, {}),
236
+ /* @__PURE__ */ jsxRuntime.jsx(
237
+ AlertDialogPrimitive__namespace.Content,
238
+ {
239
+ "data-slot": "alert-dialog-content",
240
+ className: chunkI7WHASOO_cjs.cn(
241
+ "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
242
+ className
243
+ ),
244
+ ...props
245
+ }
246
+ )
247
+ ] });
248
+ }
249
+ function AlertDialogHeader({
250
+ className,
251
+ ...props
252
+ }) {
253
+ return /* @__PURE__ */ jsxRuntime.jsx(
254
+ "div",
255
+ {
256
+ "data-slot": "alert-dialog-header",
257
+ className: chunkI7WHASOO_cjs.cn("flex flex-col gap-2 text-center sm:text-left", className),
258
+ ...props
259
+ }
260
+ );
261
+ }
262
+ function AlertDialogFooter({
263
+ className,
264
+ ...props
265
+ }) {
266
+ return /* @__PURE__ */ jsxRuntime.jsx(
267
+ "div",
268
+ {
269
+ "data-slot": "alert-dialog-footer",
270
+ className: chunkI7WHASOO_cjs.cn(
271
+ "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
272
+ className
273
+ ),
274
+ ...props
275
+ }
276
+ );
277
+ }
278
+ function AlertDialogTitle({
279
+ className,
280
+ ...props
281
+ }) {
282
+ return /* @__PURE__ */ jsxRuntime.jsx(
283
+ AlertDialogPrimitive__namespace.Title,
284
+ {
285
+ "data-slot": "alert-dialog-title",
286
+ className: chunkI7WHASOO_cjs.cn("text-lg font-semibold", className),
287
+ ...props
288
+ }
289
+ );
290
+ }
291
+ function AlertDialogDescription({
292
+ className,
293
+ ...props
294
+ }) {
295
+ return /* @__PURE__ */ jsxRuntime.jsx(
296
+ AlertDialogPrimitive__namespace.Description,
297
+ {
298
+ "data-slot": "alert-dialog-description",
299
+ className: chunkI7WHASOO_cjs.cn("text-muted-foreground text-sm", className),
300
+ ...props
301
+ }
302
+ );
303
+ }
304
+ function AlertDialogAction({
305
+ className,
306
+ ...props
307
+ }) {
308
+ return /* @__PURE__ */ jsxRuntime.jsx(
309
+ AlertDialogPrimitive__namespace.Action,
310
+ {
311
+ className: chunkI7WHASOO_cjs.cn(chunkGQ6Z5A4R_cjs.buttonVariants(), className),
312
+ ...props
313
+ }
314
+ );
315
+ }
316
+ function AlertDialogCancel({
317
+ className,
318
+ ...props
319
+ }) {
320
+ return /* @__PURE__ */ jsxRuntime.jsx(
321
+ AlertDialogPrimitive__namespace.Cancel,
322
+ {
323
+ className: chunkI7WHASOO_cjs.cn(chunkGQ6Z5A4R_cjs.buttonVariants({ variant: "outline" }), className),
324
+ ...props
325
+ }
326
+ );
327
+ }
328
+ function Avatar({
329
+ className,
330
+ ...props
331
+ }) {
332
+ return /* @__PURE__ */ jsxRuntime.jsx(
333
+ AvatarPrimitive__namespace.Root,
334
+ {
335
+ "data-slot": "avatar",
336
+ className: chunkI7WHASOO_cjs.cn(
337
+ "relative flex size-8 shrink-0 overflow-hidden rounded-full",
338
+ className
339
+ ),
340
+ ...props
341
+ }
342
+ );
343
+ }
344
+ function AvatarImage({
345
+ className,
346
+ ...props
347
+ }) {
348
+ return /* @__PURE__ */ jsxRuntime.jsx(
349
+ AvatarPrimitive__namespace.Image,
350
+ {
351
+ "data-slot": "avatar-image",
352
+ className: chunkI7WHASOO_cjs.cn("aspect-square size-full", className),
353
+ ...props
354
+ }
355
+ );
356
+ }
357
+ function AvatarFallback({
358
+ className,
359
+ ...props
360
+ }) {
361
+ return /* @__PURE__ */ jsxRuntime.jsx(
362
+ AvatarPrimitive__namespace.Fallback,
363
+ {
364
+ "data-slot": "avatar-fallback",
365
+ className: chunkI7WHASOO_cjs.cn(
366
+ "bg-muted flex size-full items-center justify-center rounded-full",
367
+ className
368
+ ),
369
+ ...props
370
+ }
371
+ );
372
+ }
373
+ var badgeVariants = classVarianceAuthority.cva(
374
+ "inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
375
+ {
376
+ variants: {
377
+ variant: {
378
+ default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
379
+ secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
380
+ destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
381
+ outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
382
+ }
383
+ },
384
+ defaultVariants: {
385
+ variant: "default"
386
+ }
387
+ }
388
+ );
389
+ function Badge({
390
+ className,
391
+ variant,
392
+ asChild = false,
393
+ ...props
394
+ }) {
395
+ const Comp = asChild ? reactSlot.Slot : "span";
396
+ return /* @__PURE__ */ jsxRuntime.jsx(
397
+ Comp,
398
+ {
399
+ "data-slot": "badge",
400
+ className: chunkI7WHASOO_cjs.cn(badgeVariants({ variant }), className),
401
+ ...props
402
+ }
403
+ );
404
+ }
405
+ function Breadcrumb({ ...props }) {
406
+ return /* @__PURE__ */ jsxRuntime.jsx("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
407
+ }
408
+ function BreadcrumbList({ className, ...props }) {
409
+ return /* @__PURE__ */ jsxRuntime.jsx(
410
+ "ol",
411
+ {
412
+ "data-slot": "breadcrumb-list",
413
+ className: chunkI7WHASOO_cjs.cn(
414
+ "text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5",
415
+ className
416
+ ),
417
+ ...props
418
+ }
419
+ );
420
+ }
421
+ function BreadcrumbItem({ className, ...props }) {
422
+ return /* @__PURE__ */ jsxRuntime.jsx(
423
+ "li",
424
+ {
425
+ "data-slot": "breadcrumb-item",
426
+ className: chunkI7WHASOO_cjs.cn("inline-flex items-center gap-1.5", className),
427
+ ...props
428
+ }
429
+ );
430
+ }
431
+ function BreadcrumbLink({
432
+ asChild,
433
+ className,
434
+ ...props
435
+ }) {
436
+ const Comp = asChild ? reactSlot.Slot : "a";
437
+ return /* @__PURE__ */ jsxRuntime.jsx(
438
+ Comp,
439
+ {
440
+ "data-slot": "breadcrumb-link",
441
+ className: chunkI7WHASOO_cjs.cn("hover:text-foreground transition-colors", className),
442
+ ...props
443
+ }
444
+ );
445
+ }
446
+ function BreadcrumbPage({ className, ...props }) {
447
+ return /* @__PURE__ */ jsxRuntime.jsx(
448
+ "span",
449
+ {
450
+ "data-slot": "breadcrumb-page",
451
+ role: "link",
452
+ "aria-disabled": "true",
453
+ "aria-current": "page",
454
+ className: chunkI7WHASOO_cjs.cn("text-foreground font-normal", className),
455
+ ...props
456
+ }
457
+ );
458
+ }
459
+ function BreadcrumbSeparator({
460
+ children,
461
+ className,
462
+ ...props
463
+ }) {
464
+ return /* @__PURE__ */ jsxRuntime.jsx(
465
+ "li",
466
+ {
467
+ "data-slot": "breadcrumb-separator",
468
+ role: "presentation",
469
+ "aria-hidden": "true",
470
+ className: chunkI7WHASOO_cjs.cn("[&>svg]:size-3.5", className),
471
+ ...props,
472
+ children: children ?? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, {})
473
+ }
474
+ );
475
+ }
476
+ function BreadcrumbEllipsis({
477
+ className,
478
+ ...props
479
+ }) {
480
+ return /* @__PURE__ */ jsxRuntime.jsxs(
481
+ "span",
482
+ {
483
+ "data-slot": "breadcrumb-ellipsis",
484
+ role: "presentation",
485
+ "aria-hidden": "true",
486
+ className: chunkI7WHASOO_cjs.cn("flex size-9 items-center justify-center", className),
487
+ ...props,
488
+ children: [
489
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontal, { className: "size-4" }),
490
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "More" })
491
+ ]
492
+ }
493
+ );
494
+ }
495
+ var buttonGroupVariants = classVarianceAuthority.cva(
496
+ "flex w-fit items-stretch [&>*]:focus-visible:z-10 [&>*]:focus-visible:relative [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md has-[>[data-slot=button-group]]:gap-2",
497
+ {
498
+ variants: {
499
+ orientation: {
500
+ horizontal: "[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none",
501
+ vertical: "flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none"
502
+ }
503
+ },
504
+ defaultVariants: {
505
+ orientation: "horizontal"
506
+ }
507
+ }
508
+ );
509
+ function ButtonGroup({
510
+ className,
511
+ orientation,
512
+ ...props
513
+ }) {
514
+ return /* @__PURE__ */ jsxRuntime.jsx(
515
+ "div",
516
+ {
517
+ role: "group",
518
+ "data-slot": "button-group",
519
+ "data-orientation": orientation,
520
+ className: chunkI7WHASOO_cjs.cn(buttonGroupVariants({ orientation }), className),
521
+ ...props
522
+ }
523
+ );
524
+ }
525
+ function ButtonGroupText({
526
+ className,
527
+ asChild = false,
528
+ ...props
529
+ }) {
530
+ const Comp = asChild ? reactSlot.Slot : "div";
531
+ return /* @__PURE__ */ jsxRuntime.jsx(
532
+ Comp,
533
+ {
534
+ className: chunkI7WHASOO_cjs.cn(
535
+ "bg-muted flex items-center gap-2 rounded-md border px-4 text-sm font-medium shadow-xs [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4",
536
+ className
537
+ ),
538
+ ...props
539
+ }
540
+ );
541
+ }
542
+ function ButtonGroupSeparator({
543
+ className,
544
+ orientation = "vertical",
545
+ ...props
546
+ }) {
547
+ return /* @__PURE__ */ jsxRuntime.jsx(
548
+ chunkGQ6Z5A4R_cjs.Separator,
549
+ {
550
+ "data-slot": "button-group-separator",
551
+ orientation,
552
+ className: chunkI7WHASOO_cjs.cn(
553
+ "bg-input relative !m-0 self-stretch data-[orientation=vertical]:h-auto",
554
+ className
555
+ ),
556
+ ...props
557
+ }
558
+ );
559
+ }
560
+ function Calendar({
561
+ className,
562
+ classNames,
563
+ showOutsideDays = true,
564
+ captionLayout = "label",
565
+ buttonVariant = "ghost",
566
+ formatters,
567
+ components,
568
+ ...props
569
+ }) {
570
+ const defaultClassNames = reactDayPicker.getDefaultClassNames();
571
+ return /* @__PURE__ */ jsxRuntime.jsx(
572
+ reactDayPicker.DayPicker,
573
+ {
574
+ showOutsideDays,
575
+ className: chunkI7WHASOO_cjs.cn(
576
+ "bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",
577
+ String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
578
+ String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
579
+ className
580
+ ),
581
+ captionLayout,
582
+ formatters: {
583
+ formatMonthDropdown: (date) => date.toLocaleString("default", { month: "short" }),
584
+ ...formatters
585
+ },
586
+ classNames: {
587
+ root: chunkI7WHASOO_cjs.cn("w-fit", defaultClassNames.root),
588
+ months: chunkI7WHASOO_cjs.cn(
589
+ "flex gap-4 flex-col md:flex-row relative",
590
+ defaultClassNames.months
591
+ ),
592
+ month: chunkI7WHASOO_cjs.cn("flex flex-col w-full gap-4", defaultClassNames.month),
593
+ nav: chunkI7WHASOO_cjs.cn(
594
+ "flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",
595
+ defaultClassNames.nav
596
+ ),
597
+ button_previous: chunkI7WHASOO_cjs.cn(
598
+ chunkGQ6Z5A4R_cjs.buttonVariants({ variant: buttonVariant }),
599
+ "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
600
+ defaultClassNames.button_previous
601
+ ),
602
+ button_next: chunkI7WHASOO_cjs.cn(
603
+ chunkGQ6Z5A4R_cjs.buttonVariants({ variant: buttonVariant }),
604
+ "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
605
+ defaultClassNames.button_next
606
+ ),
607
+ month_caption: chunkI7WHASOO_cjs.cn(
608
+ "flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",
609
+ defaultClassNames.month_caption
610
+ ),
611
+ dropdowns: chunkI7WHASOO_cjs.cn(
612
+ "w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",
613
+ defaultClassNames.dropdowns
614
+ ),
615
+ dropdown_root: chunkI7WHASOO_cjs.cn(
616
+ "relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md",
617
+ defaultClassNames.dropdown_root
618
+ ),
619
+ dropdown: chunkI7WHASOO_cjs.cn(
620
+ "absolute bg-popover inset-0 opacity-0",
621
+ defaultClassNames.dropdown
622
+ ),
623
+ caption_label: chunkI7WHASOO_cjs.cn(
624
+ "select-none font-medium",
625
+ captionLayout === "label" ? "text-sm" : "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5",
626
+ defaultClassNames.caption_label
627
+ ),
628
+ table: "w-full border-collapse",
629
+ weekdays: chunkI7WHASOO_cjs.cn("flex", defaultClassNames.weekdays),
630
+ weekday: chunkI7WHASOO_cjs.cn(
631
+ "text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none",
632
+ defaultClassNames.weekday
633
+ ),
634
+ week: chunkI7WHASOO_cjs.cn("flex w-full mt-2", defaultClassNames.week),
635
+ week_number_header: chunkI7WHASOO_cjs.cn(
636
+ "select-none w-(--cell-size)",
637
+ defaultClassNames.week_number_header
638
+ ),
639
+ week_number: chunkI7WHASOO_cjs.cn(
640
+ "text-[0.8rem] select-none text-muted-foreground",
641
+ defaultClassNames.week_number
642
+ ),
643
+ day: chunkI7WHASOO_cjs.cn(
644
+ "relative w-full h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none",
645
+ props.showWeekNumber ? "[&:nth-child(2)[data-selected=true]_button]:rounded-l-md" : "[&:first-child[data-selected=true]_button]:rounded-l-md",
646
+ defaultClassNames.day
647
+ ),
648
+ range_start: chunkI7WHASOO_cjs.cn(
649
+ "rounded-l-md bg-accent",
650
+ defaultClassNames.range_start
651
+ ),
652
+ range_middle: chunkI7WHASOO_cjs.cn("rounded-none", defaultClassNames.range_middle),
653
+ range_end: chunkI7WHASOO_cjs.cn("rounded-r-md bg-accent", defaultClassNames.range_end),
654
+ today: chunkI7WHASOO_cjs.cn(
655
+ "bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",
656
+ defaultClassNames.today
657
+ ),
658
+ outside: chunkI7WHASOO_cjs.cn(
659
+ "text-muted-foreground aria-selected:text-muted-foreground",
660
+ defaultClassNames.outside
661
+ ),
662
+ disabled: chunkI7WHASOO_cjs.cn(
663
+ "text-muted-foreground opacity-50",
664
+ defaultClassNames.disabled
665
+ ),
666
+ hidden: chunkI7WHASOO_cjs.cn("invisible", defaultClassNames.hidden),
667
+ ...classNames
668
+ },
669
+ components: {
670
+ Root: ({ className: className2, rootRef, ...props2 }) => {
671
+ return /* @__PURE__ */ jsxRuntime.jsx(
672
+ "div",
673
+ {
674
+ "data-slot": "calendar",
675
+ ref: rootRef,
676
+ className: chunkI7WHASOO_cjs.cn(className2),
677
+ ...props2
678
+ }
679
+ );
680
+ },
681
+ Chevron: ({ className: className2, orientation, ...props2 }) => {
682
+ if (orientation === "left") {
683
+ return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeftIcon, { className: chunkI7WHASOO_cjs.cn("size-4", className2), ...props2 });
684
+ }
685
+ if (orientation === "right") {
686
+ return /* @__PURE__ */ jsxRuntime.jsx(
687
+ lucideReact.ChevronRightIcon,
688
+ {
689
+ className: chunkI7WHASOO_cjs.cn("size-4", className2),
690
+ ...props2
691
+ }
692
+ );
693
+ }
694
+ return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: chunkI7WHASOO_cjs.cn("size-4", className2), ...props2 });
695
+ },
696
+ DayButton: CalendarDayButton,
697
+ WeekNumber: ({ children, ...props2 }) => {
698
+ return /* @__PURE__ */ jsxRuntime.jsx("td", { ...props2, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children }) });
699
+ },
700
+ ...components
701
+ },
702
+ ...props
703
+ }
704
+ );
705
+ }
706
+ function CalendarDayButton({
707
+ className,
708
+ day,
709
+ modifiers,
710
+ ...props
711
+ }) {
712
+ const defaultClassNames = reactDayPicker.getDefaultClassNames();
713
+ const ref = React9__namespace.useRef(null);
714
+ React9__namespace.useEffect(() => {
715
+ if (modifiers.focused) ref.current?.focus();
716
+ }, [modifiers.focused]);
717
+ return /* @__PURE__ */ jsxRuntime.jsx(
718
+ chunkGQ6Z5A4R_cjs.Button,
719
+ {
720
+ ref,
721
+ variant: "ghost",
722
+ size: "icon",
723
+ "data-day": day.date.toLocaleDateString(),
724
+ "data-selected-single": modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle,
725
+ "data-range-start": modifiers.range_start,
726
+ "data-range-end": modifiers.range_end,
727
+ "data-range-middle": modifiers.range_middle,
728
+ className: chunkI7WHASOO_cjs.cn(
729
+ "data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70",
730
+ defaultClassNames.day,
731
+ className
732
+ ),
733
+ ...props
734
+ }
735
+ );
736
+ }
737
+ function Card({ className, ...props }) {
738
+ return /* @__PURE__ */ jsxRuntime.jsx(
739
+ "div",
740
+ {
741
+ "data-slot": "card",
742
+ className: chunkI7WHASOO_cjs.cn(
743
+ "bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",
744
+ className
745
+ ),
746
+ ...props
747
+ }
748
+ );
749
+ }
750
+ function CardHeader({ className, ...props }) {
751
+ return /* @__PURE__ */ jsxRuntime.jsx(
752
+ "div",
753
+ {
754
+ "data-slot": "card-header",
755
+ className: chunkI7WHASOO_cjs.cn(
756
+ "@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
757
+ className
758
+ ),
759
+ ...props
760
+ }
761
+ );
762
+ }
763
+ function CardTitle({ className, ...props }) {
764
+ return /* @__PURE__ */ jsxRuntime.jsx(
765
+ "div",
766
+ {
767
+ "data-slot": "card-title",
768
+ className: chunkI7WHASOO_cjs.cn("leading-none font-semibold", className),
769
+ ...props
770
+ }
771
+ );
772
+ }
773
+ function CardDescription({ className, ...props }) {
774
+ return /* @__PURE__ */ jsxRuntime.jsx(
775
+ "div",
776
+ {
777
+ "data-slot": "card-description",
778
+ className: chunkI7WHASOO_cjs.cn("text-muted-foreground text-sm", className),
779
+ ...props
780
+ }
781
+ );
782
+ }
783
+ function CardAction({ className, ...props }) {
784
+ return /* @__PURE__ */ jsxRuntime.jsx(
785
+ "div",
786
+ {
787
+ "data-slot": "card-action",
788
+ className: chunkI7WHASOO_cjs.cn(
789
+ "col-start-2 row-span-2 row-start-1 self-start justify-self-end",
790
+ className
791
+ ),
792
+ ...props
793
+ }
794
+ );
795
+ }
796
+ function CardContent({ className, ...props }) {
797
+ return /* @__PURE__ */ jsxRuntime.jsx(
798
+ "div",
799
+ {
800
+ "data-slot": "card-content",
801
+ className: chunkI7WHASOO_cjs.cn("px-6", className),
802
+ ...props
803
+ }
804
+ );
805
+ }
806
+ function CardFooter({ className, ...props }) {
807
+ return /* @__PURE__ */ jsxRuntime.jsx(
808
+ "div",
809
+ {
810
+ "data-slot": "card-footer",
811
+ className: chunkI7WHASOO_cjs.cn("flex items-center px-6 [.border-t]:pt-6", className),
812
+ ...props
813
+ }
814
+ );
815
+ }
816
+ var CarouselContext = React9__namespace.createContext(null);
817
+ function useCarousel() {
818
+ const context = React9__namespace.useContext(CarouselContext);
819
+ if (!context) {
820
+ throw new Error("useCarousel must be used within a <Carousel />");
821
+ }
822
+ return context;
823
+ }
824
+ function Carousel({
825
+ orientation = "horizontal",
826
+ opts,
827
+ setApi,
828
+ plugins,
829
+ className,
830
+ children,
831
+ ...props
832
+ }) {
833
+ const [carouselRef, api] = useEmblaCarousel__default.default(
834
+ {
835
+ ...opts,
836
+ axis: orientation === "horizontal" ? "x" : "y"
837
+ },
838
+ plugins
839
+ );
840
+ const [canScrollPrev, setCanScrollPrev] = React9__namespace.useState(false);
841
+ const [canScrollNext, setCanScrollNext] = React9__namespace.useState(false);
842
+ const onSelect = React9__namespace.useCallback((api2) => {
843
+ if (!api2) return;
844
+ setCanScrollPrev(api2.canScrollPrev());
845
+ setCanScrollNext(api2.canScrollNext());
846
+ }, []);
847
+ const scrollPrev = React9__namespace.useCallback(() => {
848
+ api?.scrollPrev();
849
+ }, [api]);
850
+ const scrollNext = React9__namespace.useCallback(() => {
851
+ api?.scrollNext();
852
+ }, [api]);
853
+ const handleKeyDown = React9__namespace.useCallback(
854
+ (event) => {
855
+ if (event.key === "ArrowLeft") {
856
+ event.preventDefault();
857
+ scrollPrev();
858
+ } else if (event.key === "ArrowRight") {
859
+ event.preventDefault();
860
+ scrollNext();
861
+ }
862
+ },
863
+ [scrollPrev, scrollNext]
864
+ );
865
+ React9__namespace.useEffect(() => {
866
+ if (!api || !setApi) return;
867
+ setApi(api);
868
+ }, [api, setApi]);
869
+ React9__namespace.useEffect(() => {
870
+ if (!api) return;
871
+ onSelect(api);
872
+ api.on("reInit", onSelect);
873
+ api.on("select", onSelect);
874
+ return () => {
875
+ api?.off("select", onSelect);
876
+ };
877
+ }, [api, onSelect]);
878
+ return /* @__PURE__ */ jsxRuntime.jsx(
879
+ CarouselContext.Provider,
880
+ {
881
+ value: {
882
+ carouselRef,
883
+ api,
884
+ opts,
885
+ orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
886
+ scrollPrev,
887
+ scrollNext,
888
+ canScrollPrev,
889
+ canScrollNext
890
+ },
891
+ children: /* @__PURE__ */ jsxRuntime.jsx(
892
+ "div",
893
+ {
894
+ onKeyDownCapture: handleKeyDown,
895
+ className: chunkI7WHASOO_cjs.cn("relative", className),
896
+ role: "region",
897
+ "aria-roledescription": "carousel",
898
+ "data-slot": "carousel",
899
+ ...props,
900
+ children
901
+ }
902
+ )
903
+ }
904
+ );
905
+ }
906
+ function CarouselContent({ className, ...props }) {
907
+ const { carouselRef, orientation } = useCarousel();
908
+ return /* @__PURE__ */ jsxRuntime.jsx(
909
+ "div",
910
+ {
911
+ ref: carouselRef,
912
+ className: "overflow-hidden",
913
+ "data-slot": "carousel-content",
914
+ children: /* @__PURE__ */ jsxRuntime.jsx(
915
+ "div",
916
+ {
917
+ className: chunkI7WHASOO_cjs.cn(
918
+ "flex",
919
+ orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
920
+ className
921
+ ),
922
+ ...props
923
+ }
924
+ )
925
+ }
926
+ );
927
+ }
928
+ function CarouselItem({ className, ...props }) {
929
+ const { orientation } = useCarousel();
930
+ return /* @__PURE__ */ jsxRuntime.jsx(
931
+ "div",
932
+ {
933
+ role: "group",
934
+ "aria-roledescription": "slide",
935
+ "data-slot": "carousel-item",
936
+ className: chunkI7WHASOO_cjs.cn(
937
+ "min-w-0 shrink-0 grow-0 basis-full",
938
+ orientation === "horizontal" ? "pl-4" : "pt-4",
939
+ className
940
+ ),
941
+ ...props
942
+ }
943
+ );
944
+ }
945
+ function CarouselPrevious({
946
+ className,
947
+ variant = "outline",
948
+ size = "icon",
949
+ ...props
950
+ }) {
951
+ const { orientation, scrollPrev, canScrollPrev } = useCarousel();
952
+ return /* @__PURE__ */ jsxRuntime.jsxs(
953
+ chunkGQ6Z5A4R_cjs.Button,
954
+ {
955
+ "data-slot": "carousel-previous",
956
+ variant,
957
+ size,
958
+ className: chunkI7WHASOO_cjs.cn(
959
+ "absolute size-8 rounded-full",
960
+ orientation === "horizontal" ? "top-1/2 -left-12 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
961
+ className
962
+ ),
963
+ disabled: !canScrollPrev,
964
+ onClick: scrollPrev,
965
+ ...props,
966
+ children: [
967
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowLeft, {}),
968
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Previous slide" })
969
+ ]
970
+ }
971
+ );
972
+ }
973
+ function CarouselNext({
974
+ className,
975
+ variant = "outline",
976
+ size = "icon",
977
+ ...props
978
+ }) {
979
+ const { orientation, scrollNext, canScrollNext } = useCarousel();
980
+ return /* @__PURE__ */ jsxRuntime.jsxs(
981
+ chunkGQ6Z5A4R_cjs.Button,
982
+ {
983
+ "data-slot": "carousel-next",
984
+ variant,
985
+ size,
986
+ className: chunkI7WHASOO_cjs.cn(
987
+ "absolute size-8 rounded-full",
988
+ orientation === "horizontal" ? "top-1/2 -right-12 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
989
+ className
990
+ ),
991
+ disabled: !canScrollNext,
992
+ onClick: scrollNext,
993
+ ...props,
994
+ children: [
995
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRight, {}),
996
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Next slide" })
997
+ ]
998
+ }
999
+ );
1000
+ }
1001
+ function Checkbox({
1002
+ className,
1003
+ ...props
1004
+ }) {
1005
+ return /* @__PURE__ */ jsxRuntime.jsx(
1006
+ CheckboxPrimitive__namespace.Root,
1007
+ {
1008
+ "data-slot": "checkbox",
1009
+ className: chunkI7WHASOO_cjs.cn(
1010
+ "peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
1011
+ className
1012
+ ),
1013
+ ...props,
1014
+ children: /* @__PURE__ */ jsxRuntime.jsx(
1015
+ CheckboxPrimitive__namespace.Indicator,
1016
+ {
1017
+ "data-slot": "checkbox-indicator",
1018
+ className: "grid place-content-center text-current transition-none",
1019
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckIcon, { className: "size-3.5" })
1020
+ }
1021
+ )
1022
+ }
1023
+ );
1024
+ }
1025
+ function Collapsible({
1026
+ ...props
1027
+ }) {
1028
+ return /* @__PURE__ */ jsxRuntime.jsx(CollapsiblePrimitive__namespace.Root, { "data-slot": "collapsible", ...props });
1029
+ }
1030
+ function CollapsibleTrigger2({
1031
+ ...props
1032
+ }) {
1033
+ return /* @__PURE__ */ jsxRuntime.jsx(
1034
+ CollapsiblePrimitive__namespace.CollapsibleTrigger,
1035
+ {
1036
+ "data-slot": "collapsible-trigger",
1037
+ ...props
1038
+ }
1039
+ );
1040
+ }
1041
+ function CollapsibleContent2({
1042
+ ...props
1043
+ }) {
1044
+ return /* @__PURE__ */ jsxRuntime.jsx(
1045
+ CollapsiblePrimitive__namespace.CollapsibleContent,
1046
+ {
1047
+ "data-slot": "collapsible-content",
1048
+ ...props
1049
+ }
1050
+ );
1051
+ }
1052
+ function Dialog({
1053
+ ...props
1054
+ }) {
1055
+ return /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Root, { "data-slot": "dialog", ...props });
1056
+ }
1057
+ function DialogTrigger({
1058
+ ...props
1059
+ }) {
1060
+ return /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Trigger, { "data-slot": "dialog-trigger", ...props });
1061
+ }
1062
+ function DialogPortal({
1063
+ ...props
1064
+ }) {
1065
+ return /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Portal, { "data-slot": "dialog-portal", ...props });
1066
+ }
1067
+ function DialogClose({
1068
+ ...props
1069
+ }) {
1070
+ return /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Close, { "data-slot": "dialog-close", ...props });
1071
+ }
1072
+ function DialogOverlay({
1073
+ className,
1074
+ ...props
1075
+ }) {
1076
+ return /* @__PURE__ */ jsxRuntime.jsx(
1077
+ DialogPrimitive__namespace.Overlay,
1078
+ {
1079
+ "data-slot": "dialog-overlay",
1080
+ className: chunkI7WHASOO_cjs.cn(
1081
+ "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",
1082
+ className
1083
+ ),
1084
+ ...props
1085
+ }
1086
+ );
1087
+ }
1088
+ function DialogContent({
1089
+ className,
1090
+ children,
1091
+ showCloseButton = true,
1092
+ ...props
1093
+ }) {
1094
+ return /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [
1095
+ /* @__PURE__ */ jsxRuntime.jsx(DialogOverlay, {}),
1096
+ /* @__PURE__ */ jsxRuntime.jsxs(
1097
+ DialogPrimitive__namespace.Content,
1098
+ {
1099
+ "data-slot": "dialog-content",
1100
+ className: chunkI7WHASOO_cjs.cn(
1101
+ "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",
1102
+ className
1103
+ ),
1104
+ ...props,
1105
+ children: [
1106
+ children,
1107
+ showCloseButton && /* @__PURE__ */ jsxRuntime.jsxs(
1108
+ DialogPrimitive__namespace.Close,
1109
+ {
1110
+ "data-slot": "dialog-close",
1111
+ className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1112
+ children: [
1113
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.XIcon, {}),
1114
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
1115
+ ]
1116
+ }
1117
+ )
1118
+ ]
1119
+ }
1120
+ )
1121
+ ] });
1122
+ }
1123
+ function DialogHeader({ className, ...props }) {
1124
+ return /* @__PURE__ */ jsxRuntime.jsx(
1125
+ "div",
1126
+ {
1127
+ "data-slot": "dialog-header",
1128
+ className: chunkI7WHASOO_cjs.cn("flex flex-col gap-2 text-center sm:text-left", className),
1129
+ ...props
1130
+ }
1131
+ );
1132
+ }
1133
+ function DialogFooter({ className, ...props }) {
1134
+ return /* @__PURE__ */ jsxRuntime.jsx(
1135
+ "div",
1136
+ {
1137
+ "data-slot": "dialog-footer",
1138
+ className: chunkI7WHASOO_cjs.cn(
1139
+ "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
1140
+ className
1141
+ ),
1142
+ ...props
1143
+ }
1144
+ );
1145
+ }
1146
+ function DialogTitle({
1147
+ className,
1148
+ ...props
1149
+ }) {
1150
+ return /* @__PURE__ */ jsxRuntime.jsx(
1151
+ DialogPrimitive__namespace.Title,
1152
+ {
1153
+ "data-slot": "dialog-title",
1154
+ className: chunkI7WHASOO_cjs.cn("text-lg leading-none font-semibold", className),
1155
+ ...props
1156
+ }
1157
+ );
1158
+ }
1159
+ function DialogDescription({
1160
+ className,
1161
+ ...props
1162
+ }) {
1163
+ return /* @__PURE__ */ jsxRuntime.jsx(
1164
+ DialogPrimitive__namespace.Description,
1165
+ {
1166
+ "data-slot": "dialog-description",
1167
+ className: chunkI7WHASOO_cjs.cn("text-muted-foreground text-sm", className),
1168
+ ...props
1169
+ }
1170
+ );
1171
+ }
1172
+ function Command({
1173
+ className,
1174
+ ...props
1175
+ }) {
1176
+ return /* @__PURE__ */ jsxRuntime.jsx(
1177
+ cmdk.Command,
1178
+ {
1179
+ "data-slot": "command",
1180
+ className: chunkI7WHASOO_cjs.cn(
1181
+ "bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",
1182
+ className
1183
+ ),
1184
+ ...props
1185
+ }
1186
+ );
1187
+ }
1188
+ function CommandDialog({
1189
+ title = "Command Palette",
1190
+ description = "Search for a command to run...",
1191
+ children,
1192
+ className,
1193
+ showCloseButton = true,
1194
+ ...props
1195
+ }) {
1196
+ return /* @__PURE__ */ jsxRuntime.jsxs(Dialog, { ...props, children: [
1197
+ /* @__PURE__ */ jsxRuntime.jsxs(DialogHeader, { className: "sr-only", children: [
1198
+ /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { children: title }),
1199
+ /* @__PURE__ */ jsxRuntime.jsx(DialogDescription, { children: description })
1200
+ ] }),
1201
+ /* @__PURE__ */ jsxRuntime.jsx(
1202
+ DialogContent,
1203
+ {
1204
+ className: chunkI7WHASOO_cjs.cn("overflow-hidden p-0", className),
1205
+ showCloseButton,
1206
+ children: /* @__PURE__ */ jsxRuntime.jsx(Command, { className: "[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[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 })
1207
+ }
1208
+ )
1209
+ ] });
1210
+ }
1211
+ function CommandInput({
1212
+ className,
1213
+ ...props
1214
+ }) {
1215
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1216
+ "div",
1217
+ {
1218
+ "data-slot": "command-input-wrapper",
1219
+ className: "flex h-9 items-center gap-2 border-b px-3",
1220
+ children: [
1221
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.SearchIcon, { className: "size-4 shrink-0 opacity-50" }),
1222
+ /* @__PURE__ */ jsxRuntime.jsx(
1223
+ cmdk.Command.Input,
1224
+ {
1225
+ "data-slot": "command-input",
1226
+ className: chunkI7WHASOO_cjs.cn(
1227
+ "placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
1228
+ className
1229
+ ),
1230
+ ...props
1231
+ }
1232
+ )
1233
+ ]
1234
+ }
1235
+ );
1236
+ }
1237
+ function CommandList({
1238
+ className,
1239
+ ...props
1240
+ }) {
1241
+ return /* @__PURE__ */ jsxRuntime.jsx(
1242
+ cmdk.Command.List,
1243
+ {
1244
+ "data-slot": "command-list",
1245
+ className: chunkI7WHASOO_cjs.cn(
1246
+ "max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",
1247
+ className
1248
+ ),
1249
+ ...props
1250
+ }
1251
+ );
1252
+ }
1253
+ function CommandEmpty({
1254
+ ...props
1255
+ }) {
1256
+ return /* @__PURE__ */ jsxRuntime.jsx(
1257
+ cmdk.Command.Empty,
1258
+ {
1259
+ "data-slot": "command-empty",
1260
+ className: "py-6 text-center text-sm",
1261
+ ...props
1262
+ }
1263
+ );
1264
+ }
1265
+ function CommandGroup({
1266
+ className,
1267
+ ...props
1268
+ }) {
1269
+ return /* @__PURE__ */ jsxRuntime.jsx(
1270
+ cmdk.Command.Group,
1271
+ {
1272
+ "data-slot": "command-group",
1273
+ className: chunkI7WHASOO_cjs.cn(
1274
+ "text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",
1275
+ className
1276
+ ),
1277
+ ...props
1278
+ }
1279
+ );
1280
+ }
1281
+ function CommandSeparator({
1282
+ className,
1283
+ ...props
1284
+ }) {
1285
+ return /* @__PURE__ */ jsxRuntime.jsx(
1286
+ cmdk.Command.Separator,
1287
+ {
1288
+ "data-slot": "command-separator",
1289
+ className: chunkI7WHASOO_cjs.cn("bg-border -mx-1 h-px", className),
1290
+ ...props
1291
+ }
1292
+ );
1293
+ }
1294
+ function CommandItem({
1295
+ className,
1296
+ ...props
1297
+ }) {
1298
+ return /* @__PURE__ */ jsxRuntime.jsx(
1299
+ cmdk.Command.Item,
1300
+ {
1301
+ "data-slot": "command-item",
1302
+ className: chunkI7WHASOO_cjs.cn(
1303
+ "data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1304
+ className
1305
+ ),
1306
+ ...props
1307
+ }
1308
+ );
1309
+ }
1310
+ function CommandShortcut({
1311
+ className,
1312
+ ...props
1313
+ }) {
1314
+ return /* @__PURE__ */ jsxRuntime.jsx(
1315
+ "span",
1316
+ {
1317
+ "data-slot": "command-shortcut",
1318
+ className: chunkI7WHASOO_cjs.cn(
1319
+ "text-muted-foreground ml-auto text-xs tracking-widest",
1320
+ className
1321
+ ),
1322
+ ...props
1323
+ }
1324
+ );
1325
+ }
1326
+ function ContextMenu({
1327
+ ...props
1328
+ }) {
1329
+ return /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.Root, { "data-slot": "context-menu", ...props });
1330
+ }
1331
+ function ContextMenuTrigger({
1332
+ ...props
1333
+ }) {
1334
+ return /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.Trigger, { "data-slot": "context-menu-trigger", ...props });
1335
+ }
1336
+ function ContextMenuGroup({
1337
+ ...props
1338
+ }) {
1339
+ return /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.Group, { "data-slot": "context-menu-group", ...props });
1340
+ }
1341
+ function ContextMenuPortal({
1342
+ ...props
1343
+ }) {
1344
+ return /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.Portal, { "data-slot": "context-menu-portal", ...props });
1345
+ }
1346
+ function ContextMenuSub({
1347
+ ...props
1348
+ }) {
1349
+ return /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.Sub, { "data-slot": "context-menu-sub", ...props });
1350
+ }
1351
+ function ContextMenuRadioGroup({
1352
+ ...props
1353
+ }) {
1354
+ return /* @__PURE__ */ jsxRuntime.jsx(
1355
+ ContextMenuPrimitive__namespace.RadioGroup,
1356
+ {
1357
+ "data-slot": "context-menu-radio-group",
1358
+ ...props
1359
+ }
1360
+ );
1361
+ }
1362
+ function ContextMenuSubTrigger({
1363
+ className,
1364
+ inset,
1365
+ children,
1366
+ ...props
1367
+ }) {
1368
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1369
+ ContextMenuPrimitive__namespace.SubTrigger,
1370
+ {
1371
+ "data-slot": "context-menu-sub-trigger",
1372
+ "data-inset": inset,
1373
+ className: chunkI7WHASOO_cjs.cn(
1374
+ "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1375
+ className
1376
+ ),
1377
+ ...props,
1378
+ children: [
1379
+ children,
1380
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRightIcon, { className: "ml-auto" })
1381
+ ]
1382
+ }
1383
+ );
1384
+ }
1385
+ function ContextMenuSubContent({
1386
+ className,
1387
+ ...props
1388
+ }) {
1389
+ return /* @__PURE__ */ jsxRuntime.jsx(
1390
+ ContextMenuPrimitive__namespace.SubContent,
1391
+ {
1392
+ "data-slot": "context-menu-sub-content",
1393
+ className: chunkI7WHASOO_cjs.cn(
1394
+ "bg-popover 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 z-50 min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg",
1395
+ className
1396
+ ),
1397
+ ...props
1398
+ }
1399
+ );
1400
+ }
1401
+ function ContextMenuContent({
1402
+ className,
1403
+ ...props
1404
+ }) {
1405
+ return /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
1406
+ ContextMenuPrimitive__namespace.Content,
1407
+ {
1408
+ "data-slot": "context-menu-content",
1409
+ className: chunkI7WHASOO_cjs.cn(
1410
+ "bg-popover 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 z-50 max-h-(--radix-context-menu-content-available-height) min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",
1411
+ className
1412
+ ),
1413
+ ...props
1414
+ }
1415
+ ) });
1416
+ }
1417
+ function ContextMenuItem({
1418
+ className,
1419
+ inset,
1420
+ variant = "default",
1421
+ ...props
1422
+ }) {
1423
+ return /* @__PURE__ */ jsxRuntime.jsx(
1424
+ ContextMenuPrimitive__namespace.Item,
1425
+ {
1426
+ "data-slot": "context-menu-item",
1427
+ "data-inset": inset,
1428
+ "data-variant": variant,
1429
+ className: chunkI7WHASOO_cjs.cn(
1430
+ "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1431
+ className
1432
+ ),
1433
+ ...props
1434
+ }
1435
+ );
1436
+ }
1437
+ function ContextMenuCheckboxItem({
1438
+ className,
1439
+ children,
1440
+ checked,
1441
+ ...props
1442
+ }) {
1443
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1444
+ ContextMenuPrimitive__namespace.CheckboxItem,
1445
+ {
1446
+ "data-slot": "context-menu-checkbox-item",
1447
+ className: chunkI7WHASOO_cjs.cn(
1448
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1449
+ className
1450
+ ),
1451
+ checked,
1452
+ ...props,
1453
+ children: [
1454
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckIcon, { className: "size-4" }) }) }),
1455
+ children
1456
+ ]
1457
+ }
1458
+ );
1459
+ }
1460
+ function ContextMenuRadioItem({
1461
+ className,
1462
+ children,
1463
+ ...props
1464
+ }) {
1465
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1466
+ ContextMenuPrimitive__namespace.RadioItem,
1467
+ {
1468
+ "data-slot": "context-menu-radio-item",
1469
+ className: chunkI7WHASOO_cjs.cn(
1470
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1471
+ className
1472
+ ),
1473
+ ...props,
1474
+ children: [
1475
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CircleIcon, { className: "size-2 fill-current" }) }) }),
1476
+ children
1477
+ ]
1478
+ }
1479
+ );
1480
+ }
1481
+ function ContextMenuLabel({
1482
+ className,
1483
+ inset,
1484
+ ...props
1485
+ }) {
1486
+ return /* @__PURE__ */ jsxRuntime.jsx(
1487
+ ContextMenuPrimitive__namespace.Label,
1488
+ {
1489
+ "data-slot": "context-menu-label",
1490
+ "data-inset": inset,
1491
+ className: chunkI7WHASOO_cjs.cn(
1492
+ "text-foreground px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",
1493
+ className
1494
+ ),
1495
+ ...props
1496
+ }
1497
+ );
1498
+ }
1499
+ function ContextMenuSeparator({
1500
+ className,
1501
+ ...props
1502
+ }) {
1503
+ return /* @__PURE__ */ jsxRuntime.jsx(
1504
+ ContextMenuPrimitive__namespace.Separator,
1505
+ {
1506
+ "data-slot": "context-menu-separator",
1507
+ className: chunkI7WHASOO_cjs.cn("bg-border -mx-1 my-1 h-px", className),
1508
+ ...props
1509
+ }
1510
+ );
1511
+ }
1512
+ function ContextMenuShortcut({
1513
+ className,
1514
+ ...props
1515
+ }) {
1516
+ return /* @__PURE__ */ jsxRuntime.jsx(
1517
+ "span",
1518
+ {
1519
+ "data-slot": "context-menu-shortcut",
1520
+ className: chunkI7WHASOO_cjs.cn(
1521
+ "text-muted-foreground ml-auto text-xs tracking-widest",
1522
+ className
1523
+ ),
1524
+ ...props
1525
+ }
1526
+ );
1527
+ }
1528
+ function Drawer({
1529
+ ...props
1530
+ }) {
1531
+ return /* @__PURE__ */ jsxRuntime.jsx(vaul.Drawer.Root, { "data-slot": "drawer", ...props });
1532
+ }
1533
+ function DrawerTrigger({
1534
+ ...props
1535
+ }) {
1536
+ return /* @__PURE__ */ jsxRuntime.jsx(vaul.Drawer.Trigger, { "data-slot": "drawer-trigger", ...props });
1537
+ }
1538
+ function DrawerPortal({
1539
+ ...props
1540
+ }) {
1541
+ return /* @__PURE__ */ jsxRuntime.jsx(vaul.Drawer.Portal, { "data-slot": "drawer-portal", ...props });
1542
+ }
1543
+ function DrawerClose({
1544
+ ...props
1545
+ }) {
1546
+ return /* @__PURE__ */ jsxRuntime.jsx(vaul.Drawer.Close, { "data-slot": "drawer-close", ...props });
1547
+ }
1548
+ function DrawerOverlay({
1549
+ className,
1550
+ ...props
1551
+ }) {
1552
+ return /* @__PURE__ */ jsxRuntime.jsx(
1553
+ vaul.Drawer.Overlay,
1554
+ {
1555
+ "data-slot": "drawer-overlay",
1556
+ className: chunkI7WHASOO_cjs.cn(
1557
+ "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",
1558
+ className
1559
+ ),
1560
+ ...props
1561
+ }
1562
+ );
1563
+ }
1564
+ function DrawerContent({
1565
+ className,
1566
+ children,
1567
+ ...props
1568
+ }) {
1569
+ return /* @__PURE__ */ jsxRuntime.jsxs(DrawerPortal, { "data-slot": "drawer-portal", children: [
1570
+ /* @__PURE__ */ jsxRuntime.jsx(DrawerOverlay, {}),
1571
+ /* @__PURE__ */ jsxRuntime.jsxs(
1572
+ vaul.Drawer.Content,
1573
+ {
1574
+ "data-slot": "drawer-content",
1575
+ className: chunkI7WHASOO_cjs.cn(
1576
+ "group/drawer-content bg-background fixed z-50 flex h-auto flex-col",
1577
+ "data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b",
1578
+ "data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t",
1579
+ "data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-sm",
1580
+ "data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm",
1581
+ className
1582
+ ),
1583
+ ...props,
1584
+ children: [
1585
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
1586
+ children
1587
+ ]
1588
+ }
1589
+ )
1590
+ ] });
1591
+ }
1592
+ function DrawerHeader({ className, ...props }) {
1593
+ return /* @__PURE__ */ jsxRuntime.jsx(
1594
+ "div",
1595
+ {
1596
+ "data-slot": "drawer-header",
1597
+ className: chunkI7WHASOO_cjs.cn(
1598
+ "flex flex-col gap-0.5 p-4 group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center group-data-[vaul-drawer-direction=top]/drawer-content:text-center md:gap-1.5 md:text-left",
1599
+ className
1600
+ ),
1601
+ ...props
1602
+ }
1603
+ );
1604
+ }
1605
+ function DrawerFooter({ className, ...props }) {
1606
+ return /* @__PURE__ */ jsxRuntime.jsx(
1607
+ "div",
1608
+ {
1609
+ "data-slot": "drawer-footer",
1610
+ className: chunkI7WHASOO_cjs.cn("mt-auto flex flex-col gap-2 p-4", className),
1611
+ ...props
1612
+ }
1613
+ );
1614
+ }
1615
+ function DrawerTitle({
1616
+ className,
1617
+ ...props
1618
+ }) {
1619
+ return /* @__PURE__ */ jsxRuntime.jsx(
1620
+ vaul.Drawer.Title,
1621
+ {
1622
+ "data-slot": "drawer-title",
1623
+ className: chunkI7WHASOO_cjs.cn("text-foreground font-semibold", className),
1624
+ ...props
1625
+ }
1626
+ );
1627
+ }
1628
+ function DrawerDescription({
1629
+ className,
1630
+ ...props
1631
+ }) {
1632
+ return /* @__PURE__ */ jsxRuntime.jsx(
1633
+ vaul.Drawer.Description,
1634
+ {
1635
+ "data-slot": "drawer-description",
1636
+ className: chunkI7WHASOO_cjs.cn("text-muted-foreground text-sm", className),
1637
+ ...props
1638
+ }
1639
+ );
1640
+ }
1641
+ function DropdownMenu({
1642
+ ...props
1643
+ }) {
1644
+ return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Root, { "data-slot": "dropdown-menu", ...props });
1645
+ }
1646
+ function DropdownMenuPortal({
1647
+ ...props
1648
+ }) {
1649
+ return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { "data-slot": "dropdown-menu-portal", ...props });
1650
+ }
1651
+ function DropdownMenuTrigger({
1652
+ ...props
1653
+ }) {
1654
+ return /* @__PURE__ */ jsxRuntime.jsx(
1655
+ DropdownMenuPrimitive__namespace.Trigger,
1656
+ {
1657
+ "data-slot": "dropdown-menu-trigger",
1658
+ ...props
1659
+ }
1660
+ );
1661
+ }
1662
+ function DropdownMenuContent({
1663
+ className,
1664
+ sideOffset = 4,
1665
+ ...props
1666
+ }) {
1667
+ return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
1668
+ DropdownMenuPrimitive__namespace.Content,
1669
+ {
1670
+ "data-slot": "dropdown-menu-content",
1671
+ sideOffset,
1672
+ className: chunkI7WHASOO_cjs.cn(
1673
+ "bg-popover 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 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",
1674
+ className
1675
+ ),
1676
+ ...props
1677
+ }
1678
+ ) });
1679
+ }
1680
+ function DropdownMenuGroup({
1681
+ ...props
1682
+ }) {
1683
+ return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Group, { "data-slot": "dropdown-menu-group", ...props });
1684
+ }
1685
+ function DropdownMenuItem({
1686
+ className,
1687
+ inset,
1688
+ variant = "default",
1689
+ ...props
1690
+ }) {
1691
+ return /* @__PURE__ */ jsxRuntime.jsx(
1692
+ DropdownMenuPrimitive__namespace.Item,
1693
+ {
1694
+ "data-slot": "dropdown-menu-item",
1695
+ "data-inset": inset,
1696
+ "data-variant": variant,
1697
+ className: chunkI7WHASOO_cjs.cn(
1698
+ "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1699
+ className
1700
+ ),
1701
+ ...props
1702
+ }
1703
+ );
1704
+ }
1705
+ function DropdownMenuCheckboxItem({
1706
+ className,
1707
+ children,
1708
+ checked,
1709
+ ...props
1710
+ }) {
1711
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1712
+ DropdownMenuPrimitive__namespace.CheckboxItem,
1713
+ {
1714
+ "data-slot": "dropdown-menu-checkbox-item",
1715
+ className: chunkI7WHASOO_cjs.cn(
1716
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1717
+ className
1718
+ ),
1719
+ checked,
1720
+ ...props,
1721
+ children: [
1722
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckIcon, { className: "size-4" }) }) }),
1723
+ children
1724
+ ]
1725
+ }
1726
+ );
1727
+ }
1728
+ function DropdownMenuRadioGroup({
1729
+ ...props
1730
+ }) {
1731
+ return /* @__PURE__ */ jsxRuntime.jsx(
1732
+ DropdownMenuPrimitive__namespace.RadioGroup,
1733
+ {
1734
+ "data-slot": "dropdown-menu-radio-group",
1735
+ ...props
1736
+ }
1737
+ );
1738
+ }
1739
+ function DropdownMenuRadioItem({
1740
+ className,
1741
+ children,
1742
+ ...props
1743
+ }) {
1744
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1745
+ DropdownMenuPrimitive__namespace.RadioItem,
1746
+ {
1747
+ "data-slot": "dropdown-menu-radio-item",
1748
+ className: chunkI7WHASOO_cjs.cn(
1749
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1750
+ className
1751
+ ),
1752
+ ...props,
1753
+ children: [
1754
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CircleIcon, { className: "size-2 fill-current" }) }) }),
1755
+ children
1756
+ ]
1757
+ }
1758
+ );
1759
+ }
1760
+ function DropdownMenuLabel({
1761
+ className,
1762
+ inset,
1763
+ ...props
1764
+ }) {
1765
+ return /* @__PURE__ */ jsxRuntime.jsx(
1766
+ DropdownMenuPrimitive__namespace.Label,
1767
+ {
1768
+ "data-slot": "dropdown-menu-label",
1769
+ "data-inset": inset,
1770
+ className: chunkI7WHASOO_cjs.cn(
1771
+ "px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",
1772
+ className
1773
+ ),
1774
+ ...props
1775
+ }
1776
+ );
1777
+ }
1778
+ function DropdownMenuSeparator({
1779
+ className,
1780
+ ...props
1781
+ }) {
1782
+ return /* @__PURE__ */ jsxRuntime.jsx(
1783
+ DropdownMenuPrimitive__namespace.Separator,
1784
+ {
1785
+ "data-slot": "dropdown-menu-separator",
1786
+ className: chunkI7WHASOO_cjs.cn("bg-border -mx-1 my-1 h-px", className),
1787
+ ...props
1788
+ }
1789
+ );
1790
+ }
1791
+ function DropdownMenuShortcut({
1792
+ className,
1793
+ ...props
1794
+ }) {
1795
+ return /* @__PURE__ */ jsxRuntime.jsx(
1796
+ "span",
1797
+ {
1798
+ "data-slot": "dropdown-menu-shortcut",
1799
+ className: chunkI7WHASOO_cjs.cn(
1800
+ "text-muted-foreground ml-auto text-xs tracking-widest",
1801
+ className
1802
+ ),
1803
+ ...props
1804
+ }
1805
+ );
1806
+ }
1807
+ function DropdownMenuSub({
1808
+ ...props
1809
+ }) {
1810
+ return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Sub, { "data-slot": "dropdown-menu-sub", ...props });
1811
+ }
1812
+ function DropdownMenuSubTrigger({
1813
+ className,
1814
+ inset,
1815
+ children,
1816
+ ...props
1817
+ }) {
1818
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1819
+ DropdownMenuPrimitive__namespace.SubTrigger,
1820
+ {
1821
+ "data-slot": "dropdown-menu-sub-trigger",
1822
+ "data-inset": inset,
1823
+ className: chunkI7WHASOO_cjs.cn(
1824
+ "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1825
+ className
1826
+ ),
1827
+ ...props,
1828
+ children: [
1829
+ children,
1830
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRightIcon, { className: "ml-auto size-4" })
1831
+ ]
1832
+ }
1833
+ );
1834
+ }
1835
+ function DropdownMenuSubContent({
1836
+ className,
1837
+ ...props
1838
+ }) {
1839
+ return /* @__PURE__ */ jsxRuntime.jsx(
1840
+ DropdownMenuPrimitive__namespace.SubContent,
1841
+ {
1842
+ "data-slot": "dropdown-menu-sub-content",
1843
+ className: chunkI7WHASOO_cjs.cn(
1844
+ "bg-popover 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 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg",
1845
+ className
1846
+ ),
1847
+ ...props
1848
+ }
1849
+ );
1850
+ }
1851
+ function Label3({
1852
+ className,
1853
+ ...props
1854
+ }) {
1855
+ return /* @__PURE__ */ jsxRuntime.jsx(
1856
+ LabelPrimitive__namespace.Root,
1857
+ {
1858
+ "data-slot": "label",
1859
+ className: chunkI7WHASOO_cjs.cn(
1860
+ "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",
1861
+ className
1862
+ ),
1863
+ ...props
1864
+ }
1865
+ );
1866
+ }
1867
+ var Form = reactHookForm.FormProvider;
1868
+ var FormFieldContext = React9__namespace.createContext(
1869
+ {}
1870
+ );
1871
+ var FormField = ({
1872
+ ...props
1873
+ }) => {
1874
+ return /* @__PURE__ */ jsxRuntime.jsx(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsxRuntime.jsx(reactHookForm.Controller, { ...props }) });
1875
+ };
1876
+ var useFormField = () => {
1877
+ const fieldContext = React9__namespace.useContext(FormFieldContext);
1878
+ const itemContext = React9__namespace.useContext(FormItemContext);
1879
+ const { getFieldState } = reactHookForm.useFormContext();
1880
+ const formState = reactHookForm.useFormState({ name: fieldContext.name });
1881
+ const fieldState = getFieldState(fieldContext.name, formState);
1882
+ if (!fieldContext) {
1883
+ throw new Error("useFormField should be used within <FormField>");
1884
+ }
1885
+ const { id } = itemContext;
1886
+ return {
1887
+ id,
1888
+ name: fieldContext.name,
1889
+ formItemId: `${id}-form-item`,
1890
+ formDescriptionId: `${id}-form-item-description`,
1891
+ formMessageId: `${id}-form-item-message`,
1892
+ ...fieldState
1893
+ };
1894
+ };
1895
+ var FormItemContext = React9__namespace.createContext(
1896
+ {}
1897
+ );
1898
+ function FormItem({ className, ...props }) {
1899
+ const id = React9__namespace.useId();
1900
+ return /* @__PURE__ */ jsxRuntime.jsx(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsxRuntime.jsx(
1901
+ "div",
1902
+ {
1903
+ "data-slot": "form-item",
1904
+ className: chunkI7WHASOO_cjs.cn("grid gap-2", className),
1905
+ ...props
1906
+ }
1907
+ ) });
1908
+ }
1909
+ function FormLabel({
1910
+ className,
1911
+ ...props
1912
+ }) {
1913
+ const { error, formItemId } = useFormField();
1914
+ return /* @__PURE__ */ jsxRuntime.jsx(
1915
+ Label3,
1916
+ {
1917
+ "data-slot": "form-label",
1918
+ "data-error": !!error,
1919
+ className: chunkI7WHASOO_cjs.cn("data-[error=true]:text-destructive", className),
1920
+ htmlFor: formItemId,
1921
+ ...props
1922
+ }
1923
+ );
1924
+ }
1925
+ function FormControl({ ...props }) {
1926
+ const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
1927
+ return /* @__PURE__ */ jsxRuntime.jsx(
1928
+ reactSlot.Slot,
1929
+ {
1930
+ "data-slot": "form-control",
1931
+ id: formItemId,
1932
+ "aria-describedby": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`,
1933
+ "aria-invalid": !!error,
1934
+ ...props
1935
+ }
1936
+ );
1937
+ }
1938
+ function FormDescription({ className, ...props }) {
1939
+ const { formDescriptionId } = useFormField();
1940
+ return /* @__PURE__ */ jsxRuntime.jsx(
1941
+ "p",
1942
+ {
1943
+ "data-slot": "form-description",
1944
+ id: formDescriptionId,
1945
+ className: chunkI7WHASOO_cjs.cn("text-muted-foreground text-sm", className),
1946
+ ...props
1947
+ }
1948
+ );
1949
+ }
1950
+ function FormMessage({ className, ...props }) {
1951
+ const { error, formMessageId } = useFormField();
1952
+ const body = error ? String(error?.message ?? "") : props.children;
1953
+ if (!body) {
1954
+ return null;
1955
+ }
1956
+ return /* @__PURE__ */ jsxRuntime.jsx(
1957
+ "p",
1958
+ {
1959
+ "data-slot": "form-message",
1960
+ id: formMessageId,
1961
+ className: chunkI7WHASOO_cjs.cn("text-destructive text-sm", className),
1962
+ ...props,
1963
+ children: body
1964
+ }
1965
+ );
1966
+ }
1967
+ function HoverCard({
1968
+ ...props
1969
+ }) {
1970
+ return /* @__PURE__ */ jsxRuntime.jsx(HoverCardPrimitive__namespace.Root, { "data-slot": "hover-card", ...props });
1971
+ }
1972
+ function HoverCardTrigger({
1973
+ ...props
1974
+ }) {
1975
+ return /* @__PURE__ */ jsxRuntime.jsx(HoverCardPrimitive__namespace.Trigger, { "data-slot": "hover-card-trigger", ...props });
1976
+ }
1977
+ function HoverCardContent({
1978
+ className,
1979
+ align = "center",
1980
+ sideOffset = 4,
1981
+ ...props
1982
+ }) {
1983
+ return /* @__PURE__ */ jsxRuntime.jsx(HoverCardPrimitive__namespace.Portal, { "data-slot": "hover-card-portal", children: /* @__PURE__ */ jsxRuntime.jsx(
1984
+ HoverCardPrimitive__namespace.Content,
1985
+ {
1986
+ "data-slot": "hover-card-content",
1987
+ align,
1988
+ sideOffset,
1989
+ className: chunkI7WHASOO_cjs.cn(
1990
+ "bg-popover 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 z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",
1991
+ className
1992
+ ),
1993
+ ...props
1994
+ }
1995
+ ) });
1996
+ }
1997
+ function Menubar({
1998
+ className,
1999
+ ...props
2000
+ }) {
2001
+ return /* @__PURE__ */ jsxRuntime.jsx(
2002
+ MenubarPrimitive__namespace.Root,
2003
+ {
2004
+ "data-slot": "menubar",
2005
+ className: chunkI7WHASOO_cjs.cn(
2006
+ "bg-background flex h-9 items-center gap-1 rounded-md border p-1 shadow-xs",
2007
+ className
2008
+ ),
2009
+ ...props
2010
+ }
2011
+ );
2012
+ }
2013
+ function MenubarMenu({
2014
+ ...props
2015
+ }) {
2016
+ return /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.Menu, { "data-slot": "menubar-menu", ...props });
2017
+ }
2018
+ function MenubarGroup({
2019
+ ...props
2020
+ }) {
2021
+ return /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.Group, { "data-slot": "menubar-group", ...props });
2022
+ }
2023
+ function MenubarPortal({
2024
+ ...props
2025
+ }) {
2026
+ return /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.Portal, { "data-slot": "menubar-portal", ...props });
2027
+ }
2028
+ function MenubarRadioGroup({
2029
+ ...props
2030
+ }) {
2031
+ return /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.RadioGroup, { "data-slot": "menubar-radio-group", ...props });
2032
+ }
2033
+ function MenubarTrigger({
2034
+ className,
2035
+ ...props
2036
+ }) {
2037
+ return /* @__PURE__ */ jsxRuntime.jsx(
2038
+ MenubarPrimitive__namespace.Trigger,
2039
+ {
2040
+ "data-slot": "menubar-trigger",
2041
+ className: chunkI7WHASOO_cjs.cn(
2042
+ "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none",
2043
+ className
2044
+ ),
2045
+ ...props
2046
+ }
2047
+ );
2048
+ }
2049
+ function MenubarContent({
2050
+ className,
2051
+ align = "start",
2052
+ alignOffset = -4,
2053
+ sideOffset = 8,
2054
+ ...props
2055
+ }) {
2056
+ return /* @__PURE__ */ jsxRuntime.jsx(MenubarPortal, { children: /* @__PURE__ */ jsxRuntime.jsx(
2057
+ MenubarPrimitive__namespace.Content,
2058
+ {
2059
+ "data-slot": "menubar-content",
2060
+ align,
2061
+ alignOffset,
2062
+ sideOffset,
2063
+ className: chunkI7WHASOO_cjs.cn(
2064
+ "bg-popover text-popover-foreground 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 z-50 min-w-[12rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-md",
2065
+ className
2066
+ ),
2067
+ ...props
2068
+ }
2069
+ ) });
2070
+ }
2071
+ function MenubarItem({
2072
+ className,
2073
+ inset,
2074
+ variant = "default",
2075
+ ...props
2076
+ }) {
2077
+ return /* @__PURE__ */ jsxRuntime.jsx(
2078
+ MenubarPrimitive__namespace.Item,
2079
+ {
2080
+ "data-slot": "menubar-item",
2081
+ "data-inset": inset,
2082
+ "data-variant": variant,
2083
+ className: chunkI7WHASOO_cjs.cn(
2084
+ "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
2085
+ className
2086
+ ),
2087
+ ...props
2088
+ }
2089
+ );
2090
+ }
2091
+ function MenubarCheckboxItem({
2092
+ className,
2093
+ children,
2094
+ checked,
2095
+ ...props
2096
+ }) {
2097
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2098
+ MenubarPrimitive__namespace.CheckboxItem,
2099
+ {
2100
+ "data-slot": "menubar-checkbox-item",
2101
+ className: chunkI7WHASOO_cjs.cn(
2102
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
2103
+ className
2104
+ ),
2105
+ checked,
2106
+ ...props,
2107
+ children: [
2108
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckIcon, { className: "size-4" }) }) }),
2109
+ children
2110
+ ]
2111
+ }
2112
+ );
2113
+ }
2114
+ function MenubarRadioItem({
2115
+ className,
2116
+ children,
2117
+ ...props
2118
+ }) {
2119
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2120
+ MenubarPrimitive__namespace.RadioItem,
2121
+ {
2122
+ "data-slot": "menubar-radio-item",
2123
+ className: chunkI7WHASOO_cjs.cn(
2124
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
2125
+ className
2126
+ ),
2127
+ ...props,
2128
+ children: [
2129
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CircleIcon, { className: "size-2 fill-current" }) }) }),
2130
+ children
2131
+ ]
2132
+ }
2133
+ );
2134
+ }
2135
+ function MenubarLabel({
2136
+ className,
2137
+ inset,
2138
+ ...props
2139
+ }) {
2140
+ return /* @__PURE__ */ jsxRuntime.jsx(
2141
+ MenubarPrimitive__namespace.Label,
2142
+ {
2143
+ "data-slot": "menubar-label",
2144
+ "data-inset": inset,
2145
+ className: chunkI7WHASOO_cjs.cn(
2146
+ "px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",
2147
+ className
2148
+ ),
2149
+ ...props
2150
+ }
2151
+ );
2152
+ }
2153
+ function MenubarSeparator({
2154
+ className,
2155
+ ...props
2156
+ }) {
2157
+ return /* @__PURE__ */ jsxRuntime.jsx(
2158
+ MenubarPrimitive__namespace.Separator,
2159
+ {
2160
+ "data-slot": "menubar-separator",
2161
+ className: chunkI7WHASOO_cjs.cn("bg-border -mx-1 my-1 h-px", className),
2162
+ ...props
2163
+ }
2164
+ );
2165
+ }
2166
+ function MenubarShortcut({
2167
+ className,
2168
+ ...props
2169
+ }) {
2170
+ return /* @__PURE__ */ jsxRuntime.jsx(
2171
+ "span",
2172
+ {
2173
+ "data-slot": "menubar-shortcut",
2174
+ className: chunkI7WHASOO_cjs.cn(
2175
+ "text-muted-foreground ml-auto text-xs tracking-widest",
2176
+ className
2177
+ ),
2178
+ ...props
2179
+ }
2180
+ );
2181
+ }
2182
+ function MenubarSub({
2183
+ ...props
2184
+ }) {
2185
+ return /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.Sub, { "data-slot": "menubar-sub", ...props });
2186
+ }
2187
+ function MenubarSubTrigger({
2188
+ className,
2189
+ inset,
2190
+ children,
2191
+ ...props
2192
+ }) {
2193
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2194
+ MenubarPrimitive__namespace.SubTrigger,
2195
+ {
2196
+ "data-slot": "menubar-sub-trigger",
2197
+ "data-inset": inset,
2198
+ className: chunkI7WHASOO_cjs.cn(
2199
+ "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[inset]:pl-8",
2200
+ className
2201
+ ),
2202
+ ...props,
2203
+ children: [
2204
+ children,
2205
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRightIcon, { className: "ml-auto h-4 w-4" })
2206
+ ]
2207
+ }
2208
+ );
2209
+ }
2210
+ function MenubarSubContent({
2211
+ className,
2212
+ ...props
2213
+ }) {
2214
+ return /* @__PURE__ */ jsxRuntime.jsx(
2215
+ MenubarPrimitive__namespace.SubContent,
2216
+ {
2217
+ "data-slot": "menubar-sub-content",
2218
+ className: chunkI7WHASOO_cjs.cn(
2219
+ "bg-popover 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 z-50 min-w-[8rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg",
2220
+ className
2221
+ ),
2222
+ ...props
2223
+ }
2224
+ );
2225
+ }
2226
+ function NavigationMenu({
2227
+ className,
2228
+ children,
2229
+ viewport = true,
2230
+ ...props
2231
+ }) {
2232
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2233
+ NavigationMenuPrimitive__namespace.Root,
2234
+ {
2235
+ "data-slot": "navigation-menu",
2236
+ "data-viewport": viewport,
2237
+ className: chunkI7WHASOO_cjs.cn(
2238
+ "group/navigation-menu relative flex max-w-max flex-1 items-center justify-center",
2239
+ className
2240
+ ),
2241
+ ...props,
2242
+ children: [
2243
+ children,
2244
+ viewport && /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuViewport, {})
2245
+ ]
2246
+ }
2247
+ );
2248
+ }
2249
+ function NavigationMenuList({
2250
+ className,
2251
+ ...props
2252
+ }) {
2253
+ return /* @__PURE__ */ jsxRuntime.jsx(
2254
+ NavigationMenuPrimitive__namespace.List,
2255
+ {
2256
+ "data-slot": "navigation-menu-list",
2257
+ className: chunkI7WHASOO_cjs.cn(
2258
+ "group flex flex-1 list-none items-center justify-center gap-1",
2259
+ className
2260
+ ),
2261
+ ...props
2262
+ }
2263
+ );
2264
+ }
2265
+ function NavigationMenuItem({
2266
+ className,
2267
+ ...props
2268
+ }) {
2269
+ return /* @__PURE__ */ jsxRuntime.jsx(
2270
+ NavigationMenuPrimitive__namespace.Item,
2271
+ {
2272
+ "data-slot": "navigation-menu-item",
2273
+ className: chunkI7WHASOO_cjs.cn("relative", className),
2274
+ ...props
2275
+ }
2276
+ );
2277
+ }
2278
+ var navigationMenuTriggerStyle = classVarianceAuthority.cva(
2279
+ "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1"
2280
+ );
2281
+ function NavigationMenuTrigger({
2282
+ className,
2283
+ children,
2284
+ ...props
2285
+ }) {
2286
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2287
+ NavigationMenuPrimitive__namespace.Trigger,
2288
+ {
2289
+ "data-slot": "navigation-menu-trigger",
2290
+ className: chunkI7WHASOO_cjs.cn(navigationMenuTriggerStyle(), "group", className),
2291
+ ...props,
2292
+ children: [
2293
+ children,
2294
+ " ",
2295
+ /* @__PURE__ */ jsxRuntime.jsx(
2296
+ lucideReact.ChevronDownIcon,
2297
+ {
2298
+ className: "relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180",
2299
+ "aria-hidden": "true"
2300
+ }
2301
+ )
2302
+ ]
2303
+ }
2304
+ );
2305
+ }
2306
+ function NavigationMenuContent({
2307
+ className,
2308
+ ...props
2309
+ }) {
2310
+ return /* @__PURE__ */ jsxRuntime.jsx(
2311
+ NavigationMenuPrimitive__namespace.Content,
2312
+ {
2313
+ "data-slot": "navigation-menu-content",
2314
+ className: chunkI7WHASOO_cjs.cn(
2315
+ "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 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto",
2316
+ "group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none",
2317
+ className
2318
+ ),
2319
+ ...props
2320
+ }
2321
+ );
2322
+ }
2323
+ function NavigationMenuViewport({
2324
+ className,
2325
+ ...props
2326
+ }) {
2327
+ return /* @__PURE__ */ jsxRuntime.jsx(
2328
+ "div",
2329
+ {
2330
+ className: chunkI7WHASOO_cjs.cn(
2331
+ "absolute top-full left-0 isolate z-50 flex justify-center"
2332
+ ),
2333
+ children: /* @__PURE__ */ jsxRuntime.jsx(
2334
+ NavigationMenuPrimitive__namespace.Viewport,
2335
+ {
2336
+ "data-slot": "navigation-menu-viewport",
2337
+ className: chunkI7WHASOO_cjs.cn(
2338
+ "origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]",
2339
+ className
2340
+ ),
2341
+ ...props
2342
+ }
2343
+ )
2344
+ }
2345
+ );
2346
+ }
2347
+ function NavigationMenuLink({
2348
+ className,
2349
+ ...props
2350
+ }) {
2351
+ return /* @__PURE__ */ jsxRuntime.jsx(
2352
+ NavigationMenuPrimitive__namespace.Link,
2353
+ {
2354
+ "data-slot": "navigation-menu-link",
2355
+ className: chunkI7WHASOO_cjs.cn(
2356
+ "data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4",
2357
+ className
2358
+ ),
2359
+ ...props
2360
+ }
2361
+ );
2362
+ }
2363
+ function NavigationMenuIndicator({
2364
+ className,
2365
+ ...props
2366
+ }) {
2367
+ return /* @__PURE__ */ jsxRuntime.jsx(
2368
+ NavigationMenuPrimitive__namespace.Indicator,
2369
+ {
2370
+ "data-slot": "navigation-menu-indicator",
2371
+ className: chunkI7WHASOO_cjs.cn(
2372
+ "data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden",
2373
+ className
2374
+ ),
2375
+ ...props,
2376
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md" })
2377
+ }
2378
+ );
2379
+ }
2380
+ function Pagination({ className, ...props }) {
2381
+ return /* @__PURE__ */ jsxRuntime.jsx(
2382
+ "nav",
2383
+ {
2384
+ role: "navigation",
2385
+ "aria-label": "pagination",
2386
+ "data-slot": "pagination",
2387
+ className: chunkI7WHASOO_cjs.cn("mx-auto flex w-full justify-center", className),
2388
+ ...props
2389
+ }
2390
+ );
2391
+ }
2392
+ function PaginationContent({
2393
+ className,
2394
+ ...props
2395
+ }) {
2396
+ return /* @__PURE__ */ jsxRuntime.jsx(
2397
+ "ul",
2398
+ {
2399
+ "data-slot": "pagination-content",
2400
+ className: chunkI7WHASOO_cjs.cn("flex flex-row items-center gap-1", className),
2401
+ ...props
2402
+ }
2403
+ );
2404
+ }
2405
+ function PaginationItem({ ...props }) {
2406
+ return /* @__PURE__ */ jsxRuntime.jsx("li", { "data-slot": "pagination-item", ...props });
2407
+ }
2408
+ function PaginationLink({
2409
+ className,
2410
+ isActive,
2411
+ size = "icon",
2412
+ ...props
2413
+ }) {
2414
+ return /* @__PURE__ */ jsxRuntime.jsx(
2415
+ "a",
2416
+ {
2417
+ "aria-current": isActive ? "page" : void 0,
2418
+ "data-slot": "pagination-link",
2419
+ "data-active": isActive,
2420
+ className: chunkI7WHASOO_cjs.cn(
2421
+ chunkGQ6Z5A4R_cjs.buttonVariants({
2422
+ variant: isActive ? "outline" : "ghost",
2423
+ size
2424
+ }),
2425
+ className
2426
+ ),
2427
+ ...props
2428
+ }
2429
+ );
2430
+ }
2431
+ function PaginationPrevious({
2432
+ className,
2433
+ ...props
2434
+ }) {
2435
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2436
+ PaginationLink,
2437
+ {
2438
+ "aria-label": "Go to previous page",
2439
+ size: "default",
2440
+ className: chunkI7WHASOO_cjs.cn("gap-1 px-2.5 sm:pl-2.5", className),
2441
+ ...props,
2442
+ children: [
2443
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeftIcon, {}),
2444
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden sm:block", children: "Previous" })
2445
+ ]
2446
+ }
2447
+ );
2448
+ }
2449
+ function PaginationNext({
2450
+ className,
2451
+ ...props
2452
+ }) {
2453
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2454
+ PaginationLink,
2455
+ {
2456
+ "aria-label": "Go to next page",
2457
+ size: "default",
2458
+ className: chunkI7WHASOO_cjs.cn("gap-1 px-2.5 sm:pr-2.5", className),
2459
+ ...props,
2460
+ children: [
2461
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden sm:block", children: "Next" }),
2462
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRightIcon, {})
2463
+ ]
2464
+ }
2465
+ );
2466
+ }
2467
+ function PaginationEllipsis({
2468
+ className,
2469
+ ...props
2470
+ }) {
2471
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2472
+ "span",
2473
+ {
2474
+ "aria-hidden": true,
2475
+ "data-slot": "pagination-ellipsis",
2476
+ className: chunkI7WHASOO_cjs.cn("flex size-9 items-center justify-center", className),
2477
+ ...props,
2478
+ children: [
2479
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontalIcon, { className: "size-4" }),
2480
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "More pages" })
2481
+ ]
2482
+ }
2483
+ );
2484
+ }
2485
+ function Progress({
2486
+ className,
2487
+ value,
2488
+ ...props
2489
+ }) {
2490
+ return /* @__PURE__ */ jsxRuntime.jsx(
2491
+ ProgressPrimitive__namespace.Root,
2492
+ {
2493
+ "data-slot": "progress",
2494
+ className: chunkI7WHASOO_cjs.cn(
2495
+ "bg-primary/20 relative h-2 w-full overflow-hidden rounded-full",
2496
+ className
2497
+ ),
2498
+ ...props,
2499
+ children: /* @__PURE__ */ jsxRuntime.jsx(
2500
+ ProgressPrimitive__namespace.Indicator,
2501
+ {
2502
+ "data-slot": "progress-indicator",
2503
+ className: "bg-primary h-full w-full flex-1 transition-all",
2504
+ style: { transform: `translateX(-${100 - (value || 0)}%)` }
2505
+ }
2506
+ )
2507
+ }
2508
+ );
2509
+ }
2510
+ function RadioGroup4({
2511
+ className,
2512
+ ...props
2513
+ }) {
2514
+ return /* @__PURE__ */ jsxRuntime.jsx(
2515
+ RadioGroupPrimitive__namespace.Root,
2516
+ {
2517
+ "data-slot": "radio-group",
2518
+ className: chunkI7WHASOO_cjs.cn("grid gap-3", className),
2519
+ ...props
2520
+ }
2521
+ );
2522
+ }
2523
+ function RadioGroupItem({
2524
+ className,
2525
+ ...props
2526
+ }) {
2527
+ return /* @__PURE__ */ jsxRuntime.jsx(
2528
+ RadioGroupPrimitive__namespace.Item,
2529
+ {
2530
+ "data-slot": "radio-group-item",
2531
+ className: chunkI7WHASOO_cjs.cn(
2532
+ "border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
2533
+ className
2534
+ ),
2535
+ ...props,
2536
+ children: /* @__PURE__ */ jsxRuntime.jsx(
2537
+ RadioGroupPrimitive__namespace.Indicator,
2538
+ {
2539
+ "data-slot": "radio-group-indicator",
2540
+ className: "relative flex items-center justify-center",
2541
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CircleIcon, { className: "fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2" })
2542
+ }
2543
+ )
2544
+ }
2545
+ );
2546
+ }
2547
+ function ScrollArea({
2548
+ className,
2549
+ children,
2550
+ ...props
2551
+ }) {
2552
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2553
+ ScrollAreaPrimitive__namespace.Root,
2554
+ {
2555
+ "data-slot": "scroll-area",
2556
+ className: chunkI7WHASOO_cjs.cn("relative", className),
2557
+ ...props,
2558
+ children: [
2559
+ /* @__PURE__ */ jsxRuntime.jsx(
2560
+ ScrollAreaPrimitive__namespace.Viewport,
2561
+ {
2562
+ "data-slot": "scroll-area-viewport",
2563
+ className: "focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",
2564
+ children
2565
+ }
2566
+ ),
2567
+ /* @__PURE__ */ jsxRuntime.jsx(ScrollBar, {}),
2568
+ /* @__PURE__ */ jsxRuntime.jsx(ScrollAreaPrimitive__namespace.Corner, {})
2569
+ ]
2570
+ }
2571
+ );
2572
+ }
2573
+ function ScrollBar({
2574
+ className,
2575
+ orientation = "vertical",
2576
+ ...props
2577
+ }) {
2578
+ return /* @__PURE__ */ jsxRuntime.jsx(
2579
+ ScrollAreaPrimitive__namespace.ScrollAreaScrollbar,
2580
+ {
2581
+ "data-slot": "scroll-area-scrollbar",
2582
+ orientation,
2583
+ className: chunkI7WHASOO_cjs.cn(
2584
+ "flex touch-none p-px transition-colors select-none",
2585
+ orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent",
2586
+ orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent",
2587
+ className
2588
+ ),
2589
+ ...props,
2590
+ children: /* @__PURE__ */ jsxRuntime.jsx(
2591
+ ScrollAreaPrimitive__namespace.ScrollAreaThumb,
2592
+ {
2593
+ "data-slot": "scroll-area-thumb",
2594
+ className: "bg-border relative flex-1 rounded-full"
2595
+ }
2596
+ )
2597
+ }
2598
+ );
2599
+ }
2600
+ function Select({
2601
+ ...props
2602
+ }) {
2603
+ return /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Root, { "data-slot": "select", ...props });
2604
+ }
2605
+ function SelectGroup({
2606
+ ...props
2607
+ }) {
2608
+ return /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Group, { "data-slot": "select-group", ...props });
2609
+ }
2610
+ function SelectValue({
2611
+ ...props
2612
+ }) {
2613
+ return /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Value, { "data-slot": "select-value", ...props });
2614
+ }
2615
+ function SelectTrigger({
2616
+ className,
2617
+ size = "default",
2618
+ children,
2619
+ ...props
2620
+ }) {
2621
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2622
+ SelectPrimitive__namespace.Trigger,
2623
+ {
2624
+ "data-slot": "select-trigger",
2625
+ "data-size": size,
2626
+ className: chunkI7WHASOO_cjs.cn(
2627
+ "border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 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-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
2628
+ className
2629
+ ),
2630
+ ...props,
2631
+ children: [
2632
+ children,
2633
+ /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Icon, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "size-4 opacity-50" }) })
2634
+ ]
2635
+ }
2636
+ );
2637
+ }
2638
+ function SelectContent({
2639
+ className,
2640
+ children,
2641
+ position = "item-aligned",
2642
+ align = "center",
2643
+ ...props
2644
+ }) {
2645
+ return /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
2646
+ SelectPrimitive__namespace.Content,
2647
+ {
2648
+ "data-slot": "select-content",
2649
+ className: chunkI7WHASOO_cjs.cn(
2650
+ "bg-popover 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 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",
2651
+ position === "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",
2652
+ className
2653
+ ),
2654
+ position,
2655
+ align,
2656
+ ...props,
2657
+ children: [
2658
+ /* @__PURE__ */ jsxRuntime.jsx(SelectScrollUpButton, {}),
2659
+ /* @__PURE__ */ jsxRuntime.jsx(
2660
+ SelectPrimitive__namespace.Viewport,
2661
+ {
2662
+ className: chunkI7WHASOO_cjs.cn(
2663
+ "p-1",
2664
+ position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
2665
+ ),
2666
+ children
2667
+ }
2668
+ ),
2669
+ /* @__PURE__ */ jsxRuntime.jsx(SelectScrollDownButton, {})
2670
+ ]
2671
+ }
2672
+ ) });
2673
+ }
2674
+ function SelectLabel({
2675
+ className,
2676
+ ...props
2677
+ }) {
2678
+ return /* @__PURE__ */ jsxRuntime.jsx(
2679
+ SelectPrimitive__namespace.Label,
2680
+ {
2681
+ "data-slot": "select-label",
2682
+ className: chunkI7WHASOO_cjs.cn("text-muted-foreground px-2 py-1.5 text-xs", className),
2683
+ ...props
2684
+ }
2685
+ );
2686
+ }
2687
+ function SelectItem({
2688
+ className,
2689
+ children,
2690
+ ...props
2691
+ }) {
2692
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2693
+ SelectPrimitive__namespace.Item,
2694
+ {
2695
+ "data-slot": "select-item",
2696
+ className: chunkI7WHASOO_cjs.cn(
2697
+ "focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground 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 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",
2698
+ className
2699
+ ),
2700
+ ...props,
2701
+ children: [
2702
+ /* @__PURE__ */ jsxRuntime.jsx(
2703
+ "span",
2704
+ {
2705
+ "data-slot": "select-item-indicator",
2706
+ className: "absolute right-2 flex size-3.5 items-center justify-center",
2707
+ children: /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckIcon, { className: "size-4" }) })
2708
+ }
2709
+ ),
2710
+ /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.ItemText, { children })
2711
+ ]
2712
+ }
2713
+ );
2714
+ }
2715
+ function SelectSeparator({
2716
+ className,
2717
+ ...props
2718
+ }) {
2719
+ return /* @__PURE__ */ jsxRuntime.jsx(
2720
+ SelectPrimitive__namespace.Separator,
2721
+ {
2722
+ "data-slot": "select-separator",
2723
+ className: chunkI7WHASOO_cjs.cn("bg-border pointer-events-none -mx-1 my-1 h-px", className),
2724
+ ...props
2725
+ }
2726
+ );
2727
+ }
2728
+ function SelectScrollUpButton({
2729
+ className,
2730
+ ...props
2731
+ }) {
2732
+ return /* @__PURE__ */ jsxRuntime.jsx(
2733
+ SelectPrimitive__namespace.ScrollUpButton,
2734
+ {
2735
+ "data-slot": "select-scroll-up-button",
2736
+ className: chunkI7WHASOO_cjs.cn(
2737
+ "flex cursor-default items-center justify-center py-1",
2738
+ className
2739
+ ),
2740
+ ...props,
2741
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUpIcon, { className: "size-4" })
2742
+ }
2743
+ );
2744
+ }
2745
+ function SelectScrollDownButton({
2746
+ className,
2747
+ ...props
2748
+ }) {
2749
+ return /* @__PURE__ */ jsxRuntime.jsx(
2750
+ SelectPrimitive__namespace.ScrollDownButton,
2751
+ {
2752
+ "data-slot": "select-scroll-down-button",
2753
+ className: chunkI7WHASOO_cjs.cn(
2754
+ "flex cursor-default items-center justify-center py-1",
2755
+ className
2756
+ ),
2757
+ ...props,
2758
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "size-4" })
2759
+ }
2760
+ );
2761
+ }
2762
+ function Sheet({ ...props }) {
2763
+ return /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Root, { "data-slot": "sheet", ...props });
2764
+ }
2765
+ function SheetTrigger({
2766
+ ...props
2767
+ }) {
2768
+ return /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Trigger, { "data-slot": "sheet-trigger", ...props });
2769
+ }
2770
+ function SheetClose({
2771
+ ...props
2772
+ }) {
2773
+ return /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Close, { "data-slot": "sheet-close", ...props });
2774
+ }
2775
+ function SheetPortal({
2776
+ ...props
2777
+ }) {
2778
+ return /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Portal, { "data-slot": "sheet-portal", ...props });
2779
+ }
2780
+ function SheetOverlay({
2781
+ className,
2782
+ ...props
2783
+ }) {
2784
+ return /* @__PURE__ */ jsxRuntime.jsx(
2785
+ DialogPrimitive__namespace.Overlay,
2786
+ {
2787
+ "data-slot": "sheet-overlay",
2788
+ className: chunkI7WHASOO_cjs.cn(
2789
+ "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",
2790
+ className
2791
+ ),
2792
+ ...props
2793
+ }
2794
+ );
2795
+ }
2796
+ function SheetContent({
2797
+ className,
2798
+ children,
2799
+ side = "right",
2800
+ ...props
2801
+ }) {
2802
+ return /* @__PURE__ */ jsxRuntime.jsxs(SheetPortal, { children: [
2803
+ /* @__PURE__ */ jsxRuntime.jsx(SheetOverlay, {}),
2804
+ /* @__PURE__ */ jsxRuntime.jsxs(
2805
+ DialogPrimitive__namespace.Content,
2806
+ {
2807
+ "data-slot": "sheet-content",
2808
+ className: chunkI7WHASOO_cjs.cn(
2809
+ "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",
2810
+ side === "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 sm:max-w-sm",
2811
+ side === "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 sm:max-w-sm",
2812
+ side === "top" && "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b",
2813
+ side === "bottom" && "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",
2814
+ className
2815
+ ),
2816
+ ...props,
2817
+ children: [
2818
+ children,
2819
+ /* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Close, { 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", children: [
2820
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.XIcon, { className: "size-4" }),
2821
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
2822
+ ] })
2823
+ ]
2824
+ }
2825
+ )
2826
+ ] });
2827
+ }
2828
+ function SheetHeader({ className, ...props }) {
2829
+ return /* @__PURE__ */ jsxRuntime.jsx(
2830
+ "div",
2831
+ {
2832
+ "data-slot": "sheet-header",
2833
+ className: chunkI7WHASOO_cjs.cn("flex flex-col gap-1.5 p-4", className),
2834
+ ...props
2835
+ }
2836
+ );
2837
+ }
2838
+ function SheetFooter({ className, ...props }) {
2839
+ return /* @__PURE__ */ jsxRuntime.jsx(
2840
+ "div",
2841
+ {
2842
+ "data-slot": "sheet-footer",
2843
+ className: chunkI7WHASOO_cjs.cn("mt-auto flex flex-col gap-2 p-4", className),
2844
+ ...props
2845
+ }
2846
+ );
2847
+ }
2848
+ function SheetTitle({
2849
+ className,
2850
+ ...props
2851
+ }) {
2852
+ return /* @__PURE__ */ jsxRuntime.jsx(
2853
+ DialogPrimitive__namespace.Title,
2854
+ {
2855
+ "data-slot": "sheet-title",
2856
+ className: chunkI7WHASOO_cjs.cn("text-foreground font-semibold", className),
2857
+ ...props
2858
+ }
2859
+ );
2860
+ }
2861
+ function SheetDescription({
2862
+ className,
2863
+ ...props
2864
+ }) {
2865
+ return /* @__PURE__ */ jsxRuntime.jsx(
2866
+ DialogPrimitive__namespace.Description,
2867
+ {
2868
+ "data-slot": "sheet-description",
2869
+ className: chunkI7WHASOO_cjs.cn("text-muted-foreground text-sm", className),
2870
+ ...props
2871
+ }
2872
+ );
2873
+ }
2874
+ var MOBILE_BREAKPOINT = 768;
2875
+ function useIsMobile() {
2876
+ const [isMobile, setIsMobile] = React9__namespace.useState(void 0);
2877
+ React9__namespace.useEffect(() => {
2878
+ const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
2879
+ const onChange = () => {
2880
+ setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
2881
+ };
2882
+ mql.addEventListener("change", onChange);
2883
+ setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
2884
+ return () => mql.removeEventListener("change", onChange);
2885
+ }, []);
2886
+ return !!isMobile;
2887
+ }
2888
+ function TooltipProvider({
2889
+ delayDuration = 0,
2890
+ ...props
2891
+ }) {
2892
+ return /* @__PURE__ */ jsxRuntime.jsx(
2893
+ TooltipPrimitive__namespace.Provider,
2894
+ {
2895
+ "data-slot": "tooltip-provider",
2896
+ delayDuration,
2897
+ ...props
2898
+ }
2899
+ );
2900
+ }
2901
+ function Tooltip({
2902
+ ...props
2903
+ }) {
2904
+ return /* @__PURE__ */ jsxRuntime.jsx(TooltipProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Root, { "data-slot": "tooltip", ...props }) });
2905
+ }
2906
+ function TooltipTrigger({
2907
+ ...props
2908
+ }) {
2909
+ return /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Trigger, { "data-slot": "tooltip-trigger", ...props });
2910
+ }
2911
+ function TooltipContent({
2912
+ className,
2913
+ sideOffset = 0,
2914
+ children,
2915
+ ...props
2916
+ }) {
2917
+ return /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
2918
+ TooltipPrimitive__namespace.Content,
2919
+ {
2920
+ "data-slot": "tooltip-content",
2921
+ sideOffset,
2922
+ className: chunkI7WHASOO_cjs.cn(
2923
+ "bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",
2924
+ className
2925
+ ),
2926
+ ...props,
2927
+ children: [
2928
+ children,
2929
+ /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Arrow, { className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
2930
+ ]
2931
+ }
2932
+ ) });
2933
+ }
2934
+ var SIDEBAR_COOKIE_NAME = "sidebar_state";
2935
+ var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
2936
+ var SIDEBAR_WIDTH = "16rem";
2937
+ var SIDEBAR_WIDTH_MOBILE = "18rem";
2938
+ var SIDEBAR_WIDTH_ICON = "3rem";
2939
+ var SIDEBAR_KEYBOARD_SHORTCUT = "b";
2940
+ var SidebarContext = React9__namespace.createContext(null);
2941
+ function useSidebar() {
2942
+ const context = React9__namespace.useContext(SidebarContext);
2943
+ if (!context) {
2944
+ throw new Error("useSidebar must be used within a SidebarProvider.");
2945
+ }
2946
+ return context;
2947
+ }
2948
+ function SidebarProvider({
2949
+ defaultOpen = true,
2950
+ open: openProp,
2951
+ onOpenChange: setOpenProp,
2952
+ className,
2953
+ style,
2954
+ children,
2955
+ ...props
2956
+ }) {
2957
+ const isMobile = useIsMobile();
2958
+ const [openMobile, setOpenMobile] = React9__namespace.useState(false);
2959
+ const [_open, _setOpen] = React9__namespace.useState(defaultOpen);
2960
+ const open = openProp ?? _open;
2961
+ const setOpen = React9__namespace.useCallback(
2962
+ (value) => {
2963
+ const openState = typeof value === "function" ? value(open) : value;
2964
+ if (setOpenProp) {
2965
+ setOpenProp(openState);
2966
+ } else {
2967
+ _setOpen(openState);
2968
+ }
2969
+ document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
2970
+ },
2971
+ [setOpenProp, open]
2972
+ );
2973
+ const toggleSidebar = React9__namespace.useCallback(() => {
2974
+ return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
2975
+ }, [isMobile, setOpen, setOpenMobile]);
2976
+ React9__namespace.useEffect(() => {
2977
+ const handleKeyDown = (event) => {
2978
+ if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
2979
+ event.preventDefault();
2980
+ toggleSidebar();
2981
+ }
2982
+ };
2983
+ window.addEventListener("keydown", handleKeyDown);
2984
+ return () => window.removeEventListener("keydown", handleKeyDown);
2985
+ }, [toggleSidebar]);
2986
+ const state = open ? "expanded" : "collapsed";
2987
+ const contextValue = React9__namespace.useMemo(
2988
+ () => ({
2989
+ state,
2990
+ open,
2991
+ setOpen,
2992
+ isMobile,
2993
+ openMobile,
2994
+ setOpenMobile,
2995
+ toggleSidebar
2996
+ }),
2997
+ [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
2998
+ );
2999
+ return /* @__PURE__ */ jsxRuntime.jsx(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsxRuntime.jsx(
3000
+ "div",
3001
+ {
3002
+ "data-slot": "sidebar-wrapper",
3003
+ style: {
3004
+ "--sidebar-width": SIDEBAR_WIDTH,
3005
+ "--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
3006
+ ...style
3007
+ },
3008
+ className: chunkI7WHASOO_cjs.cn(
3009
+ "group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",
3010
+ className
3011
+ ),
3012
+ ...props,
3013
+ children
3014
+ }
3015
+ ) }) });
3016
+ }
3017
+ function Sidebar({
3018
+ side = "left",
3019
+ variant = "sidebar",
3020
+ collapsible = "offcanvas",
3021
+ className,
3022
+ children,
3023
+ ...props
3024
+ }) {
3025
+ const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
3026
+ if (collapsible === "none") {
3027
+ return /* @__PURE__ */ jsxRuntime.jsx(
3028
+ "div",
3029
+ {
3030
+ "data-slot": "sidebar",
3031
+ className: chunkI7WHASOO_cjs.cn(
3032
+ "bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",
3033
+ className
3034
+ ),
3035
+ ...props,
3036
+ children
3037
+ }
3038
+ );
3039
+ }
3040
+ if (isMobile) {
3041
+ return /* @__PURE__ */ jsxRuntime.jsx(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsxRuntime.jsxs(
3042
+ SheetContent,
3043
+ {
3044
+ "data-sidebar": "sidebar",
3045
+ "data-slot": "sidebar",
3046
+ "data-mobile": "true",
3047
+ className: "bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",
3048
+ style: {
3049
+ "--sidebar-width": SIDEBAR_WIDTH_MOBILE
3050
+ },
3051
+ side,
3052
+ children: [
3053
+ /* @__PURE__ */ jsxRuntime.jsxs(SheetHeader, { className: "sr-only", children: [
3054
+ /* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { children: "Sidebar" }),
3055
+ /* @__PURE__ */ jsxRuntime.jsx(SheetDescription, { children: "Displays the mobile sidebar." })
3056
+ ] }),
3057
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-full w-full flex-col", children })
3058
+ ]
3059
+ }
3060
+ ) });
3061
+ }
3062
+ return /* @__PURE__ */ jsxRuntime.jsxs(
3063
+ "div",
3064
+ {
3065
+ className: "group peer text-sidebar-foreground hidden md:block",
3066
+ "data-state": state,
3067
+ "data-collapsible": state === "collapsed" ? collapsible : "",
3068
+ "data-variant": variant,
3069
+ "data-side": side,
3070
+ "data-slot": "sidebar",
3071
+ children: [
3072
+ /* @__PURE__ */ jsxRuntime.jsx(
3073
+ "div",
3074
+ {
3075
+ "data-slot": "sidebar-gap",
3076
+ className: chunkI7WHASOO_cjs.cn(
3077
+ "relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear",
3078
+ "group-data-[collapsible=offcanvas]:w-0",
3079
+ "group-data-[side=right]:rotate-180",
3080
+ variant === "floating" || variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)"
3081
+ )
3082
+ }
3083
+ ),
3084
+ /* @__PURE__ */ jsxRuntime.jsx(
3085
+ "div",
3086
+ {
3087
+ "data-slot": "sidebar-container",
3088
+ className: chunkI7WHASOO_cjs.cn(
3089
+ "fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex",
3090
+ side === "left" ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]" : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",
3091
+ // Adjust the padding for floating and inset variants.
3092
+ variant === "floating" || variant === "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",
3093
+ className
3094
+ ),
3095
+ ...props,
3096
+ children: /* @__PURE__ */ jsxRuntime.jsx(
3097
+ "div",
3098
+ {
3099
+ "data-sidebar": "sidebar",
3100
+ "data-slot": "sidebar-inner",
3101
+ className: "bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",
3102
+ children
3103
+ }
3104
+ )
3105
+ }
3106
+ )
3107
+ ]
3108
+ }
3109
+ );
3110
+ }
3111
+ function SidebarTrigger({
3112
+ className,
3113
+ onClick,
3114
+ ...props
3115
+ }) {
3116
+ const { toggleSidebar } = useSidebar();
3117
+ return /* @__PURE__ */ jsxRuntime.jsxs(
3118
+ chunkGQ6Z5A4R_cjs.Button,
3119
+ {
3120
+ "data-sidebar": "trigger",
3121
+ "data-slot": "sidebar-trigger",
3122
+ variant: "ghost",
3123
+ size: "icon",
3124
+ className: chunkI7WHASOO_cjs.cn("size-7", className),
3125
+ onClick: (event) => {
3126
+ onClick?.(event);
3127
+ toggleSidebar();
3128
+ },
3129
+ ...props,
3130
+ children: [
3131
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PanelLeftIcon, {}),
3132
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Toggle Sidebar" })
3133
+ ]
3134
+ }
3135
+ );
3136
+ }
3137
+ function SidebarRail({ className, ...props }) {
3138
+ const { toggleSidebar } = useSidebar();
3139
+ return /* @__PURE__ */ jsxRuntime.jsx(
3140
+ "button",
3141
+ {
3142
+ "data-sidebar": "rail",
3143
+ "data-slot": "sidebar-rail",
3144
+ "aria-label": "Toggle Sidebar",
3145
+ tabIndex: -1,
3146
+ onClick: toggleSidebar,
3147
+ title: "Toggle Sidebar",
3148
+ className: chunkI7WHASOO_cjs.cn(
3149
+ "hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex",
3150
+ "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize",
3151
+ "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
3152
+ "hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full",
3153
+ "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
3154
+ "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",
3155
+ className
3156
+ ),
3157
+ ...props
3158
+ }
3159
+ );
3160
+ }
3161
+ function SidebarInset({ className, ...props }) {
3162
+ return /* @__PURE__ */ jsxRuntime.jsx(
3163
+ "main",
3164
+ {
3165
+ "data-slot": "sidebar-inset",
3166
+ className: chunkI7WHASOO_cjs.cn(
3167
+ "bg-background relative flex w-full flex-1 flex-col",
3168
+ "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",
3169
+ className
3170
+ ),
3171
+ ...props
3172
+ }
3173
+ );
3174
+ }
3175
+ function SidebarInput({
3176
+ className,
3177
+ ...props
3178
+ }) {
3179
+ return /* @__PURE__ */ jsxRuntime.jsx(
3180
+ chunkGQ6Z5A4R_cjs.Input,
3181
+ {
3182
+ "data-slot": "sidebar-input",
3183
+ "data-sidebar": "input",
3184
+ className: chunkI7WHASOO_cjs.cn("bg-background h-8 w-full shadow-none", className),
3185
+ ...props
3186
+ }
3187
+ );
3188
+ }
3189
+ function SidebarHeader({ className, ...props }) {
3190
+ return /* @__PURE__ */ jsxRuntime.jsx(
3191
+ "div",
3192
+ {
3193
+ "data-slot": "sidebar-header",
3194
+ "data-sidebar": "header",
3195
+ className: chunkI7WHASOO_cjs.cn("flex flex-col gap-2 p-2", className),
3196
+ ...props
3197
+ }
3198
+ );
3199
+ }
3200
+ function SidebarFooter({ className, ...props }) {
3201
+ return /* @__PURE__ */ jsxRuntime.jsx(
3202
+ "div",
3203
+ {
3204
+ "data-slot": "sidebar-footer",
3205
+ "data-sidebar": "footer",
3206
+ className: chunkI7WHASOO_cjs.cn("flex flex-col gap-2 p-2", className),
3207
+ ...props
3208
+ }
3209
+ );
3210
+ }
3211
+ function SidebarSeparator({
3212
+ className,
3213
+ ...props
3214
+ }) {
3215
+ return /* @__PURE__ */ jsxRuntime.jsx(
3216
+ chunkGQ6Z5A4R_cjs.Separator,
3217
+ {
3218
+ "data-slot": "sidebar-separator",
3219
+ "data-sidebar": "separator",
3220
+ className: chunkI7WHASOO_cjs.cn("bg-sidebar-border mx-2 w-auto", className),
3221
+ ...props
3222
+ }
3223
+ );
3224
+ }
3225
+ function SidebarContent({ className, ...props }) {
3226
+ return /* @__PURE__ */ jsxRuntime.jsx(
3227
+ "div",
3228
+ {
3229
+ "data-slot": "sidebar-content",
3230
+ "data-sidebar": "content",
3231
+ className: chunkI7WHASOO_cjs.cn(
3232
+ "flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",
3233
+ className
3234
+ ),
3235
+ ...props
3236
+ }
3237
+ );
3238
+ }
3239
+ function SidebarGroup({ className, ...props }) {
3240
+ return /* @__PURE__ */ jsxRuntime.jsx(
3241
+ "div",
3242
+ {
3243
+ "data-slot": "sidebar-group",
3244
+ "data-sidebar": "group",
3245
+ className: chunkI7WHASOO_cjs.cn("relative flex w-full min-w-0 flex-col p-2", className),
3246
+ ...props
3247
+ }
3248
+ );
3249
+ }
3250
+ function SidebarGroupLabel({
3251
+ className,
3252
+ asChild = false,
3253
+ ...props
3254
+ }) {
3255
+ const Comp = asChild ? reactSlot.Slot : "div";
3256
+ return /* @__PURE__ */ jsxRuntime.jsx(
3257
+ Comp,
3258
+ {
3259
+ "data-slot": "sidebar-group-label",
3260
+ "data-sidebar": "group-label",
3261
+ className: chunkI7WHASOO_cjs.cn(
3262
+ "text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
3263
+ "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
3264
+ className
3265
+ ),
3266
+ ...props
3267
+ }
3268
+ );
3269
+ }
3270
+ function SidebarGroupAction({
3271
+ className,
3272
+ asChild = false,
3273
+ ...props
3274
+ }) {
3275
+ const Comp = asChild ? reactSlot.Slot : "button";
3276
+ return /* @__PURE__ */ jsxRuntime.jsx(
3277
+ Comp,
3278
+ {
3279
+ "data-slot": "sidebar-group-action",
3280
+ "data-sidebar": "group-action",
3281
+ className: chunkI7WHASOO_cjs.cn(
3282
+ "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
3283
+ // Increases the hit area of the button on mobile.
3284
+ "after:absolute after:-inset-2 md:after:hidden",
3285
+ "group-data-[collapsible=icon]:hidden",
3286
+ className
3287
+ ),
3288
+ ...props
3289
+ }
3290
+ );
3291
+ }
3292
+ function SidebarGroupContent({
3293
+ className,
3294
+ ...props
3295
+ }) {
3296
+ return /* @__PURE__ */ jsxRuntime.jsx(
3297
+ "div",
3298
+ {
3299
+ "data-slot": "sidebar-group-content",
3300
+ "data-sidebar": "group-content",
3301
+ className: chunkI7WHASOO_cjs.cn("w-full text-sm", className),
3302
+ ...props
3303
+ }
3304
+ );
3305
+ }
3306
+ function SidebarMenu({ className, ...props }) {
3307
+ return /* @__PURE__ */ jsxRuntime.jsx(
3308
+ "ul",
3309
+ {
3310
+ "data-slot": "sidebar-menu",
3311
+ "data-sidebar": "menu",
3312
+ className: chunkI7WHASOO_cjs.cn("flex w-full min-w-0 flex-col gap-1", className),
3313
+ ...props
3314
+ }
3315
+ );
3316
+ }
3317
+ function SidebarMenuItem({ className, ...props }) {
3318
+ return /* @__PURE__ */ jsxRuntime.jsx(
3319
+ "li",
3320
+ {
3321
+ "data-slot": "sidebar-menu-item",
3322
+ "data-sidebar": "menu-item",
3323
+ className: chunkI7WHASOO_cjs.cn("group/menu-item relative", className),
3324
+ ...props
3325
+ }
3326
+ );
3327
+ }
3328
+ var sidebarMenuButtonVariants = classVarianceAuthority.cva(
3329
+ "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] 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 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
3330
+ {
3331
+ variants: {
3332
+ variant: {
3333
+ default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
3334
+ outline: "bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"
3335
+ },
3336
+ size: {
3337
+ default: "h-8 text-sm",
3338
+ sm: "h-7 text-xs",
3339
+ lg: "h-12 text-sm group-data-[collapsible=icon]:p-0!"
3340
+ }
3341
+ },
3342
+ defaultVariants: {
3343
+ variant: "default",
3344
+ size: "default"
3345
+ }
3346
+ }
3347
+ );
3348
+ function SidebarMenuButton({
3349
+ asChild = false,
3350
+ isActive = false,
3351
+ variant = "default",
3352
+ size = "default",
3353
+ tooltip,
3354
+ className,
3355
+ ...props
3356
+ }) {
3357
+ const Comp = asChild ? reactSlot.Slot : "button";
3358
+ const { isMobile, state } = useSidebar();
3359
+ const button = /* @__PURE__ */ jsxRuntime.jsx(
3360
+ Comp,
3361
+ {
3362
+ "data-slot": "sidebar-menu-button",
3363
+ "data-sidebar": "menu-button",
3364
+ "data-size": size,
3365
+ "data-active": isActive,
3366
+ className: chunkI7WHASOO_cjs.cn(sidebarMenuButtonVariants({ variant, size }), className),
3367
+ ...props
3368
+ }
3369
+ );
3370
+ if (!tooltip) {
3371
+ return button;
3372
+ }
3373
+ if (typeof tooltip === "string") {
3374
+ tooltip = {
3375
+ children: tooltip
3376
+ };
3377
+ }
3378
+ return /* @__PURE__ */ jsxRuntime.jsxs(Tooltip, { children: [
3379
+ /* @__PURE__ */ jsxRuntime.jsx(TooltipTrigger, { asChild: true, children: button }),
3380
+ /* @__PURE__ */ jsxRuntime.jsx(
3381
+ TooltipContent,
3382
+ {
3383
+ side: "right",
3384
+ align: "center",
3385
+ hidden: state !== "collapsed" || isMobile,
3386
+ ...tooltip
3387
+ }
3388
+ )
3389
+ ] });
3390
+ }
3391
+ function SidebarMenuAction({
3392
+ className,
3393
+ asChild = false,
3394
+ showOnHover = false,
3395
+ ...props
3396
+ }) {
3397
+ const Comp = asChild ? reactSlot.Slot : "button";
3398
+ return /* @__PURE__ */ jsxRuntime.jsx(
3399
+ Comp,
3400
+ {
3401
+ "data-slot": "sidebar-menu-action",
3402
+ "data-sidebar": "menu-action",
3403
+ className: chunkI7WHASOO_cjs.cn(
3404
+ "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
3405
+ // Increases the hit area of the button on mobile.
3406
+ "after:absolute after:-inset-2 md:after:hidden",
3407
+ "peer-data-[size=sm]/menu-button:top-1",
3408
+ "peer-data-[size=default]/menu-button:top-1.5",
3409
+ "peer-data-[size=lg]/menu-button:top-2.5",
3410
+ "group-data-[collapsible=icon]:hidden",
3411
+ showOnHover && "peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0",
3412
+ className
3413
+ ),
3414
+ ...props
3415
+ }
3416
+ );
3417
+ }
3418
+ function SidebarMenuBadge({
3419
+ className,
3420
+ ...props
3421
+ }) {
3422
+ return /* @__PURE__ */ jsxRuntime.jsx(
3423
+ "div",
3424
+ {
3425
+ "data-slot": "sidebar-menu-badge",
3426
+ "data-sidebar": "menu-badge",
3427
+ className: chunkI7WHASOO_cjs.cn(
3428
+ "text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none",
3429
+ "peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground",
3430
+ "peer-data-[size=sm]/menu-button:top-1",
3431
+ "peer-data-[size=default]/menu-button:top-1.5",
3432
+ "peer-data-[size=lg]/menu-button:top-2.5",
3433
+ "group-data-[collapsible=icon]:hidden",
3434
+ className
3435
+ ),
3436
+ ...props
3437
+ }
3438
+ );
3439
+ }
3440
+ function SidebarMenuSkeleton({
3441
+ className,
3442
+ showIcon = false,
3443
+ ...props
3444
+ }) {
3445
+ const width = React9__namespace.useMemo(() => {
3446
+ return `${Math.floor(Math.random() * 40) + 50}%`;
3447
+ }, []);
3448
+ return /* @__PURE__ */ jsxRuntime.jsxs(
3449
+ "div",
3450
+ {
3451
+ "data-slot": "sidebar-menu-skeleton",
3452
+ "data-sidebar": "menu-skeleton",
3453
+ className: chunkI7WHASOO_cjs.cn("flex h-8 items-center gap-2 rounded-md px-2", className),
3454
+ ...props,
3455
+ children: [
3456
+ showIcon && /* @__PURE__ */ jsxRuntime.jsx(
3457
+ chunkQ4GFV3J3_cjs.Skeleton,
3458
+ {
3459
+ className: "size-4 rounded-md",
3460
+ "data-sidebar": "menu-skeleton-icon"
3461
+ }
3462
+ ),
3463
+ /* @__PURE__ */ jsxRuntime.jsx(
3464
+ chunkQ4GFV3J3_cjs.Skeleton,
3465
+ {
3466
+ className: "h-4 max-w-(--skeleton-width) flex-1",
3467
+ "data-sidebar": "menu-skeleton-text",
3468
+ style: {
3469
+ "--skeleton-width": width
3470
+ }
3471
+ }
3472
+ )
3473
+ ]
3474
+ }
3475
+ );
3476
+ }
3477
+ function SidebarMenuSub({ className, ...props }) {
3478
+ return /* @__PURE__ */ jsxRuntime.jsx(
3479
+ "ul",
3480
+ {
3481
+ "data-slot": "sidebar-menu-sub",
3482
+ "data-sidebar": "menu-sub",
3483
+ className: chunkI7WHASOO_cjs.cn(
3484
+ "border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5",
3485
+ "group-data-[collapsible=icon]:hidden",
3486
+ className
3487
+ ),
3488
+ ...props
3489
+ }
3490
+ );
3491
+ }
3492
+ function SidebarMenuSubItem({
3493
+ className,
3494
+ ...props
3495
+ }) {
3496
+ return /* @__PURE__ */ jsxRuntime.jsx(
3497
+ "li",
3498
+ {
3499
+ "data-slot": "sidebar-menu-sub-item",
3500
+ "data-sidebar": "menu-sub-item",
3501
+ className: chunkI7WHASOO_cjs.cn("group/menu-sub-item relative", className),
3502
+ ...props
3503
+ }
3504
+ );
3505
+ }
3506
+ function SidebarMenuSubButton({
3507
+ asChild = false,
3508
+ size = "md",
3509
+ isActive = false,
3510
+ className,
3511
+ ...props
3512
+ }) {
3513
+ const Comp = asChild ? reactSlot.Slot : "a";
3514
+ return /* @__PURE__ */ jsxRuntime.jsx(
3515
+ Comp,
3516
+ {
3517
+ "data-slot": "sidebar-menu-sub-button",
3518
+ "data-sidebar": "menu-sub-button",
3519
+ "data-size": size,
3520
+ "data-active": isActive,
3521
+ className: chunkI7WHASOO_cjs.cn(
3522
+ "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
3523
+ "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",
3524
+ size === "sm" && "text-xs",
3525
+ size === "md" && "text-sm",
3526
+ "group-data-[collapsible=icon]:hidden",
3527
+ className
3528
+ ),
3529
+ ...props
3530
+ }
3531
+ );
3532
+ }
3533
+ function Slider({
3534
+ className,
3535
+ defaultValue,
3536
+ value,
3537
+ min = 0,
3538
+ max = 100,
3539
+ ...props
3540
+ }) {
3541
+ const _values = React9__namespace.useMemo(
3542
+ () => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max],
3543
+ [value, defaultValue, min, max]
3544
+ );
3545
+ return /* @__PURE__ */ jsxRuntime.jsxs(
3546
+ SliderPrimitive__namespace.Root,
3547
+ {
3548
+ "data-slot": "slider",
3549
+ defaultValue,
3550
+ value,
3551
+ min,
3552
+ max,
3553
+ className: chunkI7WHASOO_cjs.cn(
3554
+ "relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",
3555
+ className
3556
+ ),
3557
+ ...props,
3558
+ children: [
3559
+ /* @__PURE__ */ jsxRuntime.jsx(
3560
+ SliderPrimitive__namespace.Track,
3561
+ {
3562
+ "data-slot": "slider-track",
3563
+ className: chunkI7WHASOO_cjs.cn(
3564
+ "bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"
3565
+ ),
3566
+ children: /* @__PURE__ */ jsxRuntime.jsx(
3567
+ SliderPrimitive__namespace.Range,
3568
+ {
3569
+ "data-slot": "slider-range",
3570
+ className: chunkI7WHASOO_cjs.cn(
3571
+ "bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full"
3572
+ )
3573
+ }
3574
+ )
3575
+ }
3576
+ ),
3577
+ Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */ jsxRuntime.jsx(
3578
+ SliderPrimitive__namespace.Thumb,
3579
+ {
3580
+ "data-slot": "slider-thumb",
3581
+ className: "border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"
3582
+ },
3583
+ index
3584
+ ))
3585
+ ]
3586
+ }
3587
+ );
3588
+ }
3589
+ var Toaster = ({ ...props }) => {
3590
+ const { theme = "system" } = nextThemes.useTheme();
3591
+ return /* @__PURE__ */ jsxRuntime.jsx(
3592
+ sonner.Toaster,
3593
+ {
3594
+ theme,
3595
+ className: "toaster group",
3596
+ icons: {
3597
+ success: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CircleCheckIcon, { className: "size-4" }),
3598
+ info: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.InfoIcon, { className: "size-4" }),
3599
+ warning: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.TriangleAlertIcon, { className: "size-4" }),
3600
+ error: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.OctagonXIcon, { className: "size-4" }),
3601
+ loading: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2Icon, { className: "size-4 animate-spin" })
3602
+ },
3603
+ style: {
3604
+ "--normal-bg": "var(--popover)",
3605
+ "--normal-text": "var(--popover-foreground)",
3606
+ "--normal-border": "var(--border)",
3607
+ "--border-radius": "var(--radius)"
3608
+ },
3609
+ ...props
3610
+ }
3611
+ );
3612
+ };
3613
+ function Switch({
3614
+ className,
3615
+ ...props
3616
+ }) {
3617
+ return /* @__PURE__ */ jsxRuntime.jsx(
3618
+ SwitchPrimitive__namespace.Root,
3619
+ {
3620
+ "data-slot": "switch",
3621
+ className: chunkI7WHASOO_cjs.cn(
3622
+ "peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
3623
+ className
3624
+ ),
3625
+ ...props,
3626
+ children: /* @__PURE__ */ jsxRuntime.jsx(
3627
+ SwitchPrimitive__namespace.Thumb,
3628
+ {
3629
+ "data-slot": "switch-thumb",
3630
+ className: chunkI7WHASOO_cjs.cn(
3631
+ "bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"
3632
+ )
3633
+ }
3634
+ )
3635
+ }
3636
+ );
3637
+ }
3638
+ function Table({ className, ...props }) {
3639
+ return /* @__PURE__ */ jsxRuntime.jsx(
3640
+ "div",
3641
+ {
3642
+ "data-slot": "table-container",
3643
+ className: "relative w-full overflow-x-auto",
3644
+ children: /* @__PURE__ */ jsxRuntime.jsx(
3645
+ "table",
3646
+ {
3647
+ "data-slot": "table",
3648
+ className: chunkI7WHASOO_cjs.cn("w-full caption-bottom text-sm", className),
3649
+ ...props
3650
+ }
3651
+ )
3652
+ }
3653
+ );
3654
+ }
3655
+ function TableHeader({ className, ...props }) {
3656
+ return /* @__PURE__ */ jsxRuntime.jsx(
3657
+ "thead",
3658
+ {
3659
+ "data-slot": "table-header",
3660
+ className: chunkI7WHASOO_cjs.cn("[&_tr]:border-b", className),
3661
+ ...props
3662
+ }
3663
+ );
3664
+ }
3665
+ function TableBody({ className, ...props }) {
3666
+ return /* @__PURE__ */ jsxRuntime.jsx(
3667
+ "tbody",
3668
+ {
3669
+ "data-slot": "table-body",
3670
+ className: chunkI7WHASOO_cjs.cn("[&_tr:last-child]:border-0", className),
3671
+ ...props
3672
+ }
3673
+ );
3674
+ }
3675
+ function TableFooter({ className, ...props }) {
3676
+ return /* @__PURE__ */ jsxRuntime.jsx(
3677
+ "tfoot",
3678
+ {
3679
+ "data-slot": "table-footer",
3680
+ className: chunkI7WHASOO_cjs.cn(
3681
+ "bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",
3682
+ className
3683
+ ),
3684
+ ...props
3685
+ }
3686
+ );
3687
+ }
3688
+ function TableRow({ className, ...props }) {
3689
+ return /* @__PURE__ */ jsxRuntime.jsx(
3690
+ "tr",
3691
+ {
3692
+ "data-slot": "table-row",
3693
+ className: chunkI7WHASOO_cjs.cn(
3694
+ "hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",
3695
+ className
3696
+ ),
3697
+ ...props
3698
+ }
3699
+ );
3700
+ }
3701
+ function TableHead({ className, ...props }) {
3702
+ return /* @__PURE__ */ jsxRuntime.jsx(
3703
+ "th",
3704
+ {
3705
+ "data-slot": "table-head",
3706
+ className: chunkI7WHASOO_cjs.cn(
3707
+ "text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
3708
+ className
3709
+ ),
3710
+ ...props
3711
+ }
3712
+ );
3713
+ }
3714
+ function TableCell({ className, ...props }) {
3715
+ return /* @__PURE__ */ jsxRuntime.jsx(
3716
+ "td",
3717
+ {
3718
+ "data-slot": "table-cell",
3719
+ className: chunkI7WHASOO_cjs.cn(
3720
+ "p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
3721
+ className
3722
+ ),
3723
+ ...props
3724
+ }
3725
+ );
3726
+ }
3727
+ function TableCaption({
3728
+ className,
3729
+ ...props
3730
+ }) {
3731
+ return /* @__PURE__ */ jsxRuntime.jsx(
3732
+ "caption",
3733
+ {
3734
+ "data-slot": "table-caption",
3735
+ className: chunkI7WHASOO_cjs.cn("text-muted-foreground mt-4 text-sm", className),
3736
+ ...props
3737
+ }
3738
+ );
3739
+ }
3740
+ function Tabs({
3741
+ className,
3742
+ ...props
3743
+ }) {
3744
+ return /* @__PURE__ */ jsxRuntime.jsx(
3745
+ TabsPrimitive__namespace.Root,
3746
+ {
3747
+ "data-slot": "tabs",
3748
+ className: chunkI7WHASOO_cjs.cn("flex flex-col gap-2", className),
3749
+ ...props
3750
+ }
3751
+ );
3752
+ }
3753
+ function TabsList({
3754
+ className,
3755
+ ...props
3756
+ }) {
3757
+ return /* @__PURE__ */ jsxRuntime.jsx(
3758
+ TabsPrimitive__namespace.List,
3759
+ {
3760
+ "data-slot": "tabs-list",
3761
+ className: chunkI7WHASOO_cjs.cn(
3762
+ "bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",
3763
+ className
3764
+ ),
3765
+ ...props
3766
+ }
3767
+ );
3768
+ }
3769
+ function TabsTrigger({
3770
+ className,
3771
+ ...props
3772
+ }) {
3773
+ return /* @__PURE__ */ jsxRuntime.jsx(
3774
+ TabsPrimitive__namespace.Trigger,
3775
+ {
3776
+ "data-slot": "tabs-trigger",
3777
+ className: chunkI7WHASOO_cjs.cn(
3778
+ "data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
3779
+ className
3780
+ ),
3781
+ ...props
3782
+ }
3783
+ );
3784
+ }
3785
+ function TabsContent({
3786
+ className,
3787
+ ...props
3788
+ }) {
3789
+ return /* @__PURE__ */ jsxRuntime.jsx(
3790
+ TabsPrimitive__namespace.Content,
3791
+ {
3792
+ "data-slot": "tabs-content",
3793
+ className: chunkI7WHASOO_cjs.cn("flex-1 outline-none", className),
3794
+ ...props
3795
+ }
3796
+ );
3797
+ }
3798
+ function Textarea({ className, ...props }) {
3799
+ return /* @__PURE__ */ jsxRuntime.jsx(
3800
+ "textarea",
3801
+ {
3802
+ "data-slot": "textarea",
3803
+ className: chunkI7WHASOO_cjs.cn(
3804
+ "border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
3805
+ className
3806
+ ),
3807
+ ...props
3808
+ }
3809
+ );
3810
+ }
3811
+ function NextButton(props) {
3812
+ const { t } = reactI18next.useTranslation("ui");
3813
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkGQ6Z5A4R_cjs.Button, { ...props, children: [
3814
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRightIcon, { className: "h-4 w-4" }),
3815
+ t("next")
3816
+ ] });
3817
+ }
3818
+ function PreviousButton(props) {
3819
+ const { t } = reactI18next.useTranslation("ui");
3820
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkGQ6Z5A4R_cjs.Button, { ...props, children: [
3821
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowLeftIcon, { className: "h-4 w-4" }),
3822
+ t("previous")
3823
+ ] });
3824
+ }
3825
+ function LocaleProvider({
3826
+ children,
3827
+ language,
3828
+ overrides
3829
+ }) {
3830
+ const [isReady, setIsReady] = React9.useState(false);
3831
+ const instance = React9.useMemo(() => i18n__default.default.createInstance(), []);
3832
+ React9.useEffect(() => {
3833
+ const baseTranslations = chunkQV4CTFLS_cjs.locales_exports[language] ?? {};
3834
+ const mergedTranslations = overrides ? { ...baseTranslations, ...overrides } : baseTranslations;
3835
+ instance.use(reactI18next.initReactI18next).init({
3836
+ lng: language,
3837
+ fallbackLng: language,
3838
+ defaultNS: "ui",
3839
+ resources: {
3840
+ [language]: {
3841
+ ui: mergedTranslations
3842
+ }
3843
+ },
3844
+ interpolation: {
3845
+ escapeValue: false
3846
+ }
3847
+ }).then(() => setIsReady(true));
3848
+ }, [instance, language, overrides]);
3849
+ if (!isReady) {
3850
+ return null;
3851
+ }
3852
+ return /* @__PURE__ */ jsxRuntime.jsx(reactI18next.I18nextProvider, { i18n: instance, children });
3853
+ }
3854
+ function TranslationProvider({
3855
+ i18n: i18n2,
3856
+ children,
3857
+ fallback = null,
3858
+ overrides
3859
+ }) {
3860
+ const [isReady, setIsReady] = React9.useState(false);
3861
+ React9.useEffect(() => {
3862
+ for (const [lng, resources] of Object.entries(chunkQV4CTFLS_cjs.locales_exports)) {
3863
+ const language = lng;
3864
+ const languageOverrides = overrides?.[language];
3865
+ if (i18n2.hasResourceBundle(language, "ui") && !languageOverrides) {
3866
+ continue;
3867
+ }
3868
+ const mergedResources = languageOverrides ? { ...resources, ...languageOverrides } : resources;
3869
+ i18n2.addResourceBundle(language, "ui", mergedResources, true, true);
3870
+ }
3871
+ if (overrides) {
3872
+ const supportedLanguages = Object.keys(chunkQV4CTFLS_cjs.locales_exports);
3873
+ for (const [lng, resources] of Object.entries(overrides)) {
3874
+ if (supportedLanguages.includes(lng)) continue;
3875
+ i18n2.addResourceBundle(lng, "ui", resources, true, true);
3876
+ }
3877
+ }
3878
+ setIsReady(true);
3879
+ }, [i18n2, overrides]);
3880
+ if (!isReady) {
3881
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: fallback });
3882
+ }
3883
+ return /* @__PURE__ */ jsxRuntime.jsx(reactI18next.I18nextProvider, { i18n: i18n2, children });
3884
+ }
3885
+ var CodeEditorInternal = React9.lazy(
3886
+ () => import('./code-editor-DK64HVFQ.cjs').then((m) => ({ default: m.CodeEditor }))
3887
+ );
3888
+ var CodeDiffEditorInternal = React9.lazy(
3889
+ () => import('./code-diff-editor-J24VGXHL.cjs').then((m) => ({ default: m.CodeDiffEditor }))
3890
+ );
3891
+ function EditorSkeleton() {
3892
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkQ4GFV3J3_cjs.Skeleton, { className: "h-full w-full min-h-50" });
3893
+ }
3894
+ function LazyCodeEditor(props) {
3895
+ return /* @__PURE__ */ jsxRuntime.jsx(React9.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(EditorSkeleton, {}), children: /* @__PURE__ */ jsxRuntime.jsx(CodeEditorInternal, { ...props }) });
3896
+ }
3897
+ function LazyCodeDiffEditor(props) {
3898
+ return /* @__PURE__ */ jsxRuntime.jsx(React9.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(EditorSkeleton, {}), children: /* @__PURE__ */ jsxRuntime.jsx(CodeDiffEditorInternal, { ...props }) });
3899
+ }
3900
+ var RichTextEditorInternal = React9.lazy(
3901
+ () => import('./rich-text-editor-MOJDWQTI.cjs').then((m) => ({ default: m.RichTextEditor }))
3902
+ );
3903
+ function EditorSkeleton2() {
3904
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkQ4GFV3J3_cjs.Skeleton, { className: "h-full w-full min-h-[100px]" });
3905
+ }
3906
+ function LazyRichTextEditor(props) {
3907
+ return /* @__PURE__ */ jsxRuntime.jsx(React9.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(EditorSkeleton2, {}), children: /* @__PURE__ */ jsxRuntime.jsx(RichTextEditorInternal, { ...props }) });
3908
+ }
3909
+
3910
+ Object.defineProperty(exports, "Skeleton", {
3911
+ enumerable: true,
3912
+ get: function () { return chunkQ4GFV3J3_cjs.Skeleton; }
3913
+ });
3914
+ Object.defineProperty(exports, "Button", {
3915
+ enumerable: true,
3916
+ get: function () { return chunkGQ6Z5A4R_cjs.Button; }
3917
+ });
3918
+ Object.defineProperty(exports, "Input", {
3919
+ enumerable: true,
3920
+ get: function () { return chunkGQ6Z5A4R_cjs.Input; }
3921
+ });
3922
+ Object.defineProperty(exports, "Popover", {
3923
+ enumerable: true,
3924
+ get: function () { return chunkGQ6Z5A4R_cjs.Popover; }
3925
+ });
3926
+ Object.defineProperty(exports, "PopoverAnchor", {
3927
+ enumerable: true,
3928
+ get: function () { return chunkGQ6Z5A4R_cjs.PopoverAnchor; }
3929
+ });
3930
+ Object.defineProperty(exports, "PopoverContent", {
3931
+ enumerable: true,
3932
+ get: function () { return chunkGQ6Z5A4R_cjs.PopoverContent; }
3933
+ });
3934
+ Object.defineProperty(exports, "PopoverTrigger", {
3935
+ enumerable: true,
3936
+ get: function () { return chunkGQ6Z5A4R_cjs.PopoverTrigger; }
3937
+ });
3938
+ Object.defineProperty(exports, "Separator", {
3939
+ enumerable: true,
3940
+ get: function () { return chunkGQ6Z5A4R_cjs.Separator; }
3941
+ });
3942
+ Object.defineProperty(exports, "Toggle", {
3943
+ enumerable: true,
3944
+ get: function () { return chunkGQ6Z5A4R_cjs.Toggle; }
3945
+ });
3946
+ Object.defineProperty(exports, "ToggleGroup", {
3947
+ enumerable: true,
3948
+ get: function () { return chunkGQ6Z5A4R_cjs.ToggleGroup; }
3949
+ });
3950
+ Object.defineProperty(exports, "ToggleGroupItem", {
3951
+ enumerable: true,
3952
+ get: function () { return chunkGQ6Z5A4R_cjs.ToggleGroupItem; }
3953
+ });
3954
+ Object.defineProperty(exports, "buttonVariants", {
3955
+ enumerable: true,
3956
+ get: function () { return chunkGQ6Z5A4R_cjs.buttonVariants; }
3957
+ });
3958
+ Object.defineProperty(exports, "toggleVariants", {
3959
+ enumerable: true,
3960
+ get: function () { return chunkGQ6Z5A4R_cjs.toggleVariants; }
3961
+ });
3962
+ Object.defineProperty(exports, "cn", {
3963
+ enumerable: true,
3964
+ get: function () { return chunkI7WHASOO_cjs.cn; }
3965
+ });
3966
+ exports.Accordion = Accordion;
3967
+ exports.AccordionContent = AccordionContent;
3968
+ exports.AccordionItem = AccordionItem;
3969
+ exports.AccordionTrigger = AccordionTrigger;
3970
+ exports.Alert = Alert;
3971
+ exports.AlertDescription = AlertDescription;
3972
+ exports.AlertDialog = AlertDialog;
3973
+ exports.AlertDialogAction = AlertDialogAction;
3974
+ exports.AlertDialogCancel = AlertDialogCancel;
3975
+ exports.AlertDialogContent = AlertDialogContent;
3976
+ exports.AlertDialogDescription = AlertDialogDescription;
3977
+ exports.AlertDialogFooter = AlertDialogFooter;
3978
+ exports.AlertDialogHeader = AlertDialogHeader;
3979
+ exports.AlertDialogOverlay = AlertDialogOverlay;
3980
+ exports.AlertDialogPortal = AlertDialogPortal;
3981
+ exports.AlertDialogTitle = AlertDialogTitle;
3982
+ exports.AlertDialogTrigger = AlertDialogTrigger;
3983
+ exports.AlertTitle = AlertTitle;
3984
+ exports.Avatar = Avatar;
3985
+ exports.AvatarFallback = AvatarFallback;
3986
+ exports.AvatarImage = AvatarImage;
3987
+ exports.Badge = Badge;
3988
+ exports.Breadcrumb = Breadcrumb;
3989
+ exports.BreadcrumbEllipsis = BreadcrumbEllipsis;
3990
+ exports.BreadcrumbItem = BreadcrumbItem;
3991
+ exports.BreadcrumbLink = BreadcrumbLink;
3992
+ exports.BreadcrumbList = BreadcrumbList;
3993
+ exports.BreadcrumbPage = BreadcrumbPage;
3994
+ exports.BreadcrumbSeparator = BreadcrumbSeparator;
3995
+ exports.ButtonGroup = ButtonGroup;
3996
+ exports.ButtonGroupSeparator = ButtonGroupSeparator;
3997
+ exports.ButtonGroupText = ButtonGroupText;
3998
+ exports.Calendar = Calendar;
3999
+ exports.CalendarDayButton = CalendarDayButton;
4000
+ exports.Card = Card;
4001
+ exports.CardAction = CardAction;
4002
+ exports.CardContent = CardContent;
4003
+ exports.CardDescription = CardDescription;
4004
+ exports.CardFooter = CardFooter;
4005
+ exports.CardHeader = CardHeader;
4006
+ exports.CardTitle = CardTitle;
4007
+ exports.Carousel = Carousel;
4008
+ exports.CarouselContent = CarouselContent;
4009
+ exports.CarouselItem = CarouselItem;
4010
+ exports.CarouselNext = CarouselNext;
4011
+ exports.CarouselPrevious = CarouselPrevious;
4012
+ exports.Checkbox = Checkbox;
4013
+ exports.CodeDiffEditor = LazyCodeDiffEditor;
4014
+ exports.CodeEditor = LazyCodeEditor;
4015
+ exports.Collapsible = Collapsible;
4016
+ exports.CollapsibleContent = CollapsibleContent2;
4017
+ exports.CollapsibleTrigger = CollapsibleTrigger2;
4018
+ exports.Command = Command;
4019
+ exports.CommandDialog = CommandDialog;
4020
+ exports.CommandEmpty = CommandEmpty;
4021
+ exports.CommandGroup = CommandGroup;
4022
+ exports.CommandInput = CommandInput;
4023
+ exports.CommandItem = CommandItem;
4024
+ exports.CommandList = CommandList;
4025
+ exports.CommandSeparator = CommandSeparator;
4026
+ exports.CommandShortcut = CommandShortcut;
4027
+ exports.ContextMenu = ContextMenu;
4028
+ exports.ContextMenuCheckboxItem = ContextMenuCheckboxItem;
4029
+ exports.ContextMenuContent = ContextMenuContent;
4030
+ exports.ContextMenuGroup = ContextMenuGroup;
4031
+ exports.ContextMenuItem = ContextMenuItem;
4032
+ exports.ContextMenuLabel = ContextMenuLabel;
4033
+ exports.ContextMenuPortal = ContextMenuPortal;
4034
+ exports.ContextMenuRadioGroup = ContextMenuRadioGroup;
4035
+ exports.ContextMenuRadioItem = ContextMenuRadioItem;
4036
+ exports.ContextMenuSeparator = ContextMenuSeparator;
4037
+ exports.ContextMenuShortcut = ContextMenuShortcut;
4038
+ exports.ContextMenuSub = ContextMenuSub;
4039
+ exports.ContextMenuSubContent = ContextMenuSubContent;
4040
+ exports.ContextMenuSubTrigger = ContextMenuSubTrigger;
4041
+ exports.ContextMenuTrigger = ContextMenuTrigger;
4042
+ exports.Dialog = Dialog;
4043
+ exports.DialogClose = DialogClose;
4044
+ exports.DialogContent = DialogContent;
4045
+ exports.DialogDescription = DialogDescription;
4046
+ exports.DialogFooter = DialogFooter;
4047
+ exports.DialogHeader = DialogHeader;
4048
+ exports.DialogOverlay = DialogOverlay;
4049
+ exports.DialogPortal = DialogPortal;
4050
+ exports.DialogTitle = DialogTitle;
4051
+ exports.DialogTrigger = DialogTrigger;
4052
+ exports.Drawer = Drawer;
4053
+ exports.DrawerClose = DrawerClose;
4054
+ exports.DrawerContent = DrawerContent;
4055
+ exports.DrawerDescription = DrawerDescription;
4056
+ exports.DrawerFooter = DrawerFooter;
4057
+ exports.DrawerHeader = DrawerHeader;
4058
+ exports.DrawerOverlay = DrawerOverlay;
4059
+ exports.DrawerPortal = DrawerPortal;
4060
+ exports.DrawerTitle = DrawerTitle;
4061
+ exports.DrawerTrigger = DrawerTrigger;
4062
+ exports.DropdownMenu = DropdownMenu;
4063
+ exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem;
4064
+ exports.DropdownMenuContent = DropdownMenuContent;
4065
+ exports.DropdownMenuGroup = DropdownMenuGroup;
4066
+ exports.DropdownMenuItem = DropdownMenuItem;
4067
+ exports.DropdownMenuLabel = DropdownMenuLabel;
4068
+ exports.DropdownMenuPortal = DropdownMenuPortal;
4069
+ exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup;
4070
+ exports.DropdownMenuRadioItem = DropdownMenuRadioItem;
4071
+ exports.DropdownMenuSeparator = DropdownMenuSeparator;
4072
+ exports.DropdownMenuShortcut = DropdownMenuShortcut;
4073
+ exports.DropdownMenuSub = DropdownMenuSub;
4074
+ exports.DropdownMenuSubContent = DropdownMenuSubContent;
4075
+ exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger;
4076
+ exports.DropdownMenuTrigger = DropdownMenuTrigger;
4077
+ exports.Form = Form;
4078
+ exports.FormControl = FormControl;
4079
+ exports.FormDescription = FormDescription;
4080
+ exports.FormField = FormField;
4081
+ exports.FormItem = FormItem;
4082
+ exports.FormLabel = FormLabel;
4083
+ exports.FormMessage = FormMessage;
4084
+ exports.HoverCard = HoverCard;
4085
+ exports.HoverCardContent = HoverCardContent;
4086
+ exports.HoverCardTrigger = HoverCardTrigger;
4087
+ exports.Label = Label3;
4088
+ exports.LocaleProvider = LocaleProvider;
4089
+ exports.Menubar = Menubar;
4090
+ exports.MenubarCheckboxItem = MenubarCheckboxItem;
4091
+ exports.MenubarContent = MenubarContent;
4092
+ exports.MenubarGroup = MenubarGroup;
4093
+ exports.MenubarItem = MenubarItem;
4094
+ exports.MenubarLabel = MenubarLabel;
4095
+ exports.MenubarMenu = MenubarMenu;
4096
+ exports.MenubarPortal = MenubarPortal;
4097
+ exports.MenubarRadioGroup = MenubarRadioGroup;
4098
+ exports.MenubarRadioItem = MenubarRadioItem;
4099
+ exports.MenubarSeparator = MenubarSeparator;
4100
+ exports.MenubarShortcut = MenubarShortcut;
4101
+ exports.MenubarSub = MenubarSub;
4102
+ exports.MenubarSubContent = MenubarSubContent;
4103
+ exports.MenubarSubTrigger = MenubarSubTrigger;
4104
+ exports.MenubarTrigger = MenubarTrigger;
4105
+ exports.NavigationMenu = NavigationMenu;
4106
+ exports.NavigationMenuContent = NavigationMenuContent;
4107
+ exports.NavigationMenuIndicator = NavigationMenuIndicator;
4108
+ exports.NavigationMenuItem = NavigationMenuItem;
4109
+ exports.NavigationMenuLink = NavigationMenuLink;
4110
+ exports.NavigationMenuList = NavigationMenuList;
4111
+ exports.NavigationMenuTrigger = NavigationMenuTrigger;
4112
+ exports.NavigationMenuViewport = NavigationMenuViewport;
4113
+ exports.NextButton = NextButton;
4114
+ exports.Pagination = Pagination;
4115
+ exports.PaginationContent = PaginationContent;
4116
+ exports.PaginationEllipsis = PaginationEllipsis;
4117
+ exports.PaginationItem = PaginationItem;
4118
+ exports.PaginationLink = PaginationLink;
4119
+ exports.PaginationNext = PaginationNext;
4120
+ exports.PaginationPrevious = PaginationPrevious;
4121
+ exports.PreviousButton = PreviousButton;
4122
+ exports.Progress = Progress;
4123
+ exports.RadioGroup = RadioGroup4;
4124
+ exports.RadioGroupItem = RadioGroupItem;
4125
+ exports.RichTextEditor = LazyRichTextEditor;
4126
+ exports.ScrollArea = ScrollArea;
4127
+ exports.ScrollBar = ScrollBar;
4128
+ exports.Select = Select;
4129
+ exports.SelectContent = SelectContent;
4130
+ exports.SelectGroup = SelectGroup;
4131
+ exports.SelectItem = SelectItem;
4132
+ exports.SelectLabel = SelectLabel;
4133
+ exports.SelectScrollDownButton = SelectScrollDownButton;
4134
+ exports.SelectScrollUpButton = SelectScrollUpButton;
4135
+ exports.SelectSeparator = SelectSeparator;
4136
+ exports.SelectTrigger = SelectTrigger;
4137
+ exports.SelectValue = SelectValue;
4138
+ exports.Sheet = Sheet;
4139
+ exports.SheetClose = SheetClose;
4140
+ exports.SheetContent = SheetContent;
4141
+ exports.SheetDescription = SheetDescription;
4142
+ exports.SheetFooter = SheetFooter;
4143
+ exports.SheetHeader = SheetHeader;
4144
+ exports.SheetTitle = SheetTitle;
4145
+ exports.SheetTrigger = SheetTrigger;
4146
+ exports.Sidebar = Sidebar;
4147
+ exports.SidebarContent = SidebarContent;
4148
+ exports.SidebarFooter = SidebarFooter;
4149
+ exports.SidebarGroup = SidebarGroup;
4150
+ exports.SidebarGroupAction = SidebarGroupAction;
4151
+ exports.SidebarGroupContent = SidebarGroupContent;
4152
+ exports.SidebarGroupLabel = SidebarGroupLabel;
4153
+ exports.SidebarHeader = SidebarHeader;
4154
+ exports.SidebarInput = SidebarInput;
4155
+ exports.SidebarInset = SidebarInset;
4156
+ exports.SidebarMenu = SidebarMenu;
4157
+ exports.SidebarMenuAction = SidebarMenuAction;
4158
+ exports.SidebarMenuBadge = SidebarMenuBadge;
4159
+ exports.SidebarMenuButton = SidebarMenuButton;
4160
+ exports.SidebarMenuItem = SidebarMenuItem;
4161
+ exports.SidebarMenuSkeleton = SidebarMenuSkeleton;
4162
+ exports.SidebarMenuSub = SidebarMenuSub;
4163
+ exports.SidebarMenuSubButton = SidebarMenuSubButton;
4164
+ exports.SidebarMenuSubItem = SidebarMenuSubItem;
4165
+ exports.SidebarProvider = SidebarProvider;
4166
+ exports.SidebarRail = SidebarRail;
4167
+ exports.SidebarSeparator = SidebarSeparator;
4168
+ exports.SidebarTrigger = SidebarTrigger;
4169
+ exports.Slider = Slider;
4170
+ exports.Switch = Switch;
4171
+ exports.Table = Table;
4172
+ exports.TableBody = TableBody;
4173
+ exports.TableCaption = TableCaption;
4174
+ exports.TableCell = TableCell;
4175
+ exports.TableFooter = TableFooter;
4176
+ exports.TableHead = TableHead;
4177
+ exports.TableHeader = TableHeader;
4178
+ exports.TableRow = TableRow;
4179
+ exports.Tabs = Tabs;
4180
+ exports.TabsContent = TabsContent;
4181
+ exports.TabsList = TabsList;
4182
+ exports.TabsTrigger = TabsTrigger;
4183
+ exports.Textarea = Textarea;
4184
+ exports.Toaster = Toaster;
4185
+ exports.Tooltip = Tooltip;
4186
+ exports.TooltipContent = TooltipContent;
4187
+ exports.TooltipProvider = TooltipProvider;
4188
+ exports.TooltipTrigger = TooltipTrigger;
4189
+ exports.TranslationProvider = TranslationProvider;
4190
+ exports.badgeVariants = badgeVariants;
4191
+ exports.buttonGroupVariants = buttonGroupVariants;
4192
+ exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle;
4193
+ exports.useFormField = useFormField;
4194
+ exports.useSidebar = useSidebar;
4195
+ //# sourceMappingURL=index.cjs.map
4196
+ //# sourceMappingURL=index.cjs.map