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