@gv-tech/design-system 0.9.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (425) hide show
  1. package/.github/workflows/ci.yml +3 -12
  2. package/.github/workflows/release-please.yml +2 -2
  3. package/.vscode/mcp.json +8 -0
  4. package/CHANGELOG.md +32 -0
  5. package/components.json +20 -0
  6. package/dist/App.d.ts +3 -0
  7. package/dist/App.d.ts.map +1 -0
  8. package/dist/components/docs/CodeBlock.d.ts +8 -0
  9. package/dist/components/docs/CodeBlock.d.ts.map +1 -0
  10. package/dist/components/docs/ComponentShowcase.d.ts +17 -0
  11. package/dist/components/docs/ComponentShowcase.d.ts.map +1 -0
  12. package/dist/components/docs/Footer.d.ts +2 -0
  13. package/dist/components/docs/Footer.d.ts.map +1 -0
  14. package/dist/components/docs/Sidebar.d.ts +14 -0
  15. package/dist/components/docs/Sidebar.d.ts.map +1 -0
  16. package/dist/components/docs/ThemeToggle.d.ts +2 -0
  17. package/dist/components/docs/ThemeToggle.d.ts.map +1 -0
  18. package/dist/components/docs/index.d.ts +6 -0
  19. package/dist/components/docs/index.d.ts.map +1 -0
  20. package/dist/components/ui/accordion.d.ts +8 -0
  21. package/dist/components/ui/accordion.d.ts.map +1 -0
  22. package/dist/components/ui/alert-dialog.d.ts +21 -0
  23. package/dist/components/ui/alert-dialog.d.ts.map +1 -0
  24. package/dist/components/ui/alert.d.ts +9 -0
  25. package/dist/components/ui/alert.d.ts.map +1 -0
  26. package/dist/components/ui/aspect-ratio.d.ts +4 -0
  27. package/dist/components/ui/aspect-ratio.d.ts.map +1 -0
  28. package/dist/components/ui/avatar.d.ts +7 -0
  29. package/dist/components/ui/avatar.d.ts.map +1 -0
  30. package/dist/components/ui/badge.d.ts +10 -0
  31. package/dist/components/ui/badge.d.ts.map +1 -0
  32. package/dist/components/ui/breadcrumb.d.ts +20 -0
  33. package/dist/components/ui/breadcrumb.d.ts.map +1 -0
  34. package/dist/components/ui/button.d.ts +12 -0
  35. package/dist/components/ui/button.d.ts.map +1 -0
  36. package/dist/components/ui/calendar.d.ts +9 -0
  37. package/dist/components/ui/calendar.d.ts.map +1 -0
  38. package/dist/components/ui/card.d.ts +9 -0
  39. package/dist/components/ui/card.d.ts.map +1 -0
  40. package/dist/components/ui/carousel.d.ts +19 -0
  41. package/dist/components/ui/carousel.d.ts.map +1 -0
  42. package/dist/components/ui/chart.d.ts +63 -0
  43. package/dist/components/ui/chart.d.ts.map +1 -0
  44. package/dist/components/ui/checkbox.d.ts +5 -0
  45. package/dist/components/ui/checkbox.d.ts.map +1 -0
  46. package/dist/components/ui/collapsible.d.ts +6 -0
  47. package/dist/components/ui/collapsible.d.ts.map +1 -0
  48. package/dist/components/ui/command.d.ts +81 -0
  49. package/dist/components/ui/command.d.ts.map +1 -0
  50. package/dist/components/ui/context-menu.d.ts +28 -0
  51. package/dist/components/ui/context-menu.d.ts.map +1 -0
  52. package/dist/components/ui/dialog.d.ts +20 -0
  53. package/dist/components/ui/dialog.d.ts.map +1 -0
  54. package/dist/components/ui/drawer.d.ts +23 -0
  55. package/dist/components/ui/drawer.d.ts.map +1 -0
  56. package/dist/components/ui/dropdown-menu.d.ts +28 -0
  57. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  58. package/dist/components/ui/form.d.ts +24 -0
  59. package/dist/components/ui/form.d.ts.map +1 -0
  60. package/dist/components/ui/hover-card.d.ts +7 -0
  61. package/dist/components/ui/hover-card.d.ts.map +1 -0
  62. package/dist/components/ui/input.d.ts +4 -0
  63. package/dist/components/ui/input.d.ts.map +1 -0
  64. package/dist/components/ui/label.d.ts +6 -0
  65. package/dist/components/ui/label.d.ts.map +1 -0
  66. package/dist/components/ui/menubar.d.ts +29 -0
  67. package/dist/components/ui/menubar.d.ts.map +1 -0
  68. package/dist/components/ui/navigation-menu.d.ts +13 -0
  69. package/dist/components/ui/navigation-menu.d.ts.map +1 -0
  70. package/dist/components/ui/pagination.d.ts +29 -0
  71. package/dist/components/ui/pagination.d.ts.map +1 -0
  72. package/dist/components/ui/popover.d.ts +8 -0
  73. package/dist/components/ui/popover.d.ts.map +1 -0
  74. package/dist/components/ui/progress.d.ts +5 -0
  75. package/dist/components/ui/progress.d.ts.map +1 -0
  76. package/dist/components/ui/radio-group.d.ts +6 -0
  77. package/dist/components/ui/radio-group.d.ts.map +1 -0
  78. package/dist/components/ui/resizable.d.ts +11 -0
  79. package/dist/components/ui/resizable.d.ts.map +1 -0
  80. package/dist/components/ui/scroll-area.d.ts +6 -0
  81. package/dist/components/ui/scroll-area.d.ts.map +1 -0
  82. package/dist/components/ui/select.d.ts +14 -0
  83. package/dist/components/ui/select.d.ts.map +1 -0
  84. package/dist/components/ui/separator.d.ts +5 -0
  85. package/dist/components/ui/separator.d.ts.map +1 -0
  86. package/dist/components/ui/sheet.d.ts +26 -0
  87. package/dist/components/ui/sheet.d.ts.map +1 -0
  88. package/dist/components/ui/skeleton.d.ts +4 -0
  89. package/dist/components/ui/skeleton.d.ts.map +1 -0
  90. package/dist/components/ui/slider.d.ts +5 -0
  91. package/dist/components/ui/slider.d.ts.map +1 -0
  92. package/dist/components/ui/sonner.d.ts +6 -0
  93. package/dist/components/ui/sonner.d.ts.map +1 -0
  94. package/dist/components/ui/switch.d.ts +5 -0
  95. package/dist/components/ui/switch.d.ts.map +1 -0
  96. package/dist/components/ui/table.d.ts +11 -0
  97. package/dist/components/ui/table.d.ts.map +1 -0
  98. package/dist/components/ui/tabs.d.ts +8 -0
  99. package/dist/components/ui/tabs.d.ts.map +1 -0
  100. package/dist/components/ui/textarea.d.ts +4 -0
  101. package/dist/components/ui/textarea.d.ts.map +1 -0
  102. package/dist/components/ui/toast.d.ts +16 -0
  103. package/dist/components/ui/toast.d.ts.map +1 -0
  104. package/dist/components/ui/toaster.d.ts +2 -0
  105. package/dist/components/ui/toaster.d.ts.map +1 -0
  106. package/dist/components/ui/toggle-group.d.ts +13 -0
  107. package/dist/components/ui/toggle-group.d.ts.map +1 -0
  108. package/dist/components/ui/toggle.d.ts +13 -0
  109. package/dist/components/ui/toggle.d.ts.map +1 -0
  110. package/dist/components/ui/tooltip.d.ts +8 -0
  111. package/dist/components/ui/tooltip.d.ts.map +1 -0
  112. package/dist/hooks/use-toast.d.ts +45 -0
  113. package/dist/hooks/use-toast.d.ts.map +1 -0
  114. package/dist/index.cjs.js +8 -0
  115. package/dist/index.cjs.js.map +1 -0
  116. package/dist/index.d.ts +49 -0
  117. package/dist/index.d.ts.map +1 -0
  118. package/dist/index.es.js +2275 -0
  119. package/dist/index.es.js.map +1 -0
  120. package/dist/lib/utils.d.ts +3 -0
  121. package/dist/lib/utils.d.ts.map +1 -0
  122. package/dist/main.d.ts +2 -0
  123. package/dist/main.d.ts.map +1 -0
  124. package/dist/pages/GettingStarted.d.ts +3 -0
  125. package/dist/pages/GettingStarted.d.ts.map +1 -0
  126. package/dist/pages/components/AccordionDocs.d.ts +2 -0
  127. package/dist/pages/components/AccordionDocs.d.ts.map +1 -0
  128. package/dist/pages/components/AlertDialogDocs.d.ts +2 -0
  129. package/dist/pages/components/AlertDialogDocs.d.ts.map +1 -0
  130. package/dist/pages/components/AlertDocs.d.ts +2 -0
  131. package/dist/pages/components/AlertDocs.d.ts.map +1 -0
  132. package/dist/pages/components/AspectRatioDocs.d.ts +2 -0
  133. package/dist/pages/components/AspectRatioDocs.d.ts.map +1 -0
  134. package/dist/pages/components/AvatarDocs.d.ts +2 -0
  135. package/dist/pages/components/AvatarDocs.d.ts.map +1 -0
  136. package/dist/pages/components/BadgeDocs.d.ts +2 -0
  137. package/dist/pages/components/BadgeDocs.d.ts.map +1 -0
  138. package/dist/pages/components/BreadcrumbDocs.d.ts +2 -0
  139. package/dist/pages/components/BreadcrumbDocs.d.ts.map +1 -0
  140. package/dist/pages/components/ButtonDocs.d.ts +2 -0
  141. package/dist/pages/components/ButtonDocs.d.ts.map +1 -0
  142. package/dist/pages/components/CalendarDocs.d.ts +2 -0
  143. package/dist/pages/components/CalendarDocs.d.ts.map +1 -0
  144. package/dist/pages/components/CardDocs.d.ts +2 -0
  145. package/dist/pages/components/CardDocs.d.ts.map +1 -0
  146. package/dist/pages/components/CarouselDocs.d.ts +2 -0
  147. package/dist/pages/components/CarouselDocs.d.ts.map +1 -0
  148. package/dist/pages/components/ChartDocs.d.ts +2 -0
  149. package/dist/pages/components/ChartDocs.d.ts.map +1 -0
  150. package/dist/pages/components/CheckboxDocs.d.ts +2 -0
  151. package/dist/pages/components/CheckboxDocs.d.ts.map +1 -0
  152. package/dist/pages/components/CollapsibleDocs.d.ts +2 -0
  153. package/dist/pages/components/CollapsibleDocs.d.ts.map +1 -0
  154. package/dist/pages/components/CommandDocs.d.ts +2 -0
  155. package/dist/pages/components/CommandDocs.d.ts.map +1 -0
  156. package/dist/pages/components/ContextMenuDocs.d.ts +2 -0
  157. package/dist/pages/components/ContextMenuDocs.d.ts.map +1 -0
  158. package/dist/pages/components/DialogDocs.d.ts +2 -0
  159. package/dist/pages/components/DialogDocs.d.ts.map +1 -0
  160. package/dist/pages/components/DrawerDocs.d.ts +2 -0
  161. package/dist/pages/components/DrawerDocs.d.ts.map +1 -0
  162. package/dist/pages/components/DropdownMenuDocs.d.ts +2 -0
  163. package/dist/pages/components/DropdownMenuDocs.d.ts.map +1 -0
  164. package/dist/pages/components/FormDocs.d.ts +2 -0
  165. package/dist/pages/components/FormDocs.d.ts.map +1 -0
  166. package/dist/pages/components/HoverCardDocs.d.ts +2 -0
  167. package/dist/pages/components/HoverCardDocs.d.ts.map +1 -0
  168. package/dist/pages/components/InputDocs.d.ts +2 -0
  169. package/dist/pages/components/InputDocs.d.ts.map +1 -0
  170. package/dist/pages/components/LabelDocs.d.ts +2 -0
  171. package/dist/pages/components/LabelDocs.d.ts.map +1 -0
  172. package/dist/pages/components/MenubarDocs.d.ts +2 -0
  173. package/dist/pages/components/MenubarDocs.d.ts.map +1 -0
  174. package/dist/pages/components/NavigationMenuDocs.d.ts +2 -0
  175. package/dist/pages/components/NavigationMenuDocs.d.ts.map +1 -0
  176. package/dist/pages/components/PaginationDocs.d.ts +2 -0
  177. package/dist/pages/components/PaginationDocs.d.ts.map +1 -0
  178. package/dist/pages/components/PopoverDocs.d.ts +2 -0
  179. package/dist/pages/components/PopoverDocs.d.ts.map +1 -0
  180. package/dist/pages/components/ProgressDocs.d.ts +2 -0
  181. package/dist/pages/components/ProgressDocs.d.ts.map +1 -0
  182. package/dist/pages/components/RadioGroupDocs.d.ts +2 -0
  183. package/dist/pages/components/RadioGroupDocs.d.ts.map +1 -0
  184. package/dist/pages/components/ResizableDocs.d.ts +2 -0
  185. package/dist/pages/components/ResizableDocs.d.ts.map +1 -0
  186. package/dist/pages/components/ScrollAreaDocs.d.ts +2 -0
  187. package/dist/pages/components/ScrollAreaDocs.d.ts.map +1 -0
  188. package/dist/pages/components/SelectDocs.d.ts +2 -0
  189. package/dist/pages/components/SelectDocs.d.ts.map +1 -0
  190. package/dist/pages/components/SeparatorDocs.d.ts +2 -0
  191. package/dist/pages/components/SeparatorDocs.d.ts.map +1 -0
  192. package/dist/pages/components/SheetDocs.d.ts +2 -0
  193. package/dist/pages/components/SheetDocs.d.ts.map +1 -0
  194. package/dist/pages/components/SkeletonDocs.d.ts +2 -0
  195. package/dist/pages/components/SkeletonDocs.d.ts.map +1 -0
  196. package/dist/pages/components/SliderDocs.d.ts +2 -0
  197. package/dist/pages/components/SliderDocs.d.ts.map +1 -0
  198. package/dist/pages/components/SonnerDocs.d.ts +2 -0
  199. package/dist/pages/components/SonnerDocs.d.ts.map +1 -0
  200. package/dist/pages/components/SwitchDocs.d.ts +2 -0
  201. package/dist/pages/components/SwitchDocs.d.ts.map +1 -0
  202. package/dist/pages/components/TableDocs.d.ts +2 -0
  203. package/dist/pages/components/TableDocs.d.ts.map +1 -0
  204. package/dist/pages/components/TabsDocs.d.ts +2 -0
  205. package/dist/pages/components/TabsDocs.d.ts.map +1 -0
  206. package/dist/pages/components/TextareaDocs.d.ts +2 -0
  207. package/dist/pages/components/TextareaDocs.d.ts.map +1 -0
  208. package/dist/pages/components/ToastDocs.d.ts +2 -0
  209. package/dist/pages/components/ToastDocs.d.ts.map +1 -0
  210. package/dist/pages/components/ToggleDocs.d.ts +2 -0
  211. package/dist/pages/components/ToggleDocs.d.ts.map +1 -0
  212. package/dist/pages/components/ToggleGroupDocs.d.ts +2 -0
  213. package/dist/pages/components/ToggleGroupDocs.d.ts.map +1 -0
  214. package/dist/pages/components/TooltipDocs.d.ts +2 -0
  215. package/dist/pages/components/TooltipDocs.d.ts.map +1 -0
  216. package/dist/pages/index.d.ts +47 -0
  217. package/dist/pages/index.d.ts.map +1 -0
  218. package/dist/registry/accordion.json +13 -0
  219. package/dist/registry/alert-dialog.json +13 -0
  220. package/dist/registry/alert.json +13 -0
  221. package/dist/registry/aspect-ratio.json +13 -0
  222. package/dist/registry/avatar.json +13 -0
  223. package/dist/registry/badge.json +13 -0
  224. package/dist/registry/breadcrumb.json +13 -0
  225. package/dist/registry/button.json +13 -0
  226. package/dist/registry/calendar.json +13 -0
  227. package/dist/registry/card.json +13 -0
  228. package/dist/registry/carousel.json +13 -0
  229. package/dist/registry/chart.json +13 -0
  230. package/dist/registry/checkbox.json +13 -0
  231. package/dist/registry/collapsible.json +13 -0
  232. package/dist/registry/command.json +13 -0
  233. package/dist/registry/context-menu.json +13 -0
  234. package/dist/registry/dialog.json +13 -0
  235. package/dist/registry/drawer.json +13 -0
  236. package/dist/registry/dropdown-menu.json +13 -0
  237. package/dist/registry/form.json +13 -0
  238. package/dist/registry/hover-card.json +13 -0
  239. package/dist/registry/index.json +324 -0
  240. package/dist/registry/input.json +13 -0
  241. package/dist/registry/label.json +13 -0
  242. package/dist/registry/menubar.json +13 -0
  243. package/dist/registry/navigation-menu.json +13 -0
  244. package/dist/registry/pagination.json +13 -0
  245. package/dist/registry/popover.json +13 -0
  246. package/dist/registry/progress.json +13 -0
  247. package/dist/registry/radio-group.json +13 -0
  248. package/dist/registry/resizable.json +13 -0
  249. package/dist/registry/scroll-area.json +13 -0
  250. package/dist/registry/select.json +13 -0
  251. package/dist/registry/separator.json +13 -0
  252. package/dist/registry/sheet.json +13 -0
  253. package/dist/registry/skeleton.json +13 -0
  254. package/dist/registry/slider.json +13 -0
  255. package/dist/registry/sonner.json +13 -0
  256. package/dist/registry/switch.json +13 -0
  257. package/dist/registry/table.json +13 -0
  258. package/dist/registry/tabs.json +13 -0
  259. package/dist/registry/textarea.json +13 -0
  260. package/dist/registry/toast.json +13 -0
  261. package/dist/registry/toaster.json +13 -0
  262. package/dist/registry/toggle-group.json +13 -0
  263. package/dist/registry/toggle.json +13 -0
  264. package/dist/registry/tooltip.json +13 -0
  265. package/dist/vendor-CMSUBoIg.js +73 -0
  266. package/dist/vendor-CMSUBoIg.js.map +1 -0
  267. package/dist/vendor-ZhQmrf1h.mjs +25737 -0
  268. package/dist/vendor-ZhQmrf1h.mjs.map +1 -0
  269. package/eslint.config.mjs +34 -43
  270. package/index.html +13 -0
  271. package/package.json +75 -52
  272. package/postcss.config.mjs +5 -0
  273. package/scripts/build-registry.ts +47 -0
  274. package/scripts/import-all-shadcn.ts +68 -0
  275. package/scripts/validate.js +0 -2
  276. package/src/App.tsx +211 -0
  277. package/src/components/docs/CodeBlock.tsx +34 -0
  278. package/src/components/docs/ComponentShowcase.tsx +68 -0
  279. package/src/components/docs/Footer.tsx +117 -0
  280. package/src/components/docs/Sidebar.tsx +189 -0
  281. package/src/components/docs/ThemeToggle.tsx +19 -0
  282. package/src/components/docs/index.ts +5 -0
  283. package/src/components/ui/accordion.tsx +51 -0
  284. package/src/components/ui/alert-dialog.tsx +104 -0
  285. package/src/components/ui/alert.tsx +43 -0
  286. package/src/components/ui/aspect-ratio.tsx +5 -0
  287. package/src/components/ui/avatar.tsx +38 -0
  288. package/src/components/ui/badge.tsx +29 -0
  289. package/src/components/ui/breadcrumb.tsx +90 -0
  290. package/src/components/ui/button.tsx +46 -0
  291. package/src/components/ui/calendar.tsx +156 -0
  292. package/src/components/ui/card.tsx +43 -0
  293. package/src/components/ui/carousel.tsx +224 -0
  294. package/src/components/ui/chart.tsx +307 -0
  295. package/src/components/ui/checkbox.tsx +26 -0
  296. package/src/components/ui/collapsible.tsx +9 -0
  297. package/src/components/ui/command.tsx +132 -0
  298. package/src/components/ui/context-menu.tsx +178 -0
  299. package/src/components/ui/dialog.tsx +95 -0
  300. package/src/components/ui/drawer.tsx +87 -0
  301. package/src/components/ui/dropdown-menu.tsx +180 -0
  302. package/src/components/ui/form.tsx +149 -0
  303. package/src/components/ui/hover-card.tsx +27 -0
  304. package/src/components/ui/input.tsx +22 -0
  305. package/src/components/ui/label.tsx +17 -0
  306. package/src/components/ui/menubar.tsx +217 -0
  307. package/src/components/ui/navigation-menu.tsx +120 -0
  308. package/src/components/ui/pagination.tsx +81 -0
  309. package/src/components/ui/popover.tsx +31 -0
  310. package/src/components/ui/progress.tsx +23 -0
  311. package/src/components/ui/radio-group.tsx +36 -0
  312. package/src/components/ui/resizable.tsx +45 -0
  313. package/src/components/ui/scroll-area.tsx +38 -0
  314. package/src/components/ui/select.tsx +142 -0
  315. package/src/components/ui/separator.tsx +20 -0
  316. package/src/components/ui/sheet.tsx +106 -0
  317. package/src/components/ui/skeleton.tsx +8 -0
  318. package/src/components/ui/slider.tsx +23 -0
  319. package/src/components/ui/sonner.tsx +28 -0
  320. package/src/components/ui/switch.tsx +27 -0
  321. package/src/components/ui/table.tsx +76 -0
  322. package/src/components/ui/tabs.tsx +53 -0
  323. package/src/components/ui/textarea.tsx +21 -0
  324. package/src/components/ui/toast.tsx +111 -0
  325. package/src/components/ui/toaster.tsx +24 -0
  326. package/src/components/ui/toggle-group.tsx +51 -0
  327. package/src/components/ui/toggle.tsx +37 -0
  328. package/src/components/ui/tooltip.tsx +30 -0
  329. package/src/globals.css +118 -0
  330. package/src/hooks/use-toast.ts +189 -0
  331. package/src/index.ts +50 -11
  332. package/src/lib/utils.ts +6 -0
  333. package/src/main.tsx +10 -0
  334. package/src/pages/GettingStarted.tsx +251 -0
  335. package/src/pages/components/AccordionDocs.tsx +55 -0
  336. package/src/pages/components/AlertDialogDocs.tsx +63 -0
  337. package/src/pages/components/AlertDocs.tsx +45 -0
  338. package/src/pages/components/AspectRatioDocs.tsx +64 -0
  339. package/src/pages/components/AvatarDocs.tsx +34 -0
  340. package/src/pages/components/BadgeDocs.tsx +36 -0
  341. package/src/pages/components/BreadcrumbDocs.tsx +54 -0
  342. package/src/pages/components/ButtonDocs.tsx +77 -0
  343. package/src/pages/components/CalendarDocs.tsx +29 -0
  344. package/src/pages/components/CardDocs.tsx +81 -0
  345. package/src/pages/components/CarouselDocs.tsx +132 -0
  346. package/src/pages/components/ChartDocs.tsx +115 -0
  347. package/src/pages/components/CheckboxDocs.tsx +49 -0
  348. package/src/pages/components/CollapsibleDocs.tsx +52 -0
  349. package/src/pages/components/CommandDocs.tsx +100 -0
  350. package/src/pages/components/ContextMenuDocs.tsx +93 -0
  351. package/src/pages/components/DialogDocs.tsx +80 -0
  352. package/src/pages/components/DrawerDocs.tsx +79 -0
  353. package/src/pages/components/DropdownMenuDocs.tsx +51 -0
  354. package/src/pages/components/FormDocs.tsx +84 -0
  355. package/src/pages/components/HoverCardDocs.tsx +59 -0
  356. package/src/pages/components/InputDocs.tsx +68 -0
  357. package/src/pages/components/LabelDocs.tsx +23 -0
  358. package/src/pages/components/MenubarDocs.tsx +117 -0
  359. package/src/pages/components/NavigationMenuDocs.tsx +156 -0
  360. package/src/pages/components/PaginationDocs.tsx +68 -0
  361. package/src/pages/components/PopoverDocs.tsx +61 -0
  362. package/src/pages/components/ProgressDocs.tsx +34 -0
  363. package/src/pages/components/RadioGroupDocs.tsx +38 -0
  364. package/src/pages/components/ResizableDocs.tsx +110 -0
  365. package/src/pages/components/ScrollAreaDocs.tsx +89 -0
  366. package/src/pages/components/SelectDocs.tsx +87 -0
  367. package/src/pages/components/SeparatorDocs.tsx +44 -0
  368. package/src/pages/components/SheetDocs.tsx +104 -0
  369. package/src/pages/components/SkeletonDocs.tsx +48 -0
  370. package/src/pages/components/SliderDocs.tsx +24 -0
  371. package/src/pages/components/SonnerDocs.tsx +89 -0
  372. package/src/pages/components/SwitchDocs.tsx +31 -0
  373. package/src/pages/components/TableDocs.tsx +64 -0
  374. package/src/pages/components/TabsDocs.tsx +111 -0
  375. package/src/pages/components/TextareaDocs.tsx +54 -0
  376. package/src/pages/components/ToastDocs.tsx +102 -0
  377. package/src/pages/components/ToggleDocs.tsx +59 -0
  378. package/src/pages/components/ToggleGroupDocs.tsx +93 -0
  379. package/src/pages/components/TooltipDocs.tsx +38 -0
  380. package/src/pages/index.ts +49 -0
  381. package/tsconfig.json +8 -4
  382. package/tsconfig.node.json +2 -1
  383. package/vite.config.ts +30 -16
  384. package/wrangler.toml +22 -0
  385. package/.storybook/.preview-head.html +0 -1
  386. package/.storybook/main.ts +0 -38
  387. package/.storybook/preview.tsx +0 -30
  388. package/dist/index.js +0 -647
  389. package/dist/index.js.map +0 -1
  390. package/dist/index.mjs +0 -1053
  391. package/dist/index.mjs.map +0 -1
  392. package/dist/vendor-DXgJBoQh.mjs +0 -265
  393. package/dist/vendor-DXgJBoQh.mjs.map +0 -1
  394. package/dist/vendor-nZSsnGb7.js +0 -7
  395. package/dist/vendor-nZSsnGb7.js.map +0 -1
  396. package/src/Avatar.stories.tsx +0 -67
  397. package/src/Avatar.tsx +0 -174
  398. package/src/Badge.stories.tsx +0 -87
  399. package/src/Badge.tsx +0 -76
  400. package/src/Button.stories.tsx +0 -244
  401. package/src/Button.tsx +0 -384
  402. package/src/Icon.stories.tsx +0 -101
  403. package/src/Icon.tsx +0 -64
  404. package/src/Intro.stories.tsx +0 -20
  405. package/src/Link.stories.tsx +0 -69
  406. package/src/Link.tsx +0 -252
  407. package/src/StoryLinkWrapper.d.ts +0 -1
  408. package/src/StoryLinkWrapper.tsx +0 -33
  409. package/src/__tests__/Avatar.test.tsx +0 -28
  410. package/src/__tests__/Badge.test.tsx +0 -25
  411. package/src/__tests__/Button.test.tsx +0 -38
  412. package/src/__tests__/Icon.test.tsx +0 -26
  413. package/src/__tests__/Link.test.tsx +0 -31
  414. package/src/mdx.d.ts +0 -5
  415. package/src/setupTests.ts +0 -1
  416. package/src/shared/animation.d.ts +0 -18
  417. package/src/shared/animation.js +0 -60
  418. package/src/shared/global.d.ts +0 -12
  419. package/src/shared/global.js +0 -120
  420. package/src/shared/icons.d.ts +0 -34
  421. package/src/shared/icons.js +0 -282
  422. package/src/shared/styles.d.ts +0 -86
  423. package/src/shared/styles.js +0 -98
  424. package/src/test-utils/axe.ts +0 -25
  425. package/src/types.ts +0 -316
@@ -0,0 +1,2275 @@
1
+ import { t as ea, c as ta, j as s, I as aa, H as sa, T as Y, C as k, a as Z, R as oa, b as w, S as K, O as ee, P as ra, d as te, e as ae, D as se, A as oe, f as re, g as na, h as da, i as ia, k as ne, l as de, F as ie, E as le, m as C, n as ce, o as la, p as me, u as ca, q as ma, r as ua, s as fa, L as pa, v as xa, w as ue, x as ga, y as _, z as ba, B as ha, G as Na, J as z, K as fe, M, N as P, X, Q as A, U as F, V as pe, W as xe, _ as p, Y as ya, Z as ge, $ as be, a0 as he, a1 as Ne, a2 as ye, a3 as we, a4 as ve, a5 as je, a6 as E, a7 as Re, a8 as Ce, a9 as wa, aa as va, ab as ja, ac as Ra, ad as Ca, ae as g, af as Te, ag as Se, ah as ke, ai as _e, aj as $e, ak as De, al as Ie, am as ze, an as Me, ao as Pe, ap as Ta, aq as Sa, ar as ka, as as _a, at as $a, au as Ae, av as Da, aw as Ia, ax as za, ay as Fe, az as Ma, aA as Pa, aB as Ee, aC as Le, aD as Oe, aE as Be, aF as Ge, aG as Ve, aH as He, aI as Ue, aJ as qe, aK as Ke, aL as Xe, aM as Qe, aN as Aa, aO as Fa, aP as Ea, aQ as La, aR as We, aS as Je, aT as Ye, aU as Ze, aV as et, aW as tt, aX as Oa, aY as Ba, aZ as Ga, a_ as at, a$ as Va, b0 as Ha, b1 as Ua, b2 as st, b3 as qa, b4 as ot, b5 as rt, b6 as Ka, b7 as Xa, b8 as Qa, b9 as Wa, ba as Ja, bb as nt, bc as Ya, bd as Za, be as dt, bf as es, bg as it, bh as ts, bi as lt, bj as as, bk as ct, bl as ss, bm as mt, bn as os, bo as ut, bp as ft, bq as rs, br as ns, bs as pt, bt as ds, bu as is, bv as ls, bw as xt, bx as gt, by as cs, bz as ms, bA as us, bB as fs, bC as ps, bD as bt, bE as xs, bF as ht, bG as Nt, bH as yt, bI as gs, bJ as wt, bK as vt, bL as jt, bM as Rt, bN as Ct, bO as Tt, bP as bs, bQ as St, bR as kt, bS as _t, bT as hs, bU as $t, bV as Ns, bW as ys, bX as ws } from "./vendor-ZhQmrf1h.mjs";
2
+ import * as r from "react";
3
+ function o(...e) {
4
+ return ea(ta(e));
5
+ }
6
+ const wn = oa, vs = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(aa, { ref: a, className: o("border-b", e), ...t }));
7
+ vs.displayName = "AccordionItem";
8
+ const js = r.forwardRef(({ className: e, children: t, ...a }, n) => /* @__PURE__ */ s.jsx(sa, { className: "flex", children: /* @__PURE__ */ s.jsxs(
9
+ Y,
10
+ {
11
+ ref: n,
12
+ className: o(
13
+ "flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180",
14
+ e
15
+ ),
16
+ ...a,
17
+ children: [
18
+ t,
19
+ /* @__PURE__ */ s.jsx(k, { className: "h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200" })
20
+ ]
21
+ }
22
+ ) }));
23
+ js.displayName = Y.displayName;
24
+ const Rs = r.forwardRef(({ className: e, children: t, ...a }, n) => /* @__PURE__ */ s.jsx(
25
+ Z,
26
+ {
27
+ ref: n,
28
+ className: "overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
29
+ ...a,
30
+ children: /* @__PURE__ */ s.jsx("div", { className: o("pb-4 pt-0", e), children: t })
31
+ }
32
+ ));
33
+ Rs.displayName = Z.displayName;
34
+ const Cs = w(
35
+ "relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",
36
+ {
37
+ variants: {
38
+ variant: {
39
+ default: "bg-background text-foreground",
40
+ destructive: "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"
41
+ }
42
+ },
43
+ defaultVariants: {
44
+ variant: "default"
45
+ }
46
+ }
47
+ ), Ts = r.forwardRef(({ className: e, variant: t, ...a }, n) => /* @__PURE__ */ s.jsx("div", { ref: n, role: "alert", className: o(Cs({ variant: t }), e), ...a }));
48
+ Ts.displayName = "Alert";
49
+ const Ss = r.forwardRef(
50
+ ({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx("h5", { ref: a, className: o("mb-1 font-medium leading-none tracking-tight", e), ...t })
51
+ );
52
+ Ss.displayName = "AlertTitle";
53
+ const ks = r.forwardRef(
54
+ ({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx("div", { ref: a, className: o("text-sm [&_p]:leading-relaxed", e), ...t })
55
+ );
56
+ ks.displayName = "AlertDescription";
57
+ const R = w(
58
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
59
+ {
60
+ variants: {
61
+ variant: {
62
+ default: "bg-primary text-primary-foreground shadow hover:bg-primary/90",
63
+ destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
64
+ outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
65
+ secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
66
+ ghost: "hover:bg-accent hover:text-accent-foreground",
67
+ link: "text-primary underline-offset-4 hover:underline"
68
+ },
69
+ size: {
70
+ default: "h-9 px-4 py-2",
71
+ sm: "h-8 rounded-md px-3 text-xs",
72
+ lg: "h-10 rounded-md px-8",
73
+ icon: "h-9 w-9"
74
+ }
75
+ },
76
+ defaultVariants: {
77
+ variant: "default",
78
+ size: "default"
79
+ }
80
+ }
81
+ ), L = r.forwardRef(
82
+ ({ className: e, variant: t, size: a, asChild: n = !1, ...d }, i) => {
83
+ const m = n ? K : "button";
84
+ return /* @__PURE__ */ s.jsx(m, { className: o(R({ variant: t, size: a, className: e })), ref: i, ...d });
85
+ }
86
+ );
87
+ L.displayName = "Button";
88
+ const vn = na, jn = da, _s = ra, Dt = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
89
+ ee,
90
+ {
91
+ className: o(
92
+ "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
93
+ e
94
+ ),
95
+ ...t,
96
+ ref: a
97
+ }
98
+ ));
99
+ Dt.displayName = ee.displayName;
100
+ const $s = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsxs(_s, { children: [
101
+ /* @__PURE__ */ s.jsx(Dt, {}),
102
+ /* @__PURE__ */ s.jsx(
103
+ te,
104
+ {
105
+ ref: a,
106
+ className: o(
107
+ "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
108
+ e
109
+ ),
110
+ ...t
111
+ }
112
+ )
113
+ ] }));
114
+ $s.displayName = te.displayName;
115
+ const Ds = ({ className: e, ...t }) => /* @__PURE__ */ s.jsx("div", { className: o("flex flex-col space-y-2 text-center sm:text-left", e), ...t });
116
+ Ds.displayName = "AlertDialogHeader";
117
+ const Is = ({ className: e, ...t }) => /* @__PURE__ */ s.jsx("div", { className: o("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", e), ...t });
118
+ Is.displayName = "AlertDialogFooter";
119
+ const zs = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(ae, { ref: a, className: o("text-lg font-semibold", e), ...t }));
120
+ zs.displayName = ae.displayName;
121
+ const Ms = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(se, { ref: a, className: o("text-sm text-muted-foreground", e), ...t }));
122
+ Ms.displayName = se.displayName;
123
+ const Ps = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(oe, { ref: a, className: o(R(), e), ...t }));
124
+ Ps.displayName = oe.displayName;
125
+ const As = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
126
+ re,
127
+ {
128
+ ref: a,
129
+ className: o(R({ variant: "outline" }), "mt-2 sm:mt-0", e),
130
+ ...t
131
+ }
132
+ ));
133
+ As.displayName = re.displayName;
134
+ const Rn = ia, Fs = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
135
+ ne,
136
+ {
137
+ ref: a,
138
+ className: o("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full", e),
139
+ ...t
140
+ }
141
+ ));
142
+ Fs.displayName = ne.displayName;
143
+ const Es = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(de, { ref: a, className: o("aspect-square h-full w-full", e), ...t }));
144
+ Es.displayName = de.displayName;
145
+ const Ls = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
146
+ ie,
147
+ {
148
+ ref: a,
149
+ className: o("flex h-full w-full items-center justify-center rounded-full bg-muted", e),
150
+ ...t
151
+ }
152
+ ));
153
+ Ls.displayName = ie.displayName;
154
+ const Os = w(
155
+ "inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
156
+ {
157
+ variants: {
158
+ variant: {
159
+ default: "border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",
160
+ secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
161
+ destructive: "border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",
162
+ outline: "text-foreground"
163
+ }
164
+ },
165
+ defaultVariants: {
166
+ variant: "default"
167
+ }
168
+ }
169
+ );
170
+ function Cn({ className: e, variant: t, ...a }) {
171
+ return /* @__PURE__ */ s.jsx("div", { className: o(Os({ variant: t }), e), ...a });
172
+ }
173
+ const Bs = r.forwardRef(({ ...e }, t) => /* @__PURE__ */ s.jsx("nav", { ref: t, "aria-label": "breadcrumb", ...e }));
174
+ Bs.displayName = "Breadcrumb";
175
+ const Gs = r.forwardRef(
176
+ ({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
177
+ "ol",
178
+ {
179
+ ref: a,
180
+ className: o(
181
+ "flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",
182
+ e
183
+ ),
184
+ ...t
185
+ }
186
+ )
187
+ );
188
+ Gs.displayName = "BreadcrumbList";
189
+ const Vs = r.forwardRef(
190
+ ({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx("li", { ref: a, className: o("inline-flex items-center gap-1.5", e), ...t })
191
+ );
192
+ Vs.displayName = "BreadcrumbItem";
193
+ const Hs = r.forwardRef(({ asChild: e, className: t, ...a }, n) => {
194
+ const d = e ? K : "a";
195
+ return /* @__PURE__ */ s.jsx(d, { ref: n, className: o("transition-colors hover:text-foreground", t), ...a });
196
+ });
197
+ Hs.displayName = "BreadcrumbLink";
198
+ const Us = r.forwardRef(
199
+ ({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
200
+ "span",
201
+ {
202
+ ref: a,
203
+ role: "link",
204
+ "aria-disabled": "true",
205
+ "aria-current": "page",
206
+ className: o("font-normal text-foreground", e),
207
+ ...t
208
+ }
209
+ )
210
+ );
211
+ Us.displayName = "BreadcrumbPage";
212
+ const qs = ({ children: e, className: t, ...a }) => /* @__PURE__ */ s.jsx("li", { role: "presentation", "aria-hidden": "true", className: o("[&>svg]:w-3.5 [&>svg]:h-3.5", t), ...a, children: e ?? /* @__PURE__ */ s.jsx(C, {}) });
213
+ qs.displayName = "BreadcrumbSeparator";
214
+ const Ks = ({ className: e, ...t }) => /* @__PURE__ */ s.jsxs(
215
+ "span",
216
+ {
217
+ role: "presentation",
218
+ "aria-hidden": "true",
219
+ className: o("flex h-9 w-9 items-center justify-center", e),
220
+ ...t,
221
+ children: [
222
+ /* @__PURE__ */ s.jsx(le, { className: "h-4 w-4" }),
223
+ /* @__PURE__ */ s.jsx("span", { className: "sr-only", children: "More" })
224
+ ]
225
+ }
226
+ );
227
+ Ks.displayName = "BreadcrumbElipssis";
228
+ function Tn({
229
+ className: e,
230
+ classNames: t,
231
+ showOutsideDays: a = !0,
232
+ captionLayout: n = "label",
233
+ buttonVariant: d = "ghost",
234
+ formatters: i,
235
+ components: m,
236
+ ...u
237
+ }) {
238
+ const l = ce();
239
+ return /* @__PURE__ */ s.jsx(
240
+ la,
241
+ {
242
+ showOutsideDays: a,
243
+ className: o(
244
+ "bg-background group/calendar p-3 [--cell-size:2rem] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",
245
+ String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
246
+ String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
247
+ e
248
+ ),
249
+ captionLayout: n,
250
+ formatters: {
251
+ formatMonthDropdown: (c) => c.toLocaleString("default", { month: "short" }),
252
+ ...i
253
+ },
254
+ classNames: {
255
+ root: o("w-fit", l.root),
256
+ months: o("relative flex flex-col gap-4 md:flex-row", l.months),
257
+ month: o("flex w-full flex-col gap-4", l.month),
258
+ nav: o("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1", l.nav),
259
+ button_previous: o(
260
+ R({ variant: d }),
261
+ "h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",
262
+ l.button_previous
263
+ ),
264
+ button_next: o(
265
+ R({ variant: d }),
266
+ "h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",
267
+ l.button_next
268
+ ),
269
+ month_caption: o(
270
+ "flex h-[--cell-size] w-full items-center justify-center px-[--cell-size]",
271
+ l.month_caption
272
+ ),
273
+ dropdowns: o(
274
+ "flex h-[--cell-size] w-full items-center justify-center gap-1.5 text-sm font-medium",
275
+ l.dropdowns
276
+ ),
277
+ dropdown_root: o(
278
+ "has-focus:border-ring border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] relative rounded-md border",
279
+ l.dropdown_root
280
+ ),
281
+ dropdown: o("bg-popover absolute inset-0 opacity-0", l.dropdown),
282
+ caption_label: o(
283
+ "select-none font-medium",
284
+ n === "label" ? "text-sm" : "[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pl-2 pr-1 text-sm [&>svg]:size-3.5",
285
+ l.caption_label
286
+ ),
287
+ table: "w-full border-collapse",
288
+ weekdays: o("flex", l.weekdays),
289
+ weekday: o(
290
+ "text-muted-foreground flex-1 select-none rounded-md text-[0.8rem] font-normal",
291
+ l.weekday
292
+ ),
293
+ week: o("mt-2 flex w-full", l.week),
294
+ week_number_header: o("w-[--cell-size] select-none", l.week_number_header),
295
+ week_number: o("text-muted-foreground select-none text-[0.8rem]", l.week_number),
296
+ day: o(
297
+ "group/day relative aspect-square h-full w-full select-none p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md",
298
+ l.day
299
+ ),
300
+ range_start: o("bg-accent rounded-l-md", l.range_start),
301
+ range_middle: o("rounded-none", l.range_middle),
302
+ range_end: o("bg-accent rounded-r-md", l.range_end),
303
+ today: o(
304
+ "bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",
305
+ l.today
306
+ ),
307
+ outside: o("text-muted-foreground aria-selected:text-muted-foreground", l.outside),
308
+ disabled: o("text-muted-foreground opacity-50", l.disabled),
309
+ hidden: o("invisible", l.hidden),
310
+ ...t
311
+ },
312
+ components: {
313
+ Root: ({ className: c, rootRef: b, ...N }) => /* @__PURE__ */ s.jsx("div", { "data-slot": "calendar", ref: b, className: o(c), ...N }),
314
+ Chevron: ({ className: c, orientation: b, ...N }) => b === "left" ? /* @__PURE__ */ s.jsx(me, { className: o("size-4", c), ...N }) : b === "right" ? /* @__PURE__ */ s.jsx(C, { className: o("size-4", c), ...N }) : /* @__PURE__ */ s.jsx(k, { className: o("size-4", c), ...N }),
315
+ DayButton: Xs,
316
+ WeekNumber: ({ children: c, ...b }) => /* @__PURE__ */ s.jsx("td", { ...b, children: /* @__PURE__ */ s.jsx("div", { className: "flex size-[--cell-size] items-center justify-center text-center", children: c }) }),
317
+ ...m
318
+ },
319
+ ...u
320
+ }
321
+ );
322
+ }
323
+ function Xs({ className: e, day: t, modifiers: a, ...n }) {
324
+ const d = ce(), i = r.useRef(null);
325
+ return r.useEffect(() => {
326
+ a.focused && i.current?.focus();
327
+ }, [a.focused]), /* @__PURE__ */ s.jsx(
328
+ L,
329
+ {
330
+ ref: i,
331
+ variant: "ghost",
332
+ size: "icon",
333
+ "data-day": t.date.toLocaleDateString(),
334
+ "data-selected-single": a.selected && !a.range_start && !a.range_end && !a.range_middle,
335
+ "data-range-start": a.range_start,
336
+ "data-range-end": a.range_end,
337
+ "data-range-middle": a.range_middle,
338
+ className: o(
339
+ "data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 flex aspect-square h-auto w-full min-w-[--cell-size] flex-col gap-1 font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] [&>span]:text-xs [&>span]:opacity-70",
340
+ d.day,
341
+ e
342
+ ),
343
+ ...n
344
+ }
345
+ );
346
+ }
347
+ const Qs = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx("div", { ref: a, className: o("rounded-xl border bg-card text-card-foreground shadow", e), ...t }));
348
+ Qs.displayName = "Card";
349
+ const Ws = r.forwardRef(
350
+ ({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx("div", { ref: a, className: o("flex flex-col space-y-1.5 p-6", e), ...t })
351
+ );
352
+ Ws.displayName = "CardHeader";
353
+ const Js = r.forwardRef(
354
+ ({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx("div", { ref: a, className: o("font-semibold leading-none tracking-tight", e), ...t })
355
+ );
356
+ Js.displayName = "CardTitle";
357
+ const Ys = r.forwardRef(
358
+ ({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx("div", { ref: a, className: o("text-sm text-muted-foreground", e), ...t })
359
+ );
360
+ Ys.displayName = "CardDescription";
361
+ const Zs = r.forwardRef(
362
+ ({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx("div", { ref: a, className: o("p-6 pt-0", e), ...t })
363
+ );
364
+ Zs.displayName = "CardContent";
365
+ const eo = r.forwardRef(
366
+ ({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx("div", { ref: a, className: o("flex items-center p-6 pt-0", e), ...t })
367
+ );
368
+ eo.displayName = "CardFooter";
369
+ const It = r.createContext(null);
370
+ function O() {
371
+ const e = r.useContext(It);
372
+ if (!e)
373
+ throw new Error("useCarousel must be used within a <Carousel />");
374
+ return e;
375
+ }
376
+ const to = r.forwardRef(
377
+ ({ orientation: e = "horizontal", opts: t, setApi: a, plugins: n, className: d, children: i, ...m }, u) => {
378
+ const [l, c] = ca(
379
+ {
380
+ ...t,
381
+ axis: e === "horizontal" ? "x" : "y"
382
+ },
383
+ n
384
+ ), [b, N] = r.useState(!1), [T, G] = r.useState(!1), h = r.useCallback((x) => {
385
+ x && (N(x.canScrollPrev()), G(x.canScrollNext()));
386
+ }, []), j = r.useCallback(() => {
387
+ c?.scrollPrev();
388
+ }, [c]), y = r.useCallback(() => {
389
+ c?.scrollNext();
390
+ }, [c]), f = r.useCallback(
391
+ (x) => {
392
+ x.key === "ArrowLeft" ? (x.preventDefault(), j()) : x.key === "ArrowRight" && (x.preventDefault(), y());
393
+ },
394
+ [j, y]
395
+ );
396
+ return r.useEffect(() => {
397
+ !c || !a || a(c);
398
+ }, [c, a]), r.useEffect(() => {
399
+ if (c)
400
+ return h(c), c.on("reInit", h), c.on("select", h), () => {
401
+ c?.off("select", h);
402
+ };
403
+ }, [c, h]), /* @__PURE__ */ s.jsx(
404
+ It.Provider,
405
+ {
406
+ value: {
407
+ carouselRef: l,
408
+ api: c,
409
+ opts: t,
410
+ orientation: e || (t?.axis === "y" ? "vertical" : "horizontal"),
411
+ scrollPrev: j,
412
+ scrollNext: y,
413
+ canScrollPrev: b,
414
+ canScrollNext: T
415
+ },
416
+ children: /* @__PURE__ */ s.jsx(
417
+ "div",
418
+ {
419
+ ref: u,
420
+ onKeyDownCapture: f,
421
+ className: o("relative", d),
422
+ role: "region",
423
+ "aria-roledescription": "carousel",
424
+ ...m,
425
+ children: i
426
+ }
427
+ )
428
+ }
429
+ );
430
+ }
431
+ );
432
+ to.displayName = "Carousel";
433
+ const ao = r.forwardRef(
434
+ ({ className: e, ...t }, a) => {
435
+ const { carouselRef: n, orientation: d } = O();
436
+ return /* @__PURE__ */ s.jsx("div", { ref: n, className: "overflow-hidden", children: /* @__PURE__ */ s.jsx(
437
+ "div",
438
+ {
439
+ ref: a,
440
+ className: o("flex", d === "horizontal" ? "-ml-4" : "-mt-4 flex-col", e),
441
+ ...t
442
+ }
443
+ ) });
444
+ }
445
+ );
446
+ ao.displayName = "CarouselContent";
447
+ const so = r.forwardRef(
448
+ ({ className: e, ...t }, a) => {
449
+ const { orientation: n } = O();
450
+ return /* @__PURE__ */ s.jsx(
451
+ "div",
452
+ {
453
+ ref: a,
454
+ role: "group",
455
+ "aria-roledescription": "slide",
456
+ className: o("min-w-0 shrink-0 grow-0 basis-full", n === "horizontal" ? "pl-4" : "pt-4", e),
457
+ ...t
458
+ }
459
+ );
460
+ }
461
+ );
462
+ so.displayName = "CarouselItem";
463
+ const oo = r.forwardRef(
464
+ ({ className: e, variant: t = "outline", size: a = "icon", ...n }, d) => {
465
+ const { orientation: i, scrollPrev: m, canScrollPrev: u } = O();
466
+ return /* @__PURE__ */ s.jsxs(
467
+ L,
468
+ {
469
+ ref: d,
470
+ variant: t,
471
+ size: a,
472
+ className: o(
473
+ "absolute h-8 w-8 rounded-full",
474
+ i === "horizontal" ? "-left-12 top-1/2 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
475
+ e
476
+ ),
477
+ disabled: !u,
478
+ onClick: m,
479
+ ...n,
480
+ children: [
481
+ /* @__PURE__ */ s.jsx(ma, { className: "h-4 w-4" }),
482
+ /* @__PURE__ */ s.jsx("span", { className: "sr-only", children: "Previous slide" })
483
+ ]
484
+ }
485
+ );
486
+ }
487
+ );
488
+ oo.displayName = "CarouselPrevious";
489
+ const ro = r.forwardRef(
490
+ ({ className: e, variant: t = "outline", size: a = "icon", ...n }, d) => {
491
+ const { orientation: i, scrollNext: m, canScrollNext: u } = O();
492
+ return /* @__PURE__ */ s.jsxs(
493
+ L,
494
+ {
495
+ ref: d,
496
+ variant: t,
497
+ size: a,
498
+ className: o(
499
+ "absolute h-8 w-8 rounded-full",
500
+ i === "horizontal" ? "-right-12 top-1/2 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
501
+ e
502
+ ),
503
+ disabled: !u,
504
+ onClick: m,
505
+ ...n,
506
+ children: [
507
+ /* @__PURE__ */ s.jsx(ua, { className: "h-4 w-4" }),
508
+ /* @__PURE__ */ s.jsx("span", { className: "sr-only", children: "Next slide" })
509
+ ]
510
+ }
511
+ );
512
+ }
513
+ );
514
+ ro.displayName = "CarouselNext";
515
+ const no = { light: "", dark: ".dark" }, zt = r.createContext(null);
516
+ function Mt() {
517
+ const e = r.useContext(zt);
518
+ if (!e)
519
+ throw new Error("useChart must be used within a <ChartContainer />");
520
+ return e;
521
+ }
522
+ const io = r.forwardRef(({ id: e, className: t, children: a, config: n, ...d }, i) => {
523
+ const m = r.useId(), u = `chart-${e || m.replace(/:/g, "")}`;
524
+ return /* @__PURE__ */ s.jsx(zt.Provider, { value: { config: n }, children: /* @__PURE__ */ s.jsxs(
525
+ "div",
526
+ {
527
+ "data-chart": u,
528
+ ref: i,
529
+ className: o(
530
+ "flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none",
531
+ t
532
+ ),
533
+ ...d,
534
+ children: [
535
+ /* @__PURE__ */ s.jsx(lo, { id: u, config: n }),
536
+ /* @__PURE__ */ s.jsx(fa, { children: a })
537
+ ]
538
+ }
539
+ ) });
540
+ });
541
+ io.displayName = "Chart";
542
+ const lo = ({ id: e, config: t }) => {
543
+ const a = Object.entries(t).filter(([, n]) => n.theme || n.color);
544
+ return a.length ? /* @__PURE__ */ s.jsx(
545
+ "style",
546
+ {
547
+ dangerouslySetInnerHTML: {
548
+ __html: Object.entries(no).map(
549
+ ([n, d]) => `
550
+ ${d} [data-chart=${e}] {
551
+ ${a.map(([i, m]) => {
552
+ const u = m.theme?.[n] || m.color;
553
+ return u ? ` --color-${i}: ${u};` : null;
554
+ }).join(`
555
+ `)}
556
+ }
557
+ `
558
+ ).join(`
559
+ `)
560
+ }
561
+ }
562
+ ) : null;
563
+ }, Sn = xa, co = r.forwardRef(
564
+ ({
565
+ active: e,
566
+ payload: t,
567
+ className: a,
568
+ indicator: n = "dot",
569
+ hideLabel: d = !1,
570
+ hideIndicator: i = !1,
571
+ label: m,
572
+ labelFormatter: u,
573
+ labelClassName: l,
574
+ formatter: c,
575
+ color: b,
576
+ nameKey: N,
577
+ labelKey: T
578
+ }, G) => {
579
+ const { config: h } = Mt(), j = r.useMemo(() => {
580
+ if (d || !t?.length)
581
+ return null;
582
+ const [f] = t, x = `${T || f?.dataKey || f?.name || "value"}`, V = q(h, f, x), v = !T && typeof m == "string" ? h[m]?.label || m : V?.label;
583
+ return u ? /* @__PURE__ */ s.jsx("div", { className: o("font-medium", l), children: u(v, t) }) : v ? /* @__PURE__ */ s.jsx("div", { className: o("font-medium", l), children: v }) : null;
584
+ }, [m, u, t, d, l, h, T]);
585
+ if (!e || !t?.length)
586
+ return null;
587
+ const y = t.length === 1 && n !== "dot";
588
+ return /* @__PURE__ */ s.jsxs(
589
+ "div",
590
+ {
591
+ ref: G,
592
+ className: o(
593
+ "grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl",
594
+ a
595
+ ),
596
+ children: [
597
+ y ? null : j,
598
+ /* @__PURE__ */ s.jsx("div", { className: "grid gap-1.5", children: t.filter((f) => f.type !== "none").map((f, x) => {
599
+ const V = `${N || f.name || f.dataKey || "value"}`, v = q(h, f, V), W = b || f.payload.fill || f.color;
600
+ return /* @__PURE__ */ s.jsx(
601
+ "div",
602
+ {
603
+ className: o(
604
+ "flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground",
605
+ n === "dot" && "items-center"
606
+ ),
607
+ children: c && f?.value !== void 0 && f.name ? c(f.value, f.name, f, x, f.payload) : /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
608
+ v?.icon ? /* @__PURE__ */ s.jsx(v.icon, {}) : !i && /* @__PURE__ */ s.jsx(
609
+ "div",
610
+ {
611
+ className: o("shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]", {
612
+ "h-2.5 w-2.5": n === "dot",
613
+ "w-1": n === "line",
614
+ "w-0 border-[1.5px] border-dashed bg-transparent": n === "dashed",
615
+ "my-0.5": y && n === "dashed"
616
+ }),
617
+ style: {
618
+ "--color-bg": W,
619
+ "--color-border": W
620
+ }
621
+ }
622
+ ),
623
+ /* @__PURE__ */ s.jsxs(
624
+ "div",
625
+ {
626
+ className: o(
627
+ "flex flex-1 justify-between leading-none",
628
+ y ? "items-end" : "items-center"
629
+ ),
630
+ children: [
631
+ /* @__PURE__ */ s.jsxs("div", { className: "grid gap-1.5", children: [
632
+ y ? j : null,
633
+ /* @__PURE__ */ s.jsx("span", { className: "text-muted-foreground", children: v?.label || f.name })
634
+ ] }),
635
+ f.value && /* @__PURE__ */ s.jsx("span", { className: "font-mono font-medium tabular-nums text-foreground", children: f.value.toLocaleString() })
636
+ ]
637
+ }
638
+ )
639
+ ] })
640
+ },
641
+ f.dataKey
642
+ );
643
+ }) })
644
+ ]
645
+ }
646
+ );
647
+ }
648
+ );
649
+ co.displayName = "ChartTooltip";
650
+ const kn = pa, mo = r.forwardRef(({ className: e, hideIcon: t = !1, payload: a, verticalAlign: n = "bottom", nameKey: d }, i) => {
651
+ const { config: m } = Mt();
652
+ return a?.length ? /* @__PURE__ */ s.jsx(
653
+ "div",
654
+ {
655
+ ref: i,
656
+ className: o("flex items-center justify-center gap-4", n === "top" ? "pb-3" : "pt-3", e),
657
+ children: a.filter((u) => u.type !== "none").map((u) => {
658
+ const l = `${d || u.dataKey || "value"}`, c = q(m, u, l);
659
+ return /* @__PURE__ */ s.jsxs(
660
+ "div",
661
+ {
662
+ className: o("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"),
663
+ children: [
664
+ c?.icon && !t ? /* @__PURE__ */ s.jsx(c.icon, {}) : /* @__PURE__ */ s.jsx(
665
+ "div",
666
+ {
667
+ className: "h-2 w-2 shrink-0 rounded-[2px]",
668
+ style: {
669
+ backgroundColor: u.color
670
+ }
671
+ }
672
+ ),
673
+ c?.label
674
+ ]
675
+ },
676
+ u.value
677
+ );
678
+ })
679
+ }
680
+ ) : null;
681
+ });
682
+ mo.displayName = "ChartLegend";
683
+ function q(e, t, a) {
684
+ if (typeof t != "object" || t === null)
685
+ return;
686
+ const n = "payload" in t && typeof t.payload == "object" && t.payload !== null ? t.payload : void 0;
687
+ let d = a;
688
+ return a in t && typeof t[a] == "string" ? d = t[a] : n && a in n && typeof n[a] == "string" && (d = n[a]), d in e ? e[d] : e[a];
689
+ }
690
+ const uo = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
691
+ ue,
692
+ {
693
+ ref: a,
694
+ className: o(
695
+ "grid place-content-center peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",
696
+ e
697
+ ),
698
+ ...t,
699
+ children: /* @__PURE__ */ s.jsx(ga, { className: o("grid place-content-center text-current"), children: /* @__PURE__ */ s.jsx(_, { className: "h-4 w-4" }) })
700
+ }
701
+ ));
702
+ uo.displayName = ue.displayName;
703
+ const _n = ba, $n = Na, Dn = ha, fo = pe, In = xe, po = fe, zn = P, Pt = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
704
+ z,
705
+ {
706
+ ref: a,
707
+ className: o(
708
+ "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
709
+ e
710
+ ),
711
+ ...t
712
+ }
713
+ ));
714
+ Pt.displayName = z.displayName;
715
+ const At = r.forwardRef(({ className: e, children: t, ...a }, n) => /* @__PURE__ */ s.jsxs(po, { children: [
716
+ /* @__PURE__ */ s.jsx(Pt, {}),
717
+ /* @__PURE__ */ s.jsxs(
718
+ M,
719
+ {
720
+ ref: n,
721
+ className: o(
722
+ "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
723
+ e
724
+ ),
725
+ ...a,
726
+ children: [
727
+ t,
728
+ /* @__PURE__ */ s.jsxs(P, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
729
+ /* @__PURE__ */ s.jsx(X, { className: "h-4 w-4" }),
730
+ /* @__PURE__ */ s.jsx("span", { className: "sr-only", children: "Close" })
731
+ ] })
732
+ ]
733
+ }
734
+ )
735
+ ] }));
736
+ At.displayName = M.displayName;
737
+ const xo = ({ className: e, ...t }) => /* @__PURE__ */ s.jsx("div", { className: o("flex flex-col space-y-1.5 text-center sm:text-left", e), ...t });
738
+ xo.displayName = "DialogHeader";
739
+ const go = ({ className: e, ...t }) => /* @__PURE__ */ s.jsx("div", { className: o("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", e), ...t });
740
+ go.displayName = "DialogFooter";
741
+ const bo = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
742
+ A,
743
+ {
744
+ ref: a,
745
+ className: o("text-lg font-semibold leading-none tracking-tight", e),
746
+ ...t
747
+ }
748
+ ));
749
+ bo.displayName = A.displayName;
750
+ const ho = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(F, { ref: a, className: o("text-sm text-muted-foreground", e), ...t }));
751
+ ho.displayName = F.displayName;
752
+ const Ft = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
753
+ p,
754
+ {
755
+ ref: a,
756
+ className: o(
757
+ "flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",
758
+ e
759
+ ),
760
+ ...t
761
+ }
762
+ ));
763
+ Ft.displayName = p.displayName;
764
+ const Mn = ({ children: e, ...t }) => /* @__PURE__ */ s.jsx(fo, { ...t, children: /* @__PURE__ */ s.jsx(At, { className: "overflow-hidden p-0", children: /* @__PURE__ */ s.jsx(Ft, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children: e }) }) }), No = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsxs("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
765
+ /* @__PURE__ */ s.jsx(ya, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
766
+ /* @__PURE__ */ s.jsx(
767
+ p.Input,
768
+ {
769
+ ref: a,
770
+ className: o(
771
+ "flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
772
+ e
773
+ ),
774
+ ...t
775
+ }
776
+ )
777
+ ] }));
778
+ No.displayName = p.Input.displayName;
779
+ const yo = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
780
+ p.List,
781
+ {
782
+ ref: a,
783
+ className: o("max-h-[300px] overflow-y-auto overflow-x-hidden", e),
784
+ ...t
785
+ }
786
+ ));
787
+ yo.displayName = p.List.displayName;
788
+ const wo = r.forwardRef((e, t) => /* @__PURE__ */ s.jsx(p.Empty, { ref: t, className: "py-6 text-center text-sm", ...e }));
789
+ wo.displayName = p.Empty.displayName;
790
+ const vo = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
791
+ p.Group,
792
+ {
793
+ ref: a,
794
+ className: o(
795
+ "overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",
796
+ e
797
+ ),
798
+ ...t
799
+ }
800
+ ));
801
+ vo.displayName = p.Group.displayName;
802
+ const jo = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(p.Separator, { ref: a, className: o("-mx-1 h-px bg-border", e), ...t }));
803
+ jo.displayName = p.Separator.displayName;
804
+ const Ro = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
805
+ p.Item,
806
+ {
807
+ ref: a,
808
+ className: o(
809
+ "relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
810
+ e
811
+ ),
812
+ ...t
813
+ }
814
+ ));
815
+ Ro.displayName = p.Item.displayName;
816
+ const Co = ({ className: e, ...t }) => /* @__PURE__ */ s.jsx("span", { className: o("ml-auto text-xs tracking-widest text-muted-foreground", e), ...t });
817
+ Co.displayName = "CommandShortcut";
818
+ const Pn = wa, An = Ca, Fn = va, En = he, Ln = Ra, On = ja, To = r.forwardRef(({ className: e, inset: t, children: a, ...n }, d) => /* @__PURE__ */ s.jsxs(
819
+ ge,
820
+ {
821
+ ref: d,
822
+ className: o(
823
+ "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
824
+ t && "pl-8",
825
+ e
826
+ ),
827
+ ...n,
828
+ children: [
829
+ a,
830
+ /* @__PURE__ */ s.jsx(C, { className: "ml-auto h-4 w-4" })
831
+ ]
832
+ }
833
+ ));
834
+ To.displayName = ge.displayName;
835
+ const So = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
836
+ be,
837
+ {
838
+ ref: a,
839
+ className: o(
840
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-context-menu-content-transform-origin]",
841
+ e
842
+ ),
843
+ ...t
844
+ }
845
+ ));
846
+ So.displayName = be.displayName;
847
+ const ko = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(he, { children: /* @__PURE__ */ s.jsx(
848
+ Ne,
849
+ {
850
+ ref: a,
851
+ className: o(
852
+ "z-50 max-h-[--radix-context-menu-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-context-menu-content-transform-origin]",
853
+ e
854
+ ),
855
+ ...t
856
+ }
857
+ ) }));
858
+ ko.displayName = Ne.displayName;
859
+ const _o = r.forwardRef(({ className: e, inset: t, ...a }, n) => /* @__PURE__ */ s.jsx(
860
+ ye,
861
+ {
862
+ ref: n,
863
+ className: o(
864
+ "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
865
+ t && "pl-8",
866
+ e
867
+ ),
868
+ ...a
869
+ }
870
+ ));
871
+ _o.displayName = ye.displayName;
872
+ const $o = r.forwardRef(({ className: e, children: t, checked: a, ...n }, d) => /* @__PURE__ */ s.jsxs(
873
+ we,
874
+ {
875
+ ref: d,
876
+ className: o(
877
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
878
+ e
879
+ ),
880
+ checked: a,
881
+ ...n,
882
+ children: [
883
+ /* @__PURE__ */ s.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ s.jsx(ve, { children: /* @__PURE__ */ s.jsx(_, { className: "h-4 w-4" }) }) }),
884
+ t
885
+ ]
886
+ }
887
+ ));
888
+ $o.displayName = we.displayName;
889
+ const Do = r.forwardRef(({ className: e, children: t, ...a }, n) => /* @__PURE__ */ s.jsxs(
890
+ je,
891
+ {
892
+ ref: n,
893
+ className: o(
894
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
895
+ e
896
+ ),
897
+ ...a,
898
+ children: [
899
+ /* @__PURE__ */ s.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ s.jsx(ve, { children: /* @__PURE__ */ s.jsx(E, { className: "h-4 w-4 fill-current" }) }) }),
900
+ t
901
+ ]
902
+ }
903
+ ));
904
+ Do.displayName = je.displayName;
905
+ const Io = r.forwardRef(({ className: e, inset: t, ...a }, n) => /* @__PURE__ */ s.jsx(
906
+ Re,
907
+ {
908
+ ref: n,
909
+ className: o("px-2 py-1.5 text-sm font-semibold text-foreground", t && "pl-8", e),
910
+ ...a
911
+ }
912
+ ));
913
+ Io.displayName = Re.displayName;
914
+ const zo = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(Ce, { ref: a, className: o("-mx-1 my-1 h-px bg-border", e), ...t }));
915
+ zo.displayName = Ce.displayName;
916
+ const Mo = ({ className: e, ...t }) => /* @__PURE__ */ s.jsx("span", { className: o("ml-auto text-xs tracking-widest text-muted-foreground", e), ...t });
917
+ Mo.displayName = "ContextMenuShortcut";
918
+ const Po = ({ shouldScaleBackground: e = !0, ...t }) => /* @__PURE__ */ s.jsx(g.Root, { shouldScaleBackground: e, ...t });
919
+ Po.displayName = "Drawer";
920
+ const Bn = g.Trigger, Ao = g.Portal, Gn = g.Close, Et = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(g.Overlay, { ref: a, className: o("fixed inset-0 z-50 bg-black/80", e), ...t }));
921
+ Et.displayName = g.Overlay.displayName;
922
+ const Fo = r.forwardRef(({ className: e, children: t, ...a }, n) => /* @__PURE__ */ s.jsxs(Ao, { children: [
923
+ /* @__PURE__ */ s.jsx(Et, {}),
924
+ /* @__PURE__ */ s.jsxs(
925
+ g.Content,
926
+ {
927
+ ref: n,
928
+ className: o(
929
+ "fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background",
930
+ e
931
+ ),
932
+ ...a,
933
+ children: [
934
+ /* @__PURE__ */ s.jsx("div", { className: "mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted" }),
935
+ t
936
+ ]
937
+ }
938
+ )
939
+ ] }));
940
+ Fo.displayName = "DrawerContent";
941
+ const Eo = ({ className: e, ...t }) => /* @__PURE__ */ s.jsx("div", { className: o("grid gap-1.5 p-4 text-center sm:text-left", e), ...t });
942
+ Eo.displayName = "DrawerHeader";
943
+ const Lo = ({ className: e, ...t }) => /* @__PURE__ */ s.jsx("div", { className: o("mt-auto flex flex-col gap-2 p-4", e), ...t });
944
+ Lo.displayName = "DrawerFooter";
945
+ const Oo = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
946
+ g.Title,
947
+ {
948
+ ref: a,
949
+ className: o("text-lg font-semibold leading-none tracking-tight", e),
950
+ ...t
951
+ }
952
+ ));
953
+ Oo.displayName = g.Title.displayName;
954
+ const Bo = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(g.Description, { ref: a, className: o("text-sm text-muted-foreground", e), ...t }));
955
+ Bo.displayName = g.Description.displayName;
956
+ const Vn = Ta, Hn = $a, Un = Sa, qn = ke, Kn = _a, Xn = ka, Go = r.forwardRef(({ className: e, inset: t, children: a, ...n }, d) => /* @__PURE__ */ s.jsxs(
957
+ Te,
958
+ {
959
+ ref: d,
960
+ className: o(
961
+ "flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
962
+ t && "pl-8",
963
+ e
964
+ ),
965
+ ...n,
966
+ children: [
967
+ a,
968
+ /* @__PURE__ */ s.jsx(C, { className: "ml-auto" })
969
+ ]
970
+ }
971
+ ));
972
+ Go.displayName = Te.displayName;
973
+ const Vo = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
974
+ Se,
975
+ {
976
+ ref: a,
977
+ className: o(
978
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",
979
+ e
980
+ ),
981
+ ...t
982
+ }
983
+ ));
984
+ Vo.displayName = Se.displayName;
985
+ const Ho = r.forwardRef(({ className: e, sideOffset: t = 4, ...a }, n) => /* @__PURE__ */ s.jsx(ke, { children: /* @__PURE__ */ s.jsx(
986
+ _e,
987
+ {
988
+ ref: n,
989
+ sideOffset: t,
990
+ className: o(
991
+ "z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md",
992
+ "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",
993
+ e
994
+ ),
995
+ ...a
996
+ }
997
+ ) }));
998
+ Ho.displayName = _e.displayName;
999
+ const Uo = r.forwardRef(({ className: e, inset: t, ...a }, n) => /* @__PURE__ */ s.jsx(
1000
+ $e,
1001
+ {
1002
+ ref: n,
1003
+ className: o(
1004
+ "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",
1005
+ t && "pl-8",
1006
+ e
1007
+ ),
1008
+ ...a
1009
+ }
1010
+ ));
1011
+ Uo.displayName = $e.displayName;
1012
+ const qo = r.forwardRef(({ className: e, children: t, checked: a, ...n }, d) => /* @__PURE__ */ s.jsxs(
1013
+ De,
1014
+ {
1015
+ ref: d,
1016
+ className: o(
1017
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1018
+ e
1019
+ ),
1020
+ checked: a,
1021
+ ...n,
1022
+ children: [
1023
+ /* @__PURE__ */ s.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ s.jsx(Ie, { children: /* @__PURE__ */ s.jsx(_, { className: "h-4 w-4" }) }) }),
1024
+ t
1025
+ ]
1026
+ }
1027
+ ));
1028
+ qo.displayName = De.displayName;
1029
+ const Ko = r.forwardRef(({ className: e, children: t, ...a }, n) => /* @__PURE__ */ s.jsxs(
1030
+ ze,
1031
+ {
1032
+ ref: n,
1033
+ className: o(
1034
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1035
+ e
1036
+ ),
1037
+ ...a,
1038
+ children: [
1039
+ /* @__PURE__ */ s.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ s.jsx(Ie, { children: /* @__PURE__ */ s.jsx(E, { className: "h-2 w-2 fill-current" }) }) }),
1040
+ t
1041
+ ]
1042
+ }
1043
+ ));
1044
+ Ko.displayName = ze.displayName;
1045
+ const Xo = r.forwardRef(({ className: e, inset: t, ...a }, n) => /* @__PURE__ */ s.jsx(
1046
+ Me,
1047
+ {
1048
+ ref: n,
1049
+ className: o("px-2 py-1.5 text-sm font-semibold", t && "pl-8", e),
1050
+ ...a
1051
+ }
1052
+ ));
1053
+ Xo.displayName = Me.displayName;
1054
+ const Qo = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(Pe, { ref: a, className: o("-mx-1 my-1 h-px bg-muted", e), ...t }));
1055
+ Qo.displayName = Pe.displayName;
1056
+ const Wo = ({ className: e, ...t }) => /* @__PURE__ */ s.jsx("span", { className: o("ml-auto text-xs tracking-widest opacity-60", e), ...t });
1057
+ Wo.displayName = "DropdownMenuShortcut";
1058
+ const Jo = w("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"), Lt = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(Ae, { ref: a, className: o(Jo(), e), ...t }));
1059
+ Lt.displayName = Ae.displayName;
1060
+ const Qn = Ia, Ot = r.createContext(null), Wn = ({
1061
+ ...e
1062
+ }) => /* @__PURE__ */ s.jsx(Ot.Provider, { value: { name: e.name }, children: /* @__PURE__ */ s.jsx(za, { ...e }) }), B = () => {
1063
+ const e = r.useContext(Ot), t = r.useContext(Bt), { getFieldState: a, formState: n } = Da();
1064
+ if (!e)
1065
+ throw new Error("useFormField should be used within <FormField>");
1066
+ if (!t)
1067
+ throw new Error("useFormField should be used within <FormItem>");
1068
+ const d = a(e.name, n), { id: i } = t;
1069
+ return {
1070
+ id: i,
1071
+ name: e.name,
1072
+ formItemId: `${i}-form-item`,
1073
+ formDescriptionId: `${i}-form-item-description`,
1074
+ formMessageId: `${i}-form-item-message`,
1075
+ ...d
1076
+ };
1077
+ }, Bt = r.createContext(null), Yo = r.forwardRef(
1078
+ ({ className: e, ...t }, a) => {
1079
+ const n = r.useId();
1080
+ return /* @__PURE__ */ s.jsx(Bt.Provider, { value: { id: n }, children: /* @__PURE__ */ s.jsx("div", { ref: a, className: o("space-y-2", e), ...t }) });
1081
+ }
1082
+ );
1083
+ Yo.displayName = "FormItem";
1084
+ const Zo = r.forwardRef(({ className: e, ...t }, a) => {
1085
+ const { error: n, formItemId: d } = B();
1086
+ return /* @__PURE__ */ s.jsx(Lt, { ref: a, className: o(n && "text-destructive", e), htmlFor: d, ...t });
1087
+ });
1088
+ Zo.displayName = "FormLabel";
1089
+ const er = r.forwardRef(
1090
+ ({ ...e }, t) => {
1091
+ const { error: a, formItemId: n, formDescriptionId: d, formMessageId: i } = B();
1092
+ return /* @__PURE__ */ s.jsx(
1093
+ K,
1094
+ {
1095
+ ref: t,
1096
+ id: n,
1097
+ "aria-describedby": a ? `${d} ${i}` : `${d}`,
1098
+ "aria-invalid": !!a,
1099
+ ...e
1100
+ }
1101
+ );
1102
+ }
1103
+ );
1104
+ er.displayName = "FormControl";
1105
+ const tr = r.forwardRef(
1106
+ ({ className: e, ...t }, a) => {
1107
+ const { formDescriptionId: n } = B();
1108
+ return /* @__PURE__ */ s.jsx("p", { ref: a, id: n, className: o("text-[0.8rem] text-muted-foreground", e), ...t });
1109
+ }
1110
+ );
1111
+ tr.displayName = "FormDescription";
1112
+ const ar = r.forwardRef(
1113
+ ({ className: e, children: t, ...a }, n) => {
1114
+ const { error: d, formMessageId: i } = B(), m = d ? String(d?.message ?? "") : t;
1115
+ return m ? /* @__PURE__ */ s.jsx(
1116
+ "p",
1117
+ {
1118
+ ref: n,
1119
+ id: i,
1120
+ className: o("text-[0.8rem] font-medium text-destructive", e),
1121
+ ...a,
1122
+ children: m
1123
+ }
1124
+ ) : null;
1125
+ }
1126
+ );
1127
+ ar.displayName = "FormMessage";
1128
+ const Jn = Ma, Yn = Pa, sr = r.forwardRef(({ className: e, align: t = "center", sideOffset: a = 4, ...n }, d) => /* @__PURE__ */ s.jsx(
1129
+ Fe,
1130
+ {
1131
+ ref: d,
1132
+ align: t,
1133
+ sideOffset: a,
1134
+ className: o(
1135
+ "z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-hover-card-content-transform-origin]",
1136
+ e
1137
+ ),
1138
+ ...n
1139
+ }
1140
+ ));
1141
+ sr.displayName = Fe.displayName;
1142
+ const or = r.forwardRef(
1143
+ ({ className: e, type: t, ...a }, n) => /* @__PURE__ */ s.jsx(
1144
+ "input",
1145
+ {
1146
+ type: t,
1147
+ className: o(
1148
+ "flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
1149
+ e
1150
+ ),
1151
+ ref: n,
1152
+ ...a
1153
+ }
1154
+ )
1155
+ );
1156
+ or.displayName = "Input";
1157
+ function Zn({ ...e }) {
1158
+ return /* @__PURE__ */ s.jsx(Fa, { ...e });
1159
+ }
1160
+ function ed({ ...e }) {
1161
+ return /* @__PURE__ */ s.jsx(Aa, { ...e });
1162
+ }
1163
+ function td({ ...e }) {
1164
+ return /* @__PURE__ */ s.jsx(Ge, { ...e });
1165
+ }
1166
+ function ad({ ...e }) {
1167
+ return /* @__PURE__ */ s.jsx(Ea, { ...e });
1168
+ }
1169
+ function sd({ ...e }) {
1170
+ return /* @__PURE__ */ s.jsx(La, { "data-slot": "menubar-sub", ...e });
1171
+ }
1172
+ const rr = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
1173
+ Ee,
1174
+ {
1175
+ ref: a,
1176
+ className: o("flex h-9 items-center space-x-1 rounded-md border bg-background p-1 shadow-sm", e),
1177
+ ...t
1178
+ }
1179
+ ));
1180
+ rr.displayName = Ee.displayName;
1181
+ const nr = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
1182
+ Le,
1183
+ {
1184
+ ref: a,
1185
+ className: o(
1186
+ "flex cursor-default select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
1187
+ e
1188
+ ),
1189
+ ...t
1190
+ }
1191
+ ));
1192
+ nr.displayName = Le.displayName;
1193
+ const dr = r.forwardRef(({ className: e, inset: t, children: a, ...n }, d) => /* @__PURE__ */ s.jsxs(
1194
+ Oe,
1195
+ {
1196
+ ref: d,
1197
+ className: o(
1198
+ "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
1199
+ t && "pl-8",
1200
+ e
1201
+ ),
1202
+ ...n,
1203
+ children: [
1204
+ a,
1205
+ /* @__PURE__ */ s.jsx(C, { className: "ml-auto h-4 w-4" })
1206
+ ]
1207
+ }
1208
+ ));
1209
+ dr.displayName = Oe.displayName;
1210
+ const ir = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
1211
+ Be,
1212
+ {
1213
+ ref: a,
1214
+ className: o(
1215
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-menubar-content-transform-origin]",
1216
+ e
1217
+ ),
1218
+ ...t
1219
+ }
1220
+ ));
1221
+ ir.displayName = Be.displayName;
1222
+ const lr = r.forwardRef(({ className: e, align: t = "start", alignOffset: a = -4, sideOffset: n = 8, ...d }, i) => /* @__PURE__ */ s.jsx(Ge, { children: /* @__PURE__ */ s.jsx(
1223
+ Ve,
1224
+ {
1225
+ ref: i,
1226
+ align: t,
1227
+ alignOffset: a,
1228
+ sideOffset: n,
1229
+ className: o(
1230
+ "z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-menubar-content-transform-origin]",
1231
+ e
1232
+ ),
1233
+ ...d
1234
+ }
1235
+ ) }));
1236
+ lr.displayName = Ve.displayName;
1237
+ const cr = r.forwardRef(({ className: e, inset: t, ...a }, n) => /* @__PURE__ */ s.jsx(
1238
+ He,
1239
+ {
1240
+ ref: n,
1241
+ className: o(
1242
+ "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1243
+ t && "pl-8",
1244
+ e
1245
+ ),
1246
+ ...a
1247
+ }
1248
+ ));
1249
+ cr.displayName = He.displayName;
1250
+ const mr = r.forwardRef(({ className: e, children: t, checked: a, ...n }, d) => /* @__PURE__ */ s.jsxs(
1251
+ Ue,
1252
+ {
1253
+ ref: d,
1254
+ className: o(
1255
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1256
+ e
1257
+ ),
1258
+ checked: a,
1259
+ ...n,
1260
+ children: [
1261
+ /* @__PURE__ */ s.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ s.jsx(qe, { children: /* @__PURE__ */ s.jsx(_, { className: "h-4 w-4" }) }) }),
1262
+ t
1263
+ ]
1264
+ }
1265
+ ));
1266
+ mr.displayName = Ue.displayName;
1267
+ const ur = r.forwardRef(({ className: e, children: t, ...a }, n) => /* @__PURE__ */ s.jsxs(
1268
+ Ke,
1269
+ {
1270
+ ref: n,
1271
+ className: o(
1272
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1273
+ e
1274
+ ),
1275
+ ...a,
1276
+ children: [
1277
+ /* @__PURE__ */ s.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ s.jsx(qe, { children: /* @__PURE__ */ s.jsx(E, { className: "h-4 w-4 fill-current" }) }) }),
1278
+ t
1279
+ ]
1280
+ }
1281
+ ));
1282
+ ur.displayName = Ke.displayName;
1283
+ const fr = r.forwardRef(({ className: e, inset: t, ...a }, n) => /* @__PURE__ */ s.jsx(
1284
+ Xe,
1285
+ {
1286
+ ref: n,
1287
+ className: o("px-2 py-1.5 text-sm font-semibold", t && "pl-8", e),
1288
+ ...a
1289
+ }
1290
+ ));
1291
+ fr.displayName = Xe.displayName;
1292
+ const pr = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(Qe, { ref: a, className: o("-mx-1 my-1 h-px bg-muted", e), ...t }));
1293
+ pr.displayName = Qe.displayName;
1294
+ const xr = ({ className: e, ...t }) => /* @__PURE__ */ s.jsx("span", { className: o("ml-auto text-xs tracking-widest text-muted-foreground", e), ...t });
1295
+ xr.displayname = "MenubarShortcut";
1296
+ const gr = r.forwardRef(({ className: e, children: t, ...a }, n) => /* @__PURE__ */ s.jsxs(
1297
+ We,
1298
+ {
1299
+ ref: n,
1300
+ className: o("relative z-10 flex max-w-max flex-1 items-center justify-center", e),
1301
+ ...a,
1302
+ children: [
1303
+ t,
1304
+ /* @__PURE__ */ s.jsx(Gt, {})
1305
+ ]
1306
+ }
1307
+ ));
1308
+ gr.displayName = We.displayName;
1309
+ const br = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
1310
+ Je,
1311
+ {
1312
+ ref: a,
1313
+ className: o("group flex flex-1 list-none items-center justify-center space-x-1", e),
1314
+ ...t
1315
+ }
1316
+ ));
1317
+ br.displayName = Je.displayName;
1318
+ const od = Oa, hr = w(
1319
+ "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:text-accent-foreground data-[state=open]:bg-accent/50 data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent"
1320
+ ), Nr = r.forwardRef(({ className: e, children: t, ...a }, n) => /* @__PURE__ */ s.jsxs(
1321
+ Ye,
1322
+ {
1323
+ ref: n,
1324
+ className: o(hr(), "group", e),
1325
+ ...a,
1326
+ children: [
1327
+ t,
1328
+ " ",
1329
+ /* @__PURE__ */ s.jsx(
1330
+ k,
1331
+ {
1332
+ className: "relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180",
1333
+ "aria-hidden": "true"
1334
+ }
1335
+ )
1336
+ ]
1337
+ }
1338
+ ));
1339
+ Nr.displayName = Ye.displayName;
1340
+ const yr = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
1341
+ Ze,
1342
+ {
1343
+ ref: a,
1344
+ className: o(
1345
+ "left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto ",
1346
+ e
1347
+ ),
1348
+ ...t
1349
+ }
1350
+ ));
1351
+ yr.displayName = Ze.displayName;
1352
+ const rd = Ba, Gt = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx("div", { className: o("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ s.jsx(
1353
+ et,
1354
+ {
1355
+ className: o(
1356
+ "origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",
1357
+ e
1358
+ ),
1359
+ ref: a,
1360
+ ...t
1361
+ }
1362
+ ) }));
1363
+ Gt.displayName = et.displayName;
1364
+ const wr = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
1365
+ tt,
1366
+ {
1367
+ ref: a,
1368
+ className: o(
1369
+ "top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",
1370
+ e
1371
+ ),
1372
+ ...t,
1373
+ children: /* @__PURE__ */ s.jsx("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
1374
+ }
1375
+ ));
1376
+ wr.displayName = tt.displayName;
1377
+ const vr = ({ className: e, ...t }) => /* @__PURE__ */ s.jsx(
1378
+ "nav",
1379
+ {
1380
+ role: "navigation",
1381
+ "aria-label": "pagination",
1382
+ className: o("mx-auto flex w-full justify-center", e),
1383
+ ...t
1384
+ }
1385
+ );
1386
+ vr.displayName = "Pagination";
1387
+ const jr = r.forwardRef(
1388
+ ({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx("ul", { ref: a, className: o("flex flex-row items-center gap-1", e), ...t })
1389
+ );
1390
+ jr.displayName = "PaginationContent";
1391
+ const Rr = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx("li", { ref: a, className: o("", e), ...t }));
1392
+ Rr.displayName = "PaginationItem";
1393
+ const Q = ({ className: e, isActive: t, size: a = "icon", ...n }) => /* @__PURE__ */ s.jsx(
1394
+ "a",
1395
+ {
1396
+ "aria-current": t ? "page" : void 0,
1397
+ className: o(
1398
+ R({
1399
+ variant: t ? "outline" : "ghost",
1400
+ size: a
1401
+ }),
1402
+ e
1403
+ ),
1404
+ ...n
1405
+ }
1406
+ );
1407
+ Q.displayName = "PaginationLink";
1408
+ const Cr = ({ className: e, ...t }) => /* @__PURE__ */ s.jsxs(Q, { "aria-label": "Go to previous page", size: "default", className: o("gap-1 pl-2.5", e), ...t, children: [
1409
+ /* @__PURE__ */ s.jsx(me, { className: "h-4 w-4" }),
1410
+ /* @__PURE__ */ s.jsx("span", { children: "Previous" })
1411
+ ] });
1412
+ Cr.displayName = "PaginationPrevious";
1413
+ const Tr = ({ className: e, ...t }) => /* @__PURE__ */ s.jsxs(Q, { "aria-label": "Go to next page", size: "default", className: o("gap-1 pr-2.5", e), ...t, children: [
1414
+ /* @__PURE__ */ s.jsx("span", { children: "Next" }),
1415
+ /* @__PURE__ */ s.jsx(C, { className: "h-4 w-4" })
1416
+ ] });
1417
+ Tr.displayName = "PaginationNext";
1418
+ const Sr = ({ className: e, ...t }) => /* @__PURE__ */ s.jsxs("span", { "aria-hidden": !0, className: o("flex h-9 w-9 items-center justify-center", e), ...t, children: [
1419
+ /* @__PURE__ */ s.jsx(le, { className: "h-4 w-4" }),
1420
+ /* @__PURE__ */ s.jsx("span", { className: "sr-only", children: "More pages" })
1421
+ ] });
1422
+ Sr.displayName = "PaginationEllipsis";
1423
+ const nd = Va, dd = Ua, id = Ha, kr = r.forwardRef(({ className: e, align: t = "center", sideOffset: a = 4, ...n }, d) => /* @__PURE__ */ s.jsx(Ga, { children: /* @__PURE__ */ s.jsx(
1424
+ at,
1425
+ {
1426
+ ref: d,
1427
+ align: t,
1428
+ sideOffset: a,
1429
+ className: o(
1430
+ "z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-popover-content-transform-origin]",
1431
+ e
1432
+ ),
1433
+ ...n
1434
+ }
1435
+ ) }));
1436
+ kr.displayName = at.displayName;
1437
+ const _r = r.forwardRef(({ className: e, value: t, ...a }, n) => /* @__PURE__ */ s.jsx(
1438
+ st,
1439
+ {
1440
+ ref: n,
1441
+ className: o("relative h-2 w-full overflow-hidden rounded-full bg-primary/20", e),
1442
+ ...a,
1443
+ children: /* @__PURE__ */ s.jsx(
1444
+ qa,
1445
+ {
1446
+ className: "h-full w-full flex-1 bg-primary transition-all",
1447
+ style: { transform: `translateX(-${100 - (t || 0)}%)` }
1448
+ }
1449
+ )
1450
+ }
1451
+ ));
1452
+ _r.displayName = st.displayName;
1453
+ const $r = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(ot, { className: o("grid gap-2", e), ...t, ref: a }));
1454
+ $r.displayName = ot.displayName;
1455
+ const Dr = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
1456
+ rt,
1457
+ {
1458
+ ref: a,
1459
+ className: o(
1460
+ "aspect-square h-4 w-4 rounded-full border border-primary text-primary shadow focus:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
1461
+ e
1462
+ ),
1463
+ ...t,
1464
+ children: /* @__PURE__ */ s.jsx(Ka, { className: "flex items-center justify-center", children: /* @__PURE__ */ s.jsx(E, { className: "h-3.5 w-3.5 fill-primary" }) })
1465
+ }
1466
+ ));
1467
+ Dr.displayName = rt.displayName;
1468
+ const ld = ({
1469
+ className: e,
1470
+ direction: t,
1471
+ ...a
1472
+ }) => /* @__PURE__ */ s.jsx(
1473
+ Ja,
1474
+ {
1475
+ orientation: t,
1476
+ className: o("flex h-full w-full data-[panel-group-direction=vertical]:flex-col", e),
1477
+ ...a
1478
+ }
1479
+ ), cd = Xa, md = ({
1480
+ withHandle: e,
1481
+ className: t,
1482
+ ...a
1483
+ }) => /* @__PURE__ */ s.jsx(
1484
+ Qa,
1485
+ {
1486
+ className: o(
1487
+ "relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",
1488
+ t
1489
+ ),
1490
+ ...a,
1491
+ children: e && /* @__PURE__ */ s.jsx("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ s.jsx(Wa, { className: "h-2.5 w-2.5" }) })
1492
+ }
1493
+ ), Ir = r.forwardRef(({ className: e, children: t, ...a }, n) => /* @__PURE__ */ s.jsxs(nt, { ref: n, className: o("relative overflow-hidden", e), ...a, children: [
1494
+ /* @__PURE__ */ s.jsx(Ya, { className: "h-full w-full rounded-[inherit]", children: t }),
1495
+ /* @__PURE__ */ s.jsx(Vt, {}),
1496
+ /* @__PURE__ */ s.jsx(Za, {})
1497
+ ] }));
1498
+ Ir.displayName = nt.displayName;
1499
+ const Vt = r.forwardRef(({ className: e, orientation: t = "vertical", ...a }, n) => /* @__PURE__ */ s.jsx(
1500
+ dt,
1501
+ {
1502
+ ref: n,
1503
+ orientation: t,
1504
+ className: o(
1505
+ "flex touch-none select-none transition-colors",
1506
+ t === "vertical" && "h-full w-2.5 border-l border-l-transparent p-[1px]",
1507
+ t === "horizontal" && "h-2.5 flex-col border-t border-t-transparent p-[1px]",
1508
+ e
1509
+ ),
1510
+ ...a,
1511
+ children: /* @__PURE__ */ s.jsx(es, { className: "relative flex-1 rounded-full bg-border" })
1512
+ }
1513
+ ));
1514
+ Vt.displayName = dt.displayName;
1515
+ const ud = ds, fd = is, pd = ls, zr = r.forwardRef(({ className: e, children: t, ...a }, n) => /* @__PURE__ */ s.jsxs(
1516
+ it,
1517
+ {
1518
+ ref: n,
1519
+ className: o(
1520
+ "flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
1521
+ e
1522
+ ),
1523
+ ...a,
1524
+ children: [
1525
+ t,
1526
+ /* @__PURE__ */ s.jsx(ts, { asChild: !0, children: /* @__PURE__ */ s.jsx(k, { className: "h-4 w-4 opacity-50" }) })
1527
+ ]
1528
+ }
1529
+ ));
1530
+ zr.displayName = it.displayName;
1531
+ const Ht = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
1532
+ lt,
1533
+ {
1534
+ ref: a,
1535
+ className: o("flex cursor-default items-center justify-center py-1", e),
1536
+ ...t,
1537
+ children: /* @__PURE__ */ s.jsx(as, { className: "h-4 w-4" })
1538
+ }
1539
+ ));
1540
+ Ht.displayName = lt.displayName;
1541
+ const Ut = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
1542
+ ct,
1543
+ {
1544
+ ref: a,
1545
+ className: o("flex cursor-default items-center justify-center py-1", e),
1546
+ ...t,
1547
+ children: /* @__PURE__ */ s.jsx(k, { className: "h-4 w-4" })
1548
+ }
1549
+ ));
1550
+ Ut.displayName = ct.displayName;
1551
+ const Mr = r.forwardRef(({ className: e, children: t, position: a = "popper", ...n }, d) => /* @__PURE__ */ s.jsx(ss, { children: /* @__PURE__ */ s.jsxs(
1552
+ mt,
1553
+ {
1554
+ ref: d,
1555
+ className: o(
1556
+ "relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]",
1557
+ a === "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",
1558
+ e
1559
+ ),
1560
+ position: a,
1561
+ ...n,
1562
+ children: [
1563
+ /* @__PURE__ */ s.jsx(Ht, {}),
1564
+ /* @__PURE__ */ s.jsx(
1565
+ os,
1566
+ {
1567
+ className: o(
1568
+ "p-1",
1569
+ a === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
1570
+ ),
1571
+ children: t
1572
+ }
1573
+ ),
1574
+ /* @__PURE__ */ s.jsx(Ut, {})
1575
+ ]
1576
+ }
1577
+ ) }));
1578
+ Mr.displayName = mt.displayName;
1579
+ const Pr = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(ut, { ref: a, className: o("px-2 py-1.5 text-sm font-semibold", e), ...t }));
1580
+ Pr.displayName = ut.displayName;
1581
+ const Ar = r.forwardRef(({ className: e, children: t, ...a }, n) => /* @__PURE__ */ s.jsxs(
1582
+ ft,
1583
+ {
1584
+ ref: n,
1585
+ className: o(
1586
+ "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1587
+ e
1588
+ ),
1589
+ ...a,
1590
+ children: [
1591
+ /* @__PURE__ */ s.jsx("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ s.jsx(rs, { children: /* @__PURE__ */ s.jsx(_, { className: "h-4 w-4" }) }) }),
1592
+ /* @__PURE__ */ s.jsx(ns, { children: t })
1593
+ ]
1594
+ }
1595
+ ));
1596
+ Ar.displayName = ft.displayName;
1597
+ const Fr = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(pt, { ref: a, className: o("-mx-1 my-1 h-px bg-muted", e), ...t }));
1598
+ Fr.displayName = pt.displayName;
1599
+ const Er = r.forwardRef(({ className: e, orientation: t = "horizontal", decorative: a = !0, ...n }, d) => /* @__PURE__ */ s.jsx(
1600
+ xt,
1601
+ {
1602
+ ref: d,
1603
+ decorative: a,
1604
+ orientation: t,
1605
+ className: o("shrink-0 bg-border", t === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]", e),
1606
+ ...n
1607
+ }
1608
+ ));
1609
+ Er.displayName = xt.displayName;
1610
+ const xd = pe, gd = xe, bd = P, Lr = fe, qt = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
1611
+ z,
1612
+ {
1613
+ className: o(
1614
+ "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
1615
+ e
1616
+ ),
1617
+ ...t,
1618
+ ref: a
1619
+ }
1620
+ ));
1621
+ qt.displayName = z.displayName;
1622
+ const Or = w(
1623
+ "fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out",
1624
+ {
1625
+ variants: {
1626
+ side: {
1627
+ top: "inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
1628
+ bottom: "inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
1629
+ left: "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",
1630
+ right: "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"
1631
+ }
1632
+ },
1633
+ defaultVariants: {
1634
+ side: "right"
1635
+ }
1636
+ }
1637
+ ), Br = r.forwardRef(
1638
+ ({ side: e = "right", className: t, children: a, ...n }, d) => /* @__PURE__ */ s.jsxs(Lr, { children: [
1639
+ /* @__PURE__ */ s.jsx(qt, {}),
1640
+ /* @__PURE__ */ s.jsxs(M, { ref: d, className: o(Or({ side: e }), t), ...n, children: [
1641
+ /* @__PURE__ */ s.jsxs(P, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
1642
+ /* @__PURE__ */ s.jsx(X, { className: "h-4 w-4" }),
1643
+ /* @__PURE__ */ s.jsx("span", { className: "sr-only", children: "Close" })
1644
+ ] }),
1645
+ a
1646
+ ] })
1647
+ ] })
1648
+ );
1649
+ Br.displayName = M.displayName;
1650
+ const Gr = ({ className: e, ...t }) => /* @__PURE__ */ s.jsx("div", { className: o("flex flex-col space-y-2 text-center sm:text-left", e), ...t });
1651
+ Gr.displayName = "SheetHeader";
1652
+ const Vr = ({ className: e, ...t }) => /* @__PURE__ */ s.jsx("div", { className: o("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", e), ...t });
1653
+ Vr.displayName = "SheetFooter";
1654
+ const Hr = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(A, { ref: a, className: o("text-lg font-semibold text-foreground", e), ...t }));
1655
+ Hr.displayName = A.displayName;
1656
+ const Ur = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(F, { ref: a, className: o("text-sm text-muted-foreground", e), ...t }));
1657
+ Ur.displayName = F.displayName;
1658
+ function hd({ className: e, ...t }) {
1659
+ return /* @__PURE__ */ s.jsx("div", { className: o("animate-pulse rounded-md bg-primary/10", e), ...t });
1660
+ }
1661
+ const qr = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsxs(
1662
+ gt,
1663
+ {
1664
+ ref: a,
1665
+ className: o("relative flex w-full touch-none select-none items-center", e),
1666
+ ...t,
1667
+ children: [
1668
+ /* @__PURE__ */ s.jsx(cs, { className: "relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20", children: /* @__PURE__ */ s.jsx(ms, { className: "absolute h-full bg-primary" }) }),
1669
+ /* @__PURE__ */ s.jsx(us, { className: "block h-4 w-4 rounded-full border border-primary/50 bg-background shadow transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50" })
1670
+ ]
1671
+ }
1672
+ ));
1673
+ qr.displayName = gt.displayName;
1674
+ const Nd = ({ ...e }) => {
1675
+ const { theme: t = "system" } = fs();
1676
+ return /* @__PURE__ */ s.jsx(
1677
+ ps,
1678
+ {
1679
+ theme: t,
1680
+ className: "toaster group",
1681
+ toastOptions: {
1682
+ classNames: {
1683
+ toast: "group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",
1684
+ description: "group-[.toast]:text-muted-foreground",
1685
+ actionButton: "group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",
1686
+ cancelButton: "group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"
1687
+ }
1688
+ },
1689
+ ...e
1690
+ }
1691
+ );
1692
+ }, Kr = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
1693
+ bt,
1694
+ {
1695
+ className: o(
1696
+ "peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",
1697
+ e
1698
+ ),
1699
+ ...t,
1700
+ ref: a,
1701
+ children: /* @__PURE__ */ s.jsx(
1702
+ xs,
1703
+ {
1704
+ className: o(
1705
+ "pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0"
1706
+ )
1707
+ }
1708
+ )
1709
+ }
1710
+ ));
1711
+ Kr.displayName = bt.displayName;
1712
+ const Xr = r.forwardRef(
1713
+ ({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ s.jsx("table", { ref: a, className: o("w-full caption-bottom text-sm", e), ...t }) })
1714
+ );
1715
+ Xr.displayName = "Table";
1716
+ const Qr = r.forwardRef(
1717
+ ({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx("thead", { ref: a, className: o("[&_tr]:border-b", e), ...t })
1718
+ );
1719
+ Qr.displayName = "TableHeader";
1720
+ const Wr = r.forwardRef(
1721
+ ({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx("tbody", { ref: a, className: o("[&_tr:last-child]:border-0", e), ...t })
1722
+ );
1723
+ Wr.displayName = "TableBody";
1724
+ const Jr = r.forwardRef(
1725
+ ({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx("tfoot", { ref: a, className: o("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0", e), ...t })
1726
+ );
1727
+ Jr.displayName = "TableFooter";
1728
+ const Yr = r.forwardRef(
1729
+ ({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
1730
+ "tr",
1731
+ {
1732
+ ref: a,
1733
+ className: o("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted", e),
1734
+ ...t
1735
+ }
1736
+ )
1737
+ );
1738
+ Yr.displayName = "TableRow";
1739
+ const Zr = r.forwardRef(
1740
+ ({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
1741
+ "th",
1742
+ {
1743
+ ref: a,
1744
+ className: o(
1745
+ "h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
1746
+ e
1747
+ ),
1748
+ ...t
1749
+ }
1750
+ )
1751
+ );
1752
+ Zr.displayName = "TableHead";
1753
+ const en = r.forwardRef(
1754
+ ({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
1755
+ "td",
1756
+ {
1757
+ ref: a,
1758
+ className: o("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]", e),
1759
+ ...t
1760
+ }
1761
+ )
1762
+ );
1763
+ en.displayName = "TableCell";
1764
+ const tn = r.forwardRef(
1765
+ ({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx("caption", { ref: a, className: o("mt-4 text-sm text-muted-foreground", e), ...t })
1766
+ );
1767
+ tn.displayName = "TableCaption";
1768
+ const yd = gs, an = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
1769
+ ht,
1770
+ {
1771
+ ref: a,
1772
+ className: o(
1773
+ "inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",
1774
+ e
1775
+ ),
1776
+ ...t
1777
+ }
1778
+ ));
1779
+ an.displayName = ht.displayName;
1780
+ const sn = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
1781
+ Nt,
1782
+ {
1783
+ ref: a,
1784
+ className: o(
1785
+ "inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",
1786
+ e
1787
+ ),
1788
+ ...t
1789
+ }
1790
+ ));
1791
+ sn.displayName = Nt.displayName;
1792
+ const on = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
1793
+ yt,
1794
+ {
1795
+ ref: a,
1796
+ className: o(
1797
+ "mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
1798
+ e
1799
+ ),
1800
+ ...t
1801
+ }
1802
+ ));
1803
+ on.displayName = yt.displayName;
1804
+ const rn = r.forwardRef(
1805
+ ({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
1806
+ "textarea",
1807
+ {
1808
+ className: o(
1809
+ "flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
1810
+ e
1811
+ ),
1812
+ ref: a,
1813
+ ...t
1814
+ }
1815
+ )
1816
+ );
1817
+ rn.displayName = "Textarea";
1818
+ const nn = bs, Kt = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
1819
+ wt,
1820
+ {
1821
+ ref: a,
1822
+ className: o(
1823
+ "fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",
1824
+ e
1825
+ ),
1826
+ ...t
1827
+ }
1828
+ ));
1829
+ Kt.displayName = wt.displayName;
1830
+ const dn = w(
1831
+ "group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",
1832
+ {
1833
+ variants: {
1834
+ variant: {
1835
+ default: "border bg-background text-foreground",
1836
+ destructive: "destructive group border-destructive bg-destructive text-destructive-foreground"
1837
+ }
1838
+ },
1839
+ defaultVariants: {
1840
+ variant: "default"
1841
+ }
1842
+ }
1843
+ ), Xt = r.forwardRef(({ className: e, variant: t, ...a }, n) => /* @__PURE__ */ s.jsx(vt, { ref: n, className: o(dn({ variant: t }), e), ...a }));
1844
+ Xt.displayName = vt.displayName;
1845
+ const ln = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
1846
+ jt,
1847
+ {
1848
+ ref: a,
1849
+ className: o(
1850
+ "inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",
1851
+ e
1852
+ ),
1853
+ ...t
1854
+ }
1855
+ ));
1856
+ ln.displayName = jt.displayName;
1857
+ const Qt = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(
1858
+ Rt,
1859
+ {
1860
+ ref: a,
1861
+ className: o(
1862
+ "absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",
1863
+ e
1864
+ ),
1865
+ "toast-close": "",
1866
+ ...t,
1867
+ children: /* @__PURE__ */ s.jsx(X, { className: "h-4 w-4" })
1868
+ }
1869
+ ));
1870
+ Qt.displayName = Rt.displayName;
1871
+ const Wt = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(Ct, { ref: a, className: o("text-sm font-semibold [&+div]:text-xs", e), ...t }));
1872
+ Wt.displayName = Ct.displayName;
1873
+ const Jt = r.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s.jsx(Tt, { ref: a, className: o("text-sm opacity-90", e), ...t }));
1874
+ Jt.displayName = Tt.displayName;
1875
+ const cn = 1, mn = 1e6, $ = {
1876
+ ADD_TOAST: "ADD_TOAST",
1877
+ UPDATE_TOAST: "UPDATE_TOAST",
1878
+ DISMISS_TOAST: "DISMISS_TOAST",
1879
+ REMOVE_TOAST: "REMOVE_TOAST"
1880
+ };
1881
+ let H = 0;
1882
+ function un() {
1883
+ return H = (H + 1) % Number.MAX_SAFE_INTEGER, H.toString();
1884
+ }
1885
+ const U = /* @__PURE__ */ new Map(), J = (e) => {
1886
+ if (U.has(e))
1887
+ return;
1888
+ const t = setTimeout(() => {
1889
+ U.delete(e), S({
1890
+ type: "REMOVE_TOAST",
1891
+ toastId: e
1892
+ });
1893
+ }, mn);
1894
+ U.set(e, t);
1895
+ }, fn = (e, t) => {
1896
+ switch (t.type) {
1897
+ case $.ADD_TOAST:
1898
+ return {
1899
+ ...e,
1900
+ toasts: [t.toast, ...e.toasts].slice(0, cn)
1901
+ };
1902
+ case $.UPDATE_TOAST:
1903
+ return {
1904
+ ...e,
1905
+ toasts: e.toasts.map((a) => a.id === t.toast.id ? { ...a, ...t.toast } : a)
1906
+ };
1907
+ case $.DISMISS_TOAST: {
1908
+ const { toastId: a } = t;
1909
+ return a ? J(a) : e.toasts.forEach((n) => {
1910
+ J(n.id);
1911
+ }), {
1912
+ ...e,
1913
+ toasts: e.toasts.map(
1914
+ (n) => n.id === a || a === void 0 ? {
1915
+ ...n,
1916
+ open: !1
1917
+ } : n
1918
+ )
1919
+ };
1920
+ }
1921
+ case $.REMOVE_TOAST:
1922
+ return t.toastId === void 0 ? {
1923
+ ...e,
1924
+ toasts: []
1925
+ } : {
1926
+ ...e,
1927
+ toasts: e.toasts.filter((a) => a.id !== t.toastId)
1928
+ };
1929
+ }
1930
+ }, D = [];
1931
+ let I = { toasts: [] };
1932
+ function S(e) {
1933
+ I = fn(I, e), D.forEach((t) => {
1934
+ t(I);
1935
+ });
1936
+ }
1937
+ function pn({ ...e }) {
1938
+ const t = un(), a = (d) => S({
1939
+ type: "UPDATE_TOAST",
1940
+ toast: { ...d, id: t }
1941
+ }), n = () => S({ type: "DISMISS_TOAST", toastId: t });
1942
+ return S({
1943
+ type: "ADD_TOAST",
1944
+ toast: {
1945
+ ...e,
1946
+ id: t,
1947
+ open: !0,
1948
+ onOpenChange: (d) => {
1949
+ d || n();
1950
+ }
1951
+ }
1952
+ }), {
1953
+ id: t,
1954
+ dismiss: n,
1955
+ update: a
1956
+ };
1957
+ }
1958
+ function xn() {
1959
+ const [e, t] = r.useState(I);
1960
+ return r.useEffect(() => (D.push(t), () => {
1961
+ const a = D.indexOf(t);
1962
+ a > -1 && D.splice(a, 1);
1963
+ }), [e]), {
1964
+ ...e,
1965
+ toast: pn,
1966
+ dismiss: (a) => S({ type: "DISMISS_TOAST", toastId: a })
1967
+ };
1968
+ }
1969
+ function wd() {
1970
+ const { toasts: e } = xn();
1971
+ return /* @__PURE__ */ s.jsxs(nn, { children: [
1972
+ e.map(function({ id: t, title: a, description: n, action: d, ...i }) {
1973
+ return /* @__PURE__ */ s.jsxs(Xt, { ...i, children: [
1974
+ /* @__PURE__ */ s.jsxs("div", { className: "grid gap-1", children: [
1975
+ a && /* @__PURE__ */ s.jsx(Wt, { children: a }),
1976
+ n && /* @__PURE__ */ s.jsx(Jt, { children: n })
1977
+ ] }),
1978
+ d,
1979
+ /* @__PURE__ */ s.jsx(Qt, {})
1980
+ ] }, t);
1981
+ }),
1982
+ /* @__PURE__ */ s.jsx(Kt, {})
1983
+ ] });
1984
+ }
1985
+ const Yt = w(
1986
+ "inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
1987
+ {
1988
+ variants: {
1989
+ variant: {
1990
+ default: "bg-transparent",
1991
+ outline: "border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground"
1992
+ },
1993
+ size: {
1994
+ default: "h-9 px-2 min-w-9",
1995
+ sm: "h-8 px-1.5 min-w-8",
1996
+ lg: "h-10 px-2.5 min-w-10"
1997
+ }
1998
+ },
1999
+ defaultVariants: {
2000
+ variant: "default",
2001
+ size: "default"
2002
+ }
2003
+ }
2004
+ ), gn = r.forwardRef(({ className: e, variant: t, size: a, ...n }, d) => /* @__PURE__ */ s.jsx(St, { ref: d, className: o(Yt({ variant: t, size: a, className: e })), ...n }));
2005
+ gn.displayName = St.displayName;
2006
+ const Zt = r.createContext({
2007
+ size: "default",
2008
+ variant: "default"
2009
+ }), bn = r.forwardRef(({ className: e, variant: t, size: a, children: n, ...d }, i) => /* @__PURE__ */ s.jsx(kt, { ref: i, className: o("flex items-center justify-center gap-1", e), ...d, children: /* @__PURE__ */ s.jsx(Zt.Provider, { value: { variant: t, size: a }, children: n }) }));
2010
+ bn.displayName = kt.displayName;
2011
+ const hn = r.forwardRef(({ className: e, children: t, variant: a, size: n, ...d }, i) => {
2012
+ const m = r.useContext(Zt);
2013
+ return /* @__PURE__ */ s.jsx(
2014
+ _t,
2015
+ {
2016
+ ref: i,
2017
+ className: o(
2018
+ Yt({
2019
+ variant: m.variant || a,
2020
+ size: m.size || n
2021
+ }),
2022
+ e
2023
+ ),
2024
+ ...d,
2025
+ children: t
2026
+ }
2027
+ );
2028
+ });
2029
+ hn.displayName = _t.displayName;
2030
+ const vd = ys, jd = Ns, Rd = ws, Nn = r.forwardRef(({ className: e, sideOffset: t = 4, ...a }, n) => /* @__PURE__ */ s.jsx(hs, { children: /* @__PURE__ */ s.jsx(
2031
+ $t,
2032
+ {
2033
+ ref: n,
2034
+ sideOffset: t,
2035
+ className: o(
2036
+ "z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",
2037
+ e
2038
+ ),
2039
+ ...a
2040
+ }
2041
+ ) }));
2042
+ Nn.displayName = $t.displayName;
2043
+ export {
2044
+ wn as Accordion,
2045
+ Rs as AccordionContent,
2046
+ vs as AccordionItem,
2047
+ js as AccordionTrigger,
2048
+ Ts as Alert,
2049
+ ks as AlertDescription,
2050
+ vn as AlertDialog,
2051
+ Ps as AlertDialogAction,
2052
+ As as AlertDialogCancel,
2053
+ $s as AlertDialogContent,
2054
+ Ms as AlertDialogDescription,
2055
+ Is as AlertDialogFooter,
2056
+ Ds as AlertDialogHeader,
2057
+ Dt as AlertDialogOverlay,
2058
+ _s as AlertDialogPortal,
2059
+ zs as AlertDialogTitle,
2060
+ jn as AlertDialogTrigger,
2061
+ Ss as AlertTitle,
2062
+ Rn as AspectRatio,
2063
+ Fs as Avatar,
2064
+ Ls as AvatarFallback,
2065
+ Es as AvatarImage,
2066
+ Cn as Badge,
2067
+ Bs as Breadcrumb,
2068
+ Ks as BreadcrumbEllipsis,
2069
+ Vs as BreadcrumbItem,
2070
+ Hs as BreadcrumbLink,
2071
+ Gs as BreadcrumbList,
2072
+ Us as BreadcrumbPage,
2073
+ qs as BreadcrumbSeparator,
2074
+ L as Button,
2075
+ Tn as Calendar,
2076
+ Xs as CalendarDayButton,
2077
+ Qs as Card,
2078
+ Zs as CardContent,
2079
+ Ys as CardDescription,
2080
+ eo as CardFooter,
2081
+ Ws as CardHeader,
2082
+ Js as CardTitle,
2083
+ to as Carousel,
2084
+ ao as CarouselContent,
2085
+ so as CarouselItem,
2086
+ ro as CarouselNext,
2087
+ oo as CarouselPrevious,
2088
+ io as ChartContainer,
2089
+ kn as ChartLegend,
2090
+ mo as ChartLegendContent,
2091
+ lo as ChartStyle,
2092
+ Sn as ChartTooltip,
2093
+ co as ChartTooltipContent,
2094
+ uo as Checkbox,
2095
+ _n as Collapsible,
2096
+ Dn as CollapsibleContent,
2097
+ $n as CollapsibleTrigger,
2098
+ Ft as Command,
2099
+ Mn as CommandDialog,
2100
+ wo as CommandEmpty,
2101
+ vo as CommandGroup,
2102
+ No as CommandInput,
2103
+ Ro as CommandItem,
2104
+ yo as CommandList,
2105
+ jo as CommandSeparator,
2106
+ Co as CommandShortcut,
2107
+ Pn as ContextMenu,
2108
+ $o as ContextMenuCheckboxItem,
2109
+ ko as ContextMenuContent,
2110
+ Fn as ContextMenuGroup,
2111
+ _o as ContextMenuItem,
2112
+ Io as ContextMenuLabel,
2113
+ En as ContextMenuPortal,
2114
+ On as ContextMenuRadioGroup,
2115
+ Do as ContextMenuRadioItem,
2116
+ zo as ContextMenuSeparator,
2117
+ Mo as ContextMenuShortcut,
2118
+ Ln as ContextMenuSub,
2119
+ So as ContextMenuSubContent,
2120
+ To as ContextMenuSubTrigger,
2121
+ An as ContextMenuTrigger,
2122
+ fo as Dialog,
2123
+ zn as DialogClose,
2124
+ At as DialogContent,
2125
+ ho as DialogDescription,
2126
+ go as DialogFooter,
2127
+ xo as DialogHeader,
2128
+ Pt as DialogOverlay,
2129
+ po as DialogPortal,
2130
+ bo as DialogTitle,
2131
+ In as DialogTrigger,
2132
+ Po as Drawer,
2133
+ Gn as DrawerClose,
2134
+ Fo as DrawerContent,
2135
+ Bo as DrawerDescription,
2136
+ Lo as DrawerFooter,
2137
+ Eo as DrawerHeader,
2138
+ Et as DrawerOverlay,
2139
+ Ao as DrawerPortal,
2140
+ Oo as DrawerTitle,
2141
+ Bn as DrawerTrigger,
2142
+ Vn as DropdownMenu,
2143
+ qo as DropdownMenuCheckboxItem,
2144
+ Ho as DropdownMenuContent,
2145
+ Un as DropdownMenuGroup,
2146
+ Uo as DropdownMenuItem,
2147
+ Xo as DropdownMenuLabel,
2148
+ qn as DropdownMenuPortal,
2149
+ Xn as DropdownMenuRadioGroup,
2150
+ Ko as DropdownMenuRadioItem,
2151
+ Qo as DropdownMenuSeparator,
2152
+ Wo as DropdownMenuShortcut,
2153
+ Kn as DropdownMenuSub,
2154
+ Vo as DropdownMenuSubContent,
2155
+ Go as DropdownMenuSubTrigger,
2156
+ Hn as DropdownMenuTrigger,
2157
+ Qn as Form,
2158
+ er as FormControl,
2159
+ tr as FormDescription,
2160
+ Wn as FormField,
2161
+ Yo as FormItem,
2162
+ Zo as FormLabel,
2163
+ ar as FormMessage,
2164
+ Jn as HoverCard,
2165
+ sr as HoverCardContent,
2166
+ Yn as HoverCardTrigger,
2167
+ or as Input,
2168
+ Lt as Label,
2169
+ rr as Menubar,
2170
+ mr as MenubarCheckboxItem,
2171
+ lr as MenubarContent,
2172
+ ed as MenubarGroup,
2173
+ cr as MenubarItem,
2174
+ fr as MenubarLabel,
2175
+ Zn as MenubarMenu,
2176
+ td as MenubarPortal,
2177
+ ad as MenubarRadioGroup,
2178
+ ur as MenubarRadioItem,
2179
+ pr as MenubarSeparator,
2180
+ xr as MenubarShortcut,
2181
+ sd as MenubarSub,
2182
+ ir as MenubarSubContent,
2183
+ dr as MenubarSubTrigger,
2184
+ nr as MenubarTrigger,
2185
+ gr as NavigationMenu,
2186
+ yr as NavigationMenuContent,
2187
+ wr as NavigationMenuIndicator,
2188
+ od as NavigationMenuItem,
2189
+ rd as NavigationMenuLink,
2190
+ br as NavigationMenuList,
2191
+ Nr as NavigationMenuTrigger,
2192
+ Gt as NavigationMenuViewport,
2193
+ vr as Pagination,
2194
+ jr as PaginationContent,
2195
+ Sr as PaginationEllipsis,
2196
+ Rr as PaginationItem,
2197
+ Q as PaginationLink,
2198
+ Tr as PaginationNext,
2199
+ Cr as PaginationPrevious,
2200
+ nd as Popover,
2201
+ id as PopoverAnchor,
2202
+ kr as PopoverContent,
2203
+ dd as PopoverTrigger,
2204
+ _r as Progress,
2205
+ $r as RadioGroup,
2206
+ Dr as RadioGroupItem,
2207
+ md as ResizableHandle,
2208
+ cd as ResizablePanel,
2209
+ ld as ResizablePanelGroup,
2210
+ Ir as ScrollArea,
2211
+ Vt as ScrollBar,
2212
+ ud as Select,
2213
+ Mr as SelectContent,
2214
+ fd as SelectGroup,
2215
+ Ar as SelectItem,
2216
+ Pr as SelectLabel,
2217
+ Ut as SelectScrollDownButton,
2218
+ Ht as SelectScrollUpButton,
2219
+ Fr as SelectSeparator,
2220
+ zr as SelectTrigger,
2221
+ pd as SelectValue,
2222
+ Er as Separator,
2223
+ xd as Sheet,
2224
+ bd as SheetClose,
2225
+ Br as SheetContent,
2226
+ Ur as SheetDescription,
2227
+ Vr as SheetFooter,
2228
+ Gr as SheetHeader,
2229
+ qt as SheetOverlay,
2230
+ Lr as SheetPortal,
2231
+ Hr as SheetTitle,
2232
+ gd as SheetTrigger,
2233
+ hd as Skeleton,
2234
+ qr as Slider,
2235
+ Kr as Switch,
2236
+ Xr as Table,
2237
+ Wr as TableBody,
2238
+ tn as TableCaption,
2239
+ en as TableCell,
2240
+ Jr as TableFooter,
2241
+ Zr as TableHead,
2242
+ Qr as TableHeader,
2243
+ Yr as TableRow,
2244
+ yd as Tabs,
2245
+ on as TabsContent,
2246
+ an as TabsList,
2247
+ sn as TabsTrigger,
2248
+ rn as Textarea,
2249
+ Xt as Toast,
2250
+ ln as ToastAction,
2251
+ Qt as ToastClose,
2252
+ Jt as ToastDescription,
2253
+ nn as ToastProvider,
2254
+ Wt as ToastTitle,
2255
+ Kt as ToastViewport,
2256
+ Nd as Toaster,
2257
+ wd as ToasterToast,
2258
+ gn as Toggle,
2259
+ bn as ToggleGroup,
2260
+ hn as ToggleGroupItem,
2261
+ jd as Tooltip,
2262
+ Nn as TooltipContent,
2263
+ vd as TooltipProvider,
2264
+ Rd as TooltipTrigger,
2265
+ Os as badgeVariants,
2266
+ R as buttonVariants,
2267
+ o as cn,
2268
+ hr as navigationMenuTriggerStyle,
2269
+ fn as reducer,
2270
+ pn as toast,
2271
+ Yt as toggleVariants,
2272
+ B as useFormField,
2273
+ xn as useToast
2274
+ };
2275
+ //# sourceMappingURL=index.es.js.map