crm-project-ui 0.1.6 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js DELETED
@@ -1,2408 +0,0 @@
1
- import { ChevronDown, ArrowLeft, ArrowRight, Check, X, Search, ChevronRight, Circle, ChevronUp, MoreHorizontal, ChevronLeftIcon, ChevronRightIcon, ChevronDownIcon, ChevronLeft, GripVertical, Loader2Icon } from 'lucide-react';
2
- import * as React9 from 'react';
3
- import { useLayoutEffect, useState } from 'react';
4
- import { clsx } from 'clsx';
5
- import { twMerge } from 'tailwind-merge';
6
- import * as AccordionPrimitive from '@radix-ui/react-accordion';
7
- import { jsx, jsxs } from 'react/jsx-runtime';
8
- import { cva } from 'class-variance-authority';
9
- import { Slot } from '@radix-ui/react-slot';
10
- import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
11
- import * as AvatarPrimitive from '@radix-ui/react-avatar';
12
- import { getDefaultClassNames, DayPicker } from 'react-day-picker';
13
- import useEmblaCarousel from 'embla-carousel-react';
14
- import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
15
- import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
16
- import { Command as Command$1 } from 'cmdk';
17
- import * as DialogPrimitive from '@radix-ui/react-dialog';
18
- import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
19
- import { Drawer as Drawer$1 } from 'vaul';
20
- import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
21
- import { useFormContext, FormProvider, Controller } from 'react-hook-form';
22
- import * as LabelPrimitive from '@radix-ui/react-label';
23
- import * as HoverCardPrimitive from '@radix-ui/react-hover-card';
24
- import * as MenubarPrimitive from '@radix-ui/react-menubar';
25
- import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
26
- import * as PopoverPrimitive from '@radix-ui/react-popover';
27
- import * as ProgressPrimitive from '@radix-ui/react-progress';
28
- import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
29
- import * as ResizablePrimitive from 'react-resizable-panels';
30
- import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
31
- import * as SelectPrimitive from '@radix-ui/react-select';
32
- import * as SeparatorPrimitive from '@radix-ui/react-separator';
33
- import * as SliderPrimitive from '@radix-ui/react-slider';
34
- import * as SwitchPrimitives from '@radix-ui/react-switch';
35
- import * as TabsPrimitive from '@radix-ui/react-tabs';
36
- import { Toaster as Toaster$1 } from 'sonner';
37
- import * as TogglePrimitive from '@radix-ui/react-toggle';
38
- import * as TooltipPrimitive from '@radix-ui/react-tooltip';
39
- import { useIsMounted } from 'usehooks-ts';
40
-
41
- function cn(...inputs) {
42
- return twMerge(clsx(inputs));
43
- }
44
- var Accordion = AccordionPrimitive.Root;
45
- var AccordionItem = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
46
- AccordionPrimitive.Item,
47
- {
48
- className: cn("border-b", className),
49
- ref,
50
- ...props
51
- }
52
- ));
53
- AccordionItem.displayName = "AccordionItem";
54
- var AccordionTrigger = React9.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs(
55
- AccordionPrimitive.Trigger,
56
- {
57
- className: cn(
58
- "flex flex-1 items-center justify-between py-4 text-left text-sm font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
59
- className
60
- ),
61
- ref,
62
- ...props,
63
- children: [
64
- children,
65
- /* @__PURE__ */ jsx(ChevronDown, { className: "text-muted-foreground h-4 w-4 shrink-0 transition-transform duration-200" })
66
- ]
67
- }
68
- ) }));
69
- AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
70
- var AccordionContent = React9.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
71
- AccordionPrimitive.Content,
72
- {
73
- className: "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm",
74
- ref,
75
- ...props,
76
- children: /* @__PURE__ */ jsx("div", { className: cn("pt-0 pb-4", className), children })
77
- }
78
- ));
79
- AccordionContent.displayName = AccordionPrimitive.Content.displayName;
80
- var alertVariants = cva(
81
- "relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",
82
- {
83
- variants: {
84
- variant: {
85
- default: "bg-background text-foreground",
86
- destructive: "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"
87
- }
88
- },
89
- defaultVariants: {
90
- variant: "default"
91
- }
92
- }
93
- );
94
- var Alert = React9.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx(
95
- "div",
96
- {
97
- className: cn(alertVariants({ variant }), className),
98
- ref,
99
- role: "alert",
100
- ...props
101
- }
102
- ));
103
- Alert.displayName = "Alert";
104
- var AlertTitle = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
105
- "h5",
106
- {
107
- className: cn("mb-1 leading-none font-medium tracking-tight", className),
108
- ref,
109
- ...props
110
- }
111
- ));
112
- AlertTitle.displayName = "AlertTitle";
113
- var AlertDescription = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
114
- "div",
115
- {
116
- className: cn("text-sm [&_p]:leading-relaxed", className),
117
- ref,
118
- ...props
119
- }
120
- ));
121
- AlertDescription.displayName = "AlertDescription";
122
- var buttonVariants = cva(
123
- "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
124
- {
125
- variants: {
126
- variant: {
127
- default: "bg-primary text-primary-foreground shadow hover:bg-primary/90",
128
- destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
129
- outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
130
- secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
131
- ghost: "hover:bg-accent hover:text-accent-foreground",
132
- link: "text-primary underline-offset-4 hover:underline"
133
- },
134
- size: {
135
- default: "h-9 px-4 py-2",
136
- sm: "h-8 rounded-md px-3 text-xs",
137
- lg: "h-10 rounded-md px-8",
138
- icon: "h-9 w-9"
139
- }
140
- },
141
- defaultVariants: {
142
- variant: "default",
143
- size: "default"
144
- }
145
- }
146
- );
147
- var Button = React9.forwardRef(
148
- ({ className, variant, size, asChild = false, ...props }, ref) => {
149
- const Comp = asChild ? Slot : "button";
150
- return /* @__PURE__ */ jsx(
151
- Comp,
152
- {
153
- className: cn(buttonVariants({ variant, size, className })),
154
- ref,
155
- ...props
156
- }
157
- );
158
- }
159
- );
160
- Button.displayName = "Button";
161
- var AlertDialog = AlertDialogPrimitive.Root;
162
- var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
163
- var AlertDialogPortal = AlertDialogPrimitive.Portal;
164
- var AlertDialogOverlay = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
165
- AlertDialogPrimitive.Overlay,
166
- {
167
- className: cn(
168
- "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/80",
169
- className
170
- ),
171
- ...props,
172
- ref
173
- }
174
- ));
175
- AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
176
- var AlertDialogContent = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [
177
- /* @__PURE__ */ jsx(AlertDialogOverlay, {}),
178
- /* @__PURE__ */ jsx(
179
- AlertDialogPrimitive.Content,
180
- {
181
- className: cn(
182
- "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 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg",
183
- className
184
- ),
185
- ref,
186
- ...props
187
- }
188
- )
189
- ] }));
190
- AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
191
- var AlertDialogHeader = ({
192
- className,
193
- ...props
194
- }) => /* @__PURE__ */ jsx(
195
- "div",
196
- {
197
- className: cn(
198
- "flex flex-col space-y-2 text-center sm:text-left",
199
- className
200
- ),
201
- ...props
202
- }
203
- );
204
- AlertDialogHeader.displayName = "AlertDialogHeader";
205
- var AlertDialogFooter = ({
206
- className,
207
- ...props
208
- }) => /* @__PURE__ */ jsx(
209
- "div",
210
- {
211
- className: cn(
212
- "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
213
- className
214
- ),
215
- ...props
216
- }
217
- );
218
- AlertDialogFooter.displayName = "AlertDialogFooter";
219
- var AlertDialogTitle = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
220
- AlertDialogPrimitive.Title,
221
- {
222
- className: cn("text-lg font-semibold", className),
223
- ref,
224
- ...props
225
- }
226
- ));
227
- AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
228
- var AlertDialogDescription = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
229
- AlertDialogPrimitive.Description,
230
- {
231
- className: cn("text-muted-foreground text-sm", className),
232
- ref,
233
- ...props
234
- }
235
- ));
236
- AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
237
- var AlertDialogAction = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
238
- AlertDialogPrimitive.Action,
239
- {
240
- className: cn(buttonVariants(), className),
241
- ref,
242
- ...props
243
- }
244
- ));
245
- AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
246
- var AlertDialogCancel = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
247
- AlertDialogPrimitive.Cancel,
248
- {
249
- className: cn(
250
- buttonVariants({ variant: "outline" }),
251
- "mt-2 sm:mt-0",
252
- className
253
- ),
254
- ref,
255
- ...props
256
- }
257
- ));
258
- AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
259
- var Avatar = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
260
- AvatarPrimitive.Root,
261
- {
262
- className: cn(
263
- "relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",
264
- className
265
- ),
266
- ref,
267
- ...props
268
- }
269
- ));
270
- Avatar.displayName = AvatarPrimitive.Root.displayName;
271
- var AvatarImage = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
272
- AvatarPrimitive.Image,
273
- {
274
- className: cn("aspect-square h-full w-full", className),
275
- ref,
276
- ...props
277
- }
278
- ));
279
- AvatarImage.displayName = AvatarPrimitive.Image.displayName;
280
- var AvatarFallback = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
281
- AvatarPrimitive.Fallback,
282
- {
283
- className: cn(
284
- "bg-muted flex h-full w-full items-center justify-center rounded-full",
285
- className
286
- ),
287
- ref,
288
- ...props
289
- }
290
- ));
291
- AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
292
- var badgeVariants = cva(
293
- "inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
294
- {
295
- variants: {
296
- variant: {
297
- default: "border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",
298
- secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
299
- destructive: "border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",
300
- outline: "text-foreground"
301
- }
302
- },
303
- defaultVariants: {
304
- variant: "default"
305
- }
306
- }
307
- );
308
- function Badge({ className, variant, ...props }) {
309
- return /* @__PURE__ */ jsx("div", { className: cn(badgeVariants({ variant }), className), ...props });
310
- }
311
- var Breadcrumb = React9.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx("nav", { "aria-label": "breadcrumb", ref, ...props }));
312
- Breadcrumb.displayName = "Breadcrumb";
313
- var BreadcrumbList = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
314
- "ol",
315
- {
316
- className: cn(
317
- "text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm wrap-break-word sm:gap-2.5",
318
- className
319
- ),
320
- ref,
321
- ...props
322
- }
323
- ));
324
- BreadcrumbList.displayName = "BreadcrumbList";
325
- var BreadcrumbItem = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
326
- "li",
327
- {
328
- className: cn("inline-flex items-center gap-1.5", className),
329
- ref,
330
- ...props
331
- }
332
- ));
333
- BreadcrumbItem.displayName = "BreadcrumbItem";
334
- var BreadcrumbLink = React9.forwardRef(({ asChild, className, ...props }, ref) => {
335
- const Comp = asChild ? Slot : "a";
336
- return /* @__PURE__ */ jsx(
337
- Comp,
338
- {
339
- className: cn("hover:text-foreground transition-colors", className),
340
- ref,
341
- ...props
342
- }
343
- );
344
- });
345
- BreadcrumbLink.displayName = "BreadcrumbLink";
346
- var BreadcrumbPage = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
347
- "span",
348
- {
349
- "aria-current": "page",
350
- "aria-disabled": "true",
351
- className: cn("text-foreground font-normal", className),
352
- ref,
353
- role: "link",
354
- ...props
355
- }
356
- ));
357
- BreadcrumbPage.displayName = "BreadcrumbPage";
358
- var BreadcrumbSeparator = ({
359
- children,
360
- className,
361
- ...props
362
- }) => /* @__PURE__ */ jsx(
363
- "li",
364
- {
365
- "aria-hidden": "true",
366
- className: cn("[&>svg]:h-3.5 [&>svg]:w-3.5", className),
367
- role: "presentation",
368
- ...props,
369
- children: children ?? /* @__PURE__ */ jsx(ChevronRight, {})
370
- }
371
- );
372
- BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
373
- var BreadcrumbEllipsis = ({
374
- className,
375
- ...props
376
- }) => /* @__PURE__ */ jsxs(
377
- "span",
378
- {
379
- "aria-hidden": "true",
380
- className: cn("flex h-9 w-9 items-center justify-center", className),
381
- role: "presentation",
382
- ...props,
383
- children: [
384
- /* @__PURE__ */ jsx(MoreHorizontal, { className: "h-4 w-4" }),
385
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "More" })
386
- ]
387
- }
388
- );
389
- BreadcrumbEllipsis.displayName = "BreadcrumbElipssis";
390
- function Calendar({
391
- className,
392
- classNames,
393
- showOutsideDays = true,
394
- captionLayout = "label",
395
- buttonVariant = "ghost",
396
- formatters,
397
- components,
398
- ...props
399
- }) {
400
- const defaultClassNames = getDefaultClassNames();
401
- return /* @__PURE__ */ jsx(
402
- DayPicker,
403
- {
404
- className: cn(
405
- "bg-background group/calendar p-3 [--cell-size:2rem] in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent",
406
- String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
407
- String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
408
- className
409
- ),
410
- classNames: {
411
- root: cn("w-fit", defaultClassNames.root),
412
- months: cn(
413
- "relative flex flex-col gap-4 md:flex-row",
414
- defaultClassNames.months
415
- ),
416
- month: cn("flex w-full flex-col gap-4", defaultClassNames.month),
417
- nav: cn(
418
- "absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",
419
- defaultClassNames.nav
420
- ),
421
- button_previous: cn(
422
- buttonVariants({ variant: buttonVariant }),
423
- "h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",
424
- defaultClassNames.button_previous
425
- ),
426
- button_next: cn(
427
- buttonVariants({ variant: buttonVariant }),
428
- "h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",
429
- defaultClassNames.button_next
430
- ),
431
- month_caption: cn(
432
- "flex h-[--cell-size] w-full items-center justify-center px-[--cell-size]",
433
- defaultClassNames.month_caption
434
- ),
435
- dropdowns: cn(
436
- "flex h-[--cell-size] w-full items-center justify-center gap-1.5 text-sm font-medium",
437
- defaultClassNames.dropdowns
438
- ),
439
- dropdown_root: cn(
440
- "has-focus:border-ring border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] relative rounded-md border",
441
- defaultClassNames.dropdown_root
442
- ),
443
- dropdown: cn(
444
- "bg-popover absolute inset-0 opacity-0",
445
- defaultClassNames.dropdown
446
- ),
447
- caption_label: cn(
448
- "select-none font-medium",
449
- captionLayout === "label" ? "text-sm" : "[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pl-2 pr-1 text-sm [&>svg]:size-3.5",
450
- defaultClassNames.caption_label
451
- ),
452
- table: "w-full border-collapse",
453
- weekdays: cn("flex", defaultClassNames.weekdays),
454
- weekday: cn(
455
- "text-muted-foreground flex-1 select-none rounded-md text-[0.8rem] font-normal",
456
- defaultClassNames.weekday
457
- ),
458
- week: cn("mt-2 flex w-full", defaultClassNames.week),
459
- week_number_header: cn(
460
- "w-[--cell-size] select-none",
461
- defaultClassNames.week_number_header
462
- ),
463
- week_number: cn(
464
- "text-muted-foreground select-none text-[0.8rem]",
465
- defaultClassNames.week_number
466
- ),
467
- day: cn(
468
- "group/day relative aspect-square h-full w-full select-none p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md",
469
- defaultClassNames.day
470
- ),
471
- range_start: cn(
472
- "bg-accent rounded-l-md",
473
- defaultClassNames.range_start
474
- ),
475
- range_middle: cn("rounded-none", defaultClassNames.range_middle),
476
- range_end: cn("bg-accent rounded-r-md", defaultClassNames.range_end),
477
- today: cn(
478
- "bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",
479
- defaultClassNames.today
480
- ),
481
- outside: cn(
482
- "text-muted-foreground aria-selected:text-muted-foreground",
483
- defaultClassNames.outside
484
- ),
485
- disabled: cn(
486
- "text-muted-foreground opacity-50",
487
- defaultClassNames.disabled
488
- ),
489
- hidden: cn("invisible", defaultClassNames.hidden),
490
- ...classNames
491
- },
492
- components: {
493
- Root: ({ className: className2, rootRef, ...props2 }) => {
494
- return /* @__PURE__ */ jsx(
495
- "div",
496
- {
497
- className: cn(className2),
498
- "data-slot": "calendar",
499
- ref: rootRef,
500
- ...props2
501
- }
502
- );
503
- },
504
- Chevron: ({ className: className2, orientation, ...props2 }) => {
505
- if (orientation === "left") {
506
- return /* @__PURE__ */ jsx(ChevronLeftIcon, { className: cn("size-4", className2), ...props2 });
507
- }
508
- if (orientation === "right") {
509
- return /* @__PURE__ */ jsx(
510
- ChevronRightIcon,
511
- {
512
- className: cn("size-4", className2),
513
- ...props2
514
- }
515
- );
516
- }
517
- return /* @__PURE__ */ jsx(ChevronDownIcon, { className: cn("size-4", className2), ...props2 });
518
- },
519
- DayButton: CalendarDayButton,
520
- WeekNumber: ({ children, ...props2 }) => {
521
- return /* @__PURE__ */ jsx("td", { ...props2, children: /* @__PURE__ */ jsx("div", { className: "flex size-[--cell-size] items-center justify-center text-center", children }) });
522
- },
523
- ...components
524
- },
525
- formatters: {
526
- formatMonthDropdown: (date) => date.toLocaleString("default", { month: "short" }),
527
- ...formatters
528
- },
529
- captionLayout,
530
- showOutsideDays,
531
- ...props
532
- }
533
- );
534
- }
535
- function CalendarDayButton({
536
- className,
537
- day,
538
- modifiers,
539
- ...props
540
- }) {
541
- const defaultClassNames = getDefaultClassNames();
542
- const ref = React9.useRef(null);
543
- React9.useEffect(() => {
544
- if (modifiers.focused) ref.current?.focus();
545
- }, [modifiers.focused]);
546
- return /* @__PURE__ */ jsx(
547
- Button,
548
- {
549
- className: cn(
550
- "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 flex aspect-square h-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-middle=true]:rounded-none data-[range-start=true]:rounded-md [&>span]:text-xs [&>span]:opacity-70",
551
- defaultClassNames.day,
552
- className
553
- ),
554
- "data-selected-single": modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle,
555
- "data-day": day.date.toLocaleDateString(),
556
- "data-range-end": modifiers.range_end,
557
- "data-range-middle": modifiers.range_middle,
558
- "data-range-start": modifiers.range_start,
559
- ref,
560
- size: "icon",
561
- variant: "ghost",
562
- ...props
563
- }
564
- );
565
- }
566
- var Card = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
567
- "div",
568
- {
569
- className: cn(
570
- "bg-card text-card-foreground rounded-xl border shadow",
571
- className
572
- ),
573
- ref,
574
- ...props
575
- }
576
- ));
577
- Card.displayName = "Card";
578
- var CardHeader = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
579
- "div",
580
- {
581
- className: cn("flex flex-col space-y-1.5 p-6", className),
582
- ref,
583
- ...props
584
- }
585
- ));
586
- CardHeader.displayName = "CardHeader";
587
- var CardTitle = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
588
- "div",
589
- {
590
- className: cn("leading-none font-semibold tracking-tight", className),
591
- ref,
592
- ...props
593
- }
594
- ));
595
- CardTitle.displayName = "CardTitle";
596
- var CardDescription = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
597
- "div",
598
- {
599
- className: cn("text-muted-foreground text-sm", className),
600
- ref,
601
- ...props
602
- }
603
- ));
604
- CardDescription.displayName = "CardDescription";
605
- var CardContent = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: cn("p-6 pt-0", className), ref, ...props }));
606
- CardContent.displayName = "CardContent";
607
- var CardFooter = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
608
- "div",
609
- {
610
- className: cn("flex items-center p-6 pt-0", className),
611
- ref,
612
- ...props
613
- }
614
- ));
615
- CardFooter.displayName = "CardFooter";
616
- var CarouselContext = React9.createContext(null);
617
- function useCarousel() {
618
- const context = React9.useContext(CarouselContext);
619
- if (!context) {
620
- throw new Error("useCarousel must be used within a <Carousel />");
621
- }
622
- return context;
623
- }
624
- var Carousel = React9.forwardRef(
625
- ({
626
- orientation = "horizontal",
627
- opts,
628
- setApi,
629
- plugins,
630
- className,
631
- children,
632
- ...props
633
- }, ref) => {
634
- const [carouselRef, api] = useEmblaCarousel(
635
- {
636
- ...opts,
637
- axis: orientation === "horizontal" ? "x" : "y"
638
- },
639
- plugins
640
- );
641
- const [canScrollPrev, setCanScrollPrev] = React9.useState(false);
642
- const [canScrollNext, setCanScrollNext] = React9.useState(false);
643
- const onSelect = React9.useCallback((api2) => {
644
- if (!api2) {
645
- return;
646
- }
647
- setCanScrollPrev(api2.canScrollPrev());
648
- setCanScrollNext(api2.canScrollNext());
649
- }, []);
650
- const scrollPrev = React9.useCallback(() => {
651
- api?.scrollPrev();
652
- }, [api]);
653
- const scrollNext = React9.useCallback(() => {
654
- api?.scrollNext();
655
- }, [api]);
656
- const handleKeyDown = React9.useCallback(
657
- (event) => {
658
- if (event.key === "ArrowLeft") {
659
- event.preventDefault();
660
- scrollPrev();
661
- } else if (event.key === "ArrowRight") {
662
- event.preventDefault();
663
- scrollNext();
664
- }
665
- },
666
- [scrollPrev, scrollNext]
667
- );
668
- React9.useEffect(() => {
669
- if (!api || !setApi) {
670
- return;
671
- }
672
- setApi(api);
673
- }, [api, setApi]);
674
- React9.useEffect(() => {
675
- if (!api) {
676
- return;
677
- }
678
- onSelect(api);
679
- api.on("reInit", onSelect);
680
- api.on("select", onSelect);
681
- return () => {
682
- api?.off("select", onSelect);
683
- };
684
- }, [api, onSelect]);
685
- return /* @__PURE__ */ jsx(
686
- CarouselContext.Provider,
687
- {
688
- value: {
689
- carouselRef,
690
- api,
691
- opts,
692
- orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
693
- scrollPrev,
694
- scrollNext,
695
- canScrollPrev,
696
- canScrollNext
697
- },
698
- children: /* @__PURE__ */ jsx(
699
- "div",
700
- {
701
- "aria-roledescription": "carousel",
702
- className: cn("relative", className),
703
- onKeyDownCapture: handleKeyDown,
704
- ref,
705
- role: "region",
706
- ...props,
707
- children
708
- }
709
- )
710
- }
711
- );
712
- }
713
- );
714
- Carousel.displayName = "Carousel";
715
- var CarouselContent = React9.forwardRef(({ className, ...props }, ref) => {
716
- const { carouselRef, orientation } = useCarousel();
717
- return /* @__PURE__ */ jsx("div", { className: "overflow-hidden", ref: carouselRef, children: /* @__PURE__ */ jsx(
718
- "div",
719
- {
720
- className: cn(
721
- "flex",
722
- orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
723
- className
724
- ),
725
- ref,
726
- ...props
727
- }
728
- ) });
729
- });
730
- CarouselContent.displayName = "CarouselContent";
731
- var CarouselItem = React9.forwardRef(({ className, ...props }, ref) => {
732
- const { orientation } = useCarousel();
733
- return /* @__PURE__ */ jsx(
734
- "div",
735
- {
736
- className: cn(
737
- "min-w-0 shrink-0 grow-0 basis-full",
738
- orientation === "horizontal" ? "pl-4" : "pt-4",
739
- className
740
- ),
741
- "aria-roledescription": "slide",
742
- ref,
743
- role: "group",
744
- ...props
745
- }
746
- );
747
- });
748
- CarouselItem.displayName = "CarouselItem";
749
- var CarouselPrevious = React9.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
750
- const { orientation, scrollPrev, canScrollPrev } = useCarousel();
751
- return /* @__PURE__ */ jsxs(
752
- Button,
753
- {
754
- className: cn(
755
- "absolute h-8 w-8 rounded-full",
756
- orientation === "horizontal" ? "top-1/2 -left-12 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
757
- className
758
- ),
759
- disabled: !canScrollPrev,
760
- onClick: scrollPrev,
761
- ref,
762
- size,
763
- variant,
764
- ...props,
765
- children: [
766
- /* @__PURE__ */ jsx(ArrowLeft, { className: "h-4 w-4" }),
767
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Previous slide" })
768
- ]
769
- }
770
- );
771
- });
772
- CarouselPrevious.displayName = "CarouselPrevious";
773
- var CarouselNext = React9.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
774
- const { orientation, scrollNext, canScrollNext } = useCarousel();
775
- return /* @__PURE__ */ jsxs(
776
- Button,
777
- {
778
- className: cn(
779
- "absolute h-8 w-8 rounded-full",
780
- orientation === "horizontal" ? "top-1/2 -right-12 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
781
- className
782
- ),
783
- disabled: !canScrollNext,
784
- onClick: scrollNext,
785
- ref,
786
- size,
787
- variant,
788
- ...props,
789
- children: [
790
- /* @__PURE__ */ jsx(ArrowRight, { className: "h-4 w-4" }),
791
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Next slide" })
792
- ]
793
- }
794
- );
795
- });
796
- CarouselNext.displayName = "CarouselNext";
797
- var Checkbox = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
798
- CheckboxPrimitive.Root,
799
- {
800
- className: cn(
801
- "peer border-primary focus-visible:ring-ring data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground grid h-4 w-4 shrink-0 place-content-center rounded-sm border shadow focus-visible:ring-1 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",
802
- className
803
- ),
804
- ref,
805
- ...props,
806
- children: /* @__PURE__ */ jsx(
807
- CheckboxPrimitive.Indicator,
808
- {
809
- className: cn("grid place-content-center text-current"),
810
- children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" })
811
- }
812
- )
813
- }
814
- ));
815
- Checkbox.displayName = CheckboxPrimitive.Root.displayName;
816
- var Collapsible = CollapsiblePrimitive.Root;
817
- var CollapsibleTrigger2 = CollapsiblePrimitive.CollapsibleTrigger;
818
- var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
819
- var Dialog = DialogPrimitive.Root;
820
- var DialogTrigger = DialogPrimitive.Trigger;
821
- var DialogPortal = DialogPrimitive.Portal;
822
- var DialogClose = DialogPrimitive.Close;
823
- var DialogOverlay = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
824
- DialogPrimitive.Overlay,
825
- {
826
- className: cn(
827
- "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/80",
828
- className
829
- ),
830
- ref,
831
- ...props
832
- }
833
- ));
834
- DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
835
- var DialogContent = React9.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DialogPortal, { children: [
836
- /* @__PURE__ */ jsx(DialogOverlay, {}),
837
- /* @__PURE__ */ jsxs(
838
- DialogPrimitive.Content,
839
- {
840
- className: cn(
841
- "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 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg",
842
- className
843
- ),
844
- ref,
845
- ...props,
846
- children: [
847
- children,
848
- /* @__PURE__ */ jsxs(DialogPrimitive.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none", children: [
849
- /* @__PURE__ */ jsx(X, { className: "h-4 w-4" }),
850
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
851
- ] })
852
- ]
853
- }
854
- )
855
- ] }));
856
- DialogContent.displayName = DialogPrimitive.Content.displayName;
857
- var DialogHeader = ({
858
- className,
859
- ...props
860
- }) => /* @__PURE__ */ jsx(
861
- "div",
862
- {
863
- className: cn(
864
- "flex flex-col space-y-1.5 text-center sm:text-left",
865
- className
866
- ),
867
- ...props
868
- }
869
- );
870
- DialogHeader.displayName = "DialogHeader";
871
- var DialogFooter = ({
872
- className,
873
- ...props
874
- }) => /* @__PURE__ */ jsx(
875
- "div",
876
- {
877
- className: cn(
878
- "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
879
- className
880
- ),
881
- ...props
882
- }
883
- );
884
- DialogFooter.displayName = "DialogFooter";
885
- var DialogTitle = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
886
- DialogPrimitive.Title,
887
- {
888
- className: cn(
889
- "text-lg leading-none font-semibold tracking-tight",
890
- className
891
- ),
892
- ref,
893
- ...props
894
- }
895
- ));
896
- DialogTitle.displayName = DialogPrimitive.Title.displayName;
897
- var DialogDescription = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
898
- DialogPrimitive.Description,
899
- {
900
- className: cn("text-muted-foreground text-sm", className),
901
- ref,
902
- ...props
903
- }
904
- ));
905
- DialogDescription.displayName = DialogPrimitive.Description.displayName;
906
- var Command = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
907
- Command$1,
908
- {
909
- className: cn(
910
- "bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",
911
- className
912
- ),
913
- ref,
914
- ...props
915
- }
916
- ));
917
- Command.displayName = Command$1.displayName;
918
- var CommandDialog = ({ children, ...props }) => {
919
- return /* @__PURE__ */ jsx(Dialog, { ...props, children: /* @__PURE__ */ jsx(DialogContent, { className: "overflow-hidden p-0", children: /* @__PURE__ */ jsx(Command, { className: "**:[[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5 **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group]]:px-2 **:[[cmdk-input]]:h-12 **:[[cmdk-item]]:px-2 **:[[cmdk-item]]:py-3", children }) }) });
920
- };
921
- var CommandInput = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs("div", { className: "flex items-center border-b px-3", children: [
922
- /* @__PURE__ */ jsx(Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
923
- /* @__PURE__ */ jsx(
924
- Command$1.Input,
925
- {
926
- className: cn(
927
- "placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50",
928
- className
929
- ),
930
- ref,
931
- ...props
932
- }
933
- )
934
- ] }));
935
- CommandInput.displayName = Command$1.Input.displayName;
936
- var CommandList = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
937
- Command$1.List,
938
- {
939
- className: cn("max-h-[300px] overflow-x-hidden overflow-y-auto", className),
940
- ref,
941
- ...props
942
- }
943
- ));
944
- CommandList.displayName = Command$1.List.displayName;
945
- var CommandEmpty = React9.forwardRef((props, ref) => /* @__PURE__ */ jsx(
946
- Command$1.Empty,
947
- {
948
- className: "py-6 text-center text-sm",
949
- ref,
950
- ...props
951
- }
952
- ));
953
- CommandEmpty.displayName = Command$1.Empty.displayName;
954
- var CommandGroup = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
955
- Command$1.Group,
956
- {
957
- className: cn(
958
- "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",
959
- className
960
- ),
961
- ref,
962
- ...props
963
- }
964
- ));
965
- CommandGroup.displayName = Command$1.Group.displayName;
966
- var CommandSeparator = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
967
- Command$1.Separator,
968
- {
969
- className: cn("bg-border -mx-1 h-px", className),
970
- ref,
971
- ...props
972
- }
973
- ));
974
- CommandSeparator.displayName = Command$1.Separator.displayName;
975
- var CommandItem = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
976
- Command$1.Item,
977
- {
978
- className: cn(
979
- "data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
980
- className
981
- ),
982
- ref,
983
- ...props
984
- }
985
- ));
986
- CommandItem.displayName = Command$1.Item.displayName;
987
- var CommandShortcut = ({
988
- className,
989
- ...props
990
- }) => {
991
- return /* @__PURE__ */ jsx(
992
- "span",
993
- {
994
- className: cn(
995
- "text-muted-foreground ml-auto text-xs tracking-widest",
996
- className
997
- ),
998
- ...props
999
- }
1000
- );
1001
- };
1002
- CommandShortcut.displayName = "CommandShortcut";
1003
- var ContextMenu = ContextMenuPrimitive.Root;
1004
- var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
1005
- var ContextMenuGroup = ContextMenuPrimitive.Group;
1006
- var ContextMenuPortal = ContextMenuPrimitive.Portal;
1007
- var ContextMenuSub = ContextMenuPrimitive.Sub;
1008
- var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
1009
- var ContextMenuSubTrigger = React9.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1010
- ContextMenuPrimitive.SubTrigger,
1011
- {
1012
- className: cn(
1013
- "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",
1014
- inset && "pl-8",
1015
- className
1016
- ),
1017
- ref,
1018
- ...props,
1019
- children: [
1020
- children,
1021
- /* @__PURE__ */ jsx(ChevronRight, { className: "ml-auto h-4 w-4" })
1022
- ]
1023
- }
1024
- ));
1025
- ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
1026
- var ContextMenuSubContent = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1027
- ContextMenuPrimitive.SubContent,
1028
- {
1029
- className: cn(
1030
- "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",
1031
- className
1032
- ),
1033
- ref,
1034
- ...props
1035
- }
1036
- ));
1037
- ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
1038
- var ContextMenuContent = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
1039
- ContextMenuPrimitive.Content,
1040
- {
1041
- className: cn(
1042
- "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",
1043
- className
1044
- ),
1045
- ref,
1046
- ...props
1047
- }
1048
- ) }));
1049
- ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
1050
- var ContextMenuItem = React9.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
1051
- ContextMenuPrimitive.Item,
1052
- {
1053
- className: cn(
1054
- "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-disabled:pointer-events-none data-disabled:opacity-50",
1055
- inset && "pl-8",
1056
- className
1057
- ),
1058
- ref,
1059
- ...props
1060
- }
1061
- ));
1062
- ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
1063
- var ContextMenuCheckboxItem = React9.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
1064
- ContextMenuPrimitive.CheckboxItem,
1065
- {
1066
- className: cn(
1067
- "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none select-none data-disabled:pointer-events-none data-disabled:opacity-50",
1068
- className
1069
- ),
1070
- checked,
1071
- ref,
1072
- ...props,
1073
- children: [
1074
- /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
1075
- children
1076
- ]
1077
- }
1078
- ));
1079
- ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
1080
- var ContextMenuRadioItem = React9.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1081
- ContextMenuPrimitive.RadioItem,
1082
- {
1083
- className: cn(
1084
- "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none select-none data-disabled:pointer-events-none data-disabled:opacity-50",
1085
- className
1086
- ),
1087
- ref,
1088
- ...props,
1089
- children: [
1090
- /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Circle, { className: "h-4 w-4 fill-current" }) }) }),
1091
- children
1092
- ]
1093
- }
1094
- ));
1095
- ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
1096
- var ContextMenuLabel = React9.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
1097
- ContextMenuPrimitive.Label,
1098
- {
1099
- className: cn(
1100
- "text-foreground px-2 py-1.5 text-sm font-semibold",
1101
- inset && "pl-8",
1102
- className
1103
- ),
1104
- ref,
1105
- ...props
1106
- }
1107
- ));
1108
- ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
1109
- var ContextMenuSeparator = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1110
- ContextMenuPrimitive.Separator,
1111
- {
1112
- className: cn("bg-border -mx-1 my-1 h-px", className),
1113
- ref,
1114
- ...props
1115
- }
1116
- ));
1117
- ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
1118
- var ContextMenuShortcut = ({
1119
- className,
1120
- ...props
1121
- }) => {
1122
- return /* @__PURE__ */ jsx(
1123
- "span",
1124
- {
1125
- className: cn(
1126
- "text-muted-foreground ml-auto text-xs tracking-widest",
1127
- className
1128
- ),
1129
- ...props
1130
- }
1131
- );
1132
- };
1133
- ContextMenuShortcut.displayName = "ContextMenuShortcut";
1134
- var Drawer = ({
1135
- shouldScaleBackground = true,
1136
- ...props
1137
- }) => /* @__PURE__ */ jsx(
1138
- Drawer$1.Root,
1139
- {
1140
- shouldScaleBackground,
1141
- ...props
1142
- }
1143
- );
1144
- Drawer.displayName = "Drawer";
1145
- var DrawerTrigger = Drawer$1.Trigger;
1146
- var DrawerPortal = Drawer$1.Portal;
1147
- var DrawerClose = Drawer$1.Close;
1148
- var DrawerOverlay = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1149
- Drawer$1.Overlay,
1150
- {
1151
- className: cn("fixed inset-0 z-50 bg-black/80", className),
1152
- ref,
1153
- ...props
1154
- }
1155
- ));
1156
- DrawerOverlay.displayName = Drawer$1.Overlay.displayName;
1157
- var DrawerContent = React9.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DrawerPortal, { children: [
1158
- /* @__PURE__ */ jsx(DrawerOverlay, {}),
1159
- /* @__PURE__ */ jsxs(
1160
- Drawer$1.Content,
1161
- {
1162
- className: cn(
1163
- "bg-background fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border",
1164
- className
1165
- ),
1166
- ref,
1167
- ...props,
1168
- children: [
1169
- /* @__PURE__ */ jsx("div", { className: "bg-muted mx-auto mt-4 h-2 w-[100px] rounded-full" }),
1170
- children
1171
- ]
1172
- }
1173
- )
1174
- ] }));
1175
- DrawerContent.displayName = "DrawerContent";
1176
- var DrawerHeader = ({
1177
- className,
1178
- ...props
1179
- }) => /* @__PURE__ */ jsx(
1180
- "div",
1181
- {
1182
- className: cn("grid gap-1.5 p-4 text-center sm:text-left", className),
1183
- ...props
1184
- }
1185
- );
1186
- DrawerHeader.displayName = "DrawerHeader";
1187
- var DrawerFooter = ({
1188
- className,
1189
- ...props
1190
- }) => /* @__PURE__ */ jsx(
1191
- "div",
1192
- {
1193
- className: cn("mt-auto flex flex-col gap-2 p-4", className),
1194
- ...props
1195
- }
1196
- );
1197
- DrawerFooter.displayName = "DrawerFooter";
1198
- var DrawerTitle = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1199
- Drawer$1.Title,
1200
- {
1201
- className: cn(
1202
- "text-lg leading-none font-semibold tracking-tight",
1203
- className
1204
- ),
1205
- ref,
1206
- ...props
1207
- }
1208
- ));
1209
- DrawerTitle.displayName = Drawer$1.Title.displayName;
1210
- var DrawerDescription = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1211
- Drawer$1.Description,
1212
- {
1213
- className: cn("text-muted-foreground text-sm", className),
1214
- ref,
1215
- ...props
1216
- }
1217
- ));
1218
- DrawerDescription.displayName = Drawer$1.Description.displayName;
1219
- var DropdownMenu = DropdownMenuPrimitive.Root;
1220
- var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
1221
- var DropdownMenuGroup = DropdownMenuPrimitive.Group;
1222
- var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
1223
- var DropdownMenuSub = DropdownMenuPrimitive.Sub;
1224
- var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
1225
- var DropdownMenuSubTrigger = React9.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1226
- DropdownMenuPrimitive.SubTrigger,
1227
- {
1228
- className: cn(
1229
- "focus:bg-accent data-[state=open]:bg-accent flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
1230
- inset && "pl-8",
1231
- className
1232
- ),
1233
- ref,
1234
- ...props,
1235
- children: [
1236
- children,
1237
- /* @__PURE__ */ jsx(ChevronRight, { className: "ml-auto" })
1238
- ]
1239
- }
1240
- ));
1241
- DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
1242
- var DropdownMenuSubContent = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1243
- DropdownMenuPrimitive.SubContent,
1244
- {
1245
- className: cn(
1246
- "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",
1247
- className
1248
- ),
1249
- ref,
1250
- ...props
1251
- }
1252
- ));
1253
- DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
1254
- var DropdownMenuContent = React9.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
1255
- DropdownMenuPrimitive.Content,
1256
- {
1257
- className: cn(
1258
- "bg-popover text-popover-foreground z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",
1259
- "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 origin-[--radix-dropdown-menu-content-transform-origin]",
1260
- className
1261
- ),
1262
- ref,
1263
- sideOffset,
1264
- ...props
1265
- }
1266
- ) }));
1267
- DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
1268
- var DropdownMenuItem = React9.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
1269
- DropdownMenuPrimitive.Item,
1270
- {
1271
- className: cn(
1272
- "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm transition-colors outline-none select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",
1273
- inset && "pl-8",
1274
- className
1275
- ),
1276
- ref,
1277
- ...props
1278
- }
1279
- ));
1280
- DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
1281
- var DropdownMenuCheckboxItem = React9.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
1282
- DropdownMenuPrimitive.CheckboxItem,
1283
- {
1284
- className: cn(
1285
- "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm transition-colors outline-none select-none data-disabled:pointer-events-none data-disabled:opacity-50",
1286
- className
1287
- ),
1288
- checked,
1289
- ref,
1290
- ...props,
1291
- children: [
1292
- /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
1293
- children
1294
- ]
1295
- }
1296
- ));
1297
- DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
1298
- var DropdownMenuRadioItem = React9.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1299
- DropdownMenuPrimitive.RadioItem,
1300
- {
1301
- className: cn(
1302
- "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm transition-colors outline-none select-none data-disabled:pointer-events-none data-disabled:opacity-50",
1303
- className
1304
- ),
1305
- ref,
1306
- ...props,
1307
- children: [
1308
- /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Circle, { className: "h-2 w-2 fill-current" }) }) }),
1309
- children
1310
- ]
1311
- }
1312
- ));
1313
- DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
1314
- var DropdownMenuLabel = React9.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
1315
- DropdownMenuPrimitive.Label,
1316
- {
1317
- className: cn(
1318
- "px-2 py-1.5 text-sm font-semibold",
1319
- inset && "pl-8",
1320
- className
1321
- ),
1322
- ref,
1323
- ...props
1324
- }
1325
- ));
1326
- DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
1327
- var DropdownMenuSeparator = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1328
- DropdownMenuPrimitive.Separator,
1329
- {
1330
- className: cn("bg-muted -mx-1 my-1 h-px", className),
1331
- ref,
1332
- ...props
1333
- }
1334
- ));
1335
- DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
1336
- var DropdownMenuShortcut = ({
1337
- className,
1338
- ...props
1339
- }) => {
1340
- return /* @__PURE__ */ jsx(
1341
- "span",
1342
- {
1343
- className: cn("ml-auto text-xs tracking-widest opacity-60", className),
1344
- ...props
1345
- }
1346
- );
1347
- };
1348
- DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
1349
- var labelVariants = cva(
1350
- "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
1351
- );
1352
- var Label3 = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1353
- LabelPrimitive.Root,
1354
- {
1355
- className: cn(labelVariants(), className),
1356
- ref,
1357
- ...props
1358
- }
1359
- ));
1360
- Label3.displayName = LabelPrimitive.Root.displayName;
1361
- var Form = FormProvider;
1362
- var FormFieldContext = React9.createContext(null);
1363
- var FormField = ({
1364
- ...props
1365
- }) => {
1366
- return /* @__PURE__ */ jsx(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx(Controller, { ...props }) });
1367
- };
1368
- var useFormField = () => {
1369
- const fieldContext = React9.useContext(FormFieldContext);
1370
- const itemContext = React9.useContext(FormItemContext);
1371
- const { getFieldState, formState } = useFormContext();
1372
- if (!fieldContext) {
1373
- throw new Error("useFormField should be used within <FormField>");
1374
- }
1375
- if (!itemContext) {
1376
- throw new Error("useFormField should be used within <FormItem>");
1377
- }
1378
- const fieldState = getFieldState(fieldContext.name, formState);
1379
- const { id: id2 } = itemContext;
1380
- return {
1381
- id: id2,
1382
- name: fieldContext.name,
1383
- formItemId: `${id2}-form-item`,
1384
- formDescriptionId: `${id2}-form-item-description`,
1385
- formMessageId: `${id2}-form-item-message`,
1386
- ...fieldState
1387
- };
1388
- };
1389
- var FormItemContext = React9.createContext(null);
1390
- var FormItem = React9.forwardRef(({ className, ...props }, ref) => {
1391
- const id2 = React9.useId();
1392
- return /* @__PURE__ */ jsx(FormItemContext.Provider, { value: { id: id2 }, children: /* @__PURE__ */ jsx("div", { className: cn("space-y-2", className), ref, ...props }) });
1393
- });
1394
- FormItem.displayName = "FormItem";
1395
- var FormLabel = React9.forwardRef(({ className, ...props }, ref) => {
1396
- const { error, formItemId } = useFormField();
1397
- return /* @__PURE__ */ jsx(
1398
- Label3,
1399
- {
1400
- className: cn(error && "text-destructive", className),
1401
- htmlFor: formItemId,
1402
- ref,
1403
- ...props
1404
- }
1405
- );
1406
- });
1407
- FormLabel.displayName = "FormLabel";
1408
- var FormControl = React9.forwardRef(({ ...props }, ref) => {
1409
- const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
1410
- return /* @__PURE__ */ jsx(
1411
- Slot,
1412
- {
1413
- "aria-describedby": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`,
1414
- "aria-invalid": !!error,
1415
- id: formItemId,
1416
- ref,
1417
- ...props
1418
- }
1419
- );
1420
- });
1421
- FormControl.displayName = "FormControl";
1422
- var FormDescription = React9.forwardRef(({ className, ...props }, ref) => {
1423
- const { formDescriptionId } = useFormField();
1424
- return /* @__PURE__ */ jsx(
1425
- "p",
1426
- {
1427
- className: cn("text-muted-foreground text-[0.8rem]", className),
1428
- id: formDescriptionId,
1429
- ref,
1430
- ...props
1431
- }
1432
- );
1433
- });
1434
- FormDescription.displayName = "FormDescription";
1435
- var FormMessage = React9.forwardRef(({ className, children, ...props }, ref) => {
1436
- const { error, formMessageId } = useFormField();
1437
- const body = error ? String(error?.message ?? "") : children;
1438
- if (!body) {
1439
- return null;
1440
- }
1441
- return /* @__PURE__ */ jsx(
1442
- "p",
1443
- {
1444
- className: cn("text-destructive text-[0.8rem] font-medium", className),
1445
- id: formMessageId,
1446
- ref,
1447
- ...props,
1448
- children: body
1449
- }
1450
- );
1451
- });
1452
- FormMessage.displayName = "FormMessage";
1453
- var HoverCard = HoverCardPrimitive.Root;
1454
- var HoverCardTrigger = HoverCardPrimitive.Trigger;
1455
- var HoverCardContent = React9.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(
1456
- HoverCardPrimitive.Content,
1457
- {
1458
- className: cn(
1459
- "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-none",
1460
- className
1461
- ),
1462
- align,
1463
- ref,
1464
- sideOffset,
1465
- ...props
1466
- }
1467
- ));
1468
- HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
1469
- var Input = React9.forwardRef(
1470
- ({ className, type, ...props }, ref) => {
1471
- return /* @__PURE__ */ jsx(
1472
- "input",
1473
- {
1474
- className: cn(
1475
- "border-input file:text-foreground placeholder:text-muted-foreground focus-visible:ring-ring flex h-9 w-full rounded-md border bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:ring-1 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
1476
- className
1477
- ),
1478
- ref,
1479
- type,
1480
- ...props
1481
- }
1482
- );
1483
- }
1484
- );
1485
- Input.displayName = "Input";
1486
- function MenubarMenu({
1487
- ...props
1488
- }) {
1489
- return /* @__PURE__ */ jsx(MenubarPrimitive.Menu, { ...props });
1490
- }
1491
- function MenubarGroup({
1492
- ...props
1493
- }) {
1494
- return /* @__PURE__ */ jsx(MenubarPrimitive.Group, { ...props });
1495
- }
1496
- function MenubarPortal({
1497
- ...props
1498
- }) {
1499
- return /* @__PURE__ */ jsx(MenubarPrimitive.Portal, { ...props });
1500
- }
1501
- function MenubarRadioGroup({
1502
- ...props
1503
- }) {
1504
- return /* @__PURE__ */ jsx(MenubarPrimitive.RadioGroup, { ...props });
1505
- }
1506
- function MenubarSub({
1507
- ...props
1508
- }) {
1509
- return /* @__PURE__ */ jsx(MenubarPrimitive.Sub, { "data-slot": "menubar-sub", ...props });
1510
- }
1511
- var Menubar = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1512
- MenubarPrimitive.Root,
1513
- {
1514
- className: cn(
1515
- "bg-background flex h-9 items-center space-x-1 rounded-md border p-1 shadow-sm",
1516
- className
1517
- ),
1518
- ref,
1519
- ...props
1520
- }
1521
- ));
1522
- Menubar.displayName = MenubarPrimitive.Root.displayName;
1523
- var MenubarTrigger = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1524
- MenubarPrimitive.Trigger,
1525
- {
1526
- className: cn(
1527
- "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-3 py-1 text-sm font-medium outline-none select-none",
1528
- className
1529
- ),
1530
- ref,
1531
- ...props
1532
- }
1533
- ));
1534
- MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
1535
- var MenubarSubTrigger = React9.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1536
- MenubarPrimitive.SubTrigger,
1537
- {
1538
- className: cn(
1539
- "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",
1540
- inset && "pl-8",
1541
- className
1542
- ),
1543
- ref,
1544
- ...props,
1545
- children: [
1546
- children,
1547
- /* @__PURE__ */ jsx(ChevronRight, { className: "ml-auto h-4 w-4" })
1548
- ]
1549
- }
1550
- ));
1551
- MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
1552
- var MenubarSubContent = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1553
- MenubarPrimitive.SubContent,
1554
- {
1555
- className: cn(
1556
- "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",
1557
- className
1558
- ),
1559
- ref,
1560
- ...props
1561
- }
1562
- ));
1563
- MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
1564
- var MenubarContent = React9.forwardRef(
1565
- ({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx(
1566
- MenubarPrimitive.Content,
1567
- {
1568
- className: cn(
1569
- "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",
1570
- className
1571
- ),
1572
- align,
1573
- alignOffset,
1574
- ref,
1575
- sideOffset,
1576
- ...props
1577
- }
1578
- ) })
1579
- );
1580
- MenubarContent.displayName = MenubarPrimitive.Content.displayName;
1581
- var MenubarItem = React9.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
1582
- MenubarPrimitive.Item,
1583
- {
1584
- className: cn(
1585
- "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-disabled:pointer-events-none data-disabled:opacity-50",
1586
- inset && "pl-8",
1587
- className
1588
- ),
1589
- ref,
1590
- ...props
1591
- }
1592
- ));
1593
- MenubarItem.displayName = MenubarPrimitive.Item.displayName;
1594
- var MenubarCheckboxItem = React9.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
1595
- MenubarPrimitive.CheckboxItem,
1596
- {
1597
- className: cn(
1598
- "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none select-none data-disabled:pointer-events-none data-disabled:opacity-50",
1599
- className
1600
- ),
1601
- checked,
1602
- ref,
1603
- ...props,
1604
- children: [
1605
- /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
1606
- children
1607
- ]
1608
- }
1609
- ));
1610
- MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
1611
- var MenubarRadioItem = React9.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1612
- MenubarPrimitive.RadioItem,
1613
- {
1614
- className: cn(
1615
- "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none select-none data-disabled:pointer-events-none data-disabled:opacity-50",
1616
- className
1617
- ),
1618
- ref,
1619
- ...props,
1620
- children: [
1621
- /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Circle, { className: "h-4 w-4 fill-current" }) }) }),
1622
- children
1623
- ]
1624
- }
1625
- ));
1626
- MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
1627
- var MenubarLabel = React9.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
1628
- MenubarPrimitive.Label,
1629
- {
1630
- className: cn(
1631
- "px-2 py-1.5 text-sm font-semibold",
1632
- inset && "pl-8",
1633
- className
1634
- ),
1635
- ref,
1636
- ...props
1637
- }
1638
- ));
1639
- MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
1640
- var MenubarSeparator = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1641
- MenubarPrimitive.Separator,
1642
- {
1643
- className: cn("bg-muted -mx-1 my-1 h-px", className),
1644
- ref,
1645
- ...props
1646
- }
1647
- ));
1648
- MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;
1649
- var MenubarShortcut = ({
1650
- className,
1651
- ...props
1652
- }) => {
1653
- return /* @__PURE__ */ jsx(
1654
- "span",
1655
- {
1656
- className: cn(
1657
- "text-muted-foreground ml-auto text-xs tracking-widest",
1658
- className
1659
- ),
1660
- ...props
1661
- }
1662
- );
1663
- };
1664
- MenubarShortcut.displayname = "MenubarShortcut";
1665
- var NavigationMenu = React9.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1666
- NavigationMenuPrimitive.Root,
1667
- {
1668
- className: cn(
1669
- "relative z-10 flex max-w-max flex-1 items-center justify-center",
1670
- className
1671
- ),
1672
- ref,
1673
- ...props,
1674
- children: [
1675
- children,
1676
- /* @__PURE__ */ jsx(NavigationMenuViewport, {})
1677
- ]
1678
- }
1679
- ));
1680
- NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
1681
- var NavigationMenuList = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1682
- NavigationMenuPrimitive.List,
1683
- {
1684
- className: cn(
1685
- "group flex flex-1 list-none items-center justify-center space-x-1",
1686
- className
1687
- ),
1688
- ref,
1689
- ...props
1690
- }
1691
- ));
1692
- NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;
1693
- var NavigationMenuItem = NavigationMenuPrimitive.Item;
1694
- var navigationMenuTriggerStyle = cva(
1695
- "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:text-accent-foreground data-[state=open]:bg-accent/50 data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent"
1696
- );
1697
- var NavigationMenuTrigger = React9.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1698
- NavigationMenuPrimitive.Trigger,
1699
- {
1700
- className: cn(navigationMenuTriggerStyle(), "group", className),
1701
- ref,
1702
- ...props,
1703
- children: [
1704
- children,
1705
- " ",
1706
- /* @__PURE__ */ jsx(
1707
- ChevronDown,
1708
- {
1709
- "aria-hidden": "true",
1710
- className: "relative top-px ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180"
1711
- }
1712
- )
1713
- ]
1714
- }
1715
- ));
1716
- NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
1717
- var NavigationMenuContent = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1718
- NavigationMenuPrimitive.Content,
1719
- {
1720
- className: cn(
1721
- "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 md:absolute md:w-auto",
1722
- className
1723
- ),
1724
- ref,
1725
- ...props
1726
- }
1727
- ));
1728
- NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
1729
- var NavigationMenuLink = NavigationMenuPrimitive.Link;
1730
- var NavigationMenuViewport = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: cn("absolute top-full left-0 flex justify-center"), children: /* @__PURE__ */ jsx(
1731
- NavigationMenuPrimitive.Viewport,
1732
- {
1733
- className: cn(
1734
- "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-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]",
1735
- className
1736
- ),
1737
- ref,
1738
- ...props
1739
- }
1740
- ) }));
1741
- NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
1742
- var NavigationMenuIndicator = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1743
- NavigationMenuPrimitive.Indicator,
1744
- {
1745
- className: cn(
1746
- "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",
1747
- className
1748
- ),
1749
- ref,
1750
- ...props,
1751
- children: /* @__PURE__ */ jsx("div", { className: "bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md" })
1752
- }
1753
- ));
1754
- NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
1755
- var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx(
1756
- "nav",
1757
- {
1758
- "aria-label": "pagination",
1759
- className: cn("mx-auto flex w-full justify-center", className),
1760
- role: "navigation",
1761
- ...props
1762
- }
1763
- );
1764
- Pagination.displayName = "Pagination";
1765
- var PaginationContent = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1766
- "ul",
1767
- {
1768
- className: cn("flex flex-row items-center gap-1", className),
1769
- ref,
1770
- ...props
1771
- }
1772
- ));
1773
- PaginationContent.displayName = "PaginationContent";
1774
- var PaginationItem = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("li", { className: cn("", className), ref, ...props }));
1775
- PaginationItem.displayName = "PaginationItem";
1776
- var PaginationLink = ({
1777
- className,
1778
- isActive,
1779
- size = "icon",
1780
- ...props
1781
- }) => /* @__PURE__ */ jsx(
1782
- "a",
1783
- {
1784
- className: cn(
1785
- buttonVariants({
1786
- variant: isActive ? "outline" : "ghost",
1787
- size
1788
- }),
1789
- className
1790
- ),
1791
- "aria-current": isActive ? "page" : void 0,
1792
- ...props
1793
- }
1794
- );
1795
- PaginationLink.displayName = "PaginationLink";
1796
- var PaginationPrevious = ({
1797
- className,
1798
- ...props
1799
- }) => /* @__PURE__ */ jsxs(
1800
- PaginationLink,
1801
- {
1802
- "aria-label": "Go to previous page",
1803
- className: cn("gap-1 pl-2.5", className),
1804
- size: "default",
1805
- ...props,
1806
- children: [
1807
- /* @__PURE__ */ jsx(ChevronLeft, { className: "h-4 w-4" }),
1808
- /* @__PURE__ */ jsx("span", { children: "Previous" })
1809
- ]
1810
- }
1811
- );
1812
- PaginationPrevious.displayName = "PaginationPrevious";
1813
- var PaginationNext = ({
1814
- className,
1815
- ...props
1816
- }) => /* @__PURE__ */ jsxs(
1817
- PaginationLink,
1818
- {
1819
- "aria-label": "Go to next page",
1820
- className: cn("gap-1 pr-2.5", className),
1821
- size: "default",
1822
- ...props,
1823
- children: [
1824
- /* @__PURE__ */ jsx("span", { children: "Next" }),
1825
- /* @__PURE__ */ jsx(ChevronRight, { className: "h-4 w-4" })
1826
- ]
1827
- }
1828
- );
1829
- PaginationNext.displayName = "PaginationNext";
1830
- var PaginationEllipsis = ({
1831
- className,
1832
- ...props
1833
- }) => /* @__PURE__ */ jsxs(
1834
- "span",
1835
- {
1836
- className: cn("flex h-9 w-9 items-center justify-center", className),
1837
- "aria-hidden": true,
1838
- ...props,
1839
- children: [
1840
- /* @__PURE__ */ jsx(MoreHorizontal, { className: "h-4 w-4" }),
1841
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "More pages" })
1842
- ]
1843
- }
1844
- );
1845
- PaginationEllipsis.displayName = "PaginationEllipsis";
1846
- var Popover = PopoverPrimitive.Root;
1847
- var PopoverTrigger = PopoverPrimitive.Trigger;
1848
- var PopoverAnchor = PopoverPrimitive.Anchor;
1849
- var PopoverContent = React9.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
1850
- PopoverPrimitive.Content,
1851
- {
1852
- className: cn(
1853
- "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-72 origin-[--radix-popover-content-transform-origin] rounded-md border p-4 shadow-md outline-none",
1854
- className
1855
- ),
1856
- align,
1857
- ref,
1858
- sideOffset,
1859
- ...props
1860
- }
1861
- ) }));
1862
- PopoverContent.displayName = PopoverPrimitive.Content.displayName;
1863
- var Progress = React9.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsx(
1864
- ProgressPrimitive.Root,
1865
- {
1866
- className: cn(
1867
- "bg-primary/20 relative h-2 w-full overflow-hidden rounded-full",
1868
- className
1869
- ),
1870
- ref,
1871
- ...props,
1872
- children: /* @__PURE__ */ jsx(
1873
- ProgressPrimitive.Indicator,
1874
- {
1875
- className: "bg-primary h-full w-full flex-1 transition-all",
1876
- style: { transform: `translateX(-${100 - (value || 0)}%)` }
1877
- }
1878
- )
1879
- }
1880
- ));
1881
- Progress.displayName = ProgressPrimitive.Root.displayName;
1882
- var RadioGroup4 = React9.forwardRef(({ className, ...props }, ref) => {
1883
- return /* @__PURE__ */ jsx(
1884
- RadioGroupPrimitive.Root,
1885
- {
1886
- className: cn("grid gap-2", className),
1887
- ...props,
1888
- ref
1889
- }
1890
- );
1891
- });
1892
- RadioGroup4.displayName = RadioGroupPrimitive.Root.displayName;
1893
- var RadioGroupItem = React9.forwardRef(({ className, ...props }, ref) => {
1894
- return /* @__PURE__ */ jsx(
1895
- RadioGroupPrimitive.Item,
1896
- {
1897
- className: cn(
1898
- "border-primary text-primary focus-visible:ring-ring aspect-square h-4 w-4 rounded-full border shadow focus:outline-none focus-visible:ring-1 disabled:cursor-not-allowed disabled:opacity-50",
1899
- className
1900
- ),
1901
- ref,
1902
- ...props,
1903
- children: /* @__PURE__ */ jsx(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx(Circle, { className: "fill-primary h-3.5 w-3.5" }) })
1904
- }
1905
- );
1906
- });
1907
- RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
1908
- var ResizablePanelGroup = ({
1909
- className,
1910
- ...props
1911
- // @ts-expect-error
1912
- }) => (
1913
- // @ts-expect-error
1914
- /* @__PURE__ */ jsx(
1915
- ResizablePrimitive.PanelGroup,
1916
- {
1917
- className: cn(
1918
- "flex h-full w-full data-[panel-group-direction=vertical]:flex-col",
1919
- className
1920
- ),
1921
- ...props
1922
- }
1923
- )
1924
- );
1925
- var ResizablePanel = ResizablePrimitive.Panel;
1926
- var ResizableHandle = ({
1927
- withHandle,
1928
- className,
1929
- ...props
1930
- // @ts-expect-error
1931
- }) => (
1932
- // @ts-expect-error
1933
- /* @__PURE__ */ jsx(
1934
- ResizablePrimitive.PanelResizeHandle,
1935
- {
1936
- className: cn(
1937
- "bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-none data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:translate-x-0 data-[panel-group-direction=vertical]:after:-translate-y-1/2 [&[data-panel-group-direction=vertical]>div]:rotate-90",
1938
- className
1939
- ),
1940
- ...props,
1941
- children: withHandle && /* @__PURE__ */ jsx("div", { className: "bg-border z-10 flex h-4 w-3 items-center justify-center rounded-sm border", children: /* @__PURE__ */ jsx(GripVertical, { className: "h-2.5 w-2.5" }) })
1942
- }
1943
- )
1944
- );
1945
- var ScrollArea = React9.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1946
- ScrollAreaPrimitive.Root,
1947
- {
1948
- className: cn("relative overflow-hidden", className),
1949
- ref,
1950
- ...props,
1951
- children: [
1952
- /* @__PURE__ */ jsx(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
1953
- /* @__PURE__ */ jsx(ScrollBar, {}),
1954
- /* @__PURE__ */ jsx(ScrollAreaPrimitive.Corner, {})
1955
- ]
1956
- }
1957
- ));
1958
- ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
1959
- var ScrollBar = React9.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx(
1960
- ScrollAreaPrimitive.ScrollAreaScrollbar,
1961
- {
1962
- className: cn(
1963
- "flex touch-none transition-colors select-none",
1964
- orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent p-px",
1965
- orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent p-px",
1966
- className
1967
- ),
1968
- orientation,
1969
- ref,
1970
- ...props,
1971
- children: /* @__PURE__ */ jsx(ScrollAreaPrimitive.ScrollAreaThumb, { className: "bg-border relative flex-1 rounded-full" })
1972
- }
1973
- ));
1974
- ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
1975
- var Select = SelectPrimitive.Root;
1976
- var SelectGroup = SelectPrimitive.Group;
1977
- var SelectValue = SelectPrimitive.Value;
1978
- var SelectTrigger = React9.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1979
- SelectPrimitive.Trigger,
1980
- {
1981
- className: cn(
1982
- "border-input ring-offset-background data-placeholder:text-muted-foreground focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
1983
- className
1984
- ),
1985
- ref,
1986
- ...props,
1987
- children: [
1988
- children,
1989
- /* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4 opacity-50" }) })
1990
- ]
1991
- }
1992
- ));
1993
- SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
1994
- var SelectScrollUpButton = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1995
- SelectPrimitive.ScrollUpButton,
1996
- {
1997
- className: cn(
1998
- "flex cursor-default items-center justify-center py-1",
1999
- className
2000
- ),
2001
- ref,
2002
- ...props,
2003
- children: /* @__PURE__ */ jsx(ChevronUp, { className: "h-4 w-4" })
2004
- }
2005
- ));
2006
- SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
2007
- var SelectScrollDownButton = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2008
- SelectPrimitive.ScrollDownButton,
2009
- {
2010
- className: cn(
2011
- "flex cursor-default items-center justify-center py-1",
2012
- className
2013
- ),
2014
- ref,
2015
- ...props,
2016
- children: /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4" })
2017
- }
2018
- ));
2019
- SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
2020
- var SelectContent = React9.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
2021
- SelectPrimitive.Content,
2022
- {
2023
- className: cn(
2024
- "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",
2025
- 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",
2026
- className
2027
- ),
2028
- position,
2029
- ref,
2030
- ...props,
2031
- children: [
2032
- /* @__PURE__ */ jsx(SelectScrollUpButton, {}),
2033
- /* @__PURE__ */ jsx(
2034
- SelectPrimitive.Viewport,
2035
- {
2036
- className: cn(
2037
- "p-1",
2038
- position === "popper" && "h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width)"
2039
- ),
2040
- children
2041
- }
2042
- ),
2043
- /* @__PURE__ */ jsx(SelectScrollDownButton, {})
2044
- ]
2045
- }
2046
- ) }));
2047
- SelectContent.displayName = SelectPrimitive.Content.displayName;
2048
- var SelectLabel = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2049
- SelectPrimitive.Label,
2050
- {
2051
- className: cn("px-2 py-1.5 text-sm font-semibold", className),
2052
- ref,
2053
- ...props
2054
- }
2055
- ));
2056
- SelectLabel.displayName = SelectPrimitive.Label.displayName;
2057
- var SelectItem = React9.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
2058
- SelectPrimitive.Item,
2059
- {
2060
- className: cn(
2061
- "focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 pr-8 pl-2 text-sm outline-none select-none data-disabled:pointer-events-none data-disabled:opacity-50",
2062
- className
2063
- ),
2064
- ref,
2065
- ...props,
2066
- children: [
2067
- /* @__PURE__ */ jsx("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
2068
- /* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })
2069
- ]
2070
- }
2071
- ));
2072
- SelectItem.displayName = SelectPrimitive.Item.displayName;
2073
- var SelectSeparator = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2074
- SelectPrimitive.Separator,
2075
- {
2076
- className: cn("bg-muted -mx-1 my-1 h-px", className),
2077
- ref,
2078
- ...props
2079
- }
2080
- ));
2081
- SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
2082
- var Separator5 = React9.forwardRef(
2083
- ({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx(
2084
- SeparatorPrimitive.Root,
2085
- {
2086
- className: cn(
2087
- "bg-border shrink-0",
2088
- orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
2089
- className
2090
- ),
2091
- decorative,
2092
- orientation,
2093
- ref,
2094
- ...props
2095
- }
2096
- )
2097
- );
2098
- Separator5.displayName = SeparatorPrimitive.Root.displayName;
2099
- var Sheet = DialogPrimitive.Root;
2100
- var SheetTrigger = DialogPrimitive.Trigger;
2101
- var SheetClose = DialogPrimitive.Close;
2102
- var SheetPortal = DialogPrimitive.Portal;
2103
- var SheetOverlay = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2104
- DialogPrimitive.Overlay,
2105
- {
2106
- className: cn(
2107
- "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/80",
2108
- className
2109
- ),
2110
- ...props,
2111
- ref
2112
- }
2113
- ));
2114
- SheetOverlay.displayName = DialogPrimitive.Overlay.displayName;
2115
- var sheetVariants = cva(
2116
- "fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out",
2117
- {
2118
- variants: {
2119
- side: {
2120
- top: "inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
2121
- bottom: "inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
2122
- left: "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",
2123
- right: "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"
2124
- }
2125
- },
2126
- defaultVariants: {
2127
- side: "right"
2128
- }
2129
- }
2130
- );
2131
- var SheetContent = React9.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs(SheetPortal, { children: [
2132
- /* @__PURE__ */ jsx(SheetOverlay, {}),
2133
- /* @__PURE__ */ jsxs(
2134
- DialogPrimitive.Content,
2135
- {
2136
- className: cn(sheetVariants({ side }), className),
2137
- ref,
2138
- ...props,
2139
- children: [
2140
- /* @__PURE__ */ jsxs(DialogPrimitive.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none", children: [
2141
- /* @__PURE__ */ jsx(X, { className: "h-4 w-4" }),
2142
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
2143
- ] }),
2144
- children
2145
- ]
2146
- }
2147
- )
2148
- ] }));
2149
- SheetContent.displayName = DialogPrimitive.Content.displayName;
2150
- var SheetHeader = ({
2151
- className,
2152
- ...props
2153
- }) => /* @__PURE__ */ jsx(
2154
- "div",
2155
- {
2156
- className: cn(
2157
- "flex flex-col space-y-2 text-center sm:text-left",
2158
- className
2159
- ),
2160
- ...props
2161
- }
2162
- );
2163
- SheetHeader.displayName = "SheetHeader";
2164
- var SheetFooter = ({
2165
- className,
2166
- ...props
2167
- }) => /* @__PURE__ */ jsx(
2168
- "div",
2169
- {
2170
- className: cn(
2171
- "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
2172
- className
2173
- ),
2174
- ...props
2175
- }
2176
- );
2177
- SheetFooter.displayName = "SheetFooter";
2178
- var SheetTitle = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2179
- DialogPrimitive.Title,
2180
- {
2181
- className: cn("text-foreground text-lg font-semibold", className),
2182
- ref,
2183
- ...props
2184
- }
2185
- ));
2186
- SheetTitle.displayName = DialogPrimitive.Title.displayName;
2187
- var SheetDescription = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2188
- DialogPrimitive.Description,
2189
- {
2190
- className: cn("text-muted-foreground text-sm", className),
2191
- ref,
2192
- ...props
2193
- }
2194
- ));
2195
- SheetDescription.displayName = DialogPrimitive.Description.displayName;
2196
- function Skeleton({
2197
- className,
2198
- ...props
2199
- }) {
2200
- return /* @__PURE__ */ jsx(
2201
- "div",
2202
- {
2203
- className: cn("bg-primary/10 animate-pulse rounded-md", className),
2204
- ...props
2205
- }
2206
- );
2207
- }
2208
- var Slider = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs(
2209
- SliderPrimitive.Root,
2210
- {
2211
- className: cn(
2212
- "relative flex w-full touch-none items-center select-none",
2213
- className
2214
- ),
2215
- ref,
2216
- ...props,
2217
- children: [
2218
- /* @__PURE__ */ jsx(SliderPrimitive.Track, { className: "bg-primary/20 relative h-1.5 w-full grow overflow-hidden rounded-full", children: /* @__PURE__ */ jsx(SliderPrimitive.Range, { className: "bg-primary absolute h-full" }) }),
2219
- /* @__PURE__ */ jsx(SliderPrimitive.Thumb, { className: "border-primary/50 bg-background focus-visible:ring-ring block h-4 w-4 rounded-full border shadow transition-colors focus-visible:ring-1 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50" })
2220
- ]
2221
- }
2222
- ));
2223
- Slider.displayName = SliderPrimitive.Root.displayName;
2224
- function Spinner({ className, ...props }) {
2225
- return /* @__PURE__ */ jsx(
2226
- Loader2Icon,
2227
- {
2228
- "aria-label": "Loading",
2229
- className: cn("size-4 animate-spin", className),
2230
- role: "status",
2231
- ...props
2232
- }
2233
- );
2234
- }
2235
- var Switch = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2236
- SwitchPrimitives.Root,
2237
- {
2238
- className: cn(
2239
- "peer focus-visible:ring-ring focus-visible:ring-offset-background data-[state=checked]:bg-primary data-[state=unchecked]:bg-input inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",
2240
- className
2241
- ),
2242
- ...props,
2243
- ref,
2244
- children: /* @__PURE__ */ jsx(
2245
- SwitchPrimitives.Thumb,
2246
- {
2247
- className: cn(
2248
- "bg-background pointer-events-none block h-4 w-4 rounded-full shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0"
2249
- )
2250
- }
2251
- )
2252
- }
2253
- ));
2254
- Switch.displayName = SwitchPrimitives.Root.displayName;
2255
- var Tabs = TabsPrimitive.Root;
2256
- var TabsList = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2257
- TabsPrimitive.List,
2258
- {
2259
- className: cn(
2260
- "bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1",
2261
- className
2262
- ),
2263
- ref,
2264
- ...props
2265
- }
2266
- ));
2267
- TabsList.displayName = TabsPrimitive.List.displayName;
2268
- var TabsTrigger = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2269
- TabsPrimitive.Trigger,
2270
- {
2271
- className: cn(
2272
- "ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow",
2273
- className
2274
- ),
2275
- ref,
2276
- ...props
2277
- }
2278
- ));
2279
- TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
2280
- var TabsContent = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2281
- TabsPrimitive.Content,
2282
- {
2283
- className: cn(
2284
- "ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",
2285
- className
2286
- ),
2287
- ref,
2288
- ...props
2289
- }
2290
- ));
2291
- TabsContent.displayName = TabsPrimitive.Content.displayName;
2292
- var Textarea = React9.forwardRef(({ className, ...props }, ref) => {
2293
- return /* @__PURE__ */ jsx(
2294
- "textarea",
2295
- {
2296
- className: cn(
2297
- "border-input placeholder:text-muted-foreground focus-visible:ring-ring flex min-h-[60px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-sm focus-visible:ring-1 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
2298
- className
2299
- ),
2300
- ref,
2301
- ...props
2302
- }
2303
- );
2304
- });
2305
- Textarea.displayName = "Textarea";
2306
- var Toaster = () => {
2307
- return /* @__PURE__ */ jsx(Toaster$1, {});
2308
- };
2309
- var toggleVariants = cva(
2310
- "inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
2311
- {
2312
- variants: {
2313
- variant: {
2314
- default: "bg-transparent",
2315
- outline: "border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground"
2316
- },
2317
- size: {
2318
- default: "h-9 px-2 min-w-9",
2319
- sm: "h-8 px-1.5 min-w-8",
2320
- lg: "h-10 px-2.5 min-w-10"
2321
- }
2322
- },
2323
- defaultVariants: {
2324
- variant: "default",
2325
- size: "default"
2326
- }
2327
- }
2328
- );
2329
- var Toggle = React9.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx(
2330
- TogglePrimitive.Root,
2331
- {
2332
- className: cn(toggleVariants({ variant, size, className })),
2333
- ref,
2334
- ...props
2335
- }
2336
- ));
2337
- Toggle.displayName = TogglePrimitive.Root.displayName;
2338
- var TooltipProvider = TooltipPrimitive.Provider;
2339
- var Tooltip = TooltipPrimitive.Root;
2340
- var TooltipTrigger = TooltipPrimitive.Trigger;
2341
- var TooltipContent = React9.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx(
2342
- TooltipPrimitive.Content,
2343
- {
2344
- className: cn(
2345
- "bg-primary text-primary-foreground 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 origin-[--radix-tooltip-content-transform-origin] overflow-hidden rounded-md px-3 py-1.5 text-xs",
2346
- className
2347
- ),
2348
- ref,
2349
- sideOffset,
2350
- ...props
2351
- }
2352
- ) }));
2353
- TooltipContent.displayName = TooltipPrimitive.Content.displayName;
2354
- function useAutoFocus({ ref, enabled = true }) {
2355
- const isMounted = useIsMounted();
2356
- useLayoutEffect(() => {
2357
- if (!enabled || isMounted()) return;
2358
- ref.current?.focus();
2359
- }, [ref, enabled, isMounted]);
2360
- }
2361
- var MOBILE_BREAKPOINT = 768;
2362
- function useIsMobile() {
2363
- const [isMobile, setIsMobile] = React9.useState(void 0);
2364
- React9.useEffect(() => {
2365
- const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
2366
- const onChange = () => {
2367
- setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
2368
- };
2369
- mql.addEventListener("change", onChange);
2370
- setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
2371
- return () => mql.removeEventListener("change", onChange);
2372
- }, []);
2373
- return !!isMobile;
2374
- }
2375
-
2376
- // src/hooks/use-shortcuts.ts
2377
- function isModifierMatch(event, modifiers = {}) {
2378
- if (Array.isArray(modifiers))
2379
- return modifiers.some((modifier) => isModifierMatch(event, modifier));
2380
- return event.metaKey === !!modifiers.meta && event.shiftKey === !!modifiers.shift && event.altKey === !!modifiers.alt && event.ctrlKey === !!modifiers.ctrl;
2381
- }
2382
- function isEnabled(shortcut) {
2383
- if (shortcut.enabled === void 0) return true;
2384
- return typeof shortcut.enabled === "function" ? shortcut.enabled() : shortcut.enabled;
2385
- }
2386
- function useShortcuts(definitions) {
2387
- function executeShortcut(event) {
2388
- const matchedShortcut = definitions.find(
2389
- (shortcut) => isEnabled(shortcut) && shortcut.keys.includes(event.key) && isModifierMatch(event, shortcut.modifiers)
2390
- );
2391
- if (!matchedShortcut) return false;
2392
- if (matchedShortcut.preventDefault !== false) event.preventDefault();
2393
- matchedShortcut.handler(event);
2394
- return true;
2395
- }
2396
- return {
2397
- executeShortcut
2398
- };
2399
- }
2400
- var id = 0;
2401
- function useUid(prefix) {
2402
- const [uid] = useState(() => `tui-${prefix}:${++id}`);
2403
- return uid;
2404
- }
2405
-
2406
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, Avatar, AvatarFallback, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, CalendarDayButton, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, Checkbox, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, HoverCard, HoverCardContent, HoverCardTrigger, Input, Label3 as Label, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, RadioGroup4 as RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator5 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, Slider, Spinner, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Toggle, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cn, navigationMenuTriggerStyle, toggleVariants, useAutoFocus, useFormField, useIsMobile, useShortcuts, useUid };
2407
- //# sourceMappingURL=index.js.map
2408
- //# sourceMappingURL=index.js.map