@marktiderman/genesis-ui 1.0.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 (344) hide show
  1. package/dist/ViewToggle-DDe_Luj2.d.ts +10 -0
  2. package/dist/chunk-2B3MFHBQ.js +94 -0
  3. package/dist/chunk-2B3MFHBQ.js.map +1 -0
  4. package/dist/chunk-2MQKBZBJ.js +87 -0
  5. package/dist/chunk-2MQKBZBJ.js.map +1 -0
  6. package/dist/chunk-2MXMWBDV.js +30 -0
  7. package/dist/chunk-2MXMWBDV.js.map +1 -0
  8. package/dist/chunk-2SBHHXAC.js +40 -0
  9. package/dist/chunk-2SBHHXAC.js.map +1 -0
  10. package/dist/chunk-4HUKJSKC.js +51 -0
  11. package/dist/chunk-4HUKJSKC.js.map +1 -0
  12. package/dist/chunk-4RAZJ6LL.js +27 -0
  13. package/dist/chunk-4RAZJ6LL.js.map +1 -0
  14. package/dist/chunk-4TROUCWO.js +43 -0
  15. package/dist/chunk-4TROUCWO.js.map +1 -0
  16. package/dist/chunk-4V4H2ZM7.js +170 -0
  17. package/dist/chunk-4V4H2ZM7.js.map +1 -0
  18. package/dist/chunk-5J7BP5DI.js +47 -0
  19. package/dist/chunk-5J7BP5DI.js.map +1 -0
  20. package/dist/chunk-5Q4FABZQ.js +44 -0
  21. package/dist/chunk-5Q4FABZQ.js.map +1 -0
  22. package/dist/chunk-63FW5ZUA.js +26 -0
  23. package/dist/chunk-63FW5ZUA.js.map +1 -0
  24. package/dist/chunk-6V4GJUE3.js +25 -0
  25. package/dist/chunk-6V4GJUE3.js.map +1 -0
  26. package/dist/chunk-7H3E5VOJ.js +205 -0
  27. package/dist/chunk-7H3E5VOJ.js.map +1 -0
  28. package/dist/chunk-7OBL3H5P.js +83 -0
  29. package/dist/chunk-7OBL3H5P.js.map +1 -0
  30. package/dist/chunk-A5WHNNXJ.js +22 -0
  31. package/dist/chunk-A5WHNNXJ.js.map +1 -0
  32. package/dist/chunk-AI6CCNWK.js +51 -0
  33. package/dist/chunk-AI6CCNWK.js.map +1 -0
  34. package/dist/chunk-AIODTBWP.js +23 -0
  35. package/dist/chunk-AIODTBWP.js.map +1 -0
  36. package/dist/chunk-C6H7AMO4.js +43 -0
  37. package/dist/chunk-C6H7AMO4.js.map +1 -0
  38. package/dist/chunk-CLK7JBZJ.js +288 -0
  39. package/dist/chunk-CLK7JBZJ.js.map +1 -0
  40. package/dist/chunk-EI5EGKHL.js +32 -0
  41. package/dist/chunk-EI5EGKHL.js.map +1 -0
  42. package/dist/chunk-F2JB7YFF.js +341 -0
  43. package/dist/chunk-F2JB7YFF.js.map +1 -0
  44. package/dist/chunk-FCGFG4RV.js +120 -0
  45. package/dist/chunk-FCGFG4RV.js.map +1 -0
  46. package/dist/chunk-FFSDFQQN.js +19 -0
  47. package/dist/chunk-FFSDFQQN.js.map +1 -0
  48. package/dist/chunk-FN3FZVUR.js +79 -0
  49. package/dist/chunk-FN3FZVUR.js.map +1 -0
  50. package/dist/chunk-FZYUVUXU.js +199 -0
  51. package/dist/chunk-FZYUVUXU.js.map +1 -0
  52. package/dist/chunk-GJ6XSCNF.js +64 -0
  53. package/dist/chunk-GJ6XSCNF.js.map +1 -0
  54. package/dist/chunk-HSHIZHYR.js +23 -0
  55. package/dist/chunk-HSHIZHYR.js.map +1 -0
  56. package/dist/chunk-HVQCZFJ7.js +115 -0
  57. package/dist/chunk-HVQCZFJ7.js.map +1 -0
  58. package/dist/chunk-IKIFQILN.js +124 -0
  59. package/dist/chunk-IKIFQILN.js.map +1 -0
  60. package/dist/chunk-JEECTX26.js +20 -0
  61. package/dist/chunk-JEECTX26.js.map +1 -0
  62. package/dist/chunk-JJ4NOMMI.js +73 -0
  63. package/dist/chunk-JJ4NOMMI.js.map +1 -0
  64. package/dist/chunk-JXI2MYL3.js +40 -0
  65. package/dist/chunk-JXI2MYL3.js.map +1 -0
  66. package/dist/chunk-JYPENH7T.js +95 -0
  67. package/dist/chunk-JYPENH7T.js.map +1 -0
  68. package/dist/chunk-K23AQNOM.js +51 -0
  69. package/dist/chunk-K23AQNOM.js.map +1 -0
  70. package/dist/chunk-K4YLKVMX.js +24 -0
  71. package/dist/chunk-K4YLKVMX.js.map +1 -0
  72. package/dist/chunk-KBS4BHME.js +11 -0
  73. package/dist/chunk-KBS4BHME.js.map +1 -0
  74. package/dist/chunk-LRXDZBV2.js +26 -0
  75. package/dist/chunk-LRXDZBV2.js.map +1 -0
  76. package/dist/chunk-M7AU5DDM.js +26 -0
  77. package/dist/chunk-M7AU5DDM.js.map +1 -0
  78. package/dist/chunk-MUQLZFUR.js +31 -0
  79. package/dist/chunk-MUQLZFUR.js.map +1 -0
  80. package/dist/chunk-N2ZFNOOT.js +57 -0
  81. package/dist/chunk-N2ZFNOOT.js.map +1 -0
  82. package/dist/chunk-NJMO3VPA.js +26 -0
  83. package/dist/chunk-NJMO3VPA.js.map +1 -0
  84. package/dist/chunk-NZ5WBA4R.js +18 -0
  85. package/dist/chunk-NZ5WBA4R.js.map +1 -0
  86. package/dist/chunk-OCTV3S4I.js +29 -0
  87. package/dist/chunk-OCTV3S4I.js.map +1 -0
  88. package/dist/chunk-OVU3Z2MT.js +22 -0
  89. package/dist/chunk-OVU3Z2MT.js.map +1 -0
  90. package/dist/chunk-OZ7ZAYCS.js +35 -0
  91. package/dist/chunk-OZ7ZAYCS.js.map +1 -0
  92. package/dist/chunk-OZZTPE7F.js +51 -0
  93. package/dist/chunk-OZZTPE7F.js.map +1 -0
  94. package/dist/chunk-QBZMY2AF.js +90 -0
  95. package/dist/chunk-QBZMY2AF.js.map +1 -0
  96. package/dist/chunk-QCJAASJT.js +242 -0
  97. package/dist/chunk-QCJAASJT.js.map +1 -0
  98. package/dist/chunk-QFM4Z2SS.js +19 -0
  99. package/dist/chunk-QFM4Z2SS.js.map +1 -0
  100. package/dist/chunk-SBJV3K4G.js +120 -0
  101. package/dist/chunk-SBJV3K4G.js.map +1 -0
  102. package/dist/chunk-SCUT2ZCD.js +109 -0
  103. package/dist/chunk-SCUT2ZCD.js.map +1 -0
  104. package/dist/chunk-SVXDWPLO.js +102 -0
  105. package/dist/chunk-SVXDWPLO.js.map +1 -0
  106. package/dist/chunk-SXSCHWZU.js +27 -0
  107. package/dist/chunk-SXSCHWZU.js.map +1 -0
  108. package/dist/chunk-T465NJRL.js +134 -0
  109. package/dist/chunk-T465NJRL.js.map +1 -0
  110. package/dist/chunk-TAP3PBQT.js +39 -0
  111. package/dist/chunk-TAP3PBQT.js.map +1 -0
  112. package/dist/chunk-TKA4LOMT.js +37 -0
  113. package/dist/chunk-TKA4LOMT.js.map +1 -0
  114. package/dist/chunk-UGHQFQOE.js +142 -0
  115. package/dist/chunk-UGHQFQOE.js.map +1 -0
  116. package/dist/chunk-W5Y3LG5K.js +26 -0
  117. package/dist/chunk-W5Y3LG5K.js.map +1 -0
  118. package/dist/chunk-W64GERJW.js +22 -0
  119. package/dist/chunk-W64GERJW.js.map +1 -0
  120. package/dist/chunk-WALXVR6V.js +9 -0
  121. package/dist/chunk-WALXVR6V.js.map +1 -0
  122. package/dist/chunk-WZWR2ELB.js +30 -0
  123. package/dist/chunk-WZWR2ELB.js.map +1 -0
  124. package/dist/chunk-X7KMF6NH.js +59 -0
  125. package/dist/chunk-X7KMF6NH.js.map +1 -0
  126. package/dist/chunk-XISSLIMH.js +20 -0
  127. package/dist/chunk-XISSLIMH.js.map +1 -0
  128. package/dist/chunk-YZEA5TGK.js +87 -0
  129. package/dist/chunk-YZEA5TGK.js.map +1 -0
  130. package/dist/chunk-ZD32TSOK.js +101 -0
  131. package/dist/chunk-ZD32TSOK.js.map +1 -0
  132. package/dist/chunk-ZDAT5JDH.js +82 -0
  133. package/dist/chunk-ZDAT5JDH.js.map +1 -0
  134. package/dist/components/data/index.d.ts +458 -0
  135. package/dist/components/data/index.js +2923 -0
  136. package/dist/components/data/index.js.map +1 -0
  137. package/dist/components/ui/accordion.d.ts +9 -0
  138. package/dist/components/ui/accordion.js +4 -0
  139. package/dist/components/ui/accordion.js.map +1 -0
  140. package/dist/components/ui/alert-dialog.d.ts +17 -0
  141. package/dist/components/ui/alert-dialog.js +4 -0
  142. package/dist/components/ui/alert-dialog.js.map +1 -0
  143. package/dist/components/ui/alert.d.ts +14 -0
  144. package/dist/components/ui/alert.js +4 -0
  145. package/dist/components/ui/alert.js.map +1 -0
  146. package/dist/components/ui/aspect-ratio.d.ts +6 -0
  147. package/dist/components/ui/aspect-ratio.js +3 -0
  148. package/dist/components/ui/aspect-ratio.js.map +1 -0
  149. package/dist/components/ui/avatar.d.ts +8 -0
  150. package/dist/components/ui/avatar.js +4 -0
  151. package/dist/components/ui/avatar.js.map +1 -0
  152. package/dist/components/ui/badge.d.ts +13 -0
  153. package/dist/components/ui/badge.js +4 -0
  154. package/dist/components/ui/badge.js.map +1 -0
  155. package/dist/components/ui/breadcrumb.d.ts +22 -0
  156. package/dist/components/ui/breadcrumb.js +4 -0
  157. package/dist/components/ui/breadcrumb.js.map +1 -0
  158. package/dist/components/ui/button-group.d.ts +9 -0
  159. package/dist/components/ui/button-group.js +4 -0
  160. package/dist/components/ui/button-group.js.map +1 -0
  161. package/dist/components/ui/button.d.ts +15 -0
  162. package/dist/components/ui/button.js +4 -0
  163. package/dist/components/ui/button.js.map +1 -0
  164. package/dist/components/ui/calendar.d.ts +13 -0
  165. package/dist/components/ui/calendar.js +5 -0
  166. package/dist/components/ui/calendar.js.map +1 -0
  167. package/dist/components/ui/card.d.ts +11 -0
  168. package/dist/components/ui/card.js +4 -0
  169. package/dist/components/ui/card.js.map +1 -0
  170. package/dist/components/ui/carousel.d.ts +24 -0
  171. package/dist/components/ui/carousel.js +5 -0
  172. package/dist/components/ui/carousel.js.map +1 -0
  173. package/dist/components/ui/chart.d.ts +51 -0
  174. package/dist/components/ui/chart.js +4 -0
  175. package/dist/components/ui/chart.js.map +1 -0
  176. package/dist/components/ui/checkbox.d.ts +6 -0
  177. package/dist/components/ui/checkbox.js +4 -0
  178. package/dist/components/ui/checkbox.js.map +1 -0
  179. package/dist/components/ui/collapsible.d.ts +8 -0
  180. package/dist/components/ui/collapsible.js +3 -0
  181. package/dist/components/ui/collapsible.js.map +1 -0
  182. package/dist/components/ui/command.d.ts +85 -0
  183. package/dist/components/ui/command.js +5 -0
  184. package/dist/components/ui/command.js.map +1 -0
  185. package/dist/components/ui/context-menu.d.ts +30 -0
  186. package/dist/components/ui/context-menu.js +4 -0
  187. package/dist/components/ui/context-menu.js.map +1 -0
  188. package/dist/components/ui/date-picker.d.ts +12 -0
  189. package/dist/components/ui/date-picker.js +7 -0
  190. package/dist/components/ui/date-picker.js.map +1 -0
  191. package/dist/components/ui/dialog.d.ts +18 -0
  192. package/dist/components/ui/dialog.js +4 -0
  193. package/dist/components/ui/dialog.js.map +1 -0
  194. package/dist/components/ui/drawer.d.ts +27 -0
  195. package/dist/components/ui/drawer.js +4 -0
  196. package/dist/components/ui/drawer.js.map +1 -0
  197. package/dist/components/ui/dropdown-menu.d.ts +30 -0
  198. package/dist/components/ui/dropdown-menu.js +4 -0
  199. package/dist/components/ui/dropdown-menu.js.map +1 -0
  200. package/dist/components/ui/empty-state.d.ts +22 -0
  201. package/dist/components/ui/empty-state.js +4 -0
  202. package/dist/components/ui/empty-state.js.map +1 -0
  203. package/dist/components/ui/form-field.d.ts +17 -0
  204. package/dist/components/ui/form-field.js +5 -0
  205. package/dist/components/ui/form-field.js.map +1 -0
  206. package/dist/components/ui/hover-card.d.ts +8 -0
  207. package/dist/components/ui/hover-card.js +4 -0
  208. package/dist/components/ui/hover-card.js.map +1 -0
  209. package/dist/components/ui/input-group.d.ts +14 -0
  210. package/dist/components/ui/input-group.js +4 -0
  211. package/dist/components/ui/input-group.js.map +1 -0
  212. package/dist/components/ui/input-otp.d.ts +37 -0
  213. package/dist/components/ui/input-otp.js +4 -0
  214. package/dist/components/ui/input-otp.js.map +1 -0
  215. package/dist/components/ui/input.d.ts +5 -0
  216. package/dist/components/ui/input.js +4 -0
  217. package/dist/components/ui/input.js.map +1 -0
  218. package/dist/components/ui/kbd.d.ts +8 -0
  219. package/dist/components/ui/kbd.js +4 -0
  220. package/dist/components/ui/kbd.js.map +1 -0
  221. package/dist/components/ui/label.d.ts +8 -0
  222. package/dist/components/ui/label.js +4 -0
  223. package/dist/components/ui/label.js.map +1 -0
  224. package/dist/components/ui/menubar.d.ts +31 -0
  225. package/dist/components/ui/menubar.js +4 -0
  226. package/dist/components/ui/menubar.js.map +1 -0
  227. package/dist/components/ui/navigation-menu.d.ts +15 -0
  228. package/dist/components/ui/navigation-menu.js +4 -0
  229. package/dist/components/ui/navigation-menu.js.map +1 -0
  230. package/dist/components/ui/pagination.d.ts +33 -0
  231. package/dist/components/ui/pagination.js +5 -0
  232. package/dist/components/ui/pagination.js.map +1 -0
  233. package/dist/components/ui/popover.d.ts +8 -0
  234. package/dist/components/ui/popover.js +4 -0
  235. package/dist/components/ui/popover.js.map +1 -0
  236. package/dist/components/ui/progress.d.ts +9 -0
  237. package/dist/components/ui/progress.js +4 -0
  238. package/dist/components/ui/progress.js.map +1 -0
  239. package/dist/components/ui/radio-group.d.ts +7 -0
  240. package/dist/components/ui/radio-group.js +4 -0
  241. package/dist/components/ui/radio-group.js.map +1 -0
  242. package/dist/components/ui/resizable.d.ts +27 -0
  243. package/dist/components/ui/resizable.js +4 -0
  244. package/dist/components/ui/resizable.js.map +1 -0
  245. package/dist/components/ui/scroll-area.d.ts +9 -0
  246. package/dist/components/ui/scroll-area.js +4 -0
  247. package/dist/components/ui/scroll-area.js.map +1 -0
  248. package/dist/components/ui/select.d.ts +13 -0
  249. package/dist/components/ui/select.js +4 -0
  250. package/dist/components/ui/select.js.map +1 -0
  251. package/dist/components/ui/separator.d.ts +10 -0
  252. package/dist/components/ui/separator.js +4 -0
  253. package/dist/components/ui/separator.js.map +1 -0
  254. package/dist/components/ui/sheet.d.ts +29 -0
  255. package/dist/components/ui/sheet.js +4 -0
  256. package/dist/components/ui/sheet.js.map +1 -0
  257. package/dist/components/ui/skeleton.d.ts +6 -0
  258. package/dist/components/ui/skeleton.js +4 -0
  259. package/dist/components/ui/skeleton.js.map +1 -0
  260. package/dist/components/ui/slider.d.ts +6 -0
  261. package/dist/components/ui/slider.js +4 -0
  262. package/dist/components/ui/slider.js.map +1 -0
  263. package/dist/components/ui/sonner.d.ts +9 -0
  264. package/dist/components/ui/sonner.js +4 -0
  265. package/dist/components/ui/sonner.js.map +1 -0
  266. package/dist/components/ui/spinner.d.ts +9 -0
  267. package/dist/components/ui/spinner.js +4 -0
  268. package/dist/components/ui/spinner.js.map +1 -0
  269. package/dist/components/ui/switch.d.ts +6 -0
  270. package/dist/components/ui/switch.js +4 -0
  271. package/dist/components/ui/switch.js.map +1 -0
  272. package/dist/components/ui/table.d.ts +12 -0
  273. package/dist/components/ui/table.js +4 -0
  274. package/dist/components/ui/table.js.map +1 -0
  275. package/dist/components/ui/tabs.d.ts +20 -0
  276. package/dist/components/ui/tabs.js +4 -0
  277. package/dist/components/ui/tabs.js.map +1 -0
  278. package/dist/components/ui/textarea.d.ts +5 -0
  279. package/dist/components/ui/textarea.js +4 -0
  280. package/dist/components/ui/textarea.js.map +1 -0
  281. package/dist/components/ui/toggle-group.d.ts +15 -0
  282. package/dist/components/ui/toggle-group.js +5 -0
  283. package/dist/components/ui/toggle-group.js.map +1 -0
  284. package/dist/components/ui/toggle.d.ts +15 -0
  285. package/dist/components/ui/toggle.js +4 -0
  286. package/dist/components/ui/toggle.js.map +1 -0
  287. package/dist/components/ui/tooltip.d.ts +10 -0
  288. package/dist/components/ui/tooltip.js +4 -0
  289. package/dist/components/ui/tooltip.js.map +1 -0
  290. package/dist/components/ui/typography.d.ts +14 -0
  291. package/dist/components/ui/typography.js +4 -0
  292. package/dist/components/ui/typography.js.map +1 -0
  293. package/dist/hooks/index.d.ts +13 -0
  294. package/dist/hooks/index.js +11 -0
  295. package/dist/hooks/index.js.map +1 -0
  296. package/dist/hooks/use-data-filters.d.ts +32 -0
  297. package/dist/hooks/use-data-filters.js +4 -0
  298. package/dist/hooks/use-data-filters.js.map +1 -0
  299. package/dist/hooks/use-keyboard-navigation.d.ts +29 -0
  300. package/dist/hooks/use-keyboard-navigation.js +3 -0
  301. package/dist/hooks/use-keyboard-navigation.js.map +1 -0
  302. package/dist/hooks/use-mobile.d.ts +3 -0
  303. package/dist/hooks/use-mobile.js +3 -0
  304. package/dist/hooks/use-mobile.js.map +1 -0
  305. package/dist/hooks/use-one.d.ts +18 -0
  306. package/dist/hooks/use-one.js +4 -0
  307. package/dist/hooks/use-one.js.map +1 -0
  308. package/dist/hooks/use-prefetch.d.ts +19 -0
  309. package/dist/hooks/use-prefetch.js +3 -0
  310. package/dist/hooks/use-prefetch.js.map +1 -0
  311. package/dist/hooks/use-resource-form.d.ts +37 -0
  312. package/dist/hooks/use-resource-form.js +7 -0
  313. package/dist/hooks/use-resource-form.js.map +1 -0
  314. package/dist/hooks/use-resource-page.d.ts +5 -0
  315. package/dist/hooks/use-resource-page.js +4 -0
  316. package/dist/hooks/use-resource-page.js.map +1 -0
  317. package/dist/hooks/use-resource.d.ts +46 -0
  318. package/dist/hooks/use-resource.js +4 -0
  319. package/dist/hooks/use-resource.js.map +1 -0
  320. package/dist/hooks/use-view-preference.d.ts +6 -0
  321. package/dist/hooks/use-view-preference.js +3 -0
  322. package/dist/hooks/use-view-preference.js.map +1 -0
  323. package/dist/hooks/use-view-settings.d.ts +15 -0
  324. package/dist/hooks/use-view-settings.js +3 -0
  325. package/dist/hooks/use-view-settings.js.map +1 -0
  326. package/dist/hooks/use-wizard.d.ts +25 -0
  327. package/dist/hooks/use-wizard.js +3 -0
  328. package/dist/hooks/use-wizard.js.map +1 -0
  329. package/dist/index.d.ts +87 -0
  330. package/dist/index.js +56 -0
  331. package/dist/index.js.map +1 -0
  332. package/dist/navigation-qI86Ldug.d.ts +90 -0
  333. package/dist/provider/index.d.ts +1 -0
  334. package/dist/provider/index.js +3 -0
  335. package/dist/provider/index.js.map +1 -0
  336. package/dist/status-colors.d.ts +29 -0
  337. package/dist/status-colors.js +72 -0
  338. package/dist/status-colors.js.map +1 -0
  339. package/dist/types-HIZY7zxO.d.ts +61 -0
  340. package/dist/use-resource-page-BzvUM8de.d.ts +159 -0
  341. package/dist/utils.d.ts +7 -0
  342. package/dist/utils.js +3 -0
  343. package/dist/utils.js.map +1 -0
  344. package/package.json +350 -0
@@ -0,0 +1,10 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ type ViewMode = "grid" | "table" | "list";
4
+ interface ViewToggleProps {
5
+ viewMode: ViewMode;
6
+ onViewModeChange: (mode: ViewMode) => void;
7
+ }
8
+ declare function ViewToggle({ viewMode, onViewModeChange }: ViewToggleProps): react_jsx_runtime.JSX.Element;
9
+
10
+ export { type ViewMode as V, ViewToggle as a };
@@ -0,0 +1,94 @@
1
+ "use client";
2
+ import { cn } from './chunk-NZ5WBA4R.js';
3
+ import * as React from 'react';
4
+ import * as SelectPrimitive from '@radix-ui/react-select';
5
+ import { ChevronDown, ChevronUp, Check } from 'lucide-react';
6
+ import { jsxs, jsx } from 'react/jsx-runtime';
7
+
8
+ var Select = SelectPrimitive.Root;
9
+ var SelectGroup = SelectPrimitive.Group;
10
+ var SelectValue = SelectPrimitive.Value;
11
+ var SelectTrigger = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
12
+ SelectPrimitive.Trigger,
13
+ {
14
+ ref,
15
+ className: cn(
16
+ "flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
17
+ className
18
+ ),
19
+ ...props,
20
+ children: [
21
+ children,
22
+ /* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4 opacity-50" }) })
23
+ ]
24
+ }
25
+ ));
26
+ SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
27
+ var SelectScrollUpButton = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
28
+ SelectPrimitive.ScrollUpButton,
29
+ {
30
+ ref,
31
+ className: cn("flex cursor-default items-center justify-center py-1", className),
32
+ ...props,
33
+ children: /* @__PURE__ */ jsx(ChevronUp, { className: "h-4 w-4" })
34
+ }
35
+ ));
36
+ SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
37
+ var SelectScrollDownButton = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
38
+ SelectPrimitive.ScrollDownButton,
39
+ {
40
+ ref,
41
+ className: cn("flex cursor-default items-center justify-center py-1", className),
42
+ ...props,
43
+ children: /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4" })
44
+ }
45
+ ));
46
+ SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
47
+ var SelectContent = React.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
48
+ SelectPrimitive.Content,
49
+ {
50
+ ref,
51
+ className: cn(
52
+ "relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
53
+ position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
54
+ className
55
+ ),
56
+ position,
57
+ ...props,
58
+ children: [
59
+ /* @__PURE__ */ jsx(SelectScrollUpButton, {}),
60
+ /* @__PURE__ */ jsx(
61
+ SelectPrimitive.Viewport,
62
+ {
63
+ className: cn(
64
+ "p-1",
65
+ position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
66
+ ),
67
+ children
68
+ }
69
+ ),
70
+ /* @__PURE__ */ jsx(SelectScrollDownButton, {})
71
+ ]
72
+ }
73
+ ) }));
74
+ SelectContent.displayName = SelectPrimitive.Content.displayName;
75
+ var SelectItem = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
76
+ SelectPrimitive.Item,
77
+ {
78
+ ref,
79
+ className: cn(
80
+ "relative flex w-full 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",
81
+ className
82
+ ),
83
+ ...props,
84
+ children: [
85
+ /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
86
+ /* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })
87
+ ]
88
+ }
89
+ ));
90
+ SelectItem.displayName = SelectPrimitive.Item.displayName;
91
+
92
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectScrollDownButton, SelectScrollUpButton, SelectTrigger, SelectValue };
93
+ //# sourceMappingURL=chunk-2B3MFHBQ.js.map
94
+ //# sourceMappingURL=chunk-2B3MFHBQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/select.tsx"],"names":[],"mappings":";;;;;;AAOA,IAAM,MAAA,GAAyB,eAAA,CAAA;AAC/B,IAAM,WAAA,GAA8B,eAAA,CAAA;AACpC,IAAM,WAAA,GAA8B,eAAA,CAAA;AAEpC,IAAM,aAAA,GAAsB,iBAG1B,CAAC,EAAE,WAAW,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,qBACpC,IAAA;AAAA,EAAiB,eAAA,CAAA,OAAA;AAAA,EAAhB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA;AAAA,MACT,iTAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG,KAAA;AAAA,IAEH,QAAA,EAAA;AAAA,MAAA,QAAA;AAAA,sBACD,GAAA,CAAiB,sBAAhB,EAAqB,OAAA,EAAO,MAC3B,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,SAAA,EAAU,oBAAA,EAAqB,CAAA,EAC9C;AAAA;AAAA;AACF,CACD;AAED,aAAA,CAAc,cAA8B,eAAA,CAAA,OAAA,CAAQ,WAAA;AAEpD,IAAM,oBAAA,GAA6B,iBAGjC,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAiB,eAAA,CAAA,cAAA;AAAA,EAAhB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA,CAAG,sDAAA,EAAwD,SAAS,CAAA;AAAA,IAC9E,GAAG,KAAA;AAAA,IAEJ,QAAA,kBAAA,GAAA,CAAC,SAAA,EAAA,EAAU,SAAA,EAAU,SAAA,EAAU;AAAA;AACjC,CACD;AAED,oBAAA,CAAqB,cAA8B,eAAA,CAAA,cAAA,CAAe,WAAA;AAElE,IAAM,sBAAA,GAA+B,iBAGnC,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAiB,eAAA,CAAA,gBAAA;AAAA,EAAhB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA,CAAG,sDAAA,EAAwD,SAAS,CAAA;AAAA,IAC9E,GAAG,KAAA;AAAA,IAEJ,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,SAAA,EAAU,SAAA,EAAU;AAAA;AACnC,CACD;AAED,sBAAA,CAAuB,cAA8B,eAAA,CAAA,gBAAA,CAAiB,WAAA;AAEtE,IAAM,aAAA,GAAsB,KAAA,CAAA,UAAA,CAG1B,CAAC,EAAE,WAAW,QAAA,EAAU,QAAA,GAAW,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,qBACzD,GAAA,CAAiB,wBAAhB,EACC,QAAA,kBAAA,IAAA;AAAA,EAAiB,eAAA,CAAA,OAAA;AAAA,EAAhB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA;AAAA,MACT,qcAAA;AAAA,MACA,aAAa,QAAA,IACX,iIAAA;AAAA,MACF;AAAA,KACF;AAAA,IACA,QAAA;AAAA,IACC,GAAG,KAAA;AAAA,IAEJ,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,oBAAA,EAAA,EAAqB,CAAA;AAAA,sBACtB,GAAA;AAAA,QAAiB,eAAA,CAAA,QAAA;AAAA,QAAhB;AAAA,UACC,SAAA,EAAW,EAAA;AAAA,YACT,KAAA;AAAA,YACA,aAAa,QAAA,IACX;AAAA,WACJ;AAAA,UAEC;AAAA;AAAA,OACH;AAAA,0BACC,sBAAA,EAAA,EAAuB;AAAA;AAAA;AAC1B,CAAA,EACF,CACD;AAED,aAAA,CAAc,cAA8B,eAAA,CAAA,OAAA,CAAQ,WAAA;AAEpD,IAAM,UAAA,GAAmB,iBAGvB,CAAC,EAAE,WAAW,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,qBACpC,IAAA;AAAA,EAAiB,eAAA,CAAA,IAAA;AAAA,EAAhB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA;AAAA,MACT,2NAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG,KAAA;AAAA,IAEJ,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,8DAAA,EACd,QAAA,kBAAA,GAAA,CAAiB,eAAA,CAAA,aAAA,EAAhB,EACC,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAM,SAAA,EAAU,SAAA,EAAU,CAAA,EAC7B,CAAA,EACF,CAAA;AAAA,sBACA,GAAA,CAAiB,eAAA,CAAA,QAAA,EAAhB,EAA0B,QAAA,EAAS;AAAA;AAAA;AACtC,CACD;AAED,UAAA,CAAW,cAA8B,eAAA,CAAA,IAAA,CAAK,WAAA","file":"chunk-2B3MFHBQ.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { Check, ChevronDown, ChevronUp } from \"lucide-react\";\nimport { cn } from \"../../utils\";\n\nconst Select = SelectPrimitive.Root;\nconst SelectGroup = SelectPrimitive.Group;\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\",\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"h-4 w-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\n\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\"flex cursor-default items-center justify-center py-1\", className)}\n {...props}\n >\n <ChevronUp className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollUpButton>\n));\n\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\"flex cursor-default items-center justify-center py-1\", className)}\n {...props}\n >\n <ChevronDown className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollDownButton>\n));\n\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\n\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex w-full 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\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\n\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectContent,\n SelectTrigger,\n SelectItem,\n SelectScrollUpButton,\n SelectScrollDownButton,\n};\n"]}
@@ -0,0 +1,87 @@
1
+ import { cn } from './chunk-NZ5WBA4R.js';
2
+ import * as React from 'react';
3
+ import { ChevronRight, MoreHorizontal } from 'lucide-react';
4
+ import { jsx, jsxs } from 'react/jsx-runtime';
5
+
6
+ var Breadcrumb = React.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx("nav", { ref, "aria-label": "breadcrumb", ...props }));
7
+ Breadcrumb.displayName = "Breadcrumb";
8
+ var BreadcrumbList = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
9
+ "ol",
10
+ {
11
+ ref,
12
+ className: cn(
13
+ "flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",
14
+ className
15
+ ),
16
+ ...props
17
+ }
18
+ ));
19
+ BreadcrumbList.displayName = "BreadcrumbList";
20
+ var BreadcrumbItem = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
21
+ "li",
22
+ {
23
+ ref,
24
+ className: cn("inline-flex items-center gap-1.5", className),
25
+ ...props
26
+ }
27
+ ));
28
+ BreadcrumbItem.displayName = "BreadcrumbItem";
29
+ var BreadcrumbLink = React.forwardRef(({ asChild: _asChild, className, ...props }, ref) => {
30
+ return /* @__PURE__ */ jsx(
31
+ "a",
32
+ {
33
+ ref,
34
+ className: cn("transition-colors hover:text-foreground", className),
35
+ ...props
36
+ }
37
+ );
38
+ });
39
+ BreadcrumbLink.displayName = "BreadcrumbLink";
40
+ var BreadcrumbPage = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
41
+ "span",
42
+ {
43
+ ref,
44
+ role: "link",
45
+ "aria-disabled": "true",
46
+ "aria-current": "page",
47
+ className: cn("font-normal text-foreground", className),
48
+ ...props
49
+ }
50
+ ));
51
+ BreadcrumbPage.displayName = "BreadcrumbPage";
52
+ var BreadcrumbSeparator = ({
53
+ children,
54
+ className,
55
+ ...props
56
+ }) => /* @__PURE__ */ jsx(
57
+ "li",
58
+ {
59
+ role: "presentation",
60
+ "aria-hidden": "true",
61
+ className: cn("[&>svg]:h-3.5 [&>svg]:w-3.5", className),
62
+ ...props,
63
+ children: children ?? /* @__PURE__ */ jsx(ChevronRight, {})
64
+ }
65
+ );
66
+ BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
67
+ var BreadcrumbEllipsis = ({
68
+ className,
69
+ ...props
70
+ }) => /* @__PURE__ */ jsxs(
71
+ "span",
72
+ {
73
+ role: "presentation",
74
+ "aria-hidden": "true",
75
+ className: cn("flex h-9 w-9 items-center justify-center", className),
76
+ ...props,
77
+ children: [
78
+ /* @__PURE__ */ jsx(MoreHorizontal, { className: "h-4 w-4" }),
79
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "More" })
80
+ ]
81
+ }
82
+ );
83
+ BreadcrumbEllipsis.displayName = "BreadcrumbEllipsis";
84
+
85
+ export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator };
86
+ //# sourceMappingURL=chunk-2MQKBZBJ.js.map
87
+ //# sourceMappingURL=chunk-2MQKBZBJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/breadcrumb.tsx"],"names":[],"mappings":";;;;;AAIA,IAAM,UAAA,GAAmB,KAAA,CAAA,UAAA,CAKvB,CAAC,EAAE,GAAG,KAAA,EAAM,EAAG,GAAA,qBAAQ,GAAA,CAAC,SAAI,GAAA,EAAU,YAAA,EAAW,YAAA,EAAc,GAAG,OAAO,CAAE;AAC7E,UAAA,CAAW,WAAA,GAAc,YAAA;AAEzB,IAAM,cAAA,GAAuB,iBAG3B,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAC,IAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA;AAAA,MACT,0FAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,cAAA,CAAe,WAAA,GAAc,gBAAA;AAE7B,IAAM,cAAA,GAAuB,iBAG3B,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAC,IAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA,CAAG,kCAAA,EAAoC,SAAS,CAAA;AAAA,IAC1D,GAAG;AAAA;AACN,CACD;AACD,cAAA,CAAe,WAAA,GAAc,gBAAA;AAE7B,IAAM,cAAA,GAAuB,KAAA,CAAA,UAAA,CAK3B,CAAC,EAAE,OAAA,EAAS,UAAU,SAAA,EAAW,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AACrD,EAAA,uBACE,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,EAAA,CAAG,yCAAA,EAA2C,SAAS,CAAA;AAAA,MACjE,GAAG;AAAA;AAAA,GACN;AAEJ,CAAC;AACD,cAAA,CAAe,WAAA,GAAc,gBAAA;AAE7B,IAAM,cAAA,GAAuB,iBAG3B,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,IAAA,EAAK,MAAA;AAAA,IACL,eAAA,EAAc,MAAA;AAAA,IACd,cAAA,EAAa,MAAA;AAAA,IACb,SAAA,EAAW,EAAA,CAAG,6BAAA,EAA+B,SAAS,CAAA;AAAA,IACrD,GAAG;AAAA;AACN,CACD;AACD,cAAA,CAAe,WAAA,GAAc,gBAAA;AAE7B,IAAM,sBAAsB,CAAC;AAAA,EAC3B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAA,qBACE,GAAA;AAAA,EAAC,IAAA;AAAA,EAAA;AAAA,IACC,IAAA,EAAK,cAAA;AAAA,IACL,aAAA,EAAY,MAAA;AAAA,IACZ,SAAA,EAAW,EAAA,CAAG,6BAAA,EAA+B,SAAS,CAAA;AAAA,IACrD,GAAG,KAAA;AAAA,IAEH,QAAA,EAAA,QAAA,wBAAa,YAAA,EAAA,EAAa;AAAA;AAC7B;AAEF,mBAAA,CAAoB,WAAA,GAAc,qBAAA;AAElC,IAAM,qBAAqB,CAAC;AAAA,EAC1B,SAAA;AAAA,EACA,GAAG;AACL,CAAA,qBACE,IAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACC,IAAA,EAAK,cAAA;AAAA,IACL,aAAA,EAAY,MAAA;AAAA,IACZ,SAAA,EAAW,EAAA,CAAG,0CAAA,EAA4C,SAAS,CAAA;AAAA,IAClE,GAAG,KAAA;AAAA,IAEJ,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,cAAA,EAAA,EAAe,WAAU,SAAA,EAAU,CAAA;AAAA,sBACpC,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU,QAAA,EAAA,MAAA,EAAI;AAAA;AAAA;AAChC;AAEF,kBAAA,CAAmB,WAAA,GAAc,oBAAA","file":"chunk-2MQKBZBJ.js","sourcesContent":["import * as React from \"react\";\nimport { ChevronRight, MoreHorizontal } from \"lucide-react\";\nimport { cn } from \"../../utils\";\n\nconst Breadcrumb = React.forwardRef<\n HTMLElement,\n React.ComponentPropsWithoutRef<\"nav\"> & {\n separator?: React.ReactNode;\n }\n>(({ ...props }, ref) => <nav ref={ref} aria-label=\"breadcrumb\" {...props} />);\nBreadcrumb.displayName = \"Breadcrumb\";\n\nconst BreadcrumbList = React.forwardRef<\n HTMLOListElement,\n React.ComponentPropsWithoutRef<\"ol\">\n>(({ className, ...props }, ref) => (\n <ol\n ref={ref}\n className={cn(\n \"flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5\",\n className,\n )}\n {...props}\n />\n));\nBreadcrumbList.displayName = \"BreadcrumbList\";\n\nconst BreadcrumbItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentPropsWithoutRef<\"li\">\n>(({ className, ...props }, ref) => (\n <li\n ref={ref}\n className={cn(\"inline-flex items-center gap-1.5\", className)}\n {...props}\n />\n));\nBreadcrumbItem.displayName = \"BreadcrumbItem\";\n\nconst BreadcrumbLink = React.forwardRef<\n HTMLAnchorElement,\n React.ComponentPropsWithoutRef<\"a\"> & {\n asChild?: boolean;\n }\n>(({ asChild: _asChild, className, ...props }, ref) => {\n return (\n <a\n ref={ref}\n className={cn(\"transition-colors hover:text-foreground\", className)}\n {...props}\n />\n );\n});\nBreadcrumbLink.displayName = \"BreadcrumbLink\";\n\nconst BreadcrumbPage = React.forwardRef<\n HTMLSpanElement,\n React.ComponentPropsWithoutRef<\"span\">\n>(({ className, ...props }, ref) => (\n <span\n ref={ref}\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn(\"font-normal text-foreground\", className)}\n {...props}\n />\n));\nBreadcrumbPage.displayName = \"BreadcrumbPage\";\n\nconst BreadcrumbSeparator = ({\n children,\n className,\n ...props\n}: React.ComponentProps<\"li\">) => (\n <li\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"[&>svg]:h-3.5 [&>svg]:w-3.5\", className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n);\nBreadcrumbSeparator.displayName = \"BreadcrumbSeparator\";\n\nconst BreadcrumbEllipsis = ({\n className,\n ...props\n}: React.ComponentProps<\"span\">) => (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"flex h-9 w-9 items-center justify-center\", className)}\n {...props}\n >\n <MoreHorizontal className=\"h-4 w-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n);\nBreadcrumbEllipsis.displayName = \"BreadcrumbEllipsis\";\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n};\n"]}
@@ -0,0 +1,30 @@
1
+ "use client";
2
+ import { cn } from './chunk-NZ5WBA4R.js';
3
+ import * as React from 'react';
4
+ import * as SwitchPrimitive from '@radix-ui/react-switch';
5
+ import { jsx } from 'react/jsx-runtime';
6
+
7
+ var Switch = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
8
+ SwitchPrimitive.Root,
9
+ {
10
+ className: cn(
11
+ "peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent 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",
12
+ className
13
+ ),
14
+ ...props,
15
+ ref,
16
+ children: /* @__PURE__ */ jsx(
17
+ SwitchPrimitive.Thumb,
18
+ {
19
+ className: cn(
20
+ "pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0"
21
+ )
22
+ }
23
+ )
24
+ }
25
+ ));
26
+ Switch.displayName = SwitchPrimitive.Root.displayName;
27
+
28
+ export { Switch };
29
+ //# sourceMappingURL=chunk-2MXMWBDV.js.map
30
+ //# sourceMappingURL=chunk-2MXMWBDV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/switch.tsx"],"names":[],"mappings":";;;;;AAMA,IAAM,MAAA,GAAe,iBAGnB,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAiB,eAAA,CAAA,IAAA;AAAA,EAAhB;AAAA,IACC,SAAA,EAAW,EAAA;AAAA,MACT,oXAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG,KAAA;AAAA,IACJ,GAAA;AAAA,IAEA,QAAA,kBAAA,GAAA;AAAA,MAAiB,eAAA,CAAA,KAAA;AAAA,MAAhB;AAAA,QACC,SAAA,EAAW,EAAA;AAAA,UACT;AAAA;AACF;AAAA;AACF;AACF,CACD;AACD,MAAA,CAAO,cAA8B,eAAA,CAAA,IAAA,CAAK,WAAA","file":"chunk-2MXMWBDV.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\";\nimport { cn } from \"../../utils\";\n\nconst Switch = React.forwardRef<\n React.ComponentRef<typeof SwitchPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <SwitchPrimitive.Root\n className={cn(\n \"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent 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\",\n className,\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitive.Thumb\n className={cn(\n \"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0\"\n )}\n />\n </SwitchPrimitive.Root>\n));\nSwitch.displayName = SwitchPrimitive.Root.displayName;\n\nexport { Switch };\n"]}
@@ -0,0 +1,40 @@
1
+ "use client";
2
+ import { Calendar } from './chunk-7H3E5VOJ.js';
3
+ import { Popover, PopoverTrigger, PopoverContent } from './chunk-NJMO3VPA.js';
4
+ import { Button } from './chunk-4TROUCWO.js';
5
+ import { cn } from './chunk-NZ5WBA4R.js';
6
+ import { CalendarIcon } from 'lucide-react';
7
+ import { format } from 'date-fns';
8
+ import { jsxs, jsx } from 'react/jsx-runtime';
9
+
10
+ function DatePicker({
11
+ value,
12
+ onChange,
13
+ placeholder = "Pick a date",
14
+ className,
15
+ disabled
16
+ }) {
17
+ return /* @__PURE__ */ jsxs(Popover, { children: [
18
+ /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
19
+ Button,
20
+ {
21
+ variant: "outline",
22
+ disabled,
23
+ className: cn(
24
+ "w-[240px] justify-start text-left font-normal",
25
+ !value && "text-muted-foreground",
26
+ className
27
+ ),
28
+ children: [
29
+ /* @__PURE__ */ jsx(CalendarIcon, { className: "mr-2 h-4 w-4" }),
30
+ value ? format(value, "PPP") : placeholder
31
+ ]
32
+ }
33
+ ) }),
34
+ /* @__PURE__ */ jsx(PopoverContent, { className: "w-auto p-0", align: "start", children: /* @__PURE__ */ jsx(Calendar, { mode: "single", selected: value, onSelect: onChange }) })
35
+ ] });
36
+ }
37
+
38
+ export { DatePicker };
39
+ //# sourceMappingURL=chunk-2SBHHXAC.js.map
40
+ //# sourceMappingURL=chunk-2SBHHXAC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/date-picker.tsx"],"names":[],"mappings":";;;;;;;;AAmBA,SAAS,UAAA,CAAW;AAAA,EAClB,KAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA,GAAc,aAAA;AAAA,EACd,SAAA;AAAA,EACA;AACF,CAAA,EAAoB;AAClB,EAAA,4BACG,OAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,cAAA,EAAA,EAAe,SAAO,IAAA,EACrB,QAAA,kBAAA,IAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,OAAA,EAAQ,SAAA;AAAA,QACR,QAAA;AAAA,QACA,SAAA,EAAW,EAAA;AAAA,UACT,+CAAA;AAAA,UACA,CAAC,KAAA,IAAS,uBAAA;AAAA,UACV;AAAA,SACF;AAAA,QAEA,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,YAAA,EAAA,EAAa,WAAU,cAAA,EAAe,CAAA;AAAA,UACtC,KAAA,GAAQ,MAAA,CAAO,KAAA,EAAO,KAAK,CAAA,GAAI;AAAA;AAAA;AAAA,KAClC,EACF,CAAA;AAAA,oBACA,GAAA,CAAC,cAAA,EAAA,EAAe,SAAA,EAAU,YAAA,EAAa,OAAM,OAAA,EAC3C,QAAA,kBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAK,QAAA,EAAS,QAAA,EAAU,KAAA,EAAO,QAAA,EAAU,UAAU,CAAA,EAC/D;AAAA,GAAA,EACF,CAAA;AAEJ","file":"chunk-2SBHHXAC.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { CalendarIcon } from \"lucide-react\";\nimport { format } from \"date-fns\";\n\nimport { cn } from \"../../utils\";\nimport { Button } from \"./button\";\nimport { Calendar } from \"./calendar\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"./popover\";\n\ninterface DatePickerProps {\n value?: Date;\n onChange?: (date: Date | undefined) => void;\n placeholder?: string;\n className?: string;\n disabled?: boolean;\n}\n\nfunction DatePicker({\n value,\n onChange,\n placeholder = \"Pick a date\",\n className,\n disabled,\n}: DatePickerProps) {\n return (\n <Popover>\n <PopoverTrigger asChild>\n <Button\n variant=\"outline\"\n disabled={disabled}\n className={cn(\n \"w-[240px] justify-start text-left font-normal\",\n !value && \"text-muted-foreground\",\n className,\n )}\n >\n <CalendarIcon className=\"mr-2 h-4 w-4\" />\n {value ? format(value, \"PPP\") : placeholder}\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\n <Calendar mode=\"single\" selected={value} onSelect={onChange} />\n </PopoverContent>\n </Popover>\n );\n}\n\nexport { DatePicker, type DatePickerProps };\n"]}
@@ -0,0 +1,51 @@
1
+ "use client";
2
+ import { useState, useCallback, useMemo } from 'react';
3
+
4
+ // src/hooks/use-wizard.ts
5
+ function useWizard(steps, form) {
6
+ const [currentStep, setCurrentStep] = useState(0);
7
+ const totalSteps = steps.length;
8
+ const emptyStep = { id: "empty", title: "No steps defined", fields: [] };
9
+ const currentStepDef = steps[currentStep] ?? steps[0] ?? emptyStep;
10
+ const isFirst = currentStep === 0;
11
+ const isLast = currentStep === totalSteps - 1;
12
+ const progress = totalSteps > 1 ? (currentStep + 1) / totalSteps : 1;
13
+ const next = useCallback(async () => {
14
+ const currentFields = steps[currentStep]?.fields ?? [];
15
+ const valid = await form.trigger(currentFields);
16
+ if (valid && currentStep < steps.length - 1) {
17
+ setCurrentStep((s) => s + 1);
18
+ return true;
19
+ }
20
+ return valid;
21
+ }, [currentStep, steps, form]);
22
+ const back = useCallback(() => {
23
+ if (currentStep > 0) setCurrentStep((s) => s - 1);
24
+ }, [currentStep]);
25
+ const goTo = useCallback(
26
+ (step) => {
27
+ if (step >= 0 && step < totalSteps) {
28
+ setCurrentStep(step);
29
+ }
30
+ },
31
+ [totalSteps]
32
+ );
33
+ return useMemo(
34
+ () => ({
35
+ currentStep,
36
+ currentStepDef,
37
+ totalSteps,
38
+ progress,
39
+ isFirst,
40
+ isLast,
41
+ next,
42
+ back,
43
+ goTo
44
+ }),
45
+ [currentStep, currentStepDef, totalSteps, progress, isFirst, isLast, next, back, goTo]
46
+ );
47
+ }
48
+
49
+ export { useWizard };
50
+ //# sourceMappingURL=chunk-4HUKJSKC.js.map
51
+ //# sourceMappingURL=chunk-4HUKJSKC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/hooks/use-wizard.ts"],"names":[],"mappings":";;;AAmCO,SAAS,SAAA,CACd,OACA,IAAA,EACiB;AACjB,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAS,CAAC,CAAA;AAEhD,EAAA,MAAM,aAAa,KAAA,CAAM,MAAA;AACzB,EAAA,MAAM,SAAA,GAAwB,EAAE,EAAA,EAAI,OAAA,EAAS,OAAO,kBAAA,EAAoB,MAAA,EAAQ,EAAC,EAAE;AACnF,EAAA,MAAM,iBAAiB,KAAA,CAAM,WAAW,CAAA,IAAK,KAAA,CAAM,CAAC,CAAA,IAAK,SAAA;AACzD,EAAA,MAAM,UAAU,WAAA,KAAgB,CAAA;AAChC,EAAA,MAAM,MAAA,GAAS,gBAAgB,UAAA,GAAa,CAAA;AAC5C,EAAA,MAAM,QAAA,GAAW,UAAA,GAAa,CAAA,GAAA,CAAK,WAAA,GAAc,KAAK,UAAA,GAAa,CAAA;AAEnE,EAAA,MAAM,IAAA,GAAO,YAAY,YAAY;AACnC,IAAA,MAAM,aAAA,GAAgB,KAAA,CAAM,WAAW,CAAA,EAAG,UAAU,EAAC;AACrD,IAAA,MAAM,KAAA,GAAQ,MAAM,IAAA,CAAK,OAAA,CAAQ,aAAmD,CAAA;AACpF,IAAA,IAAI,KAAA,IAAS,WAAA,GAAc,KAAA,CAAM,MAAA,GAAS,CAAA,EAAG;AAC3C,MAAA,cAAA,CAAe,CAAC,CAAA,KAAM,CAAA,GAAI,CAAC,CAAA;AAC3B,MAAA,OAAO,IAAA;AAAA,IACT;AACA,IAAA,OAAO,KAAA;AAAA,EACT,CAAA,EAAG,CAAC,WAAA,EAAa,KAAA,EAAO,IAAI,CAAC,CAAA;AAE7B,EAAA,MAAM,IAAA,GAAO,YAAY,MAAM;AAC7B,IAAA,IAAI,cAAc,CAAA,EAAG,cAAA,CAAe,CAAC,CAAA,KAAM,IAAI,CAAC,CAAA;AAAA,EAClD,CAAA,EAAG,CAAC,WAAW,CAAC,CAAA;AAEhB,EAAA,MAAM,IAAA,GAAO,WAAA;AAAA,IACX,CAAC,IAAA,KAAiB;AAChB,MAAA,IAAI,IAAA,IAAQ,CAAA,IAAK,IAAA,GAAO,UAAA,EAAY;AAClC,QAAA,cAAA,CAAe,IAAI,CAAA;AAAA,MACrB;AAAA,IACF,CAAA;AAAA,IACA,CAAC,UAAU;AAAA,GACb;AAEA,EAAA,OAAO,OAAA;AAAA,IACL,OAAO;AAAA,MACL,WAAA;AAAA,MACA,cAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,IAAA;AAAA,MACA,IAAA;AAAA,MACA;AAAA,KACF,CAAA;AAAA,IACA,CAAC,aAAa,cAAA,EAAgB,UAAA,EAAY,UAAU,OAAA,EAAS,MAAA,EAAQ,IAAA,EAAM,IAAA,EAAM,IAAI;AAAA,GACvF;AACF","file":"chunk-4HUKJSKC.js","sourcesContent":["\"use client\";\n\nimport { useState, useCallback, useMemo } from \"react\";\nimport type { UseFormReturn } from \"react-hook-form\";\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport interface WizardStep {\n id: string;\n title: string;\n description?: string;\n /** Field keys belonging to this step. */\n fields: string[];\n}\n\nexport interface UseWizardReturn {\n currentStep: number;\n currentStepDef: WizardStep;\n totalSteps: number;\n /** Progress from 0 to 1. */\n progress: number;\n isFirst: boolean;\n isLast: boolean;\n /** Validate current step fields, advance if valid. Returns true if valid. */\n next: () => Promise<boolean>;\n back: () => void;\n goTo: (step: number) => void;\n}\n\n// ---------------------------------------------------------------------------\n// Hook\n// ---------------------------------------------------------------------------\n\nexport function useWizard(\n steps: WizardStep[],\n form: UseFormReturn<Record<string, unknown>>,\n): UseWizardReturn {\n const [currentStep, setCurrentStep] = useState(0);\n\n const totalSteps = steps.length;\n const emptyStep: WizardStep = { id: \"empty\", title: \"No steps defined\", fields: [] };\n const currentStepDef = steps[currentStep] ?? steps[0] ?? emptyStep;\n const isFirst = currentStep === 0;\n const isLast = currentStep === totalSteps - 1;\n const progress = totalSteps > 1 ? (currentStep + 1) / totalSteps : 1;\n\n const next = useCallback(async () => {\n const currentFields = steps[currentStep]?.fields ?? [];\n const valid = await form.trigger(currentFields as Parameters<typeof form.trigger>[0]);\n if (valid && currentStep < steps.length - 1) {\n setCurrentStep((s) => s + 1);\n return true;\n }\n return valid;\n }, [currentStep, steps, form]);\n\n const back = useCallback(() => {\n if (currentStep > 0) setCurrentStep((s) => s - 1);\n }, [currentStep]);\n\n const goTo = useCallback(\n (step: number) => {\n if (step >= 0 && step < totalSteps) {\n setCurrentStep(step);\n }\n },\n [totalSteps],\n );\n\n return useMemo(\n () => ({\n currentStep,\n currentStepDef,\n totalSteps,\n progress,\n isFirst,\n isLast,\n next,\n back,\n goTo,\n }),\n [currentStep, currentStepDef, totalSteps, progress, isFirst, isLast, next, back, goTo],\n );\n}\n"]}
@@ -0,0 +1,27 @@
1
+ "use client";
2
+ import { cn } from './chunk-NZ5WBA4R.js';
3
+ import { Toaster as Toaster$1 } from 'sonner';
4
+ export { toast } from 'sonner';
5
+ import { jsx } from 'react/jsx-runtime';
6
+
7
+ var Toaster = ({ className, ...props }) => {
8
+ return /* @__PURE__ */ jsx(
9
+ Toaster$1,
10
+ {
11
+ className: cn("toaster group", className),
12
+ toastOptions: {
13
+ classNames: {
14
+ toast: "group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",
15
+ description: "group-[.toast]:text-muted-foreground",
16
+ actionButton: "group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",
17
+ cancelButton: "group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"
18
+ }
19
+ },
20
+ ...props
21
+ }
22
+ );
23
+ };
24
+
25
+ export { Toaster };
26
+ //# sourceMappingURL=chunk-4RAZJ6LL.js.map
27
+ //# sourceMappingURL=chunk-4RAZJ6LL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/sonner.tsx"],"names":["SonnerToaster"],"mappings":";;;;;AASA,IAAM,UAAU,CAAC,EAAE,SAAA,EAAW,GAAG,OAAM,KAAoB;AACzD,EAAA,uBACE,GAAA;AAAA,IAACA,SAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,eAAA,EAAiB,SAAS,CAAA;AAAA,MACxC,YAAA,EAAc;AAAA,QACZ,UAAA,EAAY;AAAA,UACV,KAAA,EACE,uIAAA;AAAA,UACF,WAAA,EAAa,sCAAA;AAAA,UACb,YAAA,EACE,kEAAA;AAAA,UACF,YAAA,EACE;AAAA;AACJ,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-4RAZJ6LL.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Toaster as SonnerToaster, toast } from \"sonner\";\n\nimport { cn } from \"../../utils\";\n\ntype ToasterProps = React.ComponentProps<typeof SonnerToaster>;\n\nconst Toaster = ({ className, ...props }: ToasterProps) => {\n return (\n <SonnerToaster\n className={cn(\"toaster group\", className)}\n toastOptions={{\n classNames: {\n toast:\n \"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg\",\n description: \"group-[.toast]:text-muted-foreground\",\n actionButton:\n \"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground\",\n cancelButton:\n \"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground\",\n },\n }}\n {...props}\n />\n );\n};\n\nexport { Toaster, toast };\n"]}
@@ -0,0 +1,43 @@
1
+ import { cn } from './chunk-NZ5WBA4R.js';
2
+ import { cva } from 'class-variance-authority';
3
+ import { jsx } from 'react/jsx-runtime';
4
+
5
+ var buttonVariants = cva(
6
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
7
+ {
8
+ variants: {
9
+ variant: {
10
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
11
+ destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
12
+ outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
13
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
14
+ ghost: "hover:bg-accent hover:text-accent-foreground",
15
+ link: "text-primary underline-offset-4 hover:underline"
16
+ },
17
+ size: {
18
+ default: "h-10 px-4 py-2",
19
+ sm: "h-9 rounded-md px-3",
20
+ lg: "h-11 rounded-md px-8",
21
+ icon: "h-10 w-10"
22
+ }
23
+ },
24
+ defaultVariants: {
25
+ variant: "default",
26
+ size: "default"
27
+ }
28
+ }
29
+ );
30
+ function Button({ className, variant, size, ref, ...props }) {
31
+ return /* @__PURE__ */ jsx(
32
+ "button",
33
+ {
34
+ ref,
35
+ className: cn(buttonVariants({ variant, size, className })),
36
+ ...props
37
+ }
38
+ );
39
+ }
40
+
41
+ export { Button, buttonVariants };
42
+ //# sourceMappingURL=chunk-4TROUCWO.js.map
43
+ //# sourceMappingURL=chunk-4TROUCWO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/button.tsx"],"names":[],"mappings":";;;;AAIA,IAAM,cAAA,GAAiB,GAAA;AAAA,EACrB,0VAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EACE,wDAAA;AAAA,QACF,WAAA,EACE,oEAAA;AAAA,QACF,OAAA,EACE,gFAAA;AAAA,QACF,SAAA,EACE,8DAAA;AAAA,QACF,KAAA,EAAO,8CAAA;AAAA,QACP,IAAA,EAAM;AAAA,OACR;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,OAAA,EAAS,gBAAA;AAAA,QACT,EAAA,EAAI,qBAAA;AAAA,QACJ,EAAA,EAAI,sBAAA;AAAA,QACJ,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,SAAA;AAAA,MACT,IAAA,EAAM;AAAA;AACR;AAEJ;AAQA,SAAS,MAAA,CAAO,EAAE,SAAA,EAAW,OAAA,EAAS,MAAM,GAAA,EAAK,GAAG,OAAM,EAAgB;AACxE,EAAA,uBACE,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,GAAG,cAAA,CAAe,EAAE,SAAS,IAAA,EAAM,SAAA,EAAW,CAAC,CAAA;AAAA,MACzD,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-4TROUCWO.js","sourcesContent":["import * as React from \"react\";\nimport { type VariantProps, cva } from \"class-variance-authority\";\nimport { cn } from \"../../utils\";\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n outline:\n \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"h-10 w-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n ref?: React.Ref<HTMLButtonElement>;\n}\n\nfunction Button({ className, variant, size, ref, ...props }: ButtonProps) {\n return (\n <button\n ref={ref}\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n"]}
@@ -0,0 +1,170 @@
1
+ "use client";
2
+ import { cn } from './chunk-NZ5WBA4R.js';
3
+ import * as React from 'react';
4
+ import * as MenubarPrimitive from '@radix-ui/react-menubar';
5
+ import { ChevronRight, Check, Circle } from 'lucide-react';
6
+ import { jsx, jsxs } from 'react/jsx-runtime';
7
+
8
+ var MenubarMenu = MenubarPrimitive.Menu;
9
+ var MenubarGroup = MenubarPrimitive.Group;
10
+ var MenubarPortal = MenubarPrimitive.Portal;
11
+ var MenubarSub = MenubarPrimitive.Sub;
12
+ var MenubarRadioGroup = MenubarPrimitive.RadioGroup;
13
+ var Menubar = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
14
+ MenubarPrimitive.Root,
15
+ {
16
+ ref,
17
+ className: cn(
18
+ "flex h-10 items-center space-x-1 rounded-md border bg-background p-1",
19
+ className
20
+ ),
21
+ ...props
22
+ }
23
+ ));
24
+ Menubar.displayName = MenubarPrimitive.Root.displayName;
25
+ var MenubarTrigger = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
26
+ MenubarPrimitive.Trigger,
27
+ {
28
+ ref,
29
+ className: cn(
30
+ "flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
31
+ className
32
+ ),
33
+ ...props
34
+ }
35
+ ));
36
+ MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
37
+ var MenubarSubTrigger = React.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
38
+ MenubarPrimitive.SubTrigger,
39
+ {
40
+ ref,
41
+ className: cn(
42
+ "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[state=open]:bg-accent focus:bg-accent",
43
+ inset && "pl-8",
44
+ className
45
+ ),
46
+ ...props,
47
+ children: [
48
+ children,
49
+ /* @__PURE__ */ jsx(ChevronRight, { className: "ml-auto h-4 w-4" })
50
+ ]
51
+ }
52
+ ));
53
+ MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
54
+ var MenubarSubContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
55
+ MenubarPrimitive.SubContent,
56
+ {
57
+ ref,
58
+ className: cn(
59
+ "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",
60
+ className
61
+ ),
62
+ ...props
63
+ }
64
+ ));
65
+ MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
66
+ var MenubarContent = React.forwardRef(
67
+ ({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx(
68
+ MenubarPrimitive.Content,
69
+ {
70
+ ref,
71
+ align,
72
+ alignOffset,
73
+ sideOffset,
74
+ className: cn(
75
+ "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",
76
+ className
77
+ ),
78
+ ...props
79
+ }
80
+ ) })
81
+ );
82
+ MenubarContent.displayName = MenubarPrimitive.Content.displayName;
83
+ var MenubarItem = React.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
84
+ MenubarPrimitive.Item,
85
+ {
86
+ ref,
87
+ className: cn(
88
+ "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",
89
+ inset && "pl-8",
90
+ className
91
+ ),
92
+ ...props
93
+ }
94
+ ));
95
+ MenubarItem.displayName = MenubarPrimitive.Item.displayName;
96
+ var MenubarCheckboxItem = React.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
97
+ MenubarPrimitive.CheckboxItem,
98
+ {
99
+ ref,
100
+ className: cn(
101
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",
102
+ className
103
+ ),
104
+ checked,
105
+ ...props,
106
+ children: [
107
+ /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
108
+ children
109
+ ]
110
+ }
111
+ ));
112
+ MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
113
+ var MenubarRadioItem = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
114
+ MenubarPrimitive.RadioItem,
115
+ {
116
+ ref,
117
+ className: cn(
118
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",
119
+ className
120
+ ),
121
+ ...props,
122
+ children: [
123
+ /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Circle, { className: "h-2 w-2 fill-current" }) }) }),
124
+ children
125
+ ]
126
+ }
127
+ ));
128
+ MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
129
+ var MenubarLabel = React.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
130
+ MenubarPrimitive.Label,
131
+ {
132
+ ref,
133
+ className: cn(
134
+ "px-2 py-1.5 text-sm font-semibold",
135
+ inset && "pl-8",
136
+ className
137
+ ),
138
+ ...props
139
+ }
140
+ ));
141
+ MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
142
+ var MenubarSeparator = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
143
+ MenubarPrimitive.Separator,
144
+ {
145
+ ref,
146
+ className: cn("-mx-1 my-1 h-px bg-muted", className),
147
+ ...props
148
+ }
149
+ ));
150
+ MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;
151
+ var MenubarShortcut = ({
152
+ className,
153
+ ...props
154
+ }) => {
155
+ return /* @__PURE__ */ jsx(
156
+ "span",
157
+ {
158
+ className: cn(
159
+ "ml-auto text-xs tracking-widest text-muted-foreground",
160
+ className
161
+ ),
162
+ ...props
163
+ }
164
+ );
165
+ };
166
+ MenubarShortcut.displayName = "MenubarShortcut";
167
+
168
+ export { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger };
169
+ //# sourceMappingURL=chunk-4V4H2ZM7.js.map
170
+ //# sourceMappingURL=chunk-4V4H2ZM7.js.map