@e-infra/design-system 0.0.2 → 0.0.3

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