@windrun-huaiin/base-ui 3.3.0 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/index.d.mts +2 -38
  2. package/dist/index.d.ts +2 -38
  3. package/dist/index.js +187 -4263
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +184 -4037
  6. package/dist/index.mjs.map +1 -1
  7. package/dist/ui/index.d.mts +37 -711
  8. package/dist/ui/index.d.ts +37 -711
  9. package/dist/ui/index.js +172 -4248
  10. package/dist/ui/index.js.map +1 -1
  11. package/dist/ui/index.mjs +171 -4024
  12. package/dist/ui/index.mjs.map +1 -1
  13. package/package.json +2 -36
  14. package/src/ui/index.ts +2 -48
  15. package/src/ui/accordion.tsx +0 -58
  16. package/src/ui/alert.tsx +0 -59
  17. package/src/ui/aspect-ratio.tsx +0 -7
  18. package/src/ui/avatar.tsx +0 -50
  19. package/src/ui/badge.tsx +0 -36
  20. package/src/ui/breadcrumb.tsx +0 -115
  21. package/src/ui/calendar.tsx +0 -66
  22. package/src/ui/card.tsx +0 -79
  23. package/src/ui/carousel.tsx +0 -262
  24. package/src/ui/chart.tsx +0 -365
  25. package/src/ui/checkbox.tsx +0 -30
  26. package/src/ui/collapsible.tsx +0 -11
  27. package/src/ui/command.tsx +0 -153
  28. package/src/ui/context-menu.tsx +0 -200
  29. package/src/ui/dialog.tsx +0 -122
  30. package/src/ui/drawer.tsx +0 -118
  31. package/src/ui/form.tsx +0 -178
  32. package/src/ui/hover-card.tsx +0 -29
  33. package/src/ui/input-otp.tsx +0 -71
  34. package/src/ui/input.tsx +0 -22
  35. package/src/ui/menubar.tsx +0 -236
  36. package/src/ui/navigation-menu.tsx +0 -128
  37. package/src/ui/pagination.tsx +0 -117
  38. package/src/ui/popover.tsx +0 -31
  39. package/src/ui/progress.tsx +0 -28
  40. package/src/ui/radio-group.tsx +0 -44
  41. package/src/ui/resizable.tsx +0 -45
  42. package/src/ui/scroll-area.tsx +0 -48
  43. package/src/ui/select.tsx +0 -160
  44. package/src/ui/separator.tsx +0 -31
  45. package/src/ui/sheet.tsx +0 -140
  46. package/src/ui/sidebar.tsx +0 -763
  47. package/src/ui/skeleton.tsx +0 -15
  48. package/src/ui/slider.tsx +0 -28
  49. package/src/ui/sonner.tsx +0 -31
  50. package/src/ui/switch.tsx +0 -29
  51. package/src/ui/table.tsx +0 -117
  52. package/src/ui/tabs.tsx +0 -55
  53. package/src/ui/textarea.tsx +0 -22
  54. package/src/ui/toast.tsx +0 -129
  55. package/src/ui/toaster.tsx +0 -35
  56. package/src/ui/toggle-group.tsx +0 -61
  57. package/src/ui/toggle.tsx +0 -45
  58. package/src/ui/tooltip.tsx +0 -30
  59. package/src/ui/use-mobile.tsx +0 -19
  60. package/src/ui/use-toast.ts +0 -194
package/dist/ui/index.js CHANGED
@@ -59,12 +59,6 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
59
59
  // src/ui/index.ts
60
60
  var ui_exports = {};
61
61
  __export(ui_exports, {
62
- Accordion: () => Accordion,
63
- AccordionContent: () => AccordionContent,
64
- AccordionItem: () => AccordionItem,
65
- AccordionTrigger: () => AccordionTrigger,
66
- Alert: () => Alert,
67
- AlertDescription: () => AlertDescription,
68
62
  AlertDialog: () => AlertDialog,
69
63
  AlertDialogAction: () => AlertDialogAction,
70
64
  AlertDialogCancel: () => AlertDialogCancel,
@@ -76,86 +70,7 @@ __export(ui_exports, {
76
70
  AlertDialogPortal: () => AlertDialogPortal,
77
71
  AlertDialogTitle: () => AlertDialogTitle,
78
72
  AlertDialogTrigger: () => AlertDialogTrigger,
79
- AlertTitle: () => AlertTitle,
80
- AspectRatio: () => AspectRatio,
81
- Avatar: () => Avatar,
82
- AvatarFallback: () => AvatarFallback,
83
- AvatarImage: () => AvatarImage,
84
- Badge: () => Badge,
85
- Breadcrumb: () => Breadcrumb,
86
- BreadcrumbEllipsis: () => BreadcrumbEllipsis,
87
- BreadcrumbItem: () => BreadcrumbItem,
88
- BreadcrumbLink: () => BreadcrumbLink,
89
- BreadcrumbList: () => BreadcrumbList,
90
- BreadcrumbPage: () => BreadcrumbPage,
91
- BreadcrumbSeparator: () => BreadcrumbSeparator,
92
73
  Button: () => Button,
93
- Calendar: () => Calendar,
94
- Card: () => Card,
95
- CardContent: () => CardContent,
96
- CardDescription: () => CardDescription,
97
- CardFooter: () => CardFooter,
98
- CardHeader: () => CardHeader,
99
- CardTitle: () => CardTitle,
100
- Carousel: () => Carousel,
101
- CarouselContent: () => CarouselContent,
102
- CarouselItem: () => CarouselItem,
103
- CarouselNext: () => CarouselNext,
104
- CarouselPrevious: () => CarouselPrevious,
105
- ChartContainer: () => ChartContainer,
106
- ChartLegend: () => ChartLegend,
107
- ChartLegendContent: () => ChartLegendContent,
108
- ChartStyle: () => ChartStyle,
109
- ChartTooltip: () => ChartTooltip,
110
- ChartTooltipContent: () => ChartTooltipContent,
111
- Checkbox: () => Checkbox,
112
- Collapsible: () => Collapsible,
113
- CollapsibleContent: () => CollapsibleContent2,
114
- CollapsibleTrigger: () => CollapsibleTrigger2,
115
- Command: () => Command,
116
- CommandDialog: () => CommandDialog,
117
- CommandEmpty: () => CommandEmpty,
118
- CommandGroup: () => CommandGroup,
119
- CommandInput: () => CommandInput,
120
- CommandItem: () => CommandItem,
121
- CommandList: () => CommandList,
122
- CommandSeparator: () => CommandSeparator,
123
- CommandShortcut: () => CommandShortcut,
124
- ContextMenu: () => ContextMenu,
125
- ContextMenuCheckboxItem: () => ContextMenuCheckboxItem,
126
- ContextMenuContent: () => ContextMenuContent,
127
- ContextMenuGroup: () => ContextMenuGroup,
128
- ContextMenuItem: () => ContextMenuItem,
129
- ContextMenuLabel: () => ContextMenuLabel,
130
- ContextMenuPortal: () => ContextMenuPortal,
131
- ContextMenuRadioGroup: () => ContextMenuRadioGroup,
132
- ContextMenuRadioItem: () => ContextMenuRadioItem,
133
- ContextMenuSeparator: () => ContextMenuSeparator,
134
- ContextMenuShortcut: () => ContextMenuShortcut,
135
- ContextMenuSub: () => ContextMenuSub,
136
- ContextMenuSubContent: () => ContextMenuSubContent,
137
- ContextMenuSubTrigger: () => ContextMenuSubTrigger,
138
- ContextMenuTrigger: () => ContextMenuTrigger,
139
- Dialog: () => Dialog,
140
- DialogClose: () => DialogClose,
141
- DialogContent: () => DialogContent,
142
- DialogDescription: () => DialogDescription,
143
- DialogFooter: () => DialogFooter,
144
- DialogHeader: () => DialogHeader,
145
- DialogOverlay: () => DialogOverlay,
146
- DialogPortal: () => DialogPortal,
147
- DialogTitle: () => DialogTitle,
148
- DialogTrigger: () => DialogTrigger,
149
- Drawer: () => Drawer,
150
- DrawerClose: () => DrawerClose,
151
- DrawerContent: () => DrawerContent,
152
- DrawerDescription: () => DrawerDescription,
153
- DrawerFooter: () => DrawerFooter,
154
- DrawerHeader: () => DrawerHeader,
155
- DrawerOverlay: () => DrawerOverlay,
156
- DrawerPortal: () => DrawerPortal,
157
- DrawerTitle: () => DrawerTitle,
158
- DrawerTrigger: () => DrawerTrigger,
159
74
  DropdownMenu: () => DropdownMenu,
160
75
  DropdownMenuCheckboxItem: () => DropdownMenuCheckboxItem,
161
76
  DropdownMenuContent: () => DropdownMenuContent,
@@ -171,157 +86,27 @@ __export(ui_exports, {
171
86
  DropdownMenuSubContent: () => DropdownMenuSubContent,
172
87
  DropdownMenuSubTrigger: () => DropdownMenuSubTrigger,
173
88
  DropdownMenuTrigger: () => DropdownMenuTrigger,
174
- Form: () => Form,
175
- FormControl: () => FormControl,
176
- FormDescription: () => FormDescription,
177
- FormField: () => FormField,
178
- FormItem: () => FormItem,
179
- FormLabel: () => FormLabel,
180
- FormMessage: () => FormMessage,
181
- HoverCard: () => HoverCard,
182
- HoverCardContent: () => HoverCardContent,
183
- HoverCardTrigger: () => HoverCardTrigger,
184
- Input: () => Input,
185
- InputOTP: () => InputOTP,
186
- InputOTPGroup: () => InputOTPGroup,
187
- InputOTPSeparator: () => InputOTPSeparator,
188
- InputOTPSlot: () => InputOTPSlot,
189
- Label: () => Label3,
89
+ Label: () => Label2,
190
90
  LanguageButton: () => LanguageButton,
191
- Menubar: () => Menubar,
192
- MenubarCheckboxItem: () => MenubarCheckboxItem,
193
- MenubarContent: () => MenubarContent,
194
- MenubarGroup: () => MenubarGroup,
195
- MenubarItem: () => MenubarItem,
196
- MenubarLabel: () => MenubarLabel,
197
- MenubarMenu: () => MenubarMenu,
198
- MenubarPortal: () => MenubarPortal,
199
- MenubarRadioGroup: () => MenubarRadioGroup,
200
- MenubarRadioItem: () => MenubarRadioItem,
201
- MenubarSeparator: () => MenubarSeparator,
202
- MenubarShortcut: () => MenubarShortcut,
203
- MenubarSub: () => MenubarSub,
204
- MenubarSubContent: () => MenubarSubContent,
205
- MenubarSubTrigger: () => MenubarSubTrigger,
206
- MenubarTrigger: () => MenubarTrigger,
207
- NavigationMenu: () => NavigationMenu,
208
- NavigationMenuContent: () => NavigationMenuContent,
209
- NavigationMenuIndicator: () => NavigationMenuIndicator,
210
- NavigationMenuItem: () => NavigationMenuItem,
211
- NavigationMenuLink: () => NavigationMenuLink,
212
- NavigationMenuList: () => NavigationMenuList,
213
- NavigationMenuTrigger: () => NavigationMenuTrigger,
214
- NavigationMenuViewport: () => NavigationMenuViewport,
215
- Pagination: () => Pagination,
216
- PaginationContent: () => PaginationContent,
217
- PaginationEllipsis: () => PaginationEllipsis,
218
- PaginationItem: () => PaginationItem,
219
- PaginationLink: () => PaginationLink,
220
- PaginationNext: () => PaginationNext,
221
- PaginationPrevious: () => PaginationPrevious,
222
- Popover: () => Popover,
223
- PopoverContent: () => PopoverContent,
224
- PopoverTrigger: () => PopoverTrigger,
225
- Progress: () => Progress,
226
- RadioGroup: () => RadioGroup4,
227
- RadioGroupItem: () => RadioGroupItem,
228
- ResizableHandle: () => ResizableHandle,
229
- ResizablePanel: () => ResizablePanel,
230
- ResizablePanelGroup: () => ResizablePanelGroup,
231
- ScrollArea: () => ScrollArea,
232
- ScrollBar: () => ScrollBar,
233
- Select: () => Select,
234
- SelectContent: () => SelectContent,
235
- SelectGroup: () => SelectGroup,
236
- SelectItem: () => SelectItem,
237
- SelectLabel: () => SelectLabel,
238
- SelectScrollDownButton: () => SelectScrollDownButton,
239
- SelectScrollUpButton: () => SelectScrollUpButton,
240
- SelectSeparator: () => SelectSeparator,
241
- SelectTrigger: () => SelectTrigger,
242
- SelectValue: () => SelectValue,
243
- Separator: () => Separator5,
244
- Sheet: () => Sheet,
245
- SheetClose: () => SheetClose,
246
- SheetContent: () => SheetContent,
247
- SheetDescription: () => SheetDescription,
248
- SheetFooter: () => SheetFooter,
249
- SheetHeader: () => SheetHeader,
250
- SheetOverlay: () => SheetOverlay,
251
- SheetPortal: () => SheetPortal,
252
- SheetTitle: () => SheetTitle,
253
- SheetTrigger: () => SheetTrigger,
254
- Sidebar: () => Sidebar,
255
- SidebarContent: () => SidebarContent,
256
- SidebarFooter: () => SidebarFooter,
257
- SidebarGroup: () => SidebarGroup,
258
- SidebarGroupAction: () => SidebarGroupAction,
259
- SidebarGroupContent: () => SidebarGroupContent,
260
- SidebarGroupLabel: () => SidebarGroupLabel,
261
- SidebarHeader: () => SidebarHeader,
262
- SidebarInput: () => SidebarInput,
263
- SidebarInset: () => SidebarInset,
264
- SidebarMenu: () => SidebarMenu,
265
- SidebarMenuAction: () => SidebarMenuAction,
266
- SidebarMenuBadge: () => SidebarMenuBadge,
267
- SidebarMenuButton: () => SidebarMenuButton,
268
- SidebarMenuItem: () => SidebarMenuItem,
269
- SidebarMenuSkeleton: () => SidebarMenuSkeleton,
270
- SidebarMenuSub: () => SidebarMenuSub,
271
- SidebarMenuSubButton: () => SidebarMenuSubButton,
272
- SidebarMenuSubItem: () => SidebarMenuSubItem,
273
- SidebarProvider: () => SidebarProvider,
274
- SidebarRail: () => SidebarRail,
275
- SidebarSeparator: () => SidebarSeparator,
276
- SidebarTrigger: () => SidebarTrigger,
277
- Skeleton: () => Skeleton,
278
- Slider: () => Slider,
279
- SonnerToaster: () => Toaster,
280
- Switch: () => Switch,
281
- Table: () => Table,
282
- TableBody: () => TableBody,
283
- TableCaption: () => TableCaption,
284
- TableCell: () => TableCell,
285
- TableFooter: () => TableFooter,
286
- TableHead: () => TableHead,
287
- TableHeader: () => TableHeader,
288
- TableRow: () => TableRow,
289
- Tabs: () => Tabs,
290
- TabsContent: () => TabsContent,
291
- TabsList: () => TabsList,
292
- TabsTrigger: () => TabsTrigger,
293
- Textarea: () => Textarea,
294
- Toast: () => Toast,
295
- ToastAction: () => ToastAction,
296
- ToastClose: () => ToastClose,
297
- ToastDescription: () => ToastDescription,
298
- ToastProvider: () => ToastProvider,
299
- ToastTitle: () => ToastTitle,
300
- ToastToaster: () => Toaster2,
301
- ToastViewport: () => ToastViewport,
302
- Toggle: () => Toggle,
303
- ToggleGroup: () => ToggleGroup,
304
- ToggleGroupItem: () => ToggleGroupItem,
305
- Tooltip: () => Tooltip2,
306
- TooltipContent: () => TooltipContent,
307
- TooltipProvider: () => TooltipProvider,
308
- TooltipTrigger: () => TooltipTrigger,
309
- badgeVariants: () => badgeVariants,
310
- buttonVariants: () => buttonVariants,
311
- navigationMenuTriggerStyle: () => navigationMenuTriggerStyle,
312
- reducer: () => reducer,
313
- toast: () => toast,
314
- toggleVariants: () => toggleVariants,
315
- useFormField: () => useFormField,
316
- useIsMobile: () => useIsMobile,
317
- useSidebar: () => useSidebar,
318
- useToast: () => useToast
91
+ buttonVariants: () => buttonVariants
319
92
  });
320
93
  module.exports = __toCommonJS(ui_exports);
321
94
 
322
- // src/ui/accordion.tsx
95
+ // src/ui/alert-dialog.tsx
96
+ var React31 = __toESM(require("react"));
97
+ var AlertDialogPrimitive = __toESM(require("@radix-ui/react-alert-dialog"));
98
+
99
+ // ../lib/src/utils.ts
100
+ var import_clsx = require("clsx");
101
+ var import_tailwind_merge = require("tailwind-merge");
102
+ function cn(...inputs) {
103
+ return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
104
+ }
105
+
106
+ // src/ui/button.tsx
323
107
  var React30 = __toESM(require("react"));
324
- var AccordionPrimitive = __toESM(require("@radix-ui/react-accordion"));
108
+ var import_react_slot = require("@radix-ui/react-slot");
109
+ var import_class_variance_authority = require("class-variance-authority");
325
110
 
326
111
  // src/assets/github.tsx
327
112
  var import_react = __toESM(require("react"));
@@ -1509,69 +1294,8 @@ for (const [iconName, IconComponent] of Object.entries(BUILTIN_ICON_COMPONENTS))
1509
1294
  var wrappedBuiltinIconsPart = tempWrappedBuiltinIcons;
1510
1295
  var globalLucideIcons = __spreadValues(__spreadValues({}, styledLimitedIconsPart), wrappedBuiltinIconsPart);
1511
1296
 
1512
- // ../lib/src/utils.ts
1513
- var import_clsx = require("clsx");
1514
- var import_tailwind_merge = require("tailwind-merge");
1515
- function cn(...inputs) {
1516
- return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
1517
- }
1518
-
1519
- // src/ui/accordion.tsx
1520
- var import_jsx_runtime30 = require("react/jsx-runtime");
1521
- var Accordion = AccordionPrimitive.Root;
1522
- var AccordionItem = React30.forwardRef((_a, ref) => {
1523
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1524
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1525
- AccordionPrimitive.Item,
1526
- __spreadValues({
1527
- ref,
1528
- className: cn("border-b", className)
1529
- }, props)
1530
- );
1531
- });
1532
- AccordionItem.displayName = "AccordionItem";
1533
- var AccordionTrigger = React30.forwardRef((_a, ref) => {
1534
- var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
1535
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
1536
- AccordionPrimitive.Trigger,
1537
- __spreadProps(__spreadValues({
1538
- ref,
1539
- className: cn(
1540
- "flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
1541
- className
1542
- )
1543
- }, props), {
1544
- children: [
1545
- children,
1546
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(globalLucideIcons.ChevronDown, { className: "h-4 w-4 shrink-0 transition-transform duration-200" })
1547
- ]
1548
- })
1549
- ) });
1550
- });
1551
- AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
1552
- var AccordionContent = React30.forwardRef((_a, ref) => {
1553
- var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
1554
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1555
- AccordionPrimitive.Content,
1556
- __spreadProps(__spreadValues({
1557
- ref,
1558
- className: "overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down"
1559
- }, props), {
1560
- children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: cn("pb-4 pt-0", className), children })
1561
- })
1562
- );
1563
- });
1564
- AccordionContent.displayName = AccordionPrimitive.Content.displayName;
1565
-
1566
- // src/ui/alert-dialog.tsx
1567
- var React32 = __toESM(require("react"));
1568
- var AlertDialogPrimitive = __toESM(require("@radix-ui/react-alert-dialog"));
1569
-
1570
1297
  // src/ui/button.tsx
1571
- var React31 = __toESM(require("react"));
1572
- var import_react_slot = require("@radix-ui/react-slot");
1573
- var import_class_variance_authority = require("class-variance-authority");
1574
- var import_jsx_runtime31 = require("react/jsx-runtime");
1298
+ var import_jsx_runtime30 = require("react/jsx-runtime");
1575
1299
  var buttonVariants = (0, import_class_variance_authority.cva)(
1576
1300
  "inline-flex items-center gap-2 whitespace-nowrap rounded-md text-sm ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
1577
1301
  {
@@ -1597,12 +1321,12 @@ var buttonVariants = (0, import_class_variance_authority.cva)(
1597
1321
  }
1598
1322
  }
1599
1323
  );
1600
- var Button = React31.forwardRef(
1324
+ var Button = React30.forwardRef(
1601
1325
  (_a, ref) => {
1602
1326
  var _b = _a, { className, variant, size, asChild = false, loading = false, children } = _b, props = __objRest(_b, ["className", "variant", "size", "asChild", "loading", "children"]);
1603
1327
  const Comp = asChild ? import_react_slot.Slot : "button";
1604
1328
  if (asChild) {
1605
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1329
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1606
1330
  Comp,
1607
1331
  __spreadProps(__spreadValues({
1608
1332
  className: cn(buttonVariants({ variant, size, className })),
@@ -1613,7 +1337,7 @@ var Button = React31.forwardRef(
1613
1337
  })
1614
1338
  );
1615
1339
  }
1616
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
1340
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
1617
1341
  Comp,
1618
1342
  __spreadProps(__spreadValues({
1619
1343
  className: cn(buttonVariants({ variant, size, className })),
@@ -1622,7 +1346,7 @@ var Button = React31.forwardRef(
1622
1346
  }, props), {
1623
1347
  children: [
1624
1348
  children,
1625
- loading && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(globalLucideIcons.Loader2, { className: "ml-2 h-4 w-4 animate-spin" })
1349
+ loading && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(globalLucideIcons.Loader2, { className: "ml-2 h-4 w-4 animate-spin" })
1626
1350
  ]
1627
1351
  })
1628
1352
  );
@@ -1631,13 +1355,13 @@ var Button = React31.forwardRef(
1631
1355
  Button.displayName = "Button";
1632
1356
 
1633
1357
  // src/ui/alert-dialog.tsx
1634
- var import_jsx_runtime32 = require("react/jsx-runtime");
1358
+ var import_jsx_runtime31 = require("react/jsx-runtime");
1635
1359
  var AlertDialog = AlertDialogPrimitive.Root;
1636
1360
  var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
1637
1361
  var AlertDialogPortal = AlertDialogPrimitive.Portal;
1638
- var AlertDialogOverlay = React32.forwardRef((_a, ref) => {
1362
+ var AlertDialogOverlay = React31.forwardRef((_a, ref) => {
1639
1363
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1640
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1364
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1641
1365
  AlertDialogPrimitive.Overlay,
1642
1366
  __spreadProps(__spreadValues({
1643
1367
  className: cn(
@@ -1650,11 +1374,11 @@ var AlertDialogOverlay = React32.forwardRef((_a, ref) => {
1650
1374
  );
1651
1375
  });
1652
1376
  AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
1653
- var AlertDialogContent = React32.forwardRef((_a, ref) => {
1377
+ var AlertDialogContent = React31.forwardRef((_a, ref) => {
1654
1378
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1655
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(AlertDialogPortal, { children: [
1656
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(AlertDialogOverlay, {}),
1657
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1379
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(AlertDialogPortal, { children: [
1380
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(AlertDialogOverlay, {}),
1381
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1658
1382
  AlertDialogPrimitive.Content,
1659
1383
  __spreadValues({
1660
1384
  ref,
@@ -1673,7 +1397,7 @@ var AlertDialogHeader = (_a) => {
1673
1397
  } = _b, props = __objRest(_b, [
1674
1398
  "className"
1675
1399
  ]);
1676
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1400
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1677
1401
  "div",
1678
1402
  __spreadValues({
1679
1403
  className: cn(
@@ -1690,7 +1414,7 @@ var AlertDialogFooter = (_a) => {
1690
1414
  } = _b, props = __objRest(_b, [
1691
1415
  "className"
1692
1416
  ]);
1693
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1417
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1694
1418
  "div",
1695
1419
  __spreadValues({
1696
1420
  className: cn(
@@ -1701,9 +1425,9 @@ var AlertDialogFooter = (_a) => {
1701
1425
  );
1702
1426
  };
1703
1427
  AlertDialogFooter.displayName = "AlertDialogFooter";
1704
- var AlertDialogTitle = React32.forwardRef((_a, ref) => {
1428
+ var AlertDialogTitle = React31.forwardRef((_a, ref) => {
1705
1429
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1706
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1430
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1707
1431
  AlertDialogPrimitive.Title,
1708
1432
  __spreadValues({
1709
1433
  ref,
@@ -1712,9 +1436,9 @@ var AlertDialogTitle = React32.forwardRef((_a, ref) => {
1712
1436
  );
1713
1437
  });
1714
1438
  AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
1715
- var AlertDialogDescription = React32.forwardRef((_a, ref) => {
1439
+ var AlertDialogDescription = React31.forwardRef((_a, ref) => {
1716
1440
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1717
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1441
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1718
1442
  AlertDialogPrimitive.Description,
1719
1443
  __spreadValues({
1720
1444
  ref,
@@ -1723,9 +1447,9 @@ var AlertDialogDescription = React32.forwardRef((_a, ref) => {
1723
1447
  );
1724
1448
  });
1725
1449
  AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
1726
- var AlertDialogAction = React32.forwardRef((_a, ref) => {
1450
+ var AlertDialogAction = React31.forwardRef((_a, ref) => {
1727
1451
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1728
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1452
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1729
1453
  AlertDialogPrimitive.Action,
1730
1454
  __spreadValues({
1731
1455
  ref,
@@ -1734,9 +1458,9 @@ var AlertDialogAction = React32.forwardRef((_a, ref) => {
1734
1458
  );
1735
1459
  });
1736
1460
  AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
1737
- var AlertDialogCancel = React32.forwardRef((_a, ref) => {
1461
+ var AlertDialogCancel = React31.forwardRef((_a, ref) => {
1738
1462
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1739
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1463
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1740
1464
  AlertDialogPrimitive.Cancel,
1741
1465
  __spreadValues({
1742
1466
  ref,
@@ -1750,3788 +1474,209 @@ var AlertDialogCancel = React32.forwardRef((_a, ref) => {
1750
1474
  });
1751
1475
  AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
1752
1476
 
1753
- // src/ui/alert.tsx
1754
- var React33 = __toESM(require("react"));
1755
- var import_class_variance_authority2 = require("class-variance-authority");
1756
- var import_jsx_runtime33 = require("react/jsx-runtime");
1757
- var alertVariants = (0, import_class_variance_authority2.cva)(
1758
- "relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",
1759
- {
1760
- variants: {
1761
- variant: {
1762
- default: "bg-background text-foreground",
1763
- destructive: "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"
1764
- }
1765
- },
1766
- defaultVariants: {
1767
- variant: "default"
1768
- }
1769
- }
1770
- );
1771
- var Alert = React33.forwardRef((_a, ref) => {
1772
- var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
1773
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1774
- "div",
1775
- __spreadValues({
1477
+ // src/ui/dropdown-menu.tsx
1478
+ var React32 = __toESM(require("react"));
1479
+ var DropdownMenuPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"));
1480
+ var import_jsx_runtime32 = require("react/jsx-runtime");
1481
+ var DropdownMenu = DropdownMenuPrimitive.Root;
1482
+ var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
1483
+ var DropdownMenuGroup = DropdownMenuPrimitive.Group;
1484
+ var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
1485
+ var DropdownMenuSub = DropdownMenuPrimitive.Sub;
1486
+ var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
1487
+ var DropdownMenuSubTrigger = React32.forwardRef((_a, ref) => {
1488
+ var _b = _a, { className, inset, children } = _b, props = __objRest(_b, ["className", "inset", "children"]);
1489
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
1490
+ DropdownMenuPrimitive.SubTrigger,
1491
+ __spreadProps(__spreadValues({
1776
1492
  ref,
1777
- role: "alert",
1778
- className: cn(alertVariants({ variant }), className)
1779
- }, props)
1493
+ className: cn(
1494
+ "flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
1495
+ inset && "pl-8",
1496
+ className
1497
+ )
1498
+ }, props), {
1499
+ children: [
1500
+ children,
1501
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(globalLucideIcons.ChevronRight, { className: "ml-auto" })
1502
+ ]
1503
+ })
1780
1504
  );
1781
1505
  });
1782
- Alert.displayName = "Alert";
1783
- var AlertTitle = React33.forwardRef((_a, ref) => {
1506
+ DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
1507
+ var DropdownMenuSubContent = React32.forwardRef((_a, ref) => {
1784
1508
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1785
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1786
- "h5",
1509
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1510
+ DropdownMenuPrimitive.SubContent,
1787
1511
  __spreadValues({
1788
1512
  ref,
1789
- className: cn("mb-1 font-medium leading-none tracking-tight", className)
1513
+ className: cn(
1514
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
1515
+ className
1516
+ )
1790
1517
  }, props)
1791
1518
  );
1792
1519
  });
1793
- AlertTitle.displayName = "AlertTitle";
1794
- var AlertDescription = React33.forwardRef((_a, ref) => {
1795
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1796
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1797
- "div",
1520
+ DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
1521
+ var DropdownMenuContent = React32.forwardRef((_a, ref) => {
1522
+ var _b = _a, { className, sideOffset = 4 } = _b, props = __objRest(_b, ["className", "sideOffset"]);
1523
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1524
+ DropdownMenuPrimitive.Content,
1798
1525
  __spreadValues({
1799
1526
  ref,
1800
- className: cn("text-sm [&_p]:leading-relaxed", className)
1527
+ sideOffset,
1528
+ className: cn(
1529
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
1530
+ className
1531
+ )
1801
1532
  }, props)
1802
- );
1533
+ ) });
1803
1534
  });
1804
- AlertDescription.displayName = "AlertDescription";
1805
-
1806
- // src/ui/aspect-ratio.tsx
1807
- var AspectRatioPrimitive = __toESM(require("@radix-ui/react-aspect-ratio"));
1808
- var AspectRatio = AspectRatioPrimitive.Root;
1809
-
1810
- // src/ui/avatar.tsx
1811
- var React34 = __toESM(require("react"));
1812
- var AvatarPrimitive = __toESM(require("@radix-ui/react-avatar"));
1813
- var import_jsx_runtime34 = require("react/jsx-runtime");
1814
- var Avatar = React34.forwardRef((_a, ref) => {
1815
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1816
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1817
- AvatarPrimitive.Root,
1535
+ DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
1536
+ var DropdownMenuItem = React32.forwardRef((_a, ref) => {
1537
+ var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
1538
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1539
+ DropdownMenuPrimitive.Item,
1818
1540
  __spreadValues({
1819
1541
  ref,
1820
1542
  className: cn(
1821
- "relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",
1543
+ "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
1544
+ inset && "pl-8",
1822
1545
  className
1823
1546
  )
1824
1547
  }, props)
1825
1548
  );
1826
1549
  });
1827
- Avatar.displayName = AvatarPrimitive.Root.displayName;
1828
- var AvatarImage = React34.forwardRef((_a, ref) => {
1829
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1830
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1831
- AvatarPrimitive.Image,
1832
- __spreadValues({
1550
+ DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
1551
+ var DropdownMenuCheckboxItem = React32.forwardRef((_a, ref) => {
1552
+ var _b = _a, { className, children, checked } = _b, props = __objRest(_b, ["className", "children", "checked"]);
1553
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
1554
+ DropdownMenuPrimitive.CheckboxItem,
1555
+ __spreadProps(__spreadValues({
1833
1556
  ref,
1834
- className: cn("aspect-square h-full w-full", className)
1835
- }, props)
1557
+ className: cn(
1558
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
1559
+ className
1560
+ ),
1561
+ checked
1562
+ }, props), {
1563
+ children: [
1564
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(globalLucideIcons.Check, { className: "h-4 w-4" }) }) }),
1565
+ children
1566
+ ]
1567
+ })
1836
1568
  );
1837
1569
  });
1838
- AvatarImage.displayName = AvatarPrimitive.Image.displayName;
1839
- var AvatarFallback = React34.forwardRef((_a, ref) => {
1840
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1841
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1842
- AvatarPrimitive.Fallback,
1843
- __spreadValues({
1570
+ DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
1571
+ var DropdownMenuRadioItem = React32.forwardRef((_a, ref) => {
1572
+ var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
1573
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
1574
+ DropdownMenuPrimitive.RadioItem,
1575
+ __spreadProps(__spreadValues({
1844
1576
  ref,
1845
1577
  className: cn(
1846
- "flex h-full w-full items-center justify-center rounded-full bg-muted",
1578
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
1847
1579
  className
1848
1580
  )
1849
- }, props)
1581
+ }, props), {
1582
+ children: [
1583
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(globalLucideIcons.Circle, { className: "h-2 w-2 fill-current" }) }) }),
1584
+ children
1585
+ ]
1586
+ })
1850
1587
  );
1851
1588
  });
1852
- AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
1853
-
1854
- // src/ui/badge.tsx
1855
- var import_class_variance_authority3 = require("class-variance-authority");
1856
- var import_jsx_runtime35 = require("react/jsx-runtime");
1857
- var badgeVariants = (0, import_class_variance_authority3.cva)(
1858
- "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2",
1859
- {
1860
- variants: {
1861
- variant: {
1862
- default: "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
1863
- secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
1864
- destructive: "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
1865
- outline: "text-foreground"
1866
- }
1867
- },
1868
- defaultVariants: {
1869
- variant: "default"
1870
- }
1871
- }
1872
- );
1873
- function Badge(_a) {
1874
- var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
1875
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", __spreadValues({ className: cn(badgeVariants({ variant }), className) }, props));
1876
- }
1877
-
1878
- // src/ui/breadcrumb.tsx
1879
- var React35 = __toESM(require("react"));
1880
- var import_react_slot2 = require("@radix-ui/react-slot");
1881
- var import_jsx_runtime36 = require("react/jsx-runtime");
1882
- var Breadcrumb = React35.forwardRef((_a, ref) => {
1883
- var props = __objRest(_a, []);
1884
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("nav", __spreadValues({ ref, "aria-label": "breadcrumb" }, props));
1885
- });
1886
- Breadcrumb.displayName = "Breadcrumb";
1887
- var BreadcrumbList = React35.forwardRef((_a, ref) => {
1888
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1889
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1890
- "ol",
1589
+ DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
1590
+ var DropdownMenuLabel = React32.forwardRef((_a, ref) => {
1591
+ var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
1592
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1593
+ DropdownMenuPrimitive.Label,
1891
1594
  __spreadValues({
1892
1595
  ref,
1893
1596
  className: cn(
1894
- "flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",
1597
+ "px-2 py-1.5 text-sm font-semibold",
1598
+ inset && "pl-8",
1895
1599
  className
1896
1600
  )
1897
1601
  }, props)
1898
1602
  );
1899
1603
  });
1900
- BreadcrumbList.displayName = "BreadcrumbList";
1901
- var BreadcrumbItem = React35.forwardRef((_a, ref) => {
1902
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1903
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1904
- "li",
1905
- __spreadValues({
1906
- ref,
1907
- className: cn("inline-flex items-center gap-1.5", className)
1908
- }, props)
1909
- );
1910
- });
1911
- BreadcrumbItem.displayName = "BreadcrumbItem";
1912
- var BreadcrumbLink = React35.forwardRef((_a, ref) => {
1913
- var _b = _a, { asChild, className } = _b, props = __objRest(_b, ["asChild", "className"]);
1914
- const Comp = asChild ? import_react_slot2.Slot : "a";
1915
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1916
- Comp,
1917
- __spreadValues({
1918
- ref,
1919
- className: cn("transition-colors hover:text-foreground", className)
1920
- }, props)
1921
- );
1922
- });
1923
- BreadcrumbLink.displayName = "BreadcrumbLink";
1924
- var BreadcrumbPage = React35.forwardRef((_a, ref) => {
1604
+ DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
1605
+ var DropdownMenuSeparator = React32.forwardRef((_a, ref) => {
1925
1606
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1926
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1927
- "span",
1607
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1608
+ DropdownMenuPrimitive.Separator,
1928
1609
  __spreadValues({
1929
1610
  ref,
1930
- role: "link",
1931
- "aria-disabled": "true",
1932
- "aria-current": "page",
1933
- className: cn("font-normal text-foreground", className)
1611
+ className: cn("-mx-1 my-1 h-px bg-muted", className)
1934
1612
  }, props)
1935
1613
  );
1936
1614
  });
1937
- BreadcrumbPage.displayName = "BreadcrumbPage";
1938
- var BreadcrumbSeparator = (_a) => {
1939
- var _b = _a, {
1940
- children,
1941
- className
1942
- } = _b, props = __objRest(_b, [
1943
- "children",
1944
- "className"
1945
- ]);
1946
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1947
- "li",
1948
- __spreadProps(__spreadValues({
1949
- role: "presentation",
1950
- "aria-hidden": "true",
1951
- className: cn("[&>svg]:w-3.5 [&>svg]:h-3.5", className)
1952
- }, props), {
1953
- children: children != null ? children : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(globalLucideIcons.ChevronRight, {})
1954
- })
1955
- );
1956
- };
1957
- BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
1958
- var BreadcrumbEllipsis = (_a) => {
1615
+ DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
1616
+ var DropdownMenuShortcut = (_a) => {
1959
1617
  var _b = _a, {
1960
1618
  className
1961
1619
  } = _b, props = __objRest(_b, [
1962
1620
  "className"
1963
1621
  ]);
1964
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
1622
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1965
1623
  "span",
1966
- __spreadProps(__spreadValues({
1967
- role: "presentation",
1968
- "aria-hidden": "true",
1969
- className: cn("flex h-9 w-9 items-center justify-center", className)
1970
- }, props), {
1971
- children: [
1972
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(globalLucideIcons.MoreHorizontal, { className: "h-4 w-4" }),
1973
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "sr-only", children: "More" })
1974
- ]
1975
- })
1976
- );
1977
- };
1978
- BreadcrumbEllipsis.displayName = "BreadcrumbElipssis";
1979
-
1980
- // src/ui/calendar.tsx
1981
- var import_react_day_picker = require("react-day-picker");
1982
- var import_jsx_runtime37 = require("react/jsx-runtime");
1983
- function Calendar(_a) {
1984
- var _b = _a, {
1985
- className,
1986
- classNames,
1987
- showOutsideDays = true
1988
- } = _b, props = __objRest(_b, [
1989
- "className",
1990
- "classNames",
1991
- "showOutsideDays"
1992
- ]);
1993
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1994
- import_react_day_picker.DayPicker,
1995
1624
  __spreadValues({
1996
- showOutsideDays,
1997
- className: cn("p-3", className),
1998
- classNames: __spreadValues({
1999
- months: "flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",
2000
- month: "space-y-4",
2001
- caption: "flex justify-center pt-1 relative items-center",
2002
- caption_label: "text-sm font-medium",
2003
- nav: "space-x-1 flex items-center",
2004
- nav_button: cn(
2005
- buttonVariants({ variant: "outline" }),
2006
- "h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"
2007
- ),
2008
- nav_button_previous: "absolute left-1",
2009
- nav_button_next: "absolute right-1",
2010
- table: "w-full border-collapse space-y-1",
2011
- head_row: "flex",
2012
- head_cell: "text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]",
2013
- row: "flex w-full mt-2",
2014
- cell: "h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20",
2015
- day: cn(
2016
- buttonVariants({ variant: "ghost" }),
2017
- "h-9 w-9 p-0 font-normal aria-selected:opacity-100"
2018
- ),
2019
- day_range_end: "day-range-end",
2020
- day_selected: "bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",
2021
- day_today: "bg-accent text-accent-foreground",
2022
- day_outside: "day-outside text-muted-foreground aria-selected:bg-accent/50 aria-selected:text-muted-foreground",
2023
- day_disabled: "text-muted-foreground opacity-50",
2024
- day_range_middle: "aria-selected:bg-accent aria-selected:text-accent-foreground",
2025
- day_hidden: "invisible"
2026
- }, classNames),
2027
- components: {
2028
- IconLeft: (_a2) => {
2029
- var _props = __objRest(_a2, []);
2030
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(globalLucideIcons.ChevronLeft, { className: "h-4 w-4" });
2031
- },
2032
- IconRight: (_b2) => {
2033
- var _props = __objRest(_b2, []);
2034
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(globalLucideIcons.ChevronRight, { className: "h-4 w-4" });
2035
- }
2036
- }
1625
+ className: cn("ml-auto text-xs tracking-widest opacity-60", className)
2037
1626
  }, props)
2038
1627
  );
2039
- }
2040
- Calendar.displayName = "Calendar";
1628
+ };
1629
+ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
2041
1630
 
2042
- // src/ui/card.tsx
2043
- var React36 = __toESM(require("react"));
2044
- var import_jsx_runtime38 = require("react/jsx-runtime");
2045
- var Card = React36.forwardRef((_a, ref) => {
2046
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2047
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2048
- "div",
2049
- __spreadValues({
2050
- ref,
2051
- className: cn(
2052
- "rounded-lg border bg-card text-card-foreground shadow-xs",
2053
- className
2054
- )
2055
- }, props)
2056
- );
2057
- });
2058
- Card.displayName = "Card";
2059
- var CardHeader = React36.forwardRef((_a, ref) => {
1631
+ // src/ui/label.tsx
1632
+ var React33 = __toESM(require("react"));
1633
+ var LabelPrimitive = __toESM(require("@radix-ui/react-label"));
1634
+ var import_class_variance_authority2 = require("class-variance-authority");
1635
+ var import_jsx_runtime33 = require("react/jsx-runtime");
1636
+ var labelVariants = (0, import_class_variance_authority2.cva)(
1637
+ "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
1638
+ );
1639
+ var Label2 = React33.forwardRef((_a, ref) => {
2060
1640
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2061
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2062
- "div",
1641
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1642
+ LabelPrimitive.Root,
2063
1643
  __spreadValues({
2064
1644
  ref,
2065
- className: cn("flex flex-col space-y-1.5 p-6", className)
1645
+ className: cn(labelVariants(), className)
2066
1646
  }, props)
2067
1647
  );
2068
1648
  });
2069
- CardHeader.displayName = "CardHeader";
2070
- var CardTitle = React36.forwardRef((_a, ref) => {
2071
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2072
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2073
- "div",
2074
- __spreadValues({
2075
- ref,
2076
- className: cn(
2077
- "text-2xl font-semibold leading-none tracking-tight",
2078
- className
2079
- )
2080
- }, props)
2081
- );
2082
- });
2083
- CardTitle.displayName = "CardTitle";
2084
- var CardDescription = React36.forwardRef((_a, ref) => {
2085
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2086
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2087
- "div",
2088
- __spreadValues({
2089
- ref,
2090
- className: cn("text-sm text-muted-foreground", className)
2091
- }, props)
2092
- );
2093
- });
2094
- CardDescription.displayName = "CardDescription";
2095
- var CardContent = React36.forwardRef((_a, ref) => {
2096
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2097
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", __spreadValues({ ref, className: cn("p-6 pt-0", className) }, props));
2098
- });
2099
- CardContent.displayName = "CardContent";
2100
- var CardFooter = React36.forwardRef((_a, ref) => {
2101
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2102
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2103
- "div",
2104
- __spreadValues({
2105
- ref,
2106
- className: cn("flex items-center p-6 pt-0", className)
2107
- }, props)
2108
- );
2109
- });
2110
- CardFooter.displayName = "CardFooter";
1649
+ Label2.displayName = LabelPrimitive.Root.displayName;
2111
1650
 
2112
- // src/ui/carousel.tsx
2113
- var React37 = __toESM(require("react"));
2114
- var import_embla_carousel_react = __toESM(require("embla-carousel-react"));
2115
- var import_jsx_runtime39 = require("react/jsx-runtime");
2116
- var CarouselContext = React37.createContext(null);
2117
- function useCarousel() {
2118
- const context = React37.useContext(CarouselContext);
2119
- if (!context) {
2120
- throw new Error("useCarousel must be used within a <Carousel />");
2121
- }
2122
- return context;
2123
- }
2124
- var Carousel = React37.forwardRef(
1651
+ // src/ui/language-button.tsx
1652
+ var React34 = __toESM(require("react"));
1653
+ var import_jsx_runtime34 = require("react/jsx-runtime");
1654
+ var LanguageButton = React34.forwardRef(
2125
1655
  (_a, ref) => {
2126
- var _b = _a, {
2127
- orientation = "horizontal",
2128
- opts,
2129
- setApi,
2130
- plugins,
2131
- className,
2132
- children
2133
- } = _b, props = __objRest(_b, [
2134
- "orientation",
2135
- "opts",
2136
- "setApi",
2137
- "plugins",
2138
- "className",
2139
- "children"
2140
- ]);
2141
- const [carouselRef, api] = (0, import_embla_carousel_react.default)(
2142
- __spreadProps(__spreadValues({}, opts), {
2143
- axis: orientation === "horizontal" ? "x" : "y"
2144
- }),
2145
- plugins
2146
- );
2147
- const [canScrollPrev, setCanScrollPrev] = React37.useState(false);
2148
- const [canScrollNext, setCanScrollNext] = React37.useState(false);
2149
- const onSelect = React37.useCallback((api2) => {
2150
- if (!api2) {
2151
- return;
2152
- }
2153
- setCanScrollPrev(api2.canScrollPrev());
2154
- setCanScrollNext(api2.canScrollNext());
2155
- }, []);
2156
- const scrollPrev = React37.useCallback(() => {
2157
- api == null ? void 0 : api.scrollPrev();
2158
- }, [api]);
2159
- const scrollNext = React37.useCallback(() => {
2160
- api == null ? void 0 : api.scrollNext();
2161
- }, [api]);
2162
- const handleKeyDown = React37.useCallback(
2163
- (event) => {
2164
- if (event.key === "ArrowLeft") {
2165
- event.preventDefault();
2166
- scrollPrev();
2167
- } else if (event.key === "ArrowRight") {
2168
- event.preventDefault();
2169
- scrollNext();
2170
- }
2171
- },
2172
- [scrollPrev, scrollNext]
2173
- );
2174
- React37.useEffect(() => {
2175
- if (!api || !setApi) {
2176
- return;
2177
- }
2178
- setApi(api);
2179
- }, [api, setApi]);
2180
- React37.useEffect(() => {
2181
- if (!api) {
2182
- return;
2183
- }
2184
- onSelect(api);
2185
- api.on("reInit", onSelect);
2186
- api.on("select", onSelect);
2187
- return () => {
2188
- api == null ? void 0 : api.off("select", onSelect);
2189
- };
2190
- }, [api, onSelect]);
2191
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2192
- CarouselContext.Provider,
2193
- {
2194
- value: {
2195
- carouselRef,
2196
- api,
2197
- opts,
2198
- orientation: orientation || ((opts == null ? void 0 : opts.axis) === "y" ? "vertical" : "horizontal"),
2199
- scrollPrev,
2200
- scrollNext,
2201
- canScrollPrev,
2202
- canScrollNext
2203
- },
2204
- children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2205
- "div",
2206
- __spreadProps(__spreadValues({
2207
- ref,
2208
- onKeyDownCapture: handleKeyDown,
2209
- className: cn("relative", className),
2210
- role: "region",
2211
- "aria-roledescription": "carousel"
2212
- }, props), {
2213
- children
2214
- })
2215
- )
2216
- }
2217
- );
2218
- }
2219
- );
2220
- Carousel.displayName = "Carousel";
2221
- var CarouselContent = React37.forwardRef((_a, ref) => {
2222
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2223
- const { carouselRef, orientation } = useCarousel();
2224
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2225
- "div",
2226
- __spreadValues({
2227
- ref,
2228
- className: cn(
2229
- "flex",
2230
- orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
2231
- className
2232
- )
2233
- }, props)
2234
- ) });
2235
- });
2236
- CarouselContent.displayName = "CarouselContent";
2237
- var CarouselItem = React37.forwardRef((_a, ref) => {
2238
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2239
- const { orientation } = useCarousel();
2240
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2241
- "div",
2242
- __spreadValues({
2243
- ref,
2244
- role: "group",
2245
- "aria-roledescription": "slide",
2246
- className: cn(
2247
- "min-w-0 shrink-0 grow-0 basis-full",
2248
- orientation === "horizontal" ? "pl-4" : "pt-4",
2249
- className
2250
- )
2251
- }, props)
2252
- );
2253
- });
2254
- CarouselItem.displayName = "CarouselItem";
2255
- var CarouselPrevious = React37.forwardRef((_a, ref) => {
2256
- var _b = _a, { className, variant = "outline", size = "icon" } = _b, props = __objRest(_b, ["className", "variant", "size"]);
2257
- const { orientation, scrollPrev, canScrollPrev } = useCarousel();
2258
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
2259
- Button,
2260
- __spreadProps(__spreadValues({
2261
- ref,
2262
- variant,
2263
- size,
2264
- className: cn(
2265
- "absolute h-8 w-8 rounded-full",
2266
- orientation === "horizontal" ? "-left-12 top-1/2 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
2267
- className
2268
- ),
2269
- disabled: !canScrollPrev,
2270
- onClick: scrollPrev
2271
- }, props), {
2272
- children: [
2273
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(globalLucideIcons.ArrowLeft, { className: "h-4 w-4" }),
2274
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "sr-only", children: "Previous slide" })
2275
- ]
2276
- })
2277
- );
2278
- });
2279
- CarouselPrevious.displayName = "CarouselPrevious";
2280
- var CarouselNext = React37.forwardRef((_a, ref) => {
2281
- var _b = _a, { className, variant = "outline", size = "icon" } = _b, props = __objRest(_b, ["className", "variant", "size"]);
2282
- const { orientation, scrollNext, canScrollNext } = useCarousel();
2283
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
2284
- Button,
2285
- __spreadProps(__spreadValues({
2286
- ref,
2287
- variant,
2288
- size,
2289
- className: cn(
2290
- "absolute h-8 w-8 rounded-full",
2291
- orientation === "horizontal" ? "-right-12 top-1/2 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
2292
- className
2293
- ),
2294
- disabled: !canScrollNext,
2295
- onClick: scrollNext
2296
- }, props), {
2297
- children: [
2298
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(globalLucideIcons.ArrowRight, { className: "h-4 w-4" }),
2299
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "sr-only", children: "Next slide" })
2300
- ]
2301
- })
2302
- );
2303
- });
2304
- CarouselNext.displayName = "CarouselNext";
2305
-
2306
- // src/ui/chart.tsx
2307
- var React38 = __toESM(require("react"));
2308
- var RechartsPrimitive = __toESM(require("recharts"));
2309
- var import_jsx_runtime40 = require("react/jsx-runtime");
2310
- var THEMES = { light: "", dark: ".dark" };
2311
- var ChartContext = React38.createContext(null);
2312
- function useChart() {
2313
- const context = React38.useContext(ChartContext);
2314
- if (!context) {
2315
- throw new Error("useChart must be used within a <ChartContainer />");
2316
- }
2317
- return context;
2318
- }
2319
- var ChartContainer = React38.forwardRef((_a, ref) => {
2320
- var _b = _a, { id, className, children, config } = _b, props = __objRest(_b, ["id", "className", "children", "config"]);
2321
- const uniqueId = React38.useId();
2322
- const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
2323
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
2324
- "div",
2325
- __spreadProps(__spreadValues({
2326
- "data-chart": chartId,
2327
- ref,
2328
- className: cn(
2329
- "flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-hidden [&_.recharts-surface]:outline-hidden",
2330
- className
2331
- )
2332
- }, props), {
2333
- children: [
2334
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ChartStyle, { id: chartId, config }),
2335
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(RechartsPrimitive.ResponsiveContainer, { children })
2336
- ]
2337
- })
2338
- ) });
2339
- });
2340
- ChartContainer.displayName = "Chart";
2341
- var ChartStyle = ({ id, config }) => {
2342
- const colorConfig = Object.entries(config).filter(
2343
- ([_, config2]) => config2.theme || config2.color
2344
- );
2345
- if (!colorConfig.length) {
2346
- return null;
2347
- }
2348
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2349
- "style",
2350
- {
2351
- dangerouslySetInnerHTML: {
2352
- __html: Object.entries(THEMES).map(
2353
- ([theme, prefix]) => `
2354
- ${prefix} [data-chart=${id}] {
2355
- ${colorConfig.map(([key, itemConfig]) => {
2356
- var _a;
2357
- const color = ((_a = itemConfig.theme) == null ? void 0 : _a[theme]) || itemConfig.color;
2358
- return color ? ` --color-${key}: ${color};` : null;
2359
- }).join("\n")}
2360
- }
2361
- `
2362
- ).join("\n")
2363
- }
2364
- }
2365
- );
2366
- };
2367
- var ChartTooltip = RechartsPrimitive.Tooltip;
2368
- var ChartTooltipContent = React38.forwardRef(
2369
- ({
2370
- active,
2371
- payload,
2372
- className,
2373
- indicator = "dot",
2374
- hideLabel = false,
2375
- hideIndicator = false,
2376
- label,
2377
- labelFormatter,
2378
- labelClassName,
2379
- formatter,
2380
- color,
2381
- nameKey,
2382
- labelKey
2383
- }, ref) => {
2384
- const { config } = useChart();
2385
- const tooltipLabel = React38.useMemo(() => {
2386
- var _a;
2387
- if (hideLabel || !(payload == null ? void 0 : payload.length)) {
2388
- return null;
2389
- }
2390
- const [item] = payload;
2391
- const key = `${labelKey || item.dataKey || item.name || "value"}`;
2392
- const itemConfig = getPayloadConfigFromPayload(config, item, key);
2393
- const value = !labelKey && typeof label === "string" ? ((_a = config[label]) == null ? void 0 : _a.label) || label : itemConfig == null ? void 0 : itemConfig.label;
2394
- if (labelFormatter) {
2395
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
2396
- }
2397
- if (!value) {
2398
- return null;
2399
- }
2400
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: cn("font-medium", labelClassName), children: value });
2401
- }, [
2402
- label,
2403
- labelFormatter,
2404
- payload,
2405
- hideLabel,
2406
- labelClassName,
2407
- config,
2408
- labelKey
2409
- ]);
2410
- if (!active || !(payload == null ? void 0 : payload.length)) {
2411
- return null;
2412
- }
2413
- const nestLabel = payload.length === 1 && indicator !== "dot";
2414
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
2415
- "div",
2416
- {
2417
- ref,
2418
- className: cn(
2419
- "grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl",
2420
- className
2421
- ),
2422
- children: [
2423
- !nestLabel ? tooltipLabel : null,
2424
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "grid gap-1.5", children: payload.map((item, index) => {
2425
- const key = `${nameKey || item.name || item.dataKey || "value"}`;
2426
- const itemConfig = getPayloadConfigFromPayload(config, item, key);
2427
- const indicatorColor = color || item.payload.fill || item.color;
2428
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2429
- "div",
2430
- {
2431
- className: cn(
2432
- "flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground",
2433
- indicator === "dot" && "items-center"
2434
- ),
2435
- children: formatter && (item == null ? void 0 : item.value) !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_jsx_runtime40.Fragment, { children: [
2436
- (itemConfig == null ? void 0 : itemConfig.icon) ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2437
- "div",
2438
- {
2439
- className: cn(
2440
- "shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)",
2441
- {
2442
- "h-2.5 w-2.5": indicator === "dot",
2443
- "w-1": indicator === "line",
2444
- "w-0 border-[1.5px] border-dashed bg-transparent": indicator === "dashed",
2445
- "my-0.5": nestLabel && indicator === "dashed"
2446
- }
2447
- ),
2448
- style: {
2449
- "--color-bg": indicatorColor,
2450
- "--color-border": indicatorColor
2451
- }
2452
- }
2453
- ),
2454
- /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
2455
- "div",
2456
- {
2457
- className: cn(
2458
- "flex flex-1 justify-between leading-none",
2459
- nestLabel ? "items-end" : "items-center"
2460
- ),
2461
- children: [
2462
- /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "grid gap-1.5", children: [
2463
- nestLabel ? tooltipLabel : null,
2464
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "text-muted-foreground", children: (itemConfig == null ? void 0 : itemConfig.label) || item.name })
2465
- ] }),
2466
- item.value && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "font-mono font-medium tabular-nums text-foreground", children: item.value.toLocaleString() })
2467
- ]
2468
- }
2469
- )
2470
- ] })
2471
- },
2472
- item.dataKey
2473
- );
2474
- }) })
2475
- ]
2476
- }
2477
- );
2478
- }
2479
- );
2480
- ChartTooltipContent.displayName = "ChartTooltip";
2481
- var ChartLegend = RechartsPrimitive.Legend;
2482
- var ChartLegendContent = React38.forwardRef(
2483
- ({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }, ref) => {
2484
- const { config } = useChart();
2485
- if (!(payload == null ? void 0 : payload.length)) {
2486
- return null;
2487
- }
2488
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2489
- "div",
2490
- {
2491
- ref,
1656
+ var _b = _a, { className, variant = "default", size = "default" } = _b, props = __objRest(_b, ["className", "variant", "size"]);
1657
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1658
+ "button",
1659
+ __spreadValues({
2492
1660
  className: cn(
2493
- "flex items-center justify-center gap-4",
2494
- verticalAlign === "top" ? "pb-3" : "pt-3",
1661
+ "inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background",
1662
+ {
1663
+ "bg-primary text-primary-foreground hover:bg-primary/90": variant === "default",
1664
+ "hover:bg-accent hover:text-accent-foreground": variant === "ghost",
1665
+ "h-10 px-4 py-2": size === "default",
1666
+ "h-9 px-3": size === "sm",
1667
+ "h-11 px-8": size === "lg",
1668
+ "h-10 w-10": size === "icon"
1669
+ },
2495
1670
  className
2496
1671
  ),
2497
- children: payload.map((item) => {
2498
- const key = `${nameKey || item.dataKey || "value"}`;
2499
- const itemConfig = getPayloadConfigFromPayload(config, item, key);
2500
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
2501
- "div",
2502
- {
2503
- className: cn(
2504
- "flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"
2505
- ),
2506
- children: [
2507
- (itemConfig == null ? void 0 : itemConfig.icon) && !hideIcon ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(itemConfig.icon, {}) : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2508
- "div",
2509
- {
2510
- className: "h-2 w-2 shrink-0 rounded-[2px]",
2511
- style: {
2512
- backgroundColor: item.color
2513
- }
2514
- }
2515
- ),
2516
- itemConfig == null ? void 0 : itemConfig.label
2517
- ]
2518
- },
2519
- item.value
2520
- );
2521
- })
2522
- }
1672
+ ref
1673
+ }, props)
2523
1674
  );
2524
1675
  }
2525
1676
  );
2526
- ChartLegendContent.displayName = "ChartLegend";
2527
- function getPayloadConfigFromPayload(config, payload, key) {
2528
- if (typeof payload !== "object" || payload === null) {
2529
- return void 0;
2530
- }
2531
- const payloadPayload = "payload" in payload && typeof payload.payload === "object" && payload.payload !== null ? payload.payload : void 0;
2532
- let configLabelKey = key;
2533
- if (key in payload && typeof payload[key] === "string") {
2534
- configLabelKey = payload[key];
2535
- } else if (payloadPayload && key in payloadPayload && typeof payloadPayload[key] === "string") {
2536
- configLabelKey = payloadPayload[key];
2537
- }
2538
- return configLabelKey in config ? config[configLabelKey] : config[key];
2539
- }
2540
-
2541
- // src/ui/checkbox.tsx
2542
- var React39 = __toESM(require("react"));
2543
- var CheckboxPrimitive = __toESM(require("@radix-ui/react-checkbox"));
2544
- var import_jsx_runtime41 = require("react/jsx-runtime");
2545
- var Checkbox = React39.forwardRef((_a, ref) => {
2546
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2547
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2548
- CheckboxPrimitive.Root,
2549
- __spreadProps(__spreadValues({
2550
- ref,
2551
- className: cn(
2552
- "peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",
2553
- className
2554
- )
2555
- }, props), {
2556
- children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2557
- CheckboxPrimitive.Indicator,
2558
- {
2559
- className: cn("flex items-center justify-center text-current"),
2560
- children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(globalLucideIcons.Check, { className: "h-4 w-4" })
2561
- }
2562
- )
2563
- })
2564
- );
2565
- });
2566
- Checkbox.displayName = CheckboxPrimitive.Root.displayName;
2567
-
2568
- // src/ui/collapsible.tsx
2569
- var CollapsiblePrimitive = __toESM(require("@radix-ui/react-collapsible"));
2570
- var Collapsible = CollapsiblePrimitive.Root;
2571
- var CollapsibleTrigger2 = CollapsiblePrimitive.CollapsibleTrigger;
2572
- var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
2573
-
2574
- // src/ui/command.tsx
2575
- var React41 = __toESM(require("react"));
2576
- var import_cmdk = require("cmdk");
2577
-
2578
- // src/ui/dialog.tsx
2579
- var React40 = __toESM(require("react"));
2580
- var DialogPrimitive = __toESM(require("@radix-ui/react-dialog"));
2581
- var import_jsx_runtime42 = require("react/jsx-runtime");
2582
- var Dialog = DialogPrimitive.Root;
2583
- var DialogTrigger = DialogPrimitive.Trigger;
2584
- var DialogPortal = DialogPrimitive.Portal;
2585
- var DialogClose = DialogPrimitive.Close;
2586
- var DialogOverlay = React40.forwardRef((_a, ref) => {
2587
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2588
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2589
- DialogPrimitive.Overlay,
2590
- __spreadValues({
2591
- ref,
2592
- className: cn(
2593
- "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
2594
- className
2595
- )
2596
- }, props)
2597
- );
2598
- });
2599
- DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
2600
- var DialogContent = React40.forwardRef((_a, ref) => {
2601
- var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
2602
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(DialogPortal, { children: [
2603
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(DialogOverlay, {}),
2604
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
2605
- DialogPrimitive.Content,
2606
- __spreadProps(__spreadValues({
2607
- ref,
2608
- className: cn(
2609
- "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
2610
- className
2611
- )
2612
- }, props), {
2613
- children: [
2614
- children,
2615
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
2616
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(globalLucideIcons.X, { className: "h-4 w-4" }),
2617
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "sr-only", children: "Close" })
2618
- ] })
2619
- ]
2620
- })
2621
- )
2622
- ] });
2623
- });
2624
- DialogContent.displayName = DialogPrimitive.Content.displayName;
2625
- var DialogHeader = (_a) => {
2626
- var _b = _a, {
2627
- className
2628
- } = _b, props = __objRest(_b, [
2629
- "className"
2630
- ]);
2631
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2632
- "div",
2633
- __spreadValues({
2634
- className: cn(
2635
- "flex flex-col space-y-1.5 text-center sm:text-left",
2636
- className
2637
- )
2638
- }, props)
2639
- );
2640
- };
2641
- DialogHeader.displayName = "DialogHeader";
2642
- var DialogFooter = (_a) => {
2643
- var _b = _a, {
2644
- className
2645
- } = _b, props = __objRest(_b, [
2646
- "className"
2647
- ]);
2648
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2649
- "div",
2650
- __spreadValues({
2651
- className: cn(
2652
- "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
2653
- className
2654
- )
2655
- }, props)
2656
- );
2657
- };
2658
- DialogFooter.displayName = "DialogFooter";
2659
- var DialogTitle = React40.forwardRef((_a, ref) => {
2660
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2661
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2662
- DialogPrimitive.Title,
2663
- __spreadValues({
2664
- ref,
2665
- className: cn(
2666
- "text-lg font-semibold leading-none tracking-tight",
2667
- className
2668
- )
2669
- }, props)
2670
- );
2671
- });
2672
- DialogTitle.displayName = DialogPrimitive.Title.displayName;
2673
- var DialogDescription = React40.forwardRef((_a, ref) => {
2674
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2675
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2676
- DialogPrimitive.Description,
2677
- __spreadValues({
2678
- ref,
2679
- className: cn("text-sm text-muted-foreground", className)
2680
- }, props)
2681
- );
2682
- });
2683
- DialogDescription.displayName = DialogPrimitive.Description.displayName;
2684
-
2685
- // src/ui/command.tsx
2686
- var import_jsx_runtime43 = require("react/jsx-runtime");
2687
- var Command = React41.forwardRef((_a, ref) => {
2688
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2689
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2690
- import_cmdk.Command,
2691
- __spreadValues({
2692
- ref,
2693
- className: cn(
2694
- "flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",
2695
- className
2696
- )
2697
- }, props)
2698
- );
2699
- });
2700
- Command.displayName = import_cmdk.Command.displayName;
2701
- var CommandDialog = (_a) => {
2702
- var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
2703
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Dialog, __spreadProps(__spreadValues({}, props), { children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(DialogContent, { className: "overflow-hidden p-0 shadow-lg", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) }) }));
2704
- };
2705
- var CommandInput = React41.forwardRef((_a, ref) => {
2706
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2707
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
2708
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(globalLucideIcons.Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
2709
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2710
- import_cmdk.Command.Input,
2711
- __spreadValues({
2712
- ref,
2713
- className: cn(
2714
- "flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
2715
- className
2716
- )
2717
- }, props)
2718
- )
2719
- ] });
2720
- });
2721
- CommandInput.displayName = import_cmdk.Command.Input.displayName;
2722
- var CommandList = React41.forwardRef((_a, ref) => {
2723
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2724
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2725
- import_cmdk.Command.List,
2726
- __spreadValues({
2727
- ref,
2728
- className: cn("max-h-[300px] overflow-y-auto overflow-x-hidden", className)
2729
- }, props)
2730
- );
2731
- });
2732
- CommandList.displayName = import_cmdk.Command.List.displayName;
2733
- var CommandEmpty = React41.forwardRef((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2734
- import_cmdk.Command.Empty,
2735
- __spreadValues({
2736
- ref,
2737
- className: "py-6 text-center text-sm"
2738
- }, props)
2739
- ));
2740
- CommandEmpty.displayName = import_cmdk.Command.Empty.displayName;
2741
- var CommandGroup = React41.forwardRef((_a, ref) => {
2742
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2743
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2744
- import_cmdk.Command.Group,
2745
- __spreadValues({
2746
- ref,
2747
- className: cn(
2748
- "overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",
2749
- className
2750
- )
2751
- }, props)
2752
- );
2753
- });
2754
- CommandGroup.displayName = import_cmdk.Command.Group.displayName;
2755
- var CommandSeparator = React41.forwardRef((_a, ref) => {
2756
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2757
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2758
- import_cmdk.Command.Separator,
2759
- __spreadValues({
2760
- ref,
2761
- className: cn("-mx-1 h-px bg-border", className)
2762
- }, props)
2763
- );
2764
- });
2765
- CommandSeparator.displayName = import_cmdk.Command.Separator.displayName;
2766
- var CommandItem = React41.forwardRef((_a, ref) => {
2767
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2768
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2769
- import_cmdk.Command.Item,
2770
- __spreadValues({
2771
- ref,
2772
- className: cn(
2773
- "relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
2774
- className
2775
- )
2776
- }, props)
2777
- );
2778
- });
2779
- CommandItem.displayName = import_cmdk.Command.Item.displayName;
2780
- var CommandShortcut = (_a) => {
2781
- var _b = _a, {
2782
- className
2783
- } = _b, props = __objRest(_b, [
2784
- "className"
2785
- ]);
2786
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2787
- "span",
2788
- __spreadValues({
2789
- className: cn(
2790
- "ml-auto text-xs tracking-widest text-muted-foreground",
2791
- className
2792
- )
2793
- }, props)
2794
- );
2795
- };
2796
- CommandShortcut.displayName = "CommandShortcut";
2797
-
2798
- // src/ui/context-menu.tsx
2799
- var React42 = __toESM(require("react"));
2800
- var ContextMenuPrimitive = __toESM(require("@radix-ui/react-context-menu"));
2801
- var import_jsx_runtime44 = require("react/jsx-runtime");
2802
- var ContextMenu = ContextMenuPrimitive.Root;
2803
- var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
2804
- var ContextMenuGroup = ContextMenuPrimitive.Group;
2805
- var ContextMenuPortal = ContextMenuPrimitive.Portal;
2806
- var ContextMenuSub = ContextMenuPrimitive.Sub;
2807
- var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
2808
- var ContextMenuSubTrigger = React42.forwardRef((_a, ref) => {
2809
- var _b = _a, { className, inset, children } = _b, props = __objRest(_b, ["className", "inset", "children"]);
2810
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
2811
- ContextMenuPrimitive.SubTrigger,
2812
- __spreadProps(__spreadValues({
2813
- ref,
2814
- className: cn(
2815
- "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
2816
- inset && "pl-8",
2817
- className
2818
- )
2819
- }, props), {
2820
- children: [
2821
- children,
2822
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(globalLucideIcons.ChevronRight, { className: "ml-auto h-4 w-4" })
2823
- ]
2824
- })
2825
- );
2826
- });
2827
- ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
2828
- var ContextMenuSubContent = React42.forwardRef((_a, ref) => {
2829
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2830
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
2831
- ContextMenuPrimitive.SubContent,
2832
- __spreadValues({
2833
- ref,
2834
- className: cn(
2835
- "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
2836
- className
2837
- )
2838
- }, props)
2839
- );
2840
- });
2841
- ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
2842
- var ContextMenuContent = React42.forwardRef((_a, ref) => {
2843
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2844
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
2845
- ContextMenuPrimitive.Content,
2846
- __spreadValues({
2847
- ref,
2848
- className: cn(
2849
- "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
2850
- className
2851
- )
2852
- }, props)
2853
- ) });
2854
- });
2855
- ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
2856
- var ContextMenuItem = React42.forwardRef((_a, ref) => {
2857
- var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
2858
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
2859
- ContextMenuPrimitive.Item,
2860
- __spreadValues({
2861
- ref,
2862
- className: cn(
2863
- "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
2864
- inset && "pl-8",
2865
- className
2866
- )
2867
- }, props)
2868
- );
2869
- });
2870
- ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
2871
- var ContextMenuCheckboxItem = React42.forwardRef((_a, ref) => {
2872
- var _b = _a, { className, children, checked } = _b, props = __objRest(_b, ["className", "children", "checked"]);
2873
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
2874
- ContextMenuPrimitive.CheckboxItem,
2875
- __spreadProps(__spreadValues({
2876
- ref,
2877
- className: cn(
2878
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
2879
- className
2880
- ),
2881
- checked
2882
- }, props), {
2883
- children: [
2884
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(globalLucideIcons.Check, { className: "h-4 w-4" }) }) }),
2885
- children
2886
- ]
2887
- })
2888
- );
2889
- });
2890
- ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
2891
- var ContextMenuRadioItem = React42.forwardRef((_a, ref) => {
2892
- var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
2893
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
2894
- ContextMenuPrimitive.RadioItem,
2895
- __spreadProps(__spreadValues({
2896
- ref,
2897
- className: cn(
2898
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
2899
- className
2900
- )
2901
- }, props), {
2902
- children: [
2903
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(globalLucideIcons.Circle, { className: "h-2 w-2 fill-current" }) }) }),
2904
- children
2905
- ]
2906
- })
2907
- );
2908
- });
2909
- ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
2910
- var ContextMenuLabel = React42.forwardRef((_a, ref) => {
2911
- var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
2912
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
2913
- ContextMenuPrimitive.Label,
2914
- __spreadValues({
2915
- ref,
2916
- className: cn(
2917
- "px-2 py-1.5 text-sm font-semibold text-foreground",
2918
- inset && "pl-8",
2919
- className
2920
- )
2921
- }, props)
2922
- );
2923
- });
2924
- ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
2925
- var ContextMenuSeparator = React42.forwardRef((_a, ref) => {
2926
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2927
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
2928
- ContextMenuPrimitive.Separator,
2929
- __spreadValues({
2930
- ref,
2931
- className: cn("-mx-1 my-1 h-px bg-border", className)
2932
- }, props)
2933
- );
2934
- });
2935
- ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
2936
- var ContextMenuShortcut = (_a) => {
2937
- var _b = _a, {
2938
- className
2939
- } = _b, props = __objRest(_b, [
2940
- "className"
2941
- ]);
2942
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
2943
- "span",
2944
- __spreadValues({
2945
- className: cn(
2946
- "ml-auto text-xs tracking-widest text-muted-foreground",
2947
- className
2948
- )
2949
- }, props)
2950
- );
2951
- };
2952
- ContextMenuShortcut.displayName = "ContextMenuShortcut";
2953
-
2954
- // src/ui/drawer.tsx
2955
- var React43 = __toESM(require("react"));
2956
- var import_vaul = require("vaul");
2957
- var import_jsx_runtime45 = require("react/jsx-runtime");
2958
- var Drawer = (_a) => {
2959
- var _b = _a, {
2960
- shouldScaleBackground = true
2961
- } = _b, props = __objRest(_b, [
2962
- "shouldScaleBackground"
2963
- ]);
2964
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2965
- import_vaul.Drawer.Root,
2966
- __spreadValues({
2967
- shouldScaleBackground
2968
- }, props)
2969
- );
2970
- };
2971
- Drawer.displayName = "Drawer";
2972
- var DrawerTrigger = import_vaul.Drawer.Trigger;
2973
- var DrawerPortal = import_vaul.Drawer.Portal;
2974
- var DrawerClose = import_vaul.Drawer.Close;
2975
- var DrawerOverlay = React43.forwardRef((_a, ref) => {
2976
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
2977
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2978
- import_vaul.Drawer.Overlay,
2979
- __spreadValues({
2980
- ref,
2981
- className: cn("fixed inset-0 z-50 bg-black/80", className)
2982
- }, props)
2983
- );
2984
- });
2985
- DrawerOverlay.displayName = import_vaul.Drawer.Overlay.displayName;
2986
- var DrawerContent = React43.forwardRef((_a, ref) => {
2987
- var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
2988
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(DrawerPortal, { children: [
2989
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(DrawerOverlay, {}),
2990
- /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
2991
- import_vaul.Drawer.Content,
2992
- __spreadProps(__spreadValues({
2993
- ref,
2994
- className: cn(
2995
- "fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background",
2996
- className
2997
- )
2998
- }, props), {
2999
- children: [
3000
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted" }),
3001
- children
3002
- ]
3003
- })
3004
- )
3005
- ] });
3006
- });
3007
- DrawerContent.displayName = "DrawerContent";
3008
- var DrawerHeader = (_a) => {
3009
- var _b = _a, {
3010
- className
3011
- } = _b, props = __objRest(_b, [
3012
- "className"
3013
- ]);
3014
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
3015
- "div",
3016
- __spreadValues({
3017
- className: cn("grid gap-1.5 p-4 text-center sm:text-left", className)
3018
- }, props)
3019
- );
3020
- };
3021
- DrawerHeader.displayName = "DrawerHeader";
3022
- var DrawerFooter = (_a) => {
3023
- var _b = _a, {
3024
- className
3025
- } = _b, props = __objRest(_b, [
3026
- "className"
3027
- ]);
3028
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
3029
- "div",
3030
- __spreadValues({
3031
- className: cn("mt-auto flex flex-col gap-2 p-4", className)
3032
- }, props)
3033
- );
3034
- };
3035
- DrawerFooter.displayName = "DrawerFooter";
3036
- var DrawerTitle = React43.forwardRef((_a, ref) => {
3037
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3038
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
3039
- import_vaul.Drawer.Title,
3040
- __spreadValues({
3041
- ref,
3042
- className: cn(
3043
- "text-lg font-semibold leading-none tracking-tight",
3044
- className
3045
- )
3046
- }, props)
3047
- );
3048
- });
3049
- DrawerTitle.displayName = import_vaul.Drawer.Title.displayName;
3050
- var DrawerDescription = React43.forwardRef((_a, ref) => {
3051
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3052
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
3053
- import_vaul.Drawer.Description,
3054
- __spreadValues({
3055
- ref,
3056
- className: cn("text-sm text-muted-foreground", className)
3057
- }, props)
3058
- );
3059
- });
3060
- DrawerDescription.displayName = import_vaul.Drawer.Description.displayName;
3061
-
3062
- // src/ui/dropdown-menu.tsx
3063
- var React44 = __toESM(require("react"));
3064
- var DropdownMenuPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"));
3065
- var import_jsx_runtime46 = require("react/jsx-runtime");
3066
- var DropdownMenu = DropdownMenuPrimitive.Root;
3067
- var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
3068
- var DropdownMenuGroup = DropdownMenuPrimitive.Group;
3069
- var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
3070
- var DropdownMenuSub = DropdownMenuPrimitive.Sub;
3071
- var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
3072
- var DropdownMenuSubTrigger = React44.forwardRef((_a, ref) => {
3073
- var _b = _a, { className, inset, children } = _b, props = __objRest(_b, ["className", "inset", "children"]);
3074
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
3075
- DropdownMenuPrimitive.SubTrigger,
3076
- __spreadProps(__spreadValues({
3077
- ref,
3078
- className: cn(
3079
- "flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
3080
- inset && "pl-8",
3081
- className
3082
- )
3083
- }, props), {
3084
- children: [
3085
- children,
3086
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(globalLucideIcons.ChevronRight, { className: "ml-auto" })
3087
- ]
3088
- })
3089
- );
3090
- });
3091
- DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
3092
- var DropdownMenuSubContent = React44.forwardRef((_a, ref) => {
3093
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3094
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
3095
- DropdownMenuPrimitive.SubContent,
3096
- __spreadValues({
3097
- ref,
3098
- className: cn(
3099
- "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
3100
- className
3101
- )
3102
- }, props)
3103
- );
3104
- });
3105
- DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
3106
- var DropdownMenuContent = React44.forwardRef((_a, ref) => {
3107
- var _b = _a, { className, sideOffset = 4 } = _b, props = __objRest(_b, ["className", "sideOffset"]);
3108
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
3109
- DropdownMenuPrimitive.Content,
3110
- __spreadValues({
3111
- ref,
3112
- sideOffset,
3113
- className: cn(
3114
- "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
3115
- className
3116
- )
3117
- }, props)
3118
- ) });
3119
- });
3120
- DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
3121
- var DropdownMenuItem = React44.forwardRef((_a, ref) => {
3122
- var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
3123
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
3124
- DropdownMenuPrimitive.Item,
3125
- __spreadValues({
3126
- ref,
3127
- className: cn(
3128
- "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
3129
- inset && "pl-8",
3130
- className
3131
- )
3132
- }, props)
3133
- );
3134
- });
3135
- DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
3136
- var DropdownMenuCheckboxItem = React44.forwardRef((_a, ref) => {
3137
- var _b = _a, { className, children, checked } = _b, props = __objRest(_b, ["className", "children", "checked"]);
3138
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
3139
- DropdownMenuPrimitive.CheckboxItem,
3140
- __spreadProps(__spreadValues({
3141
- ref,
3142
- className: cn(
3143
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
3144
- className
3145
- ),
3146
- checked
3147
- }, props), {
3148
- children: [
3149
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(globalLucideIcons.Check, { className: "h-4 w-4" }) }) }),
3150
- children
3151
- ]
3152
- })
3153
- );
3154
- });
3155
- DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
3156
- var DropdownMenuRadioItem = React44.forwardRef((_a, ref) => {
3157
- var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
3158
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
3159
- DropdownMenuPrimitive.RadioItem,
3160
- __spreadProps(__spreadValues({
3161
- ref,
3162
- className: cn(
3163
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
3164
- className
3165
- )
3166
- }, props), {
3167
- children: [
3168
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(globalLucideIcons.Circle, { className: "h-2 w-2 fill-current" }) }) }),
3169
- children
3170
- ]
3171
- })
3172
- );
3173
- });
3174
- DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
3175
- var DropdownMenuLabel = React44.forwardRef((_a, ref) => {
3176
- var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
3177
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
3178
- DropdownMenuPrimitive.Label,
3179
- __spreadValues({
3180
- ref,
3181
- className: cn(
3182
- "px-2 py-1.5 text-sm font-semibold",
3183
- inset && "pl-8",
3184
- className
3185
- )
3186
- }, props)
3187
- );
3188
- });
3189
- DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
3190
- var DropdownMenuSeparator = React44.forwardRef((_a, ref) => {
3191
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3192
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
3193
- DropdownMenuPrimitive.Separator,
3194
- __spreadValues({
3195
- ref,
3196
- className: cn("-mx-1 my-1 h-px bg-muted", className)
3197
- }, props)
3198
- );
3199
- });
3200
- DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
3201
- var DropdownMenuShortcut = (_a) => {
3202
- var _b = _a, {
3203
- className
3204
- } = _b, props = __objRest(_b, [
3205
- "className"
3206
- ]);
3207
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
3208
- "span",
3209
- __spreadValues({
3210
- className: cn("ml-auto text-xs tracking-widest opacity-60", className)
3211
- }, props)
3212
- );
3213
- };
3214
- DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
3215
-
3216
- // src/ui/form.tsx
3217
- var React46 = __toESM(require("react"));
3218
- var import_react_slot3 = require("@radix-ui/react-slot");
3219
- var import_react_hook_form = require("react-hook-form");
3220
-
3221
- // src/ui/label.tsx
3222
- var React45 = __toESM(require("react"));
3223
- var LabelPrimitive = __toESM(require("@radix-ui/react-label"));
3224
- var import_class_variance_authority4 = require("class-variance-authority");
3225
- var import_jsx_runtime47 = require("react/jsx-runtime");
3226
- var labelVariants = (0, import_class_variance_authority4.cva)(
3227
- "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
3228
- );
3229
- var Label3 = React45.forwardRef((_a, ref) => {
3230
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3231
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3232
- LabelPrimitive.Root,
3233
- __spreadValues({
3234
- ref,
3235
- className: cn(labelVariants(), className)
3236
- }, props)
3237
- );
3238
- });
3239
- Label3.displayName = LabelPrimitive.Root.displayName;
3240
-
3241
- // src/ui/form.tsx
3242
- var import_jsx_runtime48 = require("react/jsx-runtime");
3243
- var Form = import_react_hook_form.FormProvider;
3244
- var FormFieldContext = React46.createContext(
3245
- {}
3246
- );
3247
- var FormField = (_a) => {
3248
- var props = __objRest(_a, []);
3249
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_react_hook_form.Controller, __spreadValues({}, props)) });
3250
- };
3251
- var useFormField = () => {
3252
- const fieldContext = React46.useContext(FormFieldContext);
3253
- const itemContext = React46.useContext(FormItemContext);
3254
- const { getFieldState, formState } = (0, import_react_hook_form.useFormContext)();
3255
- const fieldState = getFieldState(fieldContext.name, formState);
3256
- if (!fieldContext) {
3257
- throw new Error("useFormField should be used within <FormField>");
3258
- }
3259
- const { id } = itemContext;
3260
- return __spreadValues({
3261
- id,
3262
- name: fieldContext.name,
3263
- formItemId: `${id}-form-item`,
3264
- formDescriptionId: `${id}-form-item-description`,
3265
- formMessageId: `${id}-form-item-message`
3266
- }, fieldState);
3267
- };
3268
- var FormItemContext = React46.createContext(
3269
- {}
3270
- );
3271
- var FormItem = React46.forwardRef((_a, ref) => {
3272
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3273
- const id = React46.useId();
3274
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", __spreadValues({ ref, className: cn("space-y-2", className) }, props)) });
3275
- });
3276
- FormItem.displayName = "FormItem";
3277
- var FormLabel = React46.forwardRef((_a, ref) => {
3278
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3279
- const { error, formItemId } = useFormField();
3280
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
3281
- Label3,
3282
- __spreadValues({
3283
- ref,
3284
- className: cn(error && "text-destructive", className),
3285
- htmlFor: formItemId
3286
- }, props)
3287
- );
3288
- });
3289
- FormLabel.displayName = "FormLabel";
3290
- var FormControl = React46.forwardRef((_a, ref) => {
3291
- var props = __objRest(_a, []);
3292
- const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
3293
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
3294
- import_react_slot3.Slot,
3295
- __spreadValues({
3296
- ref,
3297
- id: formItemId,
3298
- "aria-describedby": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`,
3299
- "aria-invalid": !!error
3300
- }, props)
3301
- );
3302
- });
3303
- FormControl.displayName = "FormControl";
3304
- var FormDescription = React46.forwardRef((_a, ref) => {
3305
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3306
- const { formDescriptionId } = useFormField();
3307
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
3308
- "p",
3309
- __spreadValues({
3310
- ref,
3311
- id: formDescriptionId,
3312
- className: cn("text-sm text-muted-foreground", className)
3313
- }, props)
3314
- );
3315
- });
3316
- FormDescription.displayName = "FormDescription";
3317
- var FormMessage = React46.forwardRef((_a, ref) => {
3318
- var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
3319
- const { error, formMessageId } = useFormField();
3320
- const body = error ? String(error == null ? void 0 : error.message) : children;
3321
- if (!body) {
3322
- return null;
3323
- }
3324
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
3325
- "p",
3326
- __spreadProps(__spreadValues({
3327
- ref,
3328
- id: formMessageId,
3329
- className: cn("text-sm font-medium text-destructive", className)
3330
- }, props), {
3331
- children: body
3332
- })
3333
- );
3334
- });
3335
- FormMessage.displayName = "FormMessage";
3336
-
3337
- // src/ui/hover-card.tsx
3338
- var React47 = __toESM(require("react"));
3339
- var HoverCardPrimitive = __toESM(require("@radix-ui/react-hover-card"));
3340
- var import_jsx_runtime49 = require("react/jsx-runtime");
3341
- var HoverCard = HoverCardPrimitive.Root;
3342
- var HoverCardTrigger = HoverCardPrimitive.Trigger;
3343
- var HoverCardContent = React47.forwardRef((_a, ref) => {
3344
- var _b = _a, { className, align = "center", sideOffset = 4 } = _b, props = __objRest(_b, ["className", "align", "sideOffset"]);
3345
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
3346
- HoverCardPrimitive.Content,
3347
- __spreadValues({
3348
- ref,
3349
- align,
3350
- sideOffset,
3351
- className: cn(
3352
- "z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden 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",
3353
- className
3354
- )
3355
- }, props)
3356
- );
3357
- });
3358
- HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
3359
-
3360
- // src/ui/input-otp.tsx
3361
- var React48 = __toESM(require("react"));
3362
- var import_input_otp = require("input-otp");
3363
- var import_jsx_runtime50 = require("react/jsx-runtime");
3364
- var InputOTP = React48.forwardRef((_a, ref) => {
3365
- var _b = _a, { className, containerClassName } = _b, props = __objRest(_b, ["className", "containerClassName"]);
3366
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
3367
- import_input_otp.OTPInput,
3368
- __spreadValues({
3369
- ref,
3370
- containerClassName: cn(
3371
- "flex items-center gap-2 has-disabled:opacity-50",
3372
- containerClassName
3373
- ),
3374
- className: cn("disabled:cursor-not-allowed", className)
3375
- }, props)
3376
- );
3377
- });
3378
- InputOTP.displayName = "InputOTP";
3379
- var InputOTPGroup = React48.forwardRef((_a, ref) => {
3380
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3381
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", __spreadValues({ ref, className: cn("flex items-center", className) }, props));
3382
- });
3383
- InputOTPGroup.displayName = "InputOTPGroup";
3384
- var InputOTPSlot = React48.forwardRef((_a, ref) => {
3385
- var _b = _a, { index, className } = _b, props = __objRest(_b, ["index", "className"]);
3386
- const inputOTPContext = React48.useContext(import_input_otp.OTPInputContext);
3387
- const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
3388
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
3389
- "div",
3390
- __spreadProps(__spreadValues({
3391
- ref,
3392
- className: cn(
3393
- "relative flex h-10 w-10 items-center justify-center border-y border-r border-input text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md",
3394
- isActive && "z-10 ring-2 ring-ring ring-offset-background",
3395
- className
3396
- )
3397
- }, props), {
3398
- children: [
3399
- char,
3400
- hasFakeCaret && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "h-4 w-px animate-caret-blink bg-foreground duration-1000" }) })
3401
- ]
3402
- })
3403
- );
3404
- });
3405
- InputOTPSlot.displayName = "InputOTPSlot";
3406
- var InputOTPSeparator = React48.forwardRef((_a, ref) => {
3407
- var props = __objRest(_a, []);
3408
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", __spreadProps(__spreadValues({ ref, role: "separator" }, props), { children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(globalLucideIcons.Dot, {}) }));
3409
- });
3410
- InputOTPSeparator.displayName = "InputOTPSeparator";
3411
-
3412
- // src/ui/input.tsx
3413
- var React49 = __toESM(require("react"));
3414
- var import_jsx_runtime51 = require("react/jsx-runtime");
3415
- var Input = React49.forwardRef(
3416
- (_a, ref) => {
3417
- var _b = _a, { className, type } = _b, props = __objRest(_b, ["className", "type"]);
3418
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
3419
- "input",
3420
- __spreadValues({
3421
- type,
3422
- className: cn(
3423
- "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
3424
- className
3425
- ),
3426
- ref
3427
- }, props)
3428
- );
3429
- }
3430
- );
3431
- Input.displayName = "Input";
3432
-
3433
- // src/ui/language-button.tsx
3434
- var React50 = __toESM(require("react"));
3435
- var import_jsx_runtime52 = require("react/jsx-runtime");
3436
- var LanguageButton = React50.forwardRef(
3437
- (_a, ref) => {
3438
- var _b = _a, { className, variant = "default", size = "default" } = _b, props = __objRest(_b, ["className", "variant", "size"]);
3439
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
3440
- "button",
3441
- __spreadValues({
3442
- className: cn(
3443
- "inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background",
3444
- {
3445
- "bg-primary text-primary-foreground hover:bg-primary/90": variant === "default",
3446
- "hover:bg-accent hover:text-accent-foreground": variant === "ghost",
3447
- "h-10 px-4 py-2": size === "default",
3448
- "h-9 px-3": size === "sm",
3449
- "h-11 px-8": size === "lg",
3450
- "h-10 w-10": size === "icon"
3451
- },
3452
- className
3453
- ),
3454
- ref
3455
- }, props)
3456
- );
3457
- }
3458
- );
3459
- LanguageButton.displayName = "Button";
3460
-
3461
- // src/ui/menubar.tsx
3462
- var React51 = __toESM(require("react"));
3463
- var MenubarPrimitive = __toESM(require("@radix-ui/react-menubar"));
3464
- var import_jsx_runtime53 = require("react/jsx-runtime");
3465
- var MenubarMenu = MenubarPrimitive.Menu;
3466
- var MenubarGroup = MenubarPrimitive.Group;
3467
- var MenubarPortal = MenubarPrimitive.Portal;
3468
- var MenubarSub = MenubarPrimitive.Sub;
3469
- var MenubarRadioGroup = MenubarPrimitive.RadioGroup;
3470
- var Menubar = React51.forwardRef((_a, ref) => {
3471
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3472
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3473
- MenubarPrimitive.Root,
3474
- __spreadValues({
3475
- ref,
3476
- className: cn(
3477
- "flex h-10 items-center space-x-1 rounded-md border bg-background p-1",
3478
- className
3479
- )
3480
- }, props)
3481
- );
3482
- });
3483
- Menubar.displayName = MenubarPrimitive.Root.displayName;
3484
- var MenubarTrigger = React51.forwardRef((_a, ref) => {
3485
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3486
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3487
- MenubarPrimitive.Trigger,
3488
- __spreadValues({
3489
- ref,
3490
- className: cn(
3491
- "flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-hidden focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
3492
- className
3493
- )
3494
- }, props)
3495
- );
3496
- });
3497
- MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
3498
- var MenubarSubTrigger = React51.forwardRef((_a, ref) => {
3499
- var _b = _a, { className, inset, children } = _b, props = __objRest(_b, ["className", "inset", "children"]);
3500
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
3501
- MenubarPrimitive.SubTrigger,
3502
- __spreadProps(__spreadValues({
3503
- ref,
3504
- className: cn(
3505
- "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
3506
- inset && "pl-8",
3507
- className
3508
- )
3509
- }, props), {
3510
- children: [
3511
- children,
3512
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(globalLucideIcons.ChevronRight, { className: "ml-auto h-4 w-4" })
3513
- ]
3514
- })
3515
- );
3516
- });
3517
- MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
3518
- var MenubarSubContent = React51.forwardRef((_a, ref) => {
3519
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3520
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3521
- MenubarPrimitive.SubContent,
3522
- __spreadValues({
3523
- ref,
3524
- className: cn(
3525
- "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
3526
- className
3527
- )
3528
- }, props)
3529
- );
3530
- });
3531
- MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
3532
- var MenubarContent = React51.forwardRef(
3533
- (_a, ref) => {
3534
- var _b = _a, { className, align = "start", alignOffset = -4, sideOffset = 8 } = _b, props = __objRest(_b, ["className", "align", "alignOffset", "sideOffset"]);
3535
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(MenubarPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3536
- MenubarPrimitive.Content,
3537
- __spreadValues({
3538
- ref,
3539
- align,
3540
- alignOffset,
3541
- sideOffset,
3542
- className: cn(
3543
- "z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
3544
- className
3545
- )
3546
- }, props)
3547
- ) });
3548
- }
3549
- );
3550
- MenubarContent.displayName = MenubarPrimitive.Content.displayName;
3551
- var MenubarItem = React51.forwardRef((_a, ref) => {
3552
- var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
3553
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3554
- MenubarPrimitive.Item,
3555
- __spreadValues({
3556
- ref,
3557
- className: cn(
3558
- "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
3559
- inset && "pl-8",
3560
- className
3561
- )
3562
- }, props)
3563
- );
3564
- });
3565
- MenubarItem.displayName = MenubarPrimitive.Item.displayName;
3566
- var MenubarCheckboxItem = React51.forwardRef((_a, ref) => {
3567
- var _b = _a, { className, children, checked } = _b, props = __objRest(_b, ["className", "children", "checked"]);
3568
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
3569
- MenubarPrimitive.CheckboxItem,
3570
- __spreadProps(__spreadValues({
3571
- ref,
3572
- className: cn(
3573
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
3574
- className
3575
- ),
3576
- checked
3577
- }, props), {
3578
- children: [
3579
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(globalLucideIcons.Check, { className: "h-4 w-4" }) }) }),
3580
- children
3581
- ]
3582
- })
3583
- );
3584
- });
3585
- MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
3586
- var MenubarRadioItem = React51.forwardRef((_a, ref) => {
3587
- var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
3588
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
3589
- MenubarPrimitive.RadioItem,
3590
- __spreadProps(__spreadValues({
3591
- ref,
3592
- className: cn(
3593
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
3594
- className
3595
- )
3596
- }, props), {
3597
- children: [
3598
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(globalLucideIcons.Circle, { className: "h-2 w-2 fill-current" }) }) }),
3599
- children
3600
- ]
3601
- })
3602
- );
3603
- });
3604
- MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
3605
- var MenubarLabel = React51.forwardRef((_a, ref) => {
3606
- var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
3607
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3608
- MenubarPrimitive.Label,
3609
- __spreadValues({
3610
- ref,
3611
- className: cn(
3612
- "px-2 py-1.5 text-sm font-semibold",
3613
- inset && "pl-8",
3614
- className
3615
- )
3616
- }, props)
3617
- );
3618
- });
3619
- MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
3620
- var MenubarSeparator = React51.forwardRef((_a, ref) => {
3621
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3622
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3623
- MenubarPrimitive.Separator,
3624
- __spreadValues({
3625
- ref,
3626
- className: cn("-mx-1 my-1 h-px bg-muted", className)
3627
- }, props)
3628
- );
3629
- });
3630
- MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;
3631
- var MenubarShortcut = (_a) => {
3632
- var _b = _a, {
3633
- className
3634
- } = _b, props = __objRest(_b, [
3635
- "className"
3636
- ]);
3637
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3638
- "span",
3639
- __spreadValues({
3640
- className: cn(
3641
- "ml-auto text-xs tracking-widest text-muted-foreground",
3642
- className
3643
- )
3644
- }, props)
3645
- );
3646
- };
3647
- MenubarShortcut.displayName = "MenubarShortcut";
3648
-
3649
- // src/ui/navigation-menu.tsx
3650
- var React52 = __toESM(require("react"));
3651
- var NavigationMenuPrimitive = __toESM(require("@radix-ui/react-navigation-menu"));
3652
- var import_class_variance_authority5 = require("class-variance-authority");
3653
- var import_jsx_runtime54 = require("react/jsx-runtime");
3654
- var NavigationMenu = React52.forwardRef((_a, ref) => {
3655
- var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
3656
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
3657
- NavigationMenuPrimitive.Root,
3658
- __spreadProps(__spreadValues({
3659
- ref,
3660
- className: cn(
3661
- "relative z-10 flex max-w-max flex-1 items-center justify-center",
3662
- className
3663
- )
3664
- }, props), {
3665
- children: [
3666
- children,
3667
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(NavigationMenuViewport, {})
3668
- ]
3669
- })
3670
- );
3671
- });
3672
- NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
3673
- var NavigationMenuList = React52.forwardRef((_a, ref) => {
3674
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3675
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
3676
- NavigationMenuPrimitive.List,
3677
- __spreadValues({
3678
- ref,
3679
- className: cn(
3680
- "group flex flex-1 list-none items-center justify-center space-x-1",
3681
- className
3682
- )
3683
- }, props)
3684
- );
3685
- });
3686
- NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;
3687
- var NavigationMenuItem = NavigationMenuPrimitive.Item;
3688
- var navigationMenuTriggerStyle = (0, import_class_variance_authority5.cva)(
3689
- "group inline-flex h-10 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-hidden disabled:pointer-events-none disabled:opacity-50 data-active:bg-accent/50 data-[state=open]:bg-accent/50"
3690
- );
3691
- var NavigationMenuTrigger = React52.forwardRef((_a, ref) => {
3692
- var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
3693
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
3694
- NavigationMenuPrimitive.Trigger,
3695
- __spreadProps(__spreadValues({
3696
- ref,
3697
- className: cn(navigationMenuTriggerStyle(), "group", className)
3698
- }, props), {
3699
- children: [
3700
- children,
3701
- " ",
3702
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
3703
- globalLucideIcons.ChevronDown,
3704
- {
3705
- className: "relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180",
3706
- "aria-hidden": "true"
3707
- }
3708
- )
3709
- ]
3710
- })
3711
- );
3712
- });
3713
- NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
3714
- var NavigationMenuContent = React52.forwardRef((_a, ref) => {
3715
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3716
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
3717
- NavigationMenuPrimitive.Content,
3718
- __spreadValues({
3719
- ref,
3720
- className: cn(
3721
- "left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto ",
3722
- className
3723
- )
3724
- }, props)
3725
- );
3726
- });
3727
- NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
3728
- var NavigationMenuLink = NavigationMenuPrimitive.Link;
3729
- var NavigationMenuViewport = React52.forwardRef((_a, ref) => {
3730
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3731
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
3732
- NavigationMenuPrimitive.Viewport,
3733
- __spreadValues({
3734
- className: cn(
3735
- "origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",
3736
- className
3737
- ),
3738
- ref
3739
- }, props)
3740
- ) });
3741
- });
3742
- NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
3743
- var NavigationMenuIndicator = React52.forwardRef((_a, ref) => {
3744
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3745
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
3746
- NavigationMenuPrimitive.Indicator,
3747
- __spreadProps(__spreadValues({
3748
- ref,
3749
- className: cn(
3750
- "top-full z-1 flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",
3751
- className
3752
- )
3753
- }, props), {
3754
- children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
3755
- })
3756
- );
3757
- });
3758
- NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
3759
-
3760
- // src/ui/pagination.tsx
3761
- var React53 = __toESM(require("react"));
3762
- var import_jsx_runtime55 = require("react/jsx-runtime");
3763
- var Pagination = (_a) => {
3764
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3765
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
3766
- "nav",
3767
- __spreadValues({
3768
- role: "navigation",
3769
- "aria-label": "pagination",
3770
- className: cn("mx-auto flex w-full justify-center", className)
3771
- }, props)
3772
- );
3773
- };
3774
- Pagination.displayName = "Pagination";
3775
- var PaginationContent = React53.forwardRef((_a, ref) => {
3776
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3777
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
3778
- "ul",
3779
- __spreadValues({
3780
- ref,
3781
- className: cn("flex flex-row items-center gap-1", className)
3782
- }, props)
3783
- );
3784
- });
3785
- PaginationContent.displayName = "PaginationContent";
3786
- var PaginationItem = React53.forwardRef((_a, ref) => {
3787
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3788
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("li", __spreadValues({ ref, className: cn("", className) }, props));
3789
- });
3790
- PaginationItem.displayName = "PaginationItem";
3791
- var PaginationLink = (_a) => {
3792
- var _b = _a, {
3793
- className,
3794
- isActive,
3795
- size = "icon"
3796
- } = _b, props = __objRest(_b, [
3797
- "className",
3798
- "isActive",
3799
- "size"
3800
- ]);
3801
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
3802
- "a",
3803
- __spreadValues({
3804
- "aria-current": isActive ? "page" : void 0,
3805
- className: cn(
3806
- buttonVariants({
3807
- variant: isActive ? "outline" : "ghost",
3808
- size
3809
- }),
3810
- className
3811
- )
3812
- }, props)
3813
- );
3814
- };
3815
- PaginationLink.displayName = "PaginationLink";
3816
- var PaginationPrevious = (_a) => {
3817
- var _b = _a, {
3818
- className
3819
- } = _b, props = __objRest(_b, [
3820
- "className"
3821
- ]);
3822
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
3823
- PaginationLink,
3824
- __spreadProps(__spreadValues({
3825
- "aria-label": "Go to previous page",
3826
- size: "default",
3827
- className: cn("gap-1 pl-2.5", className)
3828
- }, props), {
3829
- children: [
3830
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(globalLucideIcons.ChevronLeft, { className: "h-4 w-4" }),
3831
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { children: "Previous" })
3832
- ]
3833
- })
3834
- );
3835
- };
3836
- PaginationPrevious.displayName = "PaginationPrevious";
3837
- var PaginationNext = (_a) => {
3838
- var _b = _a, {
3839
- className
3840
- } = _b, props = __objRest(_b, [
3841
- "className"
3842
- ]);
3843
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
3844
- PaginationLink,
3845
- __spreadProps(__spreadValues({
3846
- "aria-label": "Go to next page",
3847
- size: "default",
3848
- className: cn("gap-1 pr-2.5", className)
3849
- }, props), {
3850
- children: [
3851
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { children: "Next" }),
3852
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(globalLucideIcons.ChevronRight, { className: "h-4 w-4" })
3853
- ]
3854
- })
3855
- );
3856
- };
3857
- PaginationNext.displayName = "PaginationNext";
3858
- var PaginationEllipsis = (_a) => {
3859
- var _b = _a, {
3860
- className
3861
- } = _b, props = __objRest(_b, [
3862
- "className"
3863
- ]);
3864
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
3865
- "span",
3866
- __spreadProps(__spreadValues({
3867
- "aria-hidden": true,
3868
- className: cn("flex h-9 w-9 items-center justify-center", className)
3869
- }, props), {
3870
- children: [
3871
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(globalLucideIcons.MoreHorizontal, { className: "h-4 w-4" }),
3872
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "sr-only", children: "More pages" })
3873
- ]
3874
- })
3875
- );
3876
- };
3877
- PaginationEllipsis.displayName = "PaginationEllipsis";
3878
-
3879
- // src/ui/popover.tsx
3880
- var React54 = __toESM(require("react"));
3881
- var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"));
3882
- var import_jsx_runtime56 = require("react/jsx-runtime");
3883
- var Popover = PopoverPrimitive.Root;
3884
- var PopoverTrigger = PopoverPrimitive.Trigger;
3885
- var PopoverContent = React54.forwardRef((_a, ref) => {
3886
- var _b = _a, { className, align = "center", sideOffset = 4 } = _b, props = __objRest(_b, ["className", "align", "sideOffset"]);
3887
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(PopoverPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
3888
- PopoverPrimitive.Content,
3889
- __spreadValues({
3890
- ref,
3891
- align,
3892
- sideOffset,
3893
- className: cn(
3894
- "z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden 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",
3895
- className
3896
- )
3897
- }, props)
3898
- ) });
3899
- });
3900
- PopoverContent.displayName = PopoverPrimitive.Content.displayName;
3901
-
3902
- // src/ui/progress.tsx
3903
- var React55 = __toESM(require("react"));
3904
- var ProgressPrimitive = __toESM(require("@radix-ui/react-progress"));
3905
- var import_jsx_runtime57 = require("react/jsx-runtime");
3906
- var Progress = React55.forwardRef((_a, ref) => {
3907
- var _b = _a, { className, value } = _b, props = __objRest(_b, ["className", "value"]);
3908
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
3909
- ProgressPrimitive.Root,
3910
- __spreadProps(__spreadValues({
3911
- ref,
3912
- className: cn(
3913
- "relative h-4 w-full overflow-hidden rounded-full bg-secondary",
3914
- className
3915
- )
3916
- }, props), {
3917
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
3918
- ProgressPrimitive.Indicator,
3919
- {
3920
- className: "h-full w-full flex-1 bg-primary transition-all",
3921
- style: { transform: `translateX(-${100 - (value || 0)}%)` }
3922
- }
3923
- )
3924
- })
3925
- );
3926
- });
3927
- Progress.displayName = ProgressPrimitive.Root.displayName;
3928
-
3929
- // src/ui/radio-group.tsx
3930
- var React56 = __toESM(require("react"));
3931
- var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"));
3932
- var import_jsx_runtime58 = require("react/jsx-runtime");
3933
- var RadioGroup4 = React56.forwardRef((_a, ref) => {
3934
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3935
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
3936
- RadioGroupPrimitive.Root,
3937
- __spreadProps(__spreadValues({
3938
- className: cn("grid gap-2", className)
3939
- }, props), {
3940
- ref
3941
- })
3942
- );
3943
- });
3944
- RadioGroup4.displayName = RadioGroupPrimitive.Root.displayName;
3945
- var RadioGroupItem = React56.forwardRef((_a, ref) => {
3946
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
3947
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
3948
- RadioGroupPrimitive.Item,
3949
- __spreadProps(__spreadValues({
3950
- ref,
3951
- className: cn(
3952
- "aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
3953
- className
3954
- )
3955
- }, props), {
3956
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(globalLucideIcons.Circle, { className: "h-2.5 w-2.5 fill-current text-current" }) })
3957
- })
3958
- );
3959
- });
3960
- RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
3961
-
3962
- // src/ui/resizable.tsx
3963
- var ResizablePrimitive = __toESM(require("react-resizable-panels"));
3964
- var import_jsx_runtime59 = require("react/jsx-runtime");
3965
- var ResizablePanelGroup = (_a) => {
3966
- var _b = _a, {
3967
- className
3968
- } = _b, props = __objRest(_b, [
3969
- "className"
3970
- ]);
3971
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
3972
- ResizablePrimitive.PanelGroup,
3973
- __spreadValues({
3974
- className: cn(
3975
- "flex h-full w-full data-[panel-group-direction=vertical]:flex-col",
3976
- className
3977
- )
3978
- }, props)
3979
- );
3980
- };
3981
- var ResizablePanel = ResizablePrimitive.Panel;
3982
- var ResizableHandle = (_a) => {
3983
- var _b = _a, {
3984
- withHandle,
3985
- className
3986
- } = _b, props = __objRest(_b, [
3987
- "withHandle",
3988
- "className"
3989
- ]);
3990
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
3991
- ResizablePrimitive.PanelResizeHandle,
3992
- __spreadProps(__spreadValues({
3993
- className: cn(
3994
- "relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 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-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",
3995
- className
3996
- )
3997
- }, props), {
3998
- children: withHandle && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(globalLucideIcons.GripVertical, { className: "h-2.5 w-2.5" }) })
3999
- })
4000
- );
4001
- };
4002
-
4003
- // src/ui/scroll-area.tsx
4004
- var React57 = __toESM(require("react"));
4005
- var ScrollAreaPrimitive = __toESM(require("@radix-ui/react-scroll-area"));
4006
- var import_jsx_runtime60 = require("react/jsx-runtime");
4007
- var ScrollArea = React57.forwardRef((_a, ref) => {
4008
- var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
4009
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
4010
- ScrollAreaPrimitive.Root,
4011
- __spreadProps(__spreadValues({
4012
- ref,
4013
- className: cn("relative overflow-hidden", className)
4014
- }, props), {
4015
- children: [
4016
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
4017
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ScrollBar, {}),
4018
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ScrollAreaPrimitive.Corner, {})
4019
- ]
4020
- })
4021
- );
4022
- });
4023
- ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
4024
- var ScrollBar = React57.forwardRef((_a, ref) => {
4025
- var _b = _a, { className, orientation = "vertical" } = _b, props = __objRest(_b, ["className", "orientation"]);
4026
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
4027
- ScrollAreaPrimitive.ScrollAreaScrollbar,
4028
- __spreadProps(__spreadValues({
4029
- ref,
4030
- orientation,
4031
- className: cn(
4032
- "flex touch-none select-none transition-colors",
4033
- orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent p-[1px]",
4034
- orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent p-[1px]",
4035
- className
4036
- )
4037
- }, props), {
4038
- children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
4039
- })
4040
- );
4041
- });
4042
- ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
4043
-
4044
- // src/ui/select.tsx
4045
- var React58 = __toESM(require("react"));
4046
- var SelectPrimitive = __toESM(require("@radix-ui/react-select"));
4047
- var import_jsx_runtime61 = require("react/jsx-runtime");
4048
- var Select = SelectPrimitive.Root;
4049
- var SelectGroup = SelectPrimitive.Group;
4050
- var SelectValue = SelectPrimitive.Value;
4051
- var SelectTrigger = React58.forwardRef((_a, ref) => {
4052
- var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
4053
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
4054
- SelectPrimitive.Trigger,
4055
- __spreadProps(__spreadValues({
4056
- ref,
4057
- className: cn(
4058
- "flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
4059
- className
4060
- )
4061
- }, props), {
4062
- children: [
4063
- children,
4064
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(globalLucideIcons.ChevronDown, { className: "h-4 w-4 opacity-50" }) })
4065
- ]
4066
- })
4067
- );
4068
- });
4069
- SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
4070
- var SelectScrollUpButton = React58.forwardRef((_a, ref) => {
4071
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4072
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
4073
- SelectPrimitive.ScrollUpButton,
4074
- __spreadProps(__spreadValues({
4075
- ref,
4076
- className: cn(
4077
- "flex cursor-default items-center justify-center py-1",
4078
- className
4079
- )
4080
- }, props), {
4081
- children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(globalLucideIcons.ChevronUp, { className: "h-4 w-4" })
4082
- })
4083
- );
4084
- });
4085
- SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
4086
- var SelectScrollDownButton = React58.forwardRef((_a, ref) => {
4087
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4088
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
4089
- SelectPrimitive.ScrollDownButton,
4090
- __spreadProps(__spreadValues({
4091
- ref,
4092
- className: cn(
4093
- "flex cursor-default items-center justify-center py-1",
4094
- className
4095
- )
4096
- }, props), {
4097
- children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(globalLucideIcons.ChevronDown, { className: "h-4 w-4" })
4098
- })
4099
- );
4100
- });
4101
- SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
4102
- var SelectContent = React58.forwardRef((_a, ref) => {
4103
- var _b = _a, { className, children, position = "popper" } = _b, props = __objRest(_b, ["className", "children", "position"]);
4104
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(SelectPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
4105
- SelectPrimitive.Content,
4106
- __spreadProps(__spreadValues({
4107
- ref,
4108
- className: cn(
4109
- "relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
4110
- 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",
4111
- className
4112
- ),
4113
- position
4114
- }, props), {
4115
- children: [
4116
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(SelectScrollUpButton, {}),
4117
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
4118
- SelectPrimitive.Viewport,
4119
- {
4120
- className: cn(
4121
- "p-1",
4122
- position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
4123
- ),
4124
- children
4125
- }
4126
- ),
4127
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(SelectScrollDownButton, {})
4128
- ]
4129
- })
4130
- ) });
4131
- });
4132
- SelectContent.displayName = SelectPrimitive.Content.displayName;
4133
- var SelectLabel = React58.forwardRef((_a, ref) => {
4134
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4135
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
4136
- SelectPrimitive.Label,
4137
- __spreadValues({
4138
- ref,
4139
- className: cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className)
4140
- }, props)
4141
- );
4142
- });
4143
- SelectLabel.displayName = SelectPrimitive.Label.displayName;
4144
- var SelectItem = React58.forwardRef((_a, ref) => {
4145
- var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
4146
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
4147
- SelectPrimitive.Item,
4148
- __spreadProps(__spreadValues({
4149
- ref,
4150
- className: cn(
4151
- "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
4152
- className
4153
- )
4154
- }, props), {
4155
- children: [
4156
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(globalLucideIcons.Check, { className: "h-4 w-4" }) }) }),
4157
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(SelectPrimitive.ItemText, { children })
4158
- ]
4159
- })
4160
- );
4161
- });
4162
- SelectItem.displayName = SelectPrimitive.Item.displayName;
4163
- var SelectSeparator = React58.forwardRef((_a, ref) => {
4164
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4165
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
4166
- SelectPrimitive.Separator,
4167
- __spreadValues({
4168
- ref,
4169
- className: cn("-mx-1 my-1 h-px bg-muted", className)
4170
- }, props)
4171
- );
4172
- });
4173
- SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
4174
-
4175
- // src/ui/separator.tsx
4176
- var React59 = __toESM(require("react"));
4177
- var SeparatorPrimitive = __toESM(require("@radix-ui/react-separator"));
4178
- var import_jsx_runtime62 = require("react/jsx-runtime");
4179
- var Separator5 = React59.forwardRef(
4180
- (_a, ref) => {
4181
- var _b = _a, { className, orientation = "horizontal", decorative = true } = _b, props = __objRest(_b, ["className", "orientation", "decorative"]);
4182
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4183
- SeparatorPrimitive.Root,
4184
- __spreadValues({
4185
- ref,
4186
- decorative,
4187
- orientation,
4188
- className: cn(
4189
- "shrink-0 bg-border",
4190
- orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
4191
- className
4192
- )
4193
- }, props)
4194
- );
4195
- }
4196
- );
4197
- Separator5.displayName = SeparatorPrimitive.Root.displayName;
4198
-
4199
- // src/ui/sheet.tsx
4200
- var React60 = __toESM(require("react"));
4201
- var SheetPrimitive = __toESM(require("@radix-ui/react-dialog"));
4202
- var import_class_variance_authority6 = require("class-variance-authority");
4203
- var import_jsx_runtime63 = require("react/jsx-runtime");
4204
- var Sheet = SheetPrimitive.Root;
4205
- var SheetTrigger = SheetPrimitive.Trigger;
4206
- var SheetClose = SheetPrimitive.Close;
4207
- var SheetPortal = SheetPrimitive.Portal;
4208
- var SheetOverlay = React60.forwardRef((_a, ref) => {
4209
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4210
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
4211
- SheetPrimitive.Overlay,
4212
- __spreadProps(__spreadValues({
4213
- className: cn(
4214
- "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
4215
- className
4216
- )
4217
- }, props), {
4218
- ref
4219
- })
4220
- );
4221
- });
4222
- SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
4223
- var sheetVariants = (0, import_class_variance_authority6.cva)(
4224
- "fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
4225
- {
4226
- variants: {
4227
- side: {
4228
- top: "inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
4229
- bottom: "inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
4230
- 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",
4231
- 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"
4232
- }
4233
- },
4234
- defaultVariants: {
4235
- side: "right"
4236
- }
4237
- }
4238
- );
4239
- var SheetContent = React60.forwardRef((_a, ref) => {
4240
- var _b = _a, { side = "right", className, children } = _b, props = __objRest(_b, ["side", "className", "children"]);
4241
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(SheetPortal, { children: [
4242
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(SheetOverlay, {}),
4243
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
4244
- SheetPrimitive.Content,
4245
- __spreadProps(__spreadValues({
4246
- ref,
4247
- className: cn(sheetVariants({ side }), className)
4248
- }, props), {
4249
- children: [
4250
- children,
4251
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
4252
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(globalLucideIcons.X, { className: "h-4 w-4" }),
4253
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "sr-only", children: "Close" })
4254
- ] })
4255
- ]
4256
- })
4257
- )
4258
- ] });
4259
- });
4260
- SheetContent.displayName = SheetPrimitive.Content.displayName;
4261
- var SheetHeader = (_a) => {
4262
- var _b = _a, {
4263
- className
4264
- } = _b, props = __objRest(_b, [
4265
- "className"
4266
- ]);
4267
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
4268
- "div",
4269
- __spreadValues({
4270
- className: cn(
4271
- "flex flex-col space-y-2 text-center sm:text-left",
4272
- className
4273
- )
4274
- }, props)
4275
- );
4276
- };
4277
- SheetHeader.displayName = "SheetHeader";
4278
- var SheetFooter = (_a) => {
4279
- var _b = _a, {
4280
- className
4281
- } = _b, props = __objRest(_b, [
4282
- "className"
4283
- ]);
4284
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
4285
- "div",
4286
- __spreadValues({
4287
- className: cn(
4288
- "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
4289
- className
4290
- )
4291
- }, props)
4292
- );
4293
- };
4294
- SheetFooter.displayName = "SheetFooter";
4295
- var SheetTitle = React60.forwardRef((_a, ref) => {
4296
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4297
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
4298
- SheetPrimitive.Title,
4299
- __spreadValues({
4300
- ref,
4301
- className: cn("text-lg font-semibold text-foreground", className)
4302
- }, props)
4303
- );
4304
- });
4305
- SheetTitle.displayName = SheetPrimitive.Title.displayName;
4306
- var SheetDescription = React60.forwardRef((_a, ref) => {
4307
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4308
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
4309
- SheetPrimitive.Description,
4310
- __spreadValues({
4311
- ref,
4312
- className: cn("text-sm text-muted-foreground", className)
4313
- }, props)
4314
- );
4315
- });
4316
- SheetDescription.displayName = SheetPrimitive.Description.displayName;
4317
-
4318
- // src/ui/sidebar.tsx
4319
- var React63 = __toESM(require("react"));
4320
- var import_react_slot4 = require("@radix-ui/react-slot");
4321
- var import_class_variance_authority7 = require("class-variance-authority");
4322
-
4323
- // src/ui/use-mobile.tsx
4324
- var React61 = __toESM(require("react"));
4325
- var MOBILE_BREAKPOINT = 768;
4326
- function useIsMobile() {
4327
- const [isMobile, setIsMobile] = React61.useState(void 0);
4328
- React61.useEffect(() => {
4329
- const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
4330
- const onChange = () => {
4331
- setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
4332
- };
4333
- mql.addEventListener("change", onChange);
4334
- setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
4335
- return () => mql.removeEventListener("change", onChange);
4336
- }, []);
4337
- return !!isMobile;
4338
- }
4339
-
4340
- // src/ui/skeleton.tsx
4341
- var import_jsx_runtime64 = require("react/jsx-runtime");
4342
- function Skeleton(_a) {
4343
- var _b = _a, {
4344
- className
4345
- } = _b, props = __objRest(_b, [
4346
- "className"
4347
- ]);
4348
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
4349
- "div",
4350
- __spreadValues({
4351
- className: cn("animate-pulse rounded-md bg-muted", className)
4352
- }, props)
4353
- );
4354
- }
4355
-
4356
- // src/ui/tooltip.tsx
4357
- var React62 = __toESM(require("react"));
4358
- var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"));
4359
- var import_jsx_runtime65 = require("react/jsx-runtime");
4360
- var TooltipProvider = TooltipPrimitive.Provider;
4361
- var Tooltip2 = TooltipPrimitive.Root;
4362
- var TooltipTrigger = TooltipPrimitive.Trigger;
4363
- var TooltipContent = React62.forwardRef((_a, ref) => {
4364
- var _b = _a, { className, sideOffset = 4 } = _b, props = __objRest(_b, ["className", "sideOffset"]);
4365
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
4366
- TooltipPrimitive.Content,
4367
- __spreadValues({
4368
- ref,
4369
- sideOffset,
4370
- className: cn(
4371
- "z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md 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",
4372
- className
4373
- )
4374
- }, props)
4375
- );
4376
- });
4377
- TooltipContent.displayName = TooltipPrimitive.Content.displayName;
4378
-
4379
- // src/ui/sidebar.tsx
4380
- var import_jsx_runtime66 = require("react/jsx-runtime");
4381
- var SIDEBAR_COOKIE_NAME = "sidebar:state";
4382
- var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
4383
- var SIDEBAR_WIDTH = "16rem";
4384
- var SIDEBAR_WIDTH_MOBILE = "18rem";
4385
- var SIDEBAR_WIDTH_ICON = "3rem";
4386
- var SIDEBAR_KEYBOARD_SHORTCUT = "b";
4387
- var SidebarContext = React63.createContext(null);
4388
- function useSidebar() {
4389
- const context = React63.useContext(SidebarContext);
4390
- if (!context) {
4391
- throw new Error("useSidebar must be used within a SidebarProvider.");
4392
- }
4393
- return context;
4394
- }
4395
- var SidebarProvider = React63.forwardRef(
4396
- (_a, ref) => {
4397
- var _b = _a, {
4398
- defaultOpen = true,
4399
- open: openProp,
4400
- onOpenChange: setOpenProp,
4401
- className,
4402
- style,
4403
- children
4404
- } = _b, props = __objRest(_b, [
4405
- "defaultOpen",
4406
- "open",
4407
- "onOpenChange",
4408
- "className",
4409
- "style",
4410
- "children"
4411
- ]);
4412
- const isMobile = useIsMobile();
4413
- const [openMobile, setOpenMobile] = React63.useState(false);
4414
- const [_open, _setOpen] = React63.useState(defaultOpen);
4415
- const open = openProp != null ? openProp : _open;
4416
- const setOpen = React63.useCallback(
4417
- (value) => {
4418
- const openState = typeof value === "function" ? value(open) : value;
4419
- if (setOpenProp) {
4420
- setOpenProp(openState);
4421
- } else {
4422
- _setOpen(openState);
4423
- }
4424
- document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
4425
- },
4426
- [setOpenProp, open]
4427
- );
4428
- const toggleSidebar = React63.useCallback(() => {
4429
- return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
4430
- }, [isMobile, setOpen, setOpenMobile]);
4431
- React63.useEffect(() => {
4432
- const handleKeyDown = (event) => {
4433
- if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
4434
- event.preventDefault();
4435
- toggleSidebar();
4436
- }
4437
- };
4438
- window.addEventListener("keydown", handleKeyDown);
4439
- return () => window.removeEventListener("keydown", handleKeyDown);
4440
- }, [toggleSidebar]);
4441
- const state = open ? "expanded" : "collapsed";
4442
- const contextValue = React63.useMemo(
4443
- () => ({
4444
- state,
4445
- open,
4446
- setOpen,
4447
- isMobile,
4448
- openMobile,
4449
- setOpenMobile,
4450
- toggleSidebar
4451
- }),
4452
- [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
4453
- );
4454
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4455
- "div",
4456
- __spreadProps(__spreadValues({
4457
- style: __spreadValues({
4458
- "--sidebar-width": SIDEBAR_WIDTH,
4459
- "--sidebar-width-icon": SIDEBAR_WIDTH_ICON
4460
- }, style),
4461
- className: cn(
4462
- "group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar",
4463
- className
4464
- ),
4465
- ref
4466
- }, props), {
4467
- children
4468
- })
4469
- ) }) });
4470
- }
4471
- );
4472
- SidebarProvider.displayName = "SidebarProvider";
4473
- var Sidebar = React63.forwardRef(
4474
- (_a, ref) => {
4475
- var _b = _a, {
4476
- side = "left",
4477
- variant = "sidebar",
4478
- collapsible = "offcanvas",
4479
- className,
4480
- children
4481
- } = _b, props = __objRest(_b, [
4482
- "side",
4483
- "variant",
4484
- "collapsible",
4485
- "className",
4486
- "children"
4487
- ]);
4488
- const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
4489
- if (collapsible === "none") {
4490
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4491
- "div",
4492
- __spreadProps(__spreadValues({
4493
- className: cn(
4494
- "flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",
4495
- className
4496
- ),
4497
- ref
4498
- }, props), {
4499
- children
4500
- })
4501
- );
4502
- }
4503
- if (isMobile) {
4504
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Sheet, __spreadProps(__spreadValues({ open: openMobile, onOpenChange: setOpenMobile }, props), { children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4505
- SheetContent,
4506
- {
4507
- "data-sidebar": "sidebar",
4508
- "data-mobile": "true",
4509
- className: "w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",
4510
- style: {
4511
- "--sidebar-width": SIDEBAR_WIDTH_MOBILE
4512
- },
4513
- side,
4514
- children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "flex h-full w-full flex-col", children })
4515
- }
4516
- ) }));
4517
- }
4518
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
4519
- "div",
4520
- {
4521
- ref,
4522
- className: "group peer hidden md:block text-sidebar-foreground",
4523
- "data-state": state,
4524
- "data-collapsible": state === "collapsed" ? collapsible : "",
4525
- "data-variant": variant,
4526
- "data-side": side,
4527
- children: [
4528
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4529
- "div",
4530
- {
4531
- className: cn(
4532
- "duration-200 relative h-svh w-(--sidebar-width) bg-transparent transition-[width] ease-linear",
4533
- "group-data-[collapsible=offcanvas]:w-0",
4534
- "group-data-[side=right]:rotate-180",
4535
- variant === "floating" || variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)"
4536
- )
4537
- }
4538
- ),
4539
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4540
- "div",
4541
- __spreadProps(__spreadValues({
4542
- className: cn(
4543
- "duration-200 fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] ease-linear md:flex",
4544
- side === "left" ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]" : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",
4545
- // Adjust the padding for floating and inset variants.
4546
- variant === "floating" || variant === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",
4547
- className
4548
- )
4549
- }, props), {
4550
- children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4551
- "div",
4552
- {
4553
- "data-sidebar": "sidebar",
4554
- className: "flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow-sm",
4555
- children
4556
- }
4557
- )
4558
- })
4559
- )
4560
- ]
4561
- }
4562
- );
4563
- }
4564
- );
4565
- Sidebar.displayName = "Sidebar";
4566
- var SidebarTrigger = React63.forwardRef((_a, ref) => {
4567
- var _b = _a, { className, onClick } = _b, props = __objRest(_b, ["className", "onClick"]);
4568
- const { toggleSidebar } = useSidebar();
4569
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
4570
- Button,
4571
- __spreadProps(__spreadValues({
4572
- ref,
4573
- "data-sidebar": "trigger",
4574
- variant: "ghost",
4575
- size: "icon",
4576
- className: cn("h-7 w-7", className),
4577
- onClick: (event) => {
4578
- onClick == null ? void 0 : onClick(event);
4579
- toggleSidebar();
4580
- }
4581
- }, props), {
4582
- children: [
4583
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(globalLucideIcons.PanelLeft, {}),
4584
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
4585
- ]
4586
- })
4587
- );
4588
- });
4589
- SidebarTrigger.displayName = "SidebarTrigger";
4590
- var SidebarRail = React63.forwardRef((_a, ref) => {
4591
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4592
- const { toggleSidebar } = useSidebar();
4593
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4594
- "button",
4595
- __spreadValues({
4596
- ref,
4597
- "data-sidebar": "rail",
4598
- "aria-label": "Toggle Sidebar",
4599
- tabIndex: -1,
4600
- onClick: toggleSidebar,
4601
- title: "Toggle Sidebar",
4602
- className: cn(
4603
- "absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex",
4604
- "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize",
4605
- "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
4606
- "group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full hover:group-data-[collapsible=offcanvas]:bg-sidebar",
4607
- "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
4608
- "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",
4609
- className
4610
- )
4611
- }, props)
4612
- );
4613
- });
4614
- SidebarRail.displayName = "SidebarRail";
4615
- var SidebarInset = React63.forwardRef((_a, ref) => {
4616
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4617
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4618
- "main",
4619
- __spreadValues({
4620
- ref,
4621
- className: cn(
4622
- "relative flex min-h-svh flex-1 flex-col bg-background",
4623
- "peer-data-[variant=inset]:min-h-[calc(100svh-(--spacing(4)))] md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm",
4624
- className
4625
- )
4626
- }, props)
4627
- );
4628
- });
4629
- SidebarInset.displayName = "SidebarInset";
4630
- var SidebarInput = React63.forwardRef((_a, ref) => {
4631
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4632
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4633
- Input,
4634
- __spreadValues({
4635
- ref,
4636
- "data-sidebar": "input",
4637
- className: cn(
4638
- "h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",
4639
- className
4640
- )
4641
- }, props)
4642
- );
4643
- });
4644
- SidebarInput.displayName = "SidebarInput";
4645
- var SidebarHeader = React63.forwardRef((_a, ref) => {
4646
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4647
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4648
- "div",
4649
- __spreadValues({
4650
- ref,
4651
- "data-sidebar": "header",
4652
- className: cn("flex flex-col gap-2 p-2", className)
4653
- }, props)
4654
- );
4655
- });
4656
- SidebarHeader.displayName = "SidebarHeader";
4657
- var SidebarFooter = React63.forwardRef((_a, ref) => {
4658
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4659
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4660
- "div",
4661
- __spreadValues({
4662
- ref,
4663
- "data-sidebar": "footer",
4664
- className: cn("flex flex-col gap-2 p-2", className)
4665
- }, props)
4666
- );
4667
- });
4668
- SidebarFooter.displayName = "SidebarFooter";
4669
- var SidebarSeparator = React63.forwardRef((_a, ref) => {
4670
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4671
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4672
- Separator5,
4673
- __spreadValues({
4674
- ref,
4675
- "data-sidebar": "separator",
4676
- className: cn("mx-2 w-auto bg-sidebar-border", className)
4677
- }, props)
4678
- );
4679
- });
4680
- SidebarSeparator.displayName = "SidebarSeparator";
4681
- var SidebarContent = React63.forwardRef((_a, ref) => {
4682
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4683
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4684
- "div",
4685
- __spreadValues({
4686
- ref,
4687
- "data-sidebar": "content",
4688
- className: cn(
4689
- "flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",
4690
- className
4691
- )
4692
- }, props)
4693
- );
4694
- });
4695
- SidebarContent.displayName = "SidebarContent";
4696
- var SidebarGroup = React63.forwardRef((_a, ref) => {
4697
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4698
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4699
- "div",
4700
- __spreadValues({
4701
- ref,
4702
- "data-sidebar": "group",
4703
- className: cn("relative flex w-full min-w-0 flex-col p-2", className)
4704
- }, props)
4705
- );
4706
- });
4707
- SidebarGroup.displayName = "SidebarGroup";
4708
- var SidebarGroupLabel = React63.forwardRef((_a, ref) => {
4709
- var _b = _a, { className, asChild = false } = _b, props = __objRest(_b, ["className", "asChild"]);
4710
- const Comp = asChild ? import_react_slot4.Slot : "div";
4711
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4712
- Comp,
4713
- __spreadValues({
4714
- ref,
4715
- "data-sidebar": "group-label",
4716
- className: cn(
4717
- "duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-hidden ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
4718
- "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
4719
- className
4720
- )
4721
- }, props)
4722
- );
4723
- });
4724
- SidebarGroupLabel.displayName = "SidebarGroupLabel";
4725
- var SidebarGroupAction = React63.forwardRef((_a, ref) => {
4726
- var _b = _a, { className, asChild = false } = _b, props = __objRest(_b, ["className", "asChild"]);
4727
- const Comp = asChild ? import_react_slot4.Slot : "button";
4728
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4729
- Comp,
4730
- __spreadValues({
4731
- ref,
4732
- "data-sidebar": "group-action",
4733
- className: cn(
4734
- "absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-hidden ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
4735
- // Increases the hit area of the button on mobile.
4736
- "after:absolute after:-inset-2 md:after:hidden",
4737
- "group-data-[collapsible=icon]:hidden",
4738
- className
4739
- )
4740
- }, props)
4741
- );
4742
- });
4743
- SidebarGroupAction.displayName = "SidebarGroupAction";
4744
- var SidebarGroupContent = React63.forwardRef((_a, ref) => {
4745
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4746
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4747
- "div",
4748
- __spreadValues({
4749
- ref,
4750
- "data-sidebar": "group-content",
4751
- className: cn("w-full text-sm", className)
4752
- }, props)
4753
- );
4754
- });
4755
- SidebarGroupContent.displayName = "SidebarGroupContent";
4756
- var SidebarMenu = React63.forwardRef((_a, ref) => {
4757
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4758
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4759
- "ul",
4760
- __spreadValues({
4761
- ref,
4762
- "data-sidebar": "menu",
4763
- className: cn("flex w-full min-w-0 flex-col gap-1", className)
4764
- }, props)
4765
- );
4766
- });
4767
- SidebarMenu.displayName = "SidebarMenu";
4768
- var SidebarMenuItem = React63.forwardRef((_a, ref) => {
4769
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4770
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4771
- "li",
4772
- __spreadValues({
4773
- ref,
4774
- "data-sidebar": "menu-item",
4775
- className: cn("group/menu-item relative", className)
4776
- }, props)
4777
- );
4778
- });
4779
- SidebarMenuItem.displayName = "SidebarMenuItem";
4780
- var sidebarMenuButtonVariants = (0, import_class_variance_authority7.cva)(
4781
- "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
4782
- {
4783
- variants: {
4784
- variant: {
4785
- default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
4786
- outline: "bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"
4787
- },
4788
- size: {
4789
- default: "h-8 text-sm",
4790
- sm: "h-7 text-xs",
4791
- lg: "h-12 text-sm group-data-[collapsible=icon]:p-0!"
4792
- }
4793
- },
4794
- defaultVariants: {
4795
- variant: "default",
4796
- size: "default"
4797
- }
4798
- }
4799
- );
4800
- var SidebarMenuButton = React63.forwardRef(
4801
- (_a, ref) => {
4802
- var _b = _a, {
4803
- asChild = false,
4804
- isActive = false,
4805
- variant = "default",
4806
- size = "default",
4807
- tooltip,
4808
- className
4809
- } = _b, props = __objRest(_b, [
4810
- "asChild",
4811
- "isActive",
4812
- "variant",
4813
- "size",
4814
- "tooltip",
4815
- "className"
4816
- ]);
4817
- const Comp = asChild ? import_react_slot4.Slot : "button";
4818
- const { isMobile, state } = useSidebar();
4819
- const button = /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4820
- Comp,
4821
- __spreadValues({
4822
- ref,
4823
- "data-sidebar": "menu-button",
4824
- "data-size": size,
4825
- "data-active": isActive,
4826
- className: cn(sidebarMenuButtonVariants({ variant, size }), className)
4827
- }, props)
4828
- );
4829
- if (!tooltip) {
4830
- return button;
4831
- }
4832
- if (typeof tooltip === "string") {
4833
- tooltip = {
4834
- children: tooltip
4835
- };
4836
- }
4837
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(Tooltip2, { children: [
4838
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(TooltipTrigger, { asChild: true, children: button }),
4839
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4840
- TooltipContent,
4841
- __spreadValues({
4842
- side: "right",
4843
- align: "center",
4844
- hidden: state !== "collapsed" || isMobile
4845
- }, tooltip)
4846
- )
4847
- ] });
4848
- }
4849
- );
4850
- SidebarMenuButton.displayName = "SidebarMenuButton";
4851
- var SidebarMenuAction = React63.forwardRef((_a, ref) => {
4852
- var _b = _a, { className, asChild = false, showOnHover = false } = _b, props = __objRest(_b, ["className", "asChild", "showOnHover"]);
4853
- const Comp = asChild ? import_react_slot4.Slot : "button";
4854
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4855
- Comp,
4856
- __spreadValues({
4857
- ref,
4858
- "data-sidebar": "menu-action",
4859
- className: cn(
4860
- "absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-hidden ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0",
4861
- // Increases the hit area of the button on mobile.
4862
- "after:absolute after:-inset-2 md:after:hidden",
4863
- "peer-data-[size=sm]/menu-button:top-1",
4864
- "peer-data-[size=default]/menu-button:top-1.5",
4865
- "peer-data-[size=lg]/menu-button:top-2.5",
4866
- "group-data-[collapsible=icon]:hidden",
4867
- showOnHover && "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",
4868
- className
4869
- )
4870
- }, props)
4871
- );
4872
- });
4873
- SidebarMenuAction.displayName = "SidebarMenuAction";
4874
- var SidebarMenuBadge = React63.forwardRef((_a, ref) => {
4875
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4876
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4877
- "div",
4878
- __spreadValues({
4879
- ref,
4880
- "data-sidebar": "menu-badge",
4881
- className: cn(
4882
- "absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none",
4883
- "peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground",
4884
- "peer-data-[size=sm]/menu-button:top-1",
4885
- "peer-data-[size=default]/menu-button:top-1.5",
4886
- "peer-data-[size=lg]/menu-button:top-2.5",
4887
- "group-data-[collapsible=icon]:hidden",
4888
- className
4889
- )
4890
- }, props)
4891
- );
4892
- });
4893
- SidebarMenuBadge.displayName = "SidebarMenuBadge";
4894
- var SidebarMenuSkeleton = React63.forwardRef((_a, ref) => {
4895
- var _b = _a, { className, showIcon = false } = _b, props = __objRest(_b, ["className", "showIcon"]);
4896
- const width = React63.useMemo(() => {
4897
- return `${Math.floor(Math.random() * 40) + 50}%`;
4898
- }, []);
4899
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
4900
- "div",
4901
- __spreadProps(__spreadValues({
4902
- ref,
4903
- "data-sidebar": "menu-skeleton",
4904
- className: cn("rounded-md h-8 flex gap-2 px-2 items-center", className)
4905
- }, props), {
4906
- children: [
4907
- showIcon && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4908
- Skeleton,
4909
- {
4910
- className: "size-4 rounded-md",
4911
- "data-sidebar": "menu-skeleton-icon"
4912
- }
4913
- ),
4914
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4915
- Skeleton,
4916
- {
4917
- className: "h-4 flex-1 max-w-(--skeleton-width)",
4918
- "data-sidebar": "menu-skeleton-text",
4919
- style: {
4920
- "--skeleton-width": width
4921
- }
4922
- }
4923
- )
4924
- ]
4925
- })
4926
- );
4927
- });
4928
- SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
4929
- var SidebarMenuSub = React63.forwardRef((_a, ref) => {
4930
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4931
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4932
- "ul",
4933
- __spreadValues({
4934
- ref,
4935
- "data-sidebar": "menu-sub",
4936
- className: cn(
4937
- "mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5",
4938
- "group-data-[collapsible=icon]:hidden",
4939
- className
4940
- )
4941
- }, props)
4942
- );
4943
- });
4944
- SidebarMenuSub.displayName = "SidebarMenuSub";
4945
- var SidebarMenuSubItem = React63.forwardRef((_a, ref) => {
4946
- var props = __objRest(_a, []);
4947
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("li", __spreadValues({ ref }, props));
4948
- });
4949
- SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
4950
- var SidebarMenuSubButton = React63.forwardRef((_a, ref) => {
4951
- var _b = _a, { asChild = false, size = "md", isActive, className } = _b, props = __objRest(_b, ["asChild", "size", "isActive", "className"]);
4952
- const Comp = asChild ? import_react_slot4.Slot : "a";
4953
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4954
- Comp,
4955
- __spreadValues({
4956
- ref,
4957
- "data-sidebar": "menu-sub-button",
4958
- "data-size": size,
4959
- "data-active": isActive,
4960
- className: cn(
4961
- "flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-hidden ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground",
4962
- "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",
4963
- size === "sm" && "text-xs",
4964
- size === "md" && "text-sm",
4965
- "group-data-[collapsible=icon]:hidden",
4966
- className
4967
- )
4968
- }, props)
4969
- );
4970
- });
4971
- SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
4972
-
4973
- // src/ui/slider.tsx
4974
- var React64 = __toESM(require("react"));
4975
- var SliderPrimitive = __toESM(require("@radix-ui/react-slider"));
4976
- var import_jsx_runtime67 = require("react/jsx-runtime");
4977
- var Slider = React64.forwardRef((_a, ref) => {
4978
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4979
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
4980
- SliderPrimitive.Root,
4981
- __spreadProps(__spreadValues({
4982
- ref,
4983
- className: cn(
4984
- "relative flex w-full touch-none select-none items-center",
4985
- className
4986
- )
4987
- }, props), {
4988
- children: [
4989
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-secondary", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
4990
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(SliderPrimitive.Thumb, { className: "block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50" })
4991
- ]
4992
- })
4993
- );
4994
- });
4995
- Slider.displayName = SliderPrimitive.Root.displayName;
4996
-
4997
- // src/ui/sonner.tsx
4998
- var import_next_themes = require("next-themes");
4999
- var import_sonner = require("sonner");
5000
- var import_jsx_runtime68 = require("react/jsx-runtime");
5001
- var Toaster = (_a) => {
5002
- var props = __objRest(_a, []);
5003
- const { theme = "system" } = (0, import_next_themes.useTheme)();
5004
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
5005
- import_sonner.Toaster,
5006
- __spreadValues({
5007
- theme,
5008
- className: "toaster group",
5009
- toastOptions: {
5010
- classNames: {
5011
- toast: "group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",
5012
- description: "group-[.toast]:text-muted-foreground",
5013
- actionButton: "group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",
5014
- cancelButton: "group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"
5015
- }
5016
- }
5017
- }, props)
5018
- );
5019
- };
5020
-
5021
- // src/ui/switch.tsx
5022
- var React65 = __toESM(require("react"));
5023
- var SwitchPrimitives = __toESM(require("@radix-ui/react-switch"));
5024
- var import_jsx_runtime69 = require("react/jsx-runtime");
5025
- var Switch = React65.forwardRef((_a, ref) => {
5026
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5027
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
5028
- SwitchPrimitives.Root,
5029
- __spreadProps(__spreadValues({
5030
- className: cn(
5031
- "peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",
5032
- className
5033
- )
5034
- }, props), {
5035
- ref,
5036
- children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
5037
- SwitchPrimitives.Thumb,
5038
- {
5039
- className: cn(
5040
- "pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0"
5041
- )
5042
- }
5043
- )
5044
- })
5045
- );
5046
- });
5047
- Switch.displayName = SwitchPrimitives.Root.displayName;
5048
-
5049
- // src/ui/table.tsx
5050
- var React66 = __toESM(require("react"));
5051
- var import_jsx_runtime70 = require("react/jsx-runtime");
5052
- var Table = React66.forwardRef((_a, ref) => {
5053
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5054
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
5055
- "table",
5056
- __spreadValues({
5057
- ref,
5058
- className: cn("w-full caption-bottom text-sm", className)
5059
- }, props)
5060
- ) });
5061
- });
5062
- Table.displayName = "Table";
5063
- var TableHeader = React66.forwardRef((_a, ref) => {
5064
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5065
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("thead", __spreadValues({ ref, className: cn("[&_tr]:border-b", className) }, props));
5066
- });
5067
- TableHeader.displayName = "TableHeader";
5068
- var TableBody = React66.forwardRef((_a, ref) => {
5069
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5070
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
5071
- "tbody",
5072
- __spreadValues({
5073
- ref,
5074
- className: cn("[&_tr:last-child]:border-0", className)
5075
- }, props)
5076
- );
5077
- });
5078
- TableBody.displayName = "TableBody";
5079
- var TableFooter = React66.forwardRef((_a, ref) => {
5080
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5081
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
5082
- "tfoot",
5083
- __spreadValues({
5084
- ref,
5085
- className: cn(
5086
- "border-t bg-muted/50 font-medium last:[&>tr]:border-b-0",
5087
- className
5088
- )
5089
- }, props)
5090
- );
5091
- });
5092
- TableFooter.displayName = "TableFooter";
5093
- var TableRow = React66.forwardRef((_a, ref) => {
5094
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5095
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
5096
- "tr",
5097
- __spreadValues({
5098
- ref,
5099
- className: cn(
5100
- "border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
5101
- className
5102
- )
5103
- }, props)
5104
- );
5105
- });
5106
- TableRow.displayName = "TableRow";
5107
- var TableHead = React66.forwardRef((_a, ref) => {
5108
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5109
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
5110
- "th",
5111
- __spreadValues({
5112
- ref,
5113
- className: cn(
5114
- "h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",
5115
- className
5116
- )
5117
- }, props)
5118
- );
5119
- });
5120
- TableHead.displayName = "TableHead";
5121
- var TableCell = React66.forwardRef((_a, ref) => {
5122
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5123
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
5124
- "td",
5125
- __spreadValues({
5126
- ref,
5127
- className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className)
5128
- }, props)
5129
- );
5130
- });
5131
- TableCell.displayName = "TableCell";
5132
- var TableCaption = React66.forwardRef((_a, ref) => {
5133
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5134
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
5135
- "caption",
5136
- __spreadValues({
5137
- ref,
5138
- className: cn("mt-4 text-sm text-muted-foreground", className)
5139
- }, props)
5140
- );
5141
- });
5142
- TableCaption.displayName = "TableCaption";
5143
-
5144
- // src/ui/tabs.tsx
5145
- var React67 = __toESM(require("react"));
5146
- var TabsPrimitive = __toESM(require("@radix-ui/react-tabs"));
5147
- var import_jsx_runtime71 = require("react/jsx-runtime");
5148
- var Tabs = TabsPrimitive.Root;
5149
- var TabsList = React67.forwardRef((_a, ref) => {
5150
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5151
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
5152
- TabsPrimitive.List,
5153
- __spreadValues({
5154
- ref,
5155
- className: cn(
5156
- "inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",
5157
- className
5158
- )
5159
- }, props)
5160
- );
5161
- });
5162
- TabsList.displayName = TabsPrimitive.List.displayName;
5163
- var TabsTrigger = React67.forwardRef((_a, ref) => {
5164
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5165
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
5166
- TabsPrimitive.Trigger,
5167
- __spreadValues({
5168
- ref,
5169
- className: cn(
5170
- "inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-xs",
5171
- className
5172
- )
5173
- }, props)
5174
- );
5175
- });
5176
- TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
5177
- var TabsContent = React67.forwardRef((_a, ref) => {
5178
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5179
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
5180
- TabsPrimitive.Content,
5181
- __spreadValues({
5182
- ref,
5183
- className: cn(
5184
- "mt-2 ring-offset-background focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
5185
- className
5186
- )
5187
- }, props)
5188
- );
5189
- });
5190
- TabsContent.displayName = TabsPrimitive.Content.displayName;
5191
-
5192
- // src/ui/textarea.tsx
5193
- var React68 = __toESM(require("react"));
5194
- var import_jsx_runtime72 = require("react/jsx-runtime");
5195
- var Textarea = React68.forwardRef((_a, ref) => {
5196
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5197
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
5198
- "textarea",
5199
- __spreadValues({
5200
- className: cn(
5201
- "flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
5202
- className
5203
- ),
5204
- ref
5205
- }, props)
5206
- );
5207
- });
5208
- Textarea.displayName = "Textarea";
5209
-
5210
- // src/ui/toast.tsx
5211
- var React69 = __toESM(require("react"));
5212
- var ToastPrimitives = __toESM(require("@radix-ui/react-toast"));
5213
- var import_class_variance_authority8 = require("class-variance-authority");
5214
- var import_jsx_runtime73 = require("react/jsx-runtime");
5215
- var ToastProvider = ToastPrimitives.Provider;
5216
- var ToastViewport = React69.forwardRef((_a, ref) => {
5217
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5218
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
5219
- ToastPrimitives.Viewport,
5220
- __spreadValues({
5221
- ref,
5222
- className: cn(
5223
- "fixed top-0 z-100 flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",
5224
- className
5225
- )
5226
- }, props)
5227
- );
5228
- });
5229
- ToastViewport.displayName = ToastPrimitives.Viewport.displayName;
5230
- var toastVariants = (0, import_class_variance_authority8.cva)(
5231
- "group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full sm:data-[state=open]:slide-in-from-bottom-full",
5232
- {
5233
- variants: {
5234
- variant: {
5235
- default: "border bg-background text-foreground",
5236
- destructive: "destructive group border-destructive bg-destructive text-destructive-foreground"
5237
- }
5238
- },
5239
- defaultVariants: {
5240
- variant: "default"
5241
- }
5242
- }
5243
- );
5244
- var Toast = React69.forwardRef((_a, ref) => {
5245
- var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
5246
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
5247
- ToastPrimitives.Root,
5248
- __spreadValues({
5249
- ref,
5250
- className: cn(toastVariants({ variant }), className)
5251
- }, props)
5252
- );
5253
- });
5254
- Toast.displayName = ToastPrimitives.Root.displayName;
5255
- var ToastAction = React69.forwardRef((_a, ref) => {
5256
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5257
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
5258
- ToastPrimitives.Action,
5259
- __spreadValues({
5260
- ref,
5261
- className: cn(
5262
- "inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 hover:group-[.destructive]:border-destructive/30 hover:group-[.destructive]:bg-destructive hover:group-[.destructive]:text-destructive-foreground focus:group-[.destructive]:ring-destructive",
5263
- className
5264
- )
5265
- }, props)
5266
- );
5267
- });
5268
- ToastAction.displayName = ToastPrimitives.Action.displayName;
5269
- var ToastClose = React69.forwardRef((_a, ref) => {
5270
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5271
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
5272
- ToastPrimitives.Close,
5273
- __spreadProps(__spreadValues({
5274
- ref,
5275
- className: cn(
5276
- "absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-hidden focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 hover:group-[.destructive]:text-red-50 focus:group-[.destructive]:ring-red-400 focus:group-[.destructive]:ring-offset-red-600",
5277
- className
5278
- ),
5279
- "toast-close": ""
5280
- }, props), {
5281
- children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(globalLucideIcons.X, { className: "h-4 w-4" })
5282
- })
5283
- );
5284
- });
5285
- ToastClose.displayName = ToastPrimitives.Close.displayName;
5286
- var ToastTitle = React69.forwardRef((_a, ref) => {
5287
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5288
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
5289
- ToastPrimitives.Title,
5290
- __spreadValues({
5291
- ref,
5292
- className: cn("text-sm font-semibold", className)
5293
- }, props)
5294
- );
5295
- });
5296
- ToastTitle.displayName = ToastPrimitives.Title.displayName;
5297
- var ToastDescription = React69.forwardRef((_a, ref) => {
5298
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5299
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
5300
- ToastPrimitives.Description,
5301
- __spreadValues({
5302
- ref,
5303
- className: cn("text-sm opacity-90", className)
5304
- }, props)
5305
- );
5306
- });
5307
- ToastDescription.displayName = ToastPrimitives.Description.displayName;
5308
-
5309
- // src/ui/use-toast.ts
5310
- var React70 = __toESM(require("react"));
5311
- var TOAST_LIMIT = 1;
5312
- var TOAST_REMOVE_DELAY = 1e6;
5313
- var ACTIONS = {
5314
- ADD_TOAST: "ADD_TOAST",
5315
- UPDATE_TOAST: "UPDATE_TOAST",
5316
- DISMISS_TOAST: "DISMISS_TOAST",
5317
- REMOVE_TOAST: "REMOVE_TOAST"
5318
- };
5319
- var count = 0;
5320
- function genId() {
5321
- count = (count + 1) % Number.MAX_SAFE_INTEGER;
5322
- return count.toString();
5323
- }
5324
- var toastTimeouts = /* @__PURE__ */ new Map();
5325
- var addToRemoveQueue = (toastId) => {
5326
- if (toastTimeouts.has(toastId)) {
5327
- return;
5328
- }
5329
- const timeout = setTimeout(() => {
5330
- toastTimeouts.delete(toastId);
5331
- dispatch({
5332
- type: ACTIONS.REMOVE_TOAST,
5333
- toastId
5334
- });
5335
- }, TOAST_REMOVE_DELAY);
5336
- toastTimeouts.set(toastId, timeout);
5337
- };
5338
- var reducer = (state, action) => {
5339
- switch (action.type) {
5340
- case "ADD_TOAST":
5341
- return __spreadProps(__spreadValues({}, state), {
5342
- toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT)
5343
- });
5344
- case "UPDATE_TOAST":
5345
- return __spreadProps(__spreadValues({}, state), {
5346
- toasts: state.toasts.map(
5347
- (t) => t.id === action.toast.id ? __spreadValues(__spreadValues({}, t), action.toast) : t
5348
- )
5349
- });
5350
- case "DISMISS_TOAST": {
5351
- const { toastId } = action;
5352
- if (toastId) {
5353
- addToRemoveQueue(toastId);
5354
- } else {
5355
- state.toasts.forEach((toast2) => {
5356
- addToRemoveQueue(toast2.id);
5357
- });
5358
- }
5359
- return __spreadProps(__spreadValues({}, state), {
5360
- toasts: state.toasts.map(
5361
- (t) => t.id === toastId || toastId === void 0 ? __spreadProps(__spreadValues({}, t), {
5362
- open: false
5363
- }) : t
5364
- )
5365
- });
5366
- }
5367
- case "REMOVE_TOAST":
5368
- if (action.toastId === void 0) {
5369
- return __spreadProps(__spreadValues({}, state), {
5370
- toasts: []
5371
- });
5372
- }
5373
- return __spreadProps(__spreadValues({}, state), {
5374
- toasts: state.toasts.filter((t) => t.id !== action.toastId)
5375
- });
5376
- }
5377
- };
5378
- var listeners = [];
5379
- var memoryState = { toasts: [] };
5380
- function dispatch(action) {
5381
- memoryState = reducer(memoryState, action);
5382
- listeners.forEach((listener) => {
5383
- listener(memoryState);
5384
- });
5385
- }
5386
- function toast(_a) {
5387
- var props = __objRest(_a, []);
5388
- const id = genId();
5389
- const update = (props2) => dispatch({
5390
- type: "UPDATE_TOAST",
5391
- toast: __spreadProps(__spreadValues({}, props2), { id })
5392
- });
5393
- const dismiss = () => dispatch({ type: "DISMISS_TOAST", toastId: id });
5394
- dispatch({
5395
- type: "ADD_TOAST",
5396
- toast: __spreadProps(__spreadValues({}, props), {
5397
- id,
5398
- open: true,
5399
- onOpenChange: (open) => {
5400
- if (!open) dismiss();
5401
- }
5402
- })
5403
- });
5404
- return {
5405
- id,
5406
- dismiss,
5407
- update
5408
- };
5409
- }
5410
- function useToast() {
5411
- const [state, setState] = React70.useState(memoryState);
5412
- React70.useEffect(() => {
5413
- listeners.push(setState);
5414
- return () => {
5415
- const index = listeners.indexOf(setState);
5416
- if (index > -1) {
5417
- listeners.splice(index, 1);
5418
- }
5419
- };
5420
- }, [state]);
5421
- return __spreadProps(__spreadValues({}, state), {
5422
- toast,
5423
- dismiss: (toastId) => dispatch({ type: "DISMISS_TOAST", toastId })
5424
- });
5425
- }
5426
-
5427
- // src/ui/toaster.tsx
5428
- var import_jsx_runtime74 = require("react/jsx-runtime");
5429
- function Toaster2() {
5430
- const { toasts } = useToast();
5431
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(ToastProvider, { children: [
5432
- toasts.map(function(_a) {
5433
- var _b = _a, { id, title, description, action } = _b, props = __objRest(_b, ["id", "title", "description", "action"]);
5434
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(Toast, __spreadProps(__spreadValues({}, props), { children: [
5435
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "grid gap-1", children: [
5436
- title && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(ToastTitle, { children: title }),
5437
- description && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(ToastDescription, { children: description })
5438
- ] }),
5439
- action,
5440
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(ToastClose, {})
5441
- ] }), id);
5442
- }),
5443
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(ToastViewport, {})
5444
- ] });
5445
- }
5446
-
5447
- // src/ui/toggle-group.tsx
5448
- var React72 = __toESM(require("react"));
5449
- var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"));
5450
-
5451
- // src/ui/toggle.tsx
5452
- var React71 = __toESM(require("react"));
5453
- var TogglePrimitive = __toESM(require("@radix-ui/react-toggle"));
5454
- var import_class_variance_authority9 = require("class-variance-authority");
5455
- var import_jsx_runtime75 = require("react/jsx-runtime");
5456
- var toggleVariants = (0, import_class_variance_authority9.cva)(
5457
- "inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 gap-2",
5458
- {
5459
- variants: {
5460
- variant: {
5461
- default: "bg-transparent",
5462
- outline: "border border-input bg-transparent hover:bg-accent hover:text-accent-foreground"
5463
- },
5464
- size: {
5465
- default: "h-10 px-3 min-w-10",
5466
- sm: "h-9 px-2.5 min-w-9",
5467
- lg: "h-11 px-5 min-w-11"
5468
- }
5469
- },
5470
- defaultVariants: {
5471
- variant: "default",
5472
- size: "default"
5473
- }
5474
- }
5475
- );
5476
- var Toggle = React71.forwardRef((_a, ref) => {
5477
- var _b = _a, { className, variant, size } = _b, props = __objRest(_b, ["className", "variant", "size"]);
5478
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
5479
- TogglePrimitive.Root,
5480
- __spreadValues({
5481
- ref,
5482
- className: cn(toggleVariants({ variant, size, className }))
5483
- }, props)
5484
- );
5485
- });
5486
- Toggle.displayName = TogglePrimitive.Root.displayName;
5487
-
5488
- // src/ui/toggle-group.tsx
5489
- var import_jsx_runtime76 = require("react/jsx-runtime");
5490
- var ToggleGroupContext = React72.createContext({
5491
- size: "default",
5492
- variant: "default"
5493
- });
5494
- var ToggleGroup = React72.forwardRef((_a, ref) => {
5495
- var _b = _a, { className, variant, size, children } = _b, props = __objRest(_b, ["className", "variant", "size", "children"]);
5496
- return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
5497
- ToggleGroupPrimitive.Root,
5498
- __spreadProps(__spreadValues({
5499
- ref,
5500
- className: cn("flex items-center justify-center gap-1", className)
5501
- }, props), {
5502
- children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children })
5503
- })
5504
- );
5505
- });
5506
- ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
5507
- var ToggleGroupItem = React72.forwardRef((_a, ref) => {
5508
- var _b = _a, { className, children, variant, size } = _b, props = __objRest(_b, ["className", "children", "variant", "size"]);
5509
- const context = React72.useContext(ToggleGroupContext);
5510
- return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
5511
- ToggleGroupPrimitive.Item,
5512
- __spreadProps(__spreadValues({
5513
- ref,
5514
- className: cn(
5515
- toggleVariants({
5516
- variant: context.variant || variant,
5517
- size: context.size || size
5518
- }),
5519
- className
5520
- )
5521
- }, props), {
5522
- children
5523
- })
5524
- );
5525
- });
5526
- ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
1677
+ LanguageButton.displayName = "Button";
5527
1678
  // Annotate the CommonJS export names for ESM import in node:
5528
1679
  0 && (module.exports = {
5529
- Accordion,
5530
- AccordionContent,
5531
- AccordionItem,
5532
- AccordionTrigger,
5533
- Alert,
5534
- AlertDescription,
5535
1680
  AlertDialog,
5536
1681
  AlertDialogAction,
5537
1682
  AlertDialogCancel,
@@ -5543,86 +1688,7 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
5543
1688
  AlertDialogPortal,
5544
1689
  AlertDialogTitle,
5545
1690
  AlertDialogTrigger,
5546
- AlertTitle,
5547
- AspectRatio,
5548
- Avatar,
5549
- AvatarFallback,
5550
- AvatarImage,
5551
- Badge,
5552
- Breadcrumb,
5553
- BreadcrumbEllipsis,
5554
- BreadcrumbItem,
5555
- BreadcrumbLink,
5556
- BreadcrumbList,
5557
- BreadcrumbPage,
5558
- BreadcrumbSeparator,
5559
1691
  Button,
5560
- Calendar,
5561
- Card,
5562
- CardContent,
5563
- CardDescription,
5564
- CardFooter,
5565
- CardHeader,
5566
- CardTitle,
5567
- Carousel,
5568
- CarouselContent,
5569
- CarouselItem,
5570
- CarouselNext,
5571
- CarouselPrevious,
5572
- ChartContainer,
5573
- ChartLegend,
5574
- ChartLegendContent,
5575
- ChartStyle,
5576
- ChartTooltip,
5577
- ChartTooltipContent,
5578
- Checkbox,
5579
- Collapsible,
5580
- CollapsibleContent,
5581
- CollapsibleTrigger,
5582
- Command,
5583
- CommandDialog,
5584
- CommandEmpty,
5585
- CommandGroup,
5586
- CommandInput,
5587
- CommandItem,
5588
- CommandList,
5589
- CommandSeparator,
5590
- CommandShortcut,
5591
- ContextMenu,
5592
- ContextMenuCheckboxItem,
5593
- ContextMenuContent,
5594
- ContextMenuGroup,
5595
- ContextMenuItem,
5596
- ContextMenuLabel,
5597
- ContextMenuPortal,
5598
- ContextMenuRadioGroup,
5599
- ContextMenuRadioItem,
5600
- ContextMenuSeparator,
5601
- ContextMenuShortcut,
5602
- ContextMenuSub,
5603
- ContextMenuSubContent,
5604
- ContextMenuSubTrigger,
5605
- ContextMenuTrigger,
5606
- Dialog,
5607
- DialogClose,
5608
- DialogContent,
5609
- DialogDescription,
5610
- DialogFooter,
5611
- DialogHeader,
5612
- DialogOverlay,
5613
- DialogPortal,
5614
- DialogTitle,
5615
- DialogTrigger,
5616
- Drawer,
5617
- DrawerClose,
5618
- DrawerContent,
5619
- DrawerDescription,
5620
- DrawerFooter,
5621
- DrawerHeader,
5622
- DrawerOverlay,
5623
- DrawerPortal,
5624
- DrawerTitle,
5625
- DrawerTrigger,
5626
1692
  DropdownMenu,
5627
1693
  DropdownMenuCheckboxItem,
5628
1694
  DropdownMenuContent,
@@ -5638,151 +1704,9 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
5638
1704
  DropdownMenuSubContent,
5639
1705
  DropdownMenuSubTrigger,
5640
1706
  DropdownMenuTrigger,
5641
- Form,
5642
- FormControl,
5643
- FormDescription,
5644
- FormField,
5645
- FormItem,
5646
- FormLabel,
5647
- FormMessage,
5648
- HoverCard,
5649
- HoverCardContent,
5650
- HoverCardTrigger,
5651
- Input,
5652
- InputOTP,
5653
- InputOTPGroup,
5654
- InputOTPSeparator,
5655
- InputOTPSlot,
5656
1707
  Label,
5657
1708
  LanguageButton,
5658
- Menubar,
5659
- MenubarCheckboxItem,
5660
- MenubarContent,
5661
- MenubarGroup,
5662
- MenubarItem,
5663
- MenubarLabel,
5664
- MenubarMenu,
5665
- MenubarPortal,
5666
- MenubarRadioGroup,
5667
- MenubarRadioItem,
5668
- MenubarSeparator,
5669
- MenubarShortcut,
5670
- MenubarSub,
5671
- MenubarSubContent,
5672
- MenubarSubTrigger,
5673
- MenubarTrigger,
5674
- NavigationMenu,
5675
- NavigationMenuContent,
5676
- NavigationMenuIndicator,
5677
- NavigationMenuItem,
5678
- NavigationMenuLink,
5679
- NavigationMenuList,
5680
- NavigationMenuTrigger,
5681
- NavigationMenuViewport,
5682
- Pagination,
5683
- PaginationContent,
5684
- PaginationEllipsis,
5685
- PaginationItem,
5686
- PaginationLink,
5687
- PaginationNext,
5688
- PaginationPrevious,
5689
- Popover,
5690
- PopoverContent,
5691
- PopoverTrigger,
5692
- Progress,
5693
- RadioGroup,
5694
- RadioGroupItem,
5695
- ResizableHandle,
5696
- ResizablePanel,
5697
- ResizablePanelGroup,
5698
- ScrollArea,
5699
- ScrollBar,
5700
- Select,
5701
- SelectContent,
5702
- SelectGroup,
5703
- SelectItem,
5704
- SelectLabel,
5705
- SelectScrollDownButton,
5706
- SelectScrollUpButton,
5707
- SelectSeparator,
5708
- SelectTrigger,
5709
- SelectValue,
5710
- Separator,
5711
- Sheet,
5712
- SheetClose,
5713
- SheetContent,
5714
- SheetDescription,
5715
- SheetFooter,
5716
- SheetHeader,
5717
- SheetOverlay,
5718
- SheetPortal,
5719
- SheetTitle,
5720
- SheetTrigger,
5721
- Sidebar,
5722
- SidebarContent,
5723
- SidebarFooter,
5724
- SidebarGroup,
5725
- SidebarGroupAction,
5726
- SidebarGroupContent,
5727
- SidebarGroupLabel,
5728
- SidebarHeader,
5729
- SidebarInput,
5730
- SidebarInset,
5731
- SidebarMenu,
5732
- SidebarMenuAction,
5733
- SidebarMenuBadge,
5734
- SidebarMenuButton,
5735
- SidebarMenuItem,
5736
- SidebarMenuSkeleton,
5737
- SidebarMenuSub,
5738
- SidebarMenuSubButton,
5739
- SidebarMenuSubItem,
5740
- SidebarProvider,
5741
- SidebarRail,
5742
- SidebarSeparator,
5743
- SidebarTrigger,
5744
- Skeleton,
5745
- Slider,
5746
- SonnerToaster,
5747
- Switch,
5748
- Table,
5749
- TableBody,
5750
- TableCaption,
5751
- TableCell,
5752
- TableFooter,
5753
- TableHead,
5754
- TableHeader,
5755
- TableRow,
5756
- Tabs,
5757
- TabsContent,
5758
- TabsList,
5759
- TabsTrigger,
5760
- Textarea,
5761
- Toast,
5762
- ToastAction,
5763
- ToastClose,
5764
- ToastDescription,
5765
- ToastProvider,
5766
- ToastTitle,
5767
- ToastToaster,
5768
- ToastViewport,
5769
- Toggle,
5770
- ToggleGroup,
5771
- ToggleGroupItem,
5772
- Tooltip,
5773
- TooltipContent,
5774
- TooltipProvider,
5775
- TooltipTrigger,
5776
- badgeVariants,
5777
- buttonVariants,
5778
- navigationMenuTriggerStyle,
5779
- reducer,
5780
- toast,
5781
- toggleVariants,
5782
- useFormField,
5783
- useIsMobile,
5784
- useSidebar,
5785
- useToast
1709
+ buttonVariants
5786
1710
  });
5787
1711
  /**
5788
1712
  * @license