@omnifyjp/ui 0.1.1

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 (354) hide show
  1. package/README.md +230 -0
  2. package/dist/chunk-23SALQ3G.js +219 -0
  3. package/dist/chunk-23SALQ3G.js.map +1 -0
  4. package/dist/chunk-3TGN2DFB.js +41 -0
  5. package/dist/chunk-3TGN2DFB.js.map +1 -0
  6. package/dist/chunk-3TV2IR7L.js +65 -0
  7. package/dist/chunk-3TV2IR7L.js.map +1 -0
  8. package/dist/chunk-4CT5SCAH.js +54 -0
  9. package/dist/chunk-4CT5SCAH.js.map +1 -0
  10. package/dist/chunk-4D6FDXCG.js +41 -0
  11. package/dist/chunk-4D6FDXCG.js.map +1 -0
  12. package/dist/chunk-4HCORCR2.js +114 -0
  13. package/dist/chunk-4HCORCR2.js.map +1 -0
  14. package/dist/chunk-4N357E44.js +119 -0
  15. package/dist/chunk-4N357E44.js.map +1 -0
  16. package/dist/chunk-4Q2FLTAW.js +23 -0
  17. package/dist/chunk-4Q2FLTAW.js.map +1 -0
  18. package/dist/chunk-5M67ZEPM.js +33 -0
  19. package/dist/chunk-5M67ZEPM.js.map +1 -0
  20. package/dist/chunk-5WCL47ZW.js +30 -0
  21. package/dist/chunk-5WCL47ZW.js.map +1 -0
  22. package/dist/chunk-5Y3SQ3EA.js +52 -0
  23. package/dist/chunk-5Y3SQ3EA.js.map +1 -0
  24. package/dist/chunk-6GCAG5FH.js +46 -0
  25. package/dist/chunk-6GCAG5FH.js.map +1 -0
  26. package/dist/chunk-6MVBERQJ.js +44 -0
  27. package/dist/chunk-6MVBERQJ.js.map +1 -0
  28. package/dist/chunk-725ICC47.js +44 -0
  29. package/dist/chunk-725ICC47.js.map +1 -0
  30. package/dist/chunk-7ALADSN3.js +56 -0
  31. package/dist/chunk-7ALADSN3.js.map +1 -0
  32. package/dist/chunk-7NMWBCF4.js +171 -0
  33. package/dist/chunk-7NMWBCF4.js.map +1 -0
  34. package/dist/chunk-7ZFYPC74.js +155 -0
  35. package/dist/chunk-7ZFYPC74.js.map +1 -0
  36. package/dist/chunk-ANTYNEUU.js +35 -0
  37. package/dist/chunk-ANTYNEUU.js.map +1 -0
  38. package/dist/chunk-AZARDPXB.js +43 -0
  39. package/dist/chunk-AZARDPXB.js.map +1 -0
  40. package/dist/chunk-BJO5JCFB.js +111 -0
  41. package/dist/chunk-BJO5JCFB.js.map +1 -0
  42. package/dist/chunk-BOYSXIM3.js +160 -0
  43. package/dist/chunk-BOYSXIM3.js.map +1 -0
  44. package/dist/chunk-CDARHMTL.js +25 -0
  45. package/dist/chunk-CDARHMTL.js.map +1 -0
  46. package/dist/chunk-CESZTYQQ.js +93 -0
  47. package/dist/chunk-CESZTYQQ.js.map +1 -0
  48. package/dist/chunk-D3GCOO74.js +90 -0
  49. package/dist/chunk-D3GCOO74.js.map +1 -0
  50. package/dist/chunk-DGPY4WP3.js +11 -0
  51. package/dist/chunk-DGPY4WP3.js.map +1 -0
  52. package/dist/chunk-DIS42JLG.js +13 -0
  53. package/dist/chunk-DIS42JLG.js.map +1 -0
  54. package/dist/chunk-DQGDQEXD.js +617 -0
  55. package/dist/chunk-DQGDQEXD.js.map +1 -0
  56. package/dist/chunk-DZENMCRL.js +63 -0
  57. package/dist/chunk-DZENMCRL.js.map +1 -0
  58. package/dist/chunk-EIF6WZAZ.js +38 -0
  59. package/dist/chunk-EIF6WZAZ.js.map +1 -0
  60. package/dist/chunk-F6VQCMYH.js +81 -0
  61. package/dist/chunk-F6VQCMYH.js.map +1 -0
  62. package/dist/chunk-FBNG2KGO.js +66 -0
  63. package/dist/chunk-FBNG2KGO.js.map +1 -0
  64. package/dist/chunk-FO7J3PYY.js +131 -0
  65. package/dist/chunk-FO7J3PYY.js.map +1 -0
  66. package/dist/chunk-FSFXDD6P.js +196 -0
  67. package/dist/chunk-FSFXDD6P.js.map +1 -0
  68. package/dist/chunk-IDRQ6BNQ.js +63 -0
  69. package/dist/chunk-IDRQ6BNQ.js.map +1 -0
  70. package/dist/chunk-IJIGJGL5.js +48 -0
  71. package/dist/chunk-IJIGJGL5.js.map +1 -0
  72. package/dist/chunk-JPTN62BV.js +128 -0
  73. package/dist/chunk-JPTN62BV.js.map +1 -0
  74. package/dist/chunk-KABLXGWK.js +66 -0
  75. package/dist/chunk-KABLXGWK.js.map +1 -0
  76. package/dist/chunk-KOGOYUEE.js +121 -0
  77. package/dist/chunk-KOGOYUEE.js.map +1 -0
  78. package/dist/chunk-KULHYNE2.js +138 -0
  79. package/dist/chunk-KULHYNE2.js.map +1 -0
  80. package/dist/chunk-KXT75MXF.js +164 -0
  81. package/dist/chunk-KXT75MXF.js.map +1 -0
  82. package/dist/chunk-KXZ7IND6.js +24 -0
  83. package/dist/chunk-KXZ7IND6.js.map +1 -0
  84. package/dist/chunk-L46XUK4O.js +33 -0
  85. package/dist/chunk-L46XUK4O.js.map +1 -0
  86. package/dist/chunk-LI7CKURD.js +65 -0
  87. package/dist/chunk-LI7CKURD.js.map +1 -0
  88. package/dist/chunk-LW5PTU7D.js +211 -0
  89. package/dist/chunk-LW5PTU7D.js.map +1 -0
  90. package/dist/chunk-MNAT3ZF6.js +106 -0
  91. package/dist/chunk-MNAT3ZF6.js.map +1 -0
  92. package/dist/chunk-NFAXCC73.js +239 -0
  93. package/dist/chunk-NFAXCC73.js.map +1 -0
  94. package/dist/chunk-OHBCYKNT.js +63 -0
  95. package/dist/chunk-OHBCYKNT.js.map +1 -0
  96. package/dist/chunk-ONAUEREV.js +28 -0
  97. package/dist/chunk-ONAUEREV.js.map +1 -0
  98. package/dist/chunk-OXQNDQJW.js +86 -0
  99. package/dist/chunk-OXQNDQJW.js.map +1 -0
  100. package/dist/chunk-PCQSHXOQ.js +104 -0
  101. package/dist/chunk-PCQSHXOQ.js.map +1 -0
  102. package/dist/chunk-PH6P53QX.js +48 -0
  103. package/dist/chunk-PH6P53QX.js.map +1 -0
  104. package/dist/chunk-PPZSGU2L.js +33 -0
  105. package/dist/chunk-PPZSGU2L.js.map +1 -0
  106. package/dist/chunk-QCGYYBDZ.js +25 -0
  107. package/dist/chunk-QCGYYBDZ.js.map +1 -0
  108. package/dist/chunk-QMAMDYRD.js +65 -0
  109. package/dist/chunk-QMAMDYRD.js.map +1 -0
  110. package/dist/chunk-RVJDDGQW.js +112 -0
  111. package/dist/chunk-RVJDDGQW.js.map +1 -0
  112. package/dist/chunk-SABAKV4J.js +238 -0
  113. package/dist/chunk-SABAKV4J.js.map +1 -0
  114. package/dist/chunk-TEYOLOZY.js +18 -0
  115. package/dist/chunk-TEYOLOZY.js.map +1 -0
  116. package/dist/chunk-TMFQJ7E3.js +61 -0
  117. package/dist/chunk-TMFQJ7E3.js.map +1 -0
  118. package/dist/chunk-UCEUTKTQ.js +116 -0
  119. package/dist/chunk-UCEUTKTQ.js.map +1 -0
  120. package/dist/chunk-UV6UVSCF.js +187 -0
  121. package/dist/chunk-UV6UVSCF.js.map +1 -0
  122. package/dist/chunk-VGQC333M.js +17 -0
  123. package/dist/chunk-VGQC333M.js.map +1 -0
  124. package/dist/chunk-WAPGZIAL.js +99 -0
  125. package/dist/chunk-WAPGZIAL.js.map +1 -0
  126. package/dist/chunk-WRCHR4AK.js +23 -0
  127. package/dist/chunk-WRCHR4AK.js.map +1 -0
  128. package/dist/chunk-XKVHX75G.js +51 -0
  129. package/dist/chunk-XKVHX75G.js.map +1 -0
  130. package/dist/chunk-YF6WRCTG.js +41 -0
  131. package/dist/chunk-YF6WRCTG.js.map +1 -0
  132. package/dist/chunk-YGBYH4EO.js +28 -0
  133. package/dist/chunk-YGBYH4EO.js.map +1 -0
  134. package/dist/chunk-YKJZV2JK.js +109 -0
  135. package/dist/chunk-YKJZV2JK.js.map +1 -0
  136. package/dist/chunk-YUYC6Y6E.js +143 -0
  137. package/dist/chunk-YUYC6Y6E.js.map +1 -0
  138. package/dist/chunk-Z47W426M.js +53 -0
  139. package/dist/chunk-Z47W426M.js.map +1 -0
  140. package/dist/components/accordion.d.ts +10 -0
  141. package/dist/components/accordion.js +4 -0
  142. package/dist/components/accordion.js.map +1 -0
  143. package/dist/components/alert-dialog.d.ts +17 -0
  144. package/dist/components/alert-dialog.js +5 -0
  145. package/dist/components/alert-dialog.js.map +1 -0
  146. package/dist/components/alert.d.ts +13 -0
  147. package/dist/components/alert.js +4 -0
  148. package/dist/components/alert.js.map +1 -0
  149. package/dist/components/aspect-ratio.d.ts +6 -0
  150. package/dist/components/aspect-ratio.js +3 -0
  151. package/dist/components/aspect-ratio.js.map +1 -0
  152. package/dist/components/avatar.d.ts +9 -0
  153. package/dist/components/avatar.js +4 -0
  154. package/dist/components/avatar.js.map +1 -0
  155. package/dist/components/badge.d.ts +13 -0
  156. package/dist/components/badge.js +4 -0
  157. package/dist/components/badge.js.map +1 -0
  158. package/dist/components/breadcrumb.d.ts +14 -0
  159. package/dist/components/breadcrumb.js +4 -0
  160. package/dist/components/breadcrumb.js.map +1 -0
  161. package/dist/components/button.d.ts +16 -0
  162. package/dist/components/button.js +4 -0
  163. package/dist/components/button.js.map +1 -0
  164. package/dist/components/calendar-category-badge.d.ts +10 -0
  165. package/dist/components/calendar-category-badge.js +5 -0
  166. package/dist/components/calendar-category-badge.js.map +1 -0
  167. package/dist/components/calendar-event-chip.d.ts +18 -0
  168. package/dist/components/calendar-event-chip.js +4 -0
  169. package/dist/components/calendar-event-chip.js.map +1 -0
  170. package/dist/components/calendar-event-sheet.d.ts +31 -0
  171. package/dist/components/calendar-event-sheet.js +9 -0
  172. package/dist/components/calendar-event-sheet.js.map +1 -0
  173. package/dist/components/calendar-mini.d.ts +29 -0
  174. package/dist/components/calendar-mini.js +6 -0
  175. package/dist/components/calendar-mini.js.map +1 -0
  176. package/dist/components/calendar-toolbar.d.ts +25 -0
  177. package/dist/components/calendar-toolbar.js +7 -0
  178. package/dist/components/calendar-toolbar.js.map +1 -0
  179. package/dist/components/calendar.d.ts +7 -0
  180. package/dist/components/calendar.js +5 -0
  181. package/dist/components/calendar.js.map +1 -0
  182. package/dist/components/card.d.ts +12 -0
  183. package/dist/components/card.js +4 -0
  184. package/dist/components/card.js.map +1 -0
  185. package/dist/components/carousel.d.ts +24 -0
  186. package/dist/components/carousel.js +5 -0
  187. package/dist/components/carousel.js.map +1 -0
  188. package/dist/components/chart.d.ts +43 -0
  189. package/dist/components/chart.js +4 -0
  190. package/dist/components/chart.js.map +1 -0
  191. package/dist/components/checkbox.d.ts +6 -0
  192. package/dist/components/checkbox.js +4 -0
  193. package/dist/components/checkbox.js.map +1 -0
  194. package/dist/components/collapsible.d.ts +8 -0
  195. package/dist/components/collapsible.js +3 -0
  196. package/dist/components/collapsible.js.map +1 -0
  197. package/dist/components/color-picker.d.ts +13 -0
  198. package/dist/components/color-picker.js +7 -0
  199. package/dist/components/color-picker.js.map +1 -0
  200. package/dist/components/combobox.d.ts +33 -0
  201. package/dist/components/combobox.js +8 -0
  202. package/dist/components/combobox.js.map +1 -0
  203. package/dist/components/command.d.ts +20 -0
  204. package/dist/components/command.js +5 -0
  205. package/dist/components/command.js.map +1 -0
  206. package/dist/components/context-menu.d.ts +28 -0
  207. package/dist/components/context-menu.js +4 -0
  208. package/dist/components/context-menu.js.map +1 -0
  209. package/dist/components/date-picker.d.ts +31 -0
  210. package/dist/components/date-picker.js +7 -0
  211. package/dist/components/date-picker.js.map +1 -0
  212. package/dist/components/dialog.d.ts +16 -0
  213. package/dist/components/dialog.js +4 -0
  214. package/dist/components/dialog.js.map +1 -0
  215. package/dist/components/drawer.d.ts +17 -0
  216. package/dist/components/drawer.js +4 -0
  217. package/dist/components/drawer.js.map +1 -0
  218. package/dist/components/dropdown-menu.d.ts +28 -0
  219. package/dist/components/dropdown-menu.js +4 -0
  220. package/dist/components/dropdown-menu.js.map +1 -0
  221. package/dist/components/file-upload.d.ts +17 -0
  222. package/dist/components/file-upload.js +5 -0
  223. package/dist/components/file-upload.js.map +1 -0
  224. package/dist/components/form.d.ts +28 -0
  225. package/dist/components/form.js +5 -0
  226. package/dist/components/form.js.map +1 -0
  227. package/dist/components/hover-card.d.ts +9 -0
  228. package/dist/components/hover-card.js +4 -0
  229. package/dist/components/hover-card.js.map +1 -0
  230. package/dist/components/input-otp.d.ts +14 -0
  231. package/dist/components/input-otp.js +4 -0
  232. package/dist/components/input-otp.js.map +1 -0
  233. package/dist/components/input.d.ts +5 -0
  234. package/dist/components/input.js +4 -0
  235. package/dist/components/input.js.map +1 -0
  236. package/dist/components/label.d.ts +6 -0
  237. package/dist/components/label.js +4 -0
  238. package/dist/components/label.js.map +1 -0
  239. package/dist/components/menubar.d.ts +29 -0
  240. package/dist/components/menubar.js +4 -0
  241. package/dist/components/menubar.js.map +1 -0
  242. package/dist/components/navigation-menu.d.ts +18 -0
  243. package/dist/components/navigation-menu.js +4 -0
  244. package/dist/components/navigation-menu.js.map +1 -0
  245. package/dist/components/pagination.d.ts +18 -0
  246. package/dist/components/pagination.js +5 -0
  247. package/dist/components/pagination.js.map +1 -0
  248. package/dist/components/permission-grid.d.ts +30 -0
  249. package/dist/components/permission-grid.js +5 -0
  250. package/dist/components/permission-grid.js.map +1 -0
  251. package/dist/components/popover.d.ts +10 -0
  252. package/dist/components/popover.js +4 -0
  253. package/dist/components/popover.js.map +1 -0
  254. package/dist/components/progress.d.ts +7 -0
  255. package/dist/components/progress.js +4 -0
  256. package/dist/components/progress.js.map +1 -0
  257. package/dist/components/radio-group.d.ts +8 -0
  258. package/dist/components/radio-group.js +4 -0
  259. package/dist/components/radio-group.js.map +1 -0
  260. package/dist/components/rating.d.ts +14 -0
  261. package/dist/components/rating.js +4 -0
  262. package/dist/components/rating.js.map +1 -0
  263. package/dist/components/resizable.d.ts +11 -0
  264. package/dist/components/resizable.js +4 -0
  265. package/dist/components/resizable.js.map +1 -0
  266. package/dist/components/scope-tree.d.ts +35 -0
  267. package/dist/components/scope-tree.js +5 -0
  268. package/dist/components/scope-tree.js.map +1 -0
  269. package/dist/components/scope-type-badge.d.ts +20 -0
  270. package/dist/components/scope-type-badge.js +5 -0
  271. package/dist/components/scope-type-badge.js.map +1 -0
  272. package/dist/components/scroll-area.d.ts +8 -0
  273. package/dist/components/scroll-area.js +4 -0
  274. package/dist/components/scroll-area.js.map +1 -0
  275. package/dist/components/select.d.ts +18 -0
  276. package/dist/components/select.js +4 -0
  277. package/dist/components/select.js.map +1 -0
  278. package/dist/components/separator.d.ts +7 -0
  279. package/dist/components/separator.js +4 -0
  280. package/dist/components/separator.js.map +1 -0
  281. package/dist/components/sheet.d.ts +16 -0
  282. package/dist/components/sheet.js +4 -0
  283. package/dist/components/sheet.js.map +1 -0
  284. package/dist/components/sidebar.d.ts +75 -0
  285. package/dist/components/sidebar.js +11 -0
  286. package/dist/components/sidebar.js.map +1 -0
  287. package/dist/components/skeleton.d.ts +5 -0
  288. package/dist/components/skeleton.js +4 -0
  289. package/dist/components/skeleton.js.map +1 -0
  290. package/dist/components/slider.d.ts +7 -0
  291. package/dist/components/slider.js +4 -0
  292. package/dist/components/slider.js.map +1 -0
  293. package/dist/components/slug-input.d.ts +22 -0
  294. package/dist/components/slug-input.js +6 -0
  295. package/dist/components/slug-input.js.map +1 -0
  296. package/dist/components/sonner.d.ts +6 -0
  297. package/dist/components/sonner.js +3 -0
  298. package/dist/components/sonner.js.map +1 -0
  299. package/dist/components/stage-type-badge.d.ts +24 -0
  300. package/dist/components/stage-type-badge.js +5 -0
  301. package/dist/components/stage-type-badge.js.map +1 -0
  302. package/dist/components/switch.d.ts +7 -0
  303. package/dist/components/switch.js +4 -0
  304. package/dist/components/switch.js.map +1 -0
  305. package/dist/components/table.d.ts +13 -0
  306. package/dist/components/table.js +4 -0
  307. package/dist/components/table.js.map +1 -0
  308. package/dist/components/tabs.d.ts +10 -0
  309. package/dist/components/tabs.js +4 -0
  310. package/dist/components/tabs.js.map +1 -0
  311. package/dist/components/tag-input.d.ts +15 -0
  312. package/dist/components/tag-input.js +5 -0
  313. package/dist/components/tag-input.js.map +1 -0
  314. package/dist/components/textarea.d.ts +5 -0
  315. package/dist/components/textarea.js +4 -0
  316. package/dist/components/textarea.js.map +1 -0
  317. package/dist/components/time-picker.d.ts +20 -0
  318. package/dist/components/time-picker.js +8 -0
  319. package/dist/components/time-picker.js.map +1 -0
  320. package/dist/components/toggle-group.d.ts +12 -0
  321. package/dist/components/toggle-group.js +5 -0
  322. package/dist/components/toggle-group.js.map +1 -0
  323. package/dist/components/toggle.d.ts +13 -0
  324. package/dist/components/toggle.js +4 -0
  325. package/dist/components/toggle.js.map +1 -0
  326. package/dist/components/tooltip.d.ts +10 -0
  327. package/dist/components/tooltip.js +4 -0
  328. package/dist/components/tooltip.js.map +1 -0
  329. package/dist/components/workflow-category-badge.d.ts +26 -0
  330. package/dist/components/workflow-category-badge.js +5 -0
  331. package/dist/components/workflow-category-badge.js.map +1 -0
  332. package/dist/components/workflow-diagram.d.ts +43 -0
  333. package/dist/components/workflow-diagram.js +5 -0
  334. package/dist/components/workflow-diagram.js.map +1 -0
  335. package/dist/components/workflow-status-badge.d.ts +24 -0
  336. package/dist/components/workflow-status-badge.js +5 -0
  337. package/dist/components/workflow-status-badge.js.map +1 -0
  338. package/dist/components/workflow-stepper.d.ts +34 -0
  339. package/dist/components/workflow-stepper.js +4 -0
  340. package/dist/components/workflow-stepper.js.map +1 -0
  341. package/dist/hooks/use-mobile.d.ts +3 -0
  342. package/dist/hooks/use-mobile.js +3 -0
  343. package/dist/hooks/use-mobile.js.map +1 -0
  344. package/dist/index.d.ts +111 -0
  345. package/dist/index.js +71 -0
  346. package/dist/index.js.map +1 -0
  347. package/dist/lib/utils.d.ts +5 -0
  348. package/dist/lib/utils.js +3 -0
  349. package/dist/lib/utils.js.map +1 -0
  350. package/package.json +101 -0
  351. package/src/styles/fonts.css +0 -0
  352. package/src/styles/index.css +3 -0
  353. package/src/styles/tailwind.css +4 -0
  354. package/src/styles/theme.css +447 -0
@@ -0,0 +1,196 @@
1
+ import { Button } from './chunk-PH6P53QX.js';
2
+ import { cn } from './chunk-DGPY4WP3.js';
3
+ import * as React from 'react';
4
+ import useEmblaCarousel from 'embla-carousel-react';
5
+ import { ArrowLeft, ArrowRight } from 'lucide-react';
6
+ import { jsx, jsxs } from 'react/jsx-runtime';
7
+
8
+ var CarouselContext = React.createContext(null);
9
+ function useCarousel() {
10
+ const context = React.useContext(CarouselContext);
11
+ if (!context) {
12
+ throw new Error("useCarousel must be used within a <Carousel />");
13
+ }
14
+ return context;
15
+ }
16
+ function Carousel({
17
+ orientation = "horizontal",
18
+ opts,
19
+ setApi,
20
+ plugins,
21
+ className,
22
+ children,
23
+ ...props
24
+ }) {
25
+ const [carouselRef, api] = useEmblaCarousel(
26
+ {
27
+ ...opts,
28
+ axis: orientation === "horizontal" ? "x" : "y"
29
+ },
30
+ plugins
31
+ );
32
+ const [canScrollPrev, setCanScrollPrev] = React.useState(false);
33
+ const [canScrollNext, setCanScrollNext] = React.useState(false);
34
+ const onSelect = React.useCallback((api2) => {
35
+ if (!api2) return;
36
+ setCanScrollPrev(api2.canScrollPrev());
37
+ setCanScrollNext(api2.canScrollNext());
38
+ }, []);
39
+ const scrollPrev = React.useCallback(() => {
40
+ api?.scrollPrev();
41
+ }, [api]);
42
+ const scrollNext = React.useCallback(() => {
43
+ api?.scrollNext();
44
+ }, [api]);
45
+ const handleKeyDown = React.useCallback(
46
+ (event) => {
47
+ if (event.key === "ArrowLeft") {
48
+ event.preventDefault();
49
+ scrollPrev();
50
+ } else if (event.key === "ArrowRight") {
51
+ event.preventDefault();
52
+ scrollNext();
53
+ }
54
+ },
55
+ [scrollPrev, scrollNext]
56
+ );
57
+ React.useEffect(() => {
58
+ if (!api || !setApi) return;
59
+ setApi(api);
60
+ }, [api, setApi]);
61
+ React.useEffect(() => {
62
+ if (!api) return;
63
+ onSelect(api);
64
+ api.on("reInit", onSelect);
65
+ api.on("select", onSelect);
66
+ return () => {
67
+ api?.off("select", onSelect);
68
+ };
69
+ }, [api, onSelect]);
70
+ return /* @__PURE__ */ jsx(
71
+ CarouselContext.Provider,
72
+ {
73
+ value: {
74
+ carouselRef,
75
+ api,
76
+ opts,
77
+ orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
78
+ scrollPrev,
79
+ scrollNext,
80
+ canScrollPrev,
81
+ canScrollNext
82
+ },
83
+ children: /* @__PURE__ */ jsx(
84
+ "div",
85
+ {
86
+ onKeyDownCapture: handleKeyDown,
87
+ className: cn("relative", className),
88
+ role: "region",
89
+ "aria-roledescription": "carousel",
90
+ "data-slot": "carousel",
91
+ ...props,
92
+ children
93
+ }
94
+ )
95
+ }
96
+ );
97
+ }
98
+ function CarouselContent({ className, ...props }) {
99
+ const { carouselRef, orientation } = useCarousel();
100
+ return /* @__PURE__ */ jsx(
101
+ "div",
102
+ {
103
+ ref: carouselRef,
104
+ className: "overflow-hidden",
105
+ "data-slot": "carousel-content",
106
+ children: /* @__PURE__ */ jsx(
107
+ "div",
108
+ {
109
+ className: cn(
110
+ "flex",
111
+ orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
112
+ className
113
+ ),
114
+ ...props
115
+ }
116
+ )
117
+ }
118
+ );
119
+ }
120
+ function CarouselItem({ className, ...props }) {
121
+ const { orientation } = useCarousel();
122
+ return /* @__PURE__ */ jsx(
123
+ "div",
124
+ {
125
+ role: "group",
126
+ "aria-roledescription": "slide",
127
+ "data-slot": "carousel-item",
128
+ className: cn(
129
+ "min-w-0 shrink-0 grow-0 basis-full",
130
+ orientation === "horizontal" ? "pl-4" : "pt-4",
131
+ className
132
+ ),
133
+ ...props
134
+ }
135
+ );
136
+ }
137
+ function CarouselPrevious({
138
+ className,
139
+ variant = "outline",
140
+ size = "icon",
141
+ ...props
142
+ }) {
143
+ const { orientation, scrollPrev, canScrollPrev } = useCarousel();
144
+ return /* @__PURE__ */ jsxs(
145
+ Button,
146
+ {
147
+ "data-slot": "carousel-previous",
148
+ variant,
149
+ size,
150
+ className: cn(
151
+ "absolute size-8 rounded-full",
152
+ orientation === "horizontal" ? "top-1/2 -left-12 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
153
+ className
154
+ ),
155
+ disabled: !canScrollPrev,
156
+ onClick: scrollPrev,
157
+ ...props,
158
+ children: [
159
+ /* @__PURE__ */ jsx(ArrowLeft, {}),
160
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Previous slide" })
161
+ ]
162
+ }
163
+ );
164
+ }
165
+ function CarouselNext({
166
+ className,
167
+ variant = "outline",
168
+ size = "icon",
169
+ ...props
170
+ }) {
171
+ const { orientation, scrollNext, canScrollNext } = useCarousel();
172
+ return /* @__PURE__ */ jsxs(
173
+ Button,
174
+ {
175
+ "data-slot": "carousel-next",
176
+ variant,
177
+ size,
178
+ className: cn(
179
+ "absolute size-8 rounded-full",
180
+ orientation === "horizontal" ? "top-1/2 -right-12 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
181
+ className
182
+ ),
183
+ disabled: !canScrollNext,
184
+ onClick: scrollNext,
185
+ ...props,
186
+ children: [
187
+ /* @__PURE__ */ jsx(ArrowRight, {}),
188
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Next slide" })
189
+ ]
190
+ }
191
+ );
192
+ }
193
+
194
+ export { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious };
195
+ //# sourceMappingURL=chunk-FSFXDD6P.js.map
196
+ //# sourceMappingURL=chunk-FSFXDD6P.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/carousel.tsx"],"names":["api"],"mappings":"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","file":"chunk-FSFXDD6P.js","sourcesContent":["import * as React from \"react\";\nimport useEmblaCarousel from \"embla-carousel-react\";\nimport { ArrowLeft, ArrowRight } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\nimport { Button } from \"./button\";\n\ntype CarouselApi = ReturnType<typeof useEmblaCarousel>[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ntype CarouselProps = {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n orientation?: \"horizontal\" | \"vertical\";\n setApi?: (api: CarouselApi) => void;\n};\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n api: ReturnType<typeof useEmblaCarousel>[1];\n scrollPrev: () => void;\n scrollNext: () => void;\n canScrollPrev: boolean;\n canScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null);\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext);\n\n if (!context) {\n throw new Error(\"useCarousel must be used within a <Carousel />\");\n }\n\n return context;\n}\n\nfunction Carousel({\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & CarouselProps) {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\n },\n plugins,\n );\n const [canScrollPrev, setCanScrollPrev] = React.useState(false);\n const [canScrollNext, setCanScrollNext] = React.useState(false);\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) return;\n setCanScrollPrev(api.canScrollPrev());\n setCanScrollNext(api.canScrollNext());\n }, []);\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext();\n }, [api]);\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === \"ArrowRight\") {\n event.preventDefault();\n scrollNext();\n }\n },\n [scrollPrev, scrollNext],\n );\n\n React.useEffect(() => {\n if (!api || !setApi) return;\n setApi(api);\n }, [api, setApi]);\n\n React.useEffect(() => {\n if (!api) return;\n onSelect(api);\n api.on(\"reInit\", onSelect);\n api.on(\"select\", onSelect);\n\n return () => {\n api?.off(\"select\", onSelect);\n };\n }, [api, onSelect]);\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation:\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n onKeyDownCapture={handleKeyDown}\n className={cn(\"relative\", className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n data-slot=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n );\n}\n\nfunction CarouselContent({ className, ...props }: React.ComponentProps<\"div\">) {\n const { carouselRef, orientation } = useCarousel();\n\n return (\n <div\n ref={carouselRef}\n className=\"overflow-hidden\"\n data-slot=\"carousel-content\"\n >\n <div\n className={cn(\n \"flex\",\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n className,\n )}\n {...props}\n />\n </div>\n );\n}\n\nfunction CarouselItem({ className, ...props }: React.ComponentProps<\"div\">) {\n const { orientation } = useCarousel();\n\n return (\n <div\n role=\"group\"\n aria-roledescription=\"slide\"\n data-slot=\"carousel-item\"\n className={cn(\n \"min-w-0 shrink-0 grow-0 basis-full\",\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CarouselPrevious({\n className,\n variant = \"outline\",\n size = \"icon\",\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n return (\n <Button\n data-slot=\"carousel-previous\"\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -left-12 -translate-y-1/2\"\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n className,\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <ArrowLeft />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n}\n\nfunction CarouselNext({\n className,\n variant = \"outline\",\n size = \"icon\",\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollNext, canScrollNext } = useCarousel();\n\n return (\n <Button\n data-slot=\"carousel-next\"\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -right-12 -translate-y-1/2\"\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n className,\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <ArrowRight />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n}\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n};\n"]}
@@ -0,0 +1,63 @@
1
+ import { buttonVariants } from './chunk-PH6P53QX.js';
2
+ import { cn } from './chunk-DGPY4WP3.js';
3
+ import { ChevronRightIcon, ChevronLeftIcon } from 'lucide-react';
4
+ import { DayPicker } from 'react-day-picker';
5
+ import { jsx } from 'react/jsx-runtime';
6
+
7
+ function Calendar({
8
+ className,
9
+ classNames,
10
+ showOutsideDays = true,
11
+ ...props
12
+ }) {
13
+ return /* @__PURE__ */ jsx(
14
+ DayPicker,
15
+ {
16
+ showOutsideDays,
17
+ className: cn("p-3", className),
18
+ classNames: {
19
+ months: "flex flex-col sm:flex-row gap-2",
20
+ month: "flex flex-col gap-4",
21
+ caption: "flex justify-center pt-1 relative items-center w-full",
22
+ caption_label: "text-sm font-medium",
23
+ nav: "flex items-center gap-1",
24
+ nav_button: cn(
25
+ buttonVariants({ variant: "outline" }),
26
+ "size-7 bg-transparent p-0 opacity-50 hover:opacity-100"
27
+ ),
28
+ nav_button_previous: "absolute left-1",
29
+ nav_button_next: "absolute right-1",
30
+ table: "w-full border-collapse space-x-1",
31
+ head_row: "flex",
32
+ head_cell: "text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",
33
+ row: "flex w-full mt-2",
34
+ cell: cn(
35
+ "relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-range-end)]:rounded-r-md",
36
+ props.mode === "range" ? "[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md" : "[&:has([aria-selected])]:rounded-md"
37
+ ),
38
+ day: cn(
39
+ buttonVariants({ variant: "ghost" }),
40
+ "size-8 p-0 font-normal aria-selected:opacity-100"
41
+ ),
42
+ day_range_start: "day-range-start aria-selected:bg-primary aria-selected:text-primary-foreground",
43
+ day_range_end: "day-range-end aria-selected:bg-primary aria-selected:text-primary-foreground",
44
+ day_selected: "bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",
45
+ day_today: "bg-accent text-accent-foreground",
46
+ day_outside: "day-outside text-muted-foreground aria-selected:text-muted-foreground",
47
+ day_disabled: "text-muted-foreground opacity-50",
48
+ day_range_middle: "aria-selected:bg-accent aria-selected:text-accent-foreground",
49
+ day_hidden: "invisible",
50
+ ...classNames
51
+ },
52
+ components: {
53
+ IconLeft: ({ className: className2, ...props2 }) => /* @__PURE__ */ jsx(ChevronLeftIcon, { className: cn("size-4", className2), ...props2 }),
54
+ IconRight: ({ className: className2, ...props2 }) => /* @__PURE__ */ jsx(ChevronRightIcon, { className: cn("size-4", className2), ...props2 })
55
+ },
56
+ ...props
57
+ }
58
+ );
59
+ }
60
+
61
+ export { Calendar };
62
+ //# sourceMappingURL=chunk-IDRQ6BNQ.js.map
63
+ //# sourceMappingURL=chunk-IDRQ6BNQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/calendar.tsx"],"names":["className","props"],"mappings":";;;;;;AAOA,SAAS,QAAA,CAAS;AAAA,EAChB,SAAA;AAAA,EACA,UAAA;AAAA,EACA,eAAA,GAAkB,IAAA;AAAA,EAClB,GAAG;AACL,CAAA,EAA2C;AACzC,EAAA,uBACE,GAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,eAAA;AAAA,MACA,SAAA,EAAW,EAAA,CAAG,KAAA,EAAO,SAAS,CAAA;AAAA,MAC9B,UAAA,EAAY;AAAA,QACV,MAAA,EAAQ,iCAAA;AAAA,QACR,KAAA,EAAO,qBAAA;AAAA,QACP,OAAA,EAAS,uDAAA;AAAA,QACT,aAAA,EAAe,qBAAA;AAAA,QACf,GAAA,EAAK,yBAAA;AAAA,QACL,UAAA,EAAY,EAAA;AAAA,UACV,cAAA,CAAe,EAAE,OAAA,EAAS,SAAA,EAAW,CAAA;AAAA,UACrC;AAAA,SACF;AAAA,QACA,mBAAA,EAAqB,iBAAA;AAAA,QACrB,eAAA,EAAiB,kBAAA;AAAA,QACjB,KAAA,EAAO,kCAAA;AAAA,QACP,QAAA,EAAU,MAAA;AAAA,QACV,SAAA,EACE,gEAAA;AAAA,QACF,GAAA,EAAK,kBAAA;AAAA,QACL,IAAA,EAAM,EAAA;AAAA,UACJ,iKAAA;AAAA,UACA,KAAA,CAAM,IAAA,KAAS,OAAA,GACX,sKAAA,GACA;AAAA,SACN;AAAA,QACA,GAAA,EAAK,EAAA;AAAA,UACH,cAAA,CAAe,EAAE,OAAA,EAAS,OAAA,EAAS,CAAA;AAAA,UACnC;AAAA,SACF;AAAA,QACA,eAAA,EACE,gFAAA;AAAA,QACF,aAAA,EACE,8EAAA;AAAA,QACF,YAAA,EACE,kIAAA;AAAA,QACF,SAAA,EAAW,kCAAA;AAAA,QACX,WAAA,EACE,uEAAA;AAAA,QACF,YAAA,EAAc,kCAAA;AAAA,QACd,gBAAA,EACE,8DAAA;AAAA,QACF,UAAA,EAAY,WAAA;AAAA,QACZ,GAAG;AAAA,OACL;AAAA,MACA,UAAA,EAAY;AAAA,QACV,UAAU,CAAC,EAAE,SAAA,EAAAA,UAAAA,EAAW,GAAGC,MAAAA,EAAM,qBAC/B,GAAA,CAAC,eAAA,EAAA,EAAgB,WAAW,EAAA,CAAG,QAAA,EAAUD,UAAS,CAAA,EAAI,GAAGC,MAAAA,EAAO,CAAA;AAAA,QAElE,WAAW,CAAC,EAAE,SAAA,EAAAD,UAAAA,EAAW,GAAGC,MAAAA,EAAM,qBAChC,GAAA,CAAC,gBAAA,EAAA,EAAiB,WAAW,EAAA,CAAG,QAAA,EAAUD,UAAS,CAAA,EAAI,GAAGC,MAAAA,EAAO;AAAA,OAErE;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-IDRQ6BNQ.js","sourcesContent":["import * as React from \"react\";\nimport { ChevronLeftIcon, ChevronRightIcon } from \"lucide-react\";\nimport { DayPicker } from \"react-day-picker\";\n\nimport { cn } from \"../lib/utils\";\nimport { buttonVariants } from \"./button\";\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n ...props\n}: React.ComponentProps<typeof DayPicker>) {\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\"p-3\", className)}\n classNames={{\n months: \"flex flex-col sm:flex-row gap-2\",\n month: \"flex flex-col gap-4\",\n caption: \"flex justify-center pt-1 relative items-center w-full\",\n caption_label: \"text-sm font-medium\",\n nav: \"flex items-center gap-1\",\n nav_button: cn(\n buttonVariants({ variant: \"outline\" }),\n \"size-7 bg-transparent p-0 opacity-50 hover:opacity-100\",\n ),\n nav_button_previous: \"absolute left-1\",\n nav_button_next: \"absolute right-1\",\n table: \"w-full border-collapse space-x-1\",\n head_row: \"flex\",\n head_cell:\n \"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]\",\n row: \"flex w-full mt-2\",\n cell: cn(\n \"relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-range-end)]:rounded-r-md\",\n props.mode === \"range\"\n ? \"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md\"\n : \"[&:has([aria-selected])]:rounded-md\",\n ),\n day: cn(\n buttonVariants({ variant: \"ghost\" }),\n \"size-8 p-0 font-normal aria-selected:opacity-100\",\n ),\n day_range_start:\n \"day-range-start aria-selected:bg-primary aria-selected:text-primary-foreground\",\n day_range_end:\n \"day-range-end aria-selected:bg-primary aria-selected:text-primary-foreground\",\n day_selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground\",\n day_today: \"bg-accent text-accent-foreground\",\n day_outside:\n \"day-outside text-muted-foreground aria-selected:text-muted-foreground\",\n day_disabled: \"text-muted-foreground opacity-50\",\n day_range_middle:\n \"aria-selected:bg-accent aria-selected:text-accent-foreground\",\n day_hidden: \"invisible\",\n ...classNames,\n }}\n components={{\n IconLeft: ({ className, ...props }) => (\n <ChevronLeftIcon className={cn(\"size-4\", className)} {...props} />\n ),\n IconRight: ({ className, ...props }) => (\n <ChevronRightIcon className={cn(\"size-4\", className)} {...props} />\n ),\n }}\n {...props}\n />\n );\n}\n\nexport { Calendar };"]}
@@ -0,0 +1,48 @@
1
+ import { cn } from './chunk-DGPY4WP3.js';
2
+ import { GripVerticalIcon } from 'lucide-react';
3
+ import * as ResizablePrimitive from 'react-resizable-panels';
4
+ import { jsx } from 'react/jsx-runtime';
5
+
6
+ function ResizablePanelGroup({
7
+ className,
8
+ ...props
9
+ }) {
10
+ return /* @__PURE__ */ jsx(
11
+ ResizablePrimitive.PanelGroup,
12
+ {
13
+ "data-slot": "resizable-panel-group",
14
+ className: cn(
15
+ "flex h-full w-full data-[panel-group-direction=vertical]:flex-col",
16
+ className
17
+ ),
18
+ ...props
19
+ }
20
+ );
21
+ }
22
+ function ResizablePanel({
23
+ ...props
24
+ }) {
25
+ return /* @__PURE__ */ jsx(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
26
+ }
27
+ function ResizableHandle({
28
+ withHandle,
29
+ className,
30
+ ...props
31
+ }) {
32
+ return /* @__PURE__ */ jsx(
33
+ ResizablePrimitive.PanelResizeHandle,
34
+ {
35
+ "data-slot": "resizable-handle",
36
+ className: cn(
37
+ "bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",
38
+ className
39
+ ),
40
+ ...props,
41
+ children: withHandle && /* @__PURE__ */ jsx("div", { className: "bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border", children: /* @__PURE__ */ jsx(GripVerticalIcon, { className: "size-2.5" }) })
42
+ }
43
+ );
44
+ }
45
+
46
+ export { ResizableHandle, ResizablePanel, ResizablePanelGroup };
47
+ //# sourceMappingURL=chunk-IJIGJGL5.js.map
48
+ //# sourceMappingURL=chunk-IJIGJGL5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/resizable.tsx"],"names":[],"mappings":";;;;;AAMA,SAAS,mBAAA,CAAoB;AAAA,EAC3B,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA+D;AAC7D,EAAA,uBACE,GAAA;AAAA,IAAoB,kBAAA,CAAA,UAAA;AAAA,IAAnB;AAAA,MACC,WAAA,EAAU,uBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,mEAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,cAAA,CAAe;AAAA,EACtB,GAAG;AACL,CAAA,EAA0D;AACxD,EAAA,2BAA2B,kBAAA,CAAA,KAAA,EAAnB,EAAyB,WAAA,EAAU,iBAAA,EAAmB,GAAG,KAAA,EAAO,CAAA;AAC1E;AAEA,SAAS,eAAA,CAAgB;AAAA,EACvB,UAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAEG;AACD,EAAA,uBACE,GAAA;AAAA,IAAoB,kBAAA,CAAA,iBAAA;AAAA,IAAnB;AAAA,MACC,WAAA,EAAU,kBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,2oBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA,UAAA,wBACE,KAAA,EAAA,EAAI,SAAA,EAAU,6EACb,QAAA,kBAAA,GAAA,CAAC,gBAAA,EAAA,EAAiB,SAAA,EAAU,UAAA,EAAW,CAAA,EACzC;AAAA;AAAA,GAEJ;AAEJ","file":"chunk-IJIGJGL5.js","sourcesContent":["import * as React from \"react\";\nimport { GripVerticalIcon } from \"lucide-react\";\nimport * as ResizablePrimitive from \"react-resizable-panels\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction ResizablePanelGroup({\n className,\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) {\n return (\n <ResizablePrimitive.PanelGroup\n data-slot=\"resizable-panel-group\"\n className={cn(\n \"flex h-full w-full data-[panel-group-direction=vertical]:flex-col\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ResizablePanel({\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.Panel>) {\n return <ResizablePrimitive.Panel data-slot=\"resizable-panel\" {...props} />;\n}\n\nfunction ResizableHandle({\n withHandle,\n className,\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {\n withHandle?: boolean;\n}) {\n return (\n <ResizablePrimitive.PanelResizeHandle\n data-slot=\"resizable-handle\"\n className={cn(\n \"bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90\",\n className,\n )}\n {...props}\n >\n {withHandle && (\n <div className=\"bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border\">\n <GripVerticalIcon className=\"size-2.5\" />\n </div>\n )}\n </ResizablePrimitive.PanelResizeHandle>\n );\n}\n\nexport { ResizablePanelGroup, ResizablePanel, ResizableHandle };"]}
@@ -0,0 +1,128 @@
1
+ import { cn } from './chunk-DGPY4WP3.js';
2
+ import { Drawer as Drawer$1 } from 'vaul';
3
+ import { jsx, jsxs } from 'react/jsx-runtime';
4
+
5
+ function Drawer({
6
+ ...props
7
+ }) {
8
+ return /* @__PURE__ */ jsx(Drawer$1.Root, { "data-slot": "drawer", ...props });
9
+ }
10
+ function DrawerTrigger({
11
+ ...props
12
+ }) {
13
+ return /* @__PURE__ */ jsx(Drawer$1.Trigger, { "data-slot": "drawer-trigger", ...props });
14
+ }
15
+ function DrawerPortal({
16
+ ...props
17
+ }) {
18
+ return /* @__PURE__ */ jsx(Drawer$1.Portal, { "data-slot": "drawer-portal", ...props });
19
+ }
20
+ function DrawerClose({
21
+ ...props
22
+ }) {
23
+ return /* @__PURE__ */ jsx(Drawer$1.Close, { "data-slot": "drawer-close", ...props });
24
+ }
25
+ function DrawerOverlay({
26
+ className,
27
+ ...props
28
+ }) {
29
+ return /* @__PURE__ */ jsx(
30
+ Drawer$1.Overlay,
31
+ {
32
+ "data-slot": "drawer-overlay",
33
+ className: cn(
34
+ "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
35
+ className
36
+ ),
37
+ ...props
38
+ }
39
+ );
40
+ }
41
+ function DrawerContent({
42
+ className,
43
+ children,
44
+ ...props
45
+ }) {
46
+ return /* @__PURE__ */ jsxs(DrawerPortal, { "data-slot": "drawer-portal", children: [
47
+ /* @__PURE__ */ jsx(DrawerOverlay, {}),
48
+ /* @__PURE__ */ jsxs(
49
+ Drawer$1.Content,
50
+ {
51
+ "data-slot": "drawer-content",
52
+ className: cn(
53
+ "group/drawer-content bg-background fixed z-50 flex h-auto flex-col",
54
+ "data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b",
55
+ "data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t",
56
+ "data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-sm",
57
+ "data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm",
58
+ className
59
+ ),
60
+ ...props,
61
+ children: [
62
+ /* @__PURE__ */ jsx("div", { className: "bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
63
+ children
64
+ ]
65
+ }
66
+ )
67
+ ] });
68
+ }
69
+ function DrawerHeader({ className, ...props }) {
70
+ return /* @__PURE__ */ jsx(
71
+ "div",
72
+ {
73
+ "data-slot": "drawer-header",
74
+ className: cn("flex flex-col gap-1.5 p-6", className),
75
+ ...props
76
+ }
77
+ );
78
+ }
79
+ function DrawerBody({ className, ...props }) {
80
+ return /* @__PURE__ */ jsx(
81
+ "div",
82
+ {
83
+ "data-slot": "drawer-body",
84
+ className: cn("flex-1 overflow-y-auto px-6 py-4", className),
85
+ ...props
86
+ }
87
+ );
88
+ }
89
+ function DrawerFooter({ className, ...props }) {
90
+ return /* @__PURE__ */ jsx(
91
+ "div",
92
+ {
93
+ "data-slot": "drawer-footer",
94
+ className: cn("mt-auto flex flex-col gap-2 p-6", className),
95
+ ...props
96
+ }
97
+ );
98
+ }
99
+ function DrawerTitle({
100
+ className,
101
+ ...props
102
+ }) {
103
+ return /* @__PURE__ */ jsx(
104
+ Drawer$1.Title,
105
+ {
106
+ "data-slot": "drawer-title",
107
+ className: cn("text-foreground font-semibold", className),
108
+ ...props
109
+ }
110
+ );
111
+ }
112
+ function DrawerDescription({
113
+ className,
114
+ ...props
115
+ }) {
116
+ return /* @__PURE__ */ jsx(
117
+ Drawer$1.Description,
118
+ {
119
+ "data-slot": "drawer-description",
120
+ className: cn("text-muted-foreground text-sm", className),
121
+ ...props
122
+ }
123
+ );
124
+ }
125
+
126
+ export { Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger };
127
+ //# sourceMappingURL=chunk-JPTN62BV.js.map
128
+ //# sourceMappingURL=chunk-JPTN62BV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/drawer.tsx"],"names":["DrawerPrimitive"],"mappings":"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","file":"chunk-JPTN62BV.js","sourcesContent":["import * as React from \"react\";\nimport { Drawer as DrawerPrimitive } from \"vaul\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction Drawer({\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Root>) {\n return <DrawerPrimitive.Root data-slot=\"drawer\" {...props} />;\n}\n\nfunction DrawerTrigger({\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Trigger>) {\n return <DrawerPrimitive.Trigger data-slot=\"drawer-trigger\" {...props} />;\n}\n\nfunction DrawerPortal({\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Portal>) {\n return <DrawerPrimitive.Portal data-slot=\"drawer-portal\" {...props} />;\n}\n\nfunction DrawerClose({\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Close>) {\n return <DrawerPrimitive.Close data-slot=\"drawer-close\" {...props} />;\n}\n\nfunction DrawerOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Overlay>) {\n return (\n <DrawerPrimitive.Overlay\n data-slot=\"drawer-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DrawerContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Content>) {\n return (\n <DrawerPortal data-slot=\"drawer-portal\">\n <DrawerOverlay />\n <DrawerPrimitive.Content\n data-slot=\"drawer-content\"\n className={cn(\n \"group/drawer-content bg-background fixed z-50 flex h-auto flex-col\",\n \"data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b\",\n \"data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t\",\n \"data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-sm\",\n \"data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm\",\n className,\n )}\n {...props}\n >\n <div className=\"bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block\" />\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n );\n}\n\nfunction DrawerHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"drawer-header\"\n className={cn(\"flex flex-col gap-1.5 p-6\", className)}\n {...props}\n />\n );\n}\n\nfunction DrawerBody({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"drawer-body\"\n className={cn(\"flex-1 overflow-y-auto px-6 py-4\", className)}\n {...props}\n />\n );\n}\n\nfunction DrawerFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"drawer-footer\"\n className={cn(\"mt-auto flex flex-col gap-2 p-6\", className)}\n {...props}\n />\n );\n}\n\nfunction DrawerTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Title>) {\n return (\n <DrawerPrimitive.Title\n data-slot=\"drawer-title\"\n className={cn(\"text-foreground font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction DrawerDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Description>) {\n return (\n <DrawerPrimitive.Description\n data-slot=\"drawer-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerBody,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n};"]}
@@ -0,0 +1,66 @@
1
+ import { cn } from './chunk-DGPY4WP3.js';
2
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
3
+ import { jsx } from 'react/jsx-runtime';
4
+
5
+ function Tabs({
6
+ className,
7
+ ...props
8
+ }) {
9
+ return /* @__PURE__ */ jsx(
10
+ TabsPrimitive.Root,
11
+ {
12
+ "data-slot": "tabs",
13
+ className: cn("flex flex-col gap-2", className),
14
+ ...props
15
+ }
16
+ );
17
+ }
18
+ function TabsList({
19
+ className,
20
+ ...props
21
+ }) {
22
+ return /* @__PURE__ */ jsx(
23
+ TabsPrimitive.List,
24
+ {
25
+ "data-slot": "tabs-list",
26
+ className: cn(
27
+ "bg-muted text-muted-foreground inline-flex h-element w-fit items-center justify-center rounded-xl p-[3px] flex",
28
+ className
29
+ ),
30
+ ...props
31
+ }
32
+ );
33
+ }
34
+ function TabsTrigger({
35
+ className,
36
+ ...props
37
+ }) {
38
+ return /* @__PURE__ */ jsx(
39
+ TabsPrimitive.Trigger,
40
+ {
41
+ "data-slot": "tabs-trigger",
42
+ className: cn(
43
+ "data-[state=active]:bg-card dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-xl border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
44
+ className
45
+ ),
46
+ ...props
47
+ }
48
+ );
49
+ }
50
+ function TabsContent({
51
+ className,
52
+ ...props
53
+ }) {
54
+ return /* @__PURE__ */ jsx(
55
+ TabsPrimitive.Content,
56
+ {
57
+ "data-slot": "tabs-content",
58
+ className: cn("flex-1 outline-none", className),
59
+ ...props
60
+ }
61
+ );
62
+ }
63
+
64
+ export { Tabs, TabsContent, TabsList, TabsTrigger };
65
+ //# sourceMappingURL=chunk-KABLXGWK.js.map
66
+ //# sourceMappingURL=chunk-KABLXGWK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/tabs.tsx"],"names":[],"mappings":";;;;AAKA,SAAS,IAAA,CAAK;AAAA,EACZ,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAoD;AAClD,EAAA,uBACE,GAAA;AAAA,IAAe,aAAA,CAAA,IAAA;AAAA,IAAd;AAAA,MACC,WAAA,EAAU,MAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,qBAAA,EAAuB,SAAS,CAAA;AAAA,MAC7C,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,QAAA,CAAS;AAAA,EAChB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAoD;AAClD,EAAA,uBACE,GAAA;AAAA,IAAe,aAAA,CAAA,IAAA;AAAA,IAAd;AAAA,MACC,WAAA,EAAU,WAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,gHAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,WAAA,CAAY;AAAA,EACnB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAuD;AACrD,EAAA,uBACE,GAAA;AAAA,IAAe,aAAA,CAAA,OAAA;AAAA,IAAd;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,6nBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,WAAA,CAAY;AAAA,EACnB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAuD;AACrD,EAAA,uBACE,GAAA;AAAA,IAAe,aAAA,CAAA,OAAA;AAAA,IAAd;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,qBAAA,EAAuB,SAAS,CAAA;AAAA,MAC7C,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-KABLXGWK.js","sourcesContent":["import * as React from \"react\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction Tabs({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n className={cn(\"flex flex-col gap-2\", className)}\n {...props}\n />\n );\n}\n\nfunction TabsList({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n className={cn(\n \"bg-muted text-muted-foreground inline-flex h-element w-fit items-center justify-center rounded-xl p-[3px] flex\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n \"data-[state=active]:bg-card dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-xl border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn(\"flex-1 outline-none\", className)}\n {...props}\n />\n );\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };"]}