@arolariu/components 0.1.1 → 0.2.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 (326) hide show
  1. package/DEBUGGING.md +396 -396
  2. package/LICENSE.md +21 -21
  3. package/changelog.md +109 -118
  4. package/dist/components/ui/accordion.d.ts +2 -2
  5. package/dist/components/ui/accordion.d.ts.map +1 -1
  6. package/dist/components/ui/accordion.js +4 -4
  7. package/dist/components/ui/accordion.js.map +1 -1
  8. package/dist/components/ui/alert-dialog.d.ts +13 -13
  9. package/dist/components/ui/alert-dialog.d.ts.map +1 -1
  10. package/dist/components/ui/alert-dialog.js +4 -4
  11. package/dist/components/ui/alert-dialog.js.map +1 -1
  12. package/dist/components/ui/alert.d.ts +5 -5
  13. package/dist/components/ui/alert.d.ts.map +1 -1
  14. package/dist/components/ui/alert.js +3 -3
  15. package/dist/components/ui/alert.js.map +1 -1
  16. package/dist/components/ui/aspect-ratio.d.ts +1 -1
  17. package/dist/components/ui/aspect-ratio.d.ts.map +1 -1
  18. package/dist/components/ui/aspect-ratio.js +1 -1
  19. package/dist/components/ui/aspect-ratio.js.map +1 -1
  20. package/dist/components/ui/avatar.d.ts +2 -2
  21. package/dist/components/ui/avatar.d.ts.map +1 -1
  22. package/dist/components/ui/avatar.js +3 -3
  23. package/dist/components/ui/avatar.js.map +1 -1
  24. package/dist/components/ui/background-beams.d.ts.map +1 -1
  25. package/dist/components/ui/background-beams.js +6 -6
  26. package/dist/components/ui/background-beams.js.map +1 -1
  27. package/dist/components/ui/badge.d.ts +4 -4
  28. package/dist/components/ui/badge.d.ts.map +1 -1
  29. package/dist/components/ui/badge.js +2 -2
  30. package/dist/components/ui/badge.js.map +1 -1
  31. package/dist/components/ui/breadcrumb.d.ts +6 -6
  32. package/dist/components/ui/breadcrumb.d.ts.map +1 -1
  33. package/dist/components/ui/breadcrumb.js +5 -5
  34. package/dist/components/ui/breadcrumb.js.map +1 -1
  35. package/dist/components/ui/bubble-background.d.ts +1 -1
  36. package/dist/components/ui/bubble-background.d.ts.map +1 -1
  37. package/dist/components/ui/bubble-background.js +13 -13
  38. package/dist/components/ui/bubble-background.js.map +1 -1
  39. package/dist/components/ui/button.d.ts +5 -5
  40. package/dist/components/ui/button.d.ts.map +1 -1
  41. package/dist/components/ui/button.js +2 -2
  42. package/dist/components/ui/button.js.map +1 -1
  43. package/dist/components/ui/calendar.d.ts.map +1 -1
  44. package/dist/components/ui/calendar.js +4 -4
  45. package/dist/components/ui/calendar.js.map +1 -1
  46. package/dist/components/ui/card.d.ts +1 -1
  47. package/dist/components/ui/card.d.ts.map +1 -1
  48. package/dist/components/ui/card.js +3 -3
  49. package/dist/components/ui/card.js.map +1 -1
  50. package/dist/components/ui/carousel.d.ts +2 -2
  51. package/dist/components/ui/carousel.d.ts.map +1 -1
  52. package/dist/components/ui/carousel.js +3 -3
  53. package/dist/components/ui/carousel.js.map +1 -1
  54. package/dist/components/ui/chart.d.ts +4 -4
  55. package/dist/components/ui/chart.d.ts.map +1 -1
  56. package/dist/components/ui/chart.js +1 -1
  57. package/dist/components/ui/chart.js.map +1 -1
  58. package/dist/components/ui/checkbox.d.ts +1 -1
  59. package/dist/components/ui/checkbox.d.ts.map +1 -1
  60. package/dist/components/ui/checkbox.js +3 -3
  61. package/dist/components/ui/checkbox.js.map +1 -1
  62. package/dist/components/ui/collapsible.d.ts +2 -2
  63. package/dist/components/ui/collapsible.d.ts.map +1 -1
  64. package/dist/components/ui/collapsible.js +1 -1
  65. package/dist/components/ui/collapsible.js.map +1 -1
  66. package/dist/components/ui/command.d.ts +2 -2
  67. package/dist/components/ui/command.d.ts.map +1 -1
  68. package/dist/components/ui/command.js +9 -9
  69. package/dist/components/ui/command.js.map +1 -1
  70. package/dist/components/ui/context-menu.d.ts +2 -2
  71. package/dist/components/ui/context-menu.d.ts.map +1 -1
  72. package/dist/components/ui/context-menu.js +11 -11
  73. package/dist/components/ui/context-menu.js.map +1 -1
  74. package/dist/components/ui/counting-number.d.ts +1 -1
  75. package/dist/components/ui/counting-number.d.ts.map +1 -1
  76. package/dist/components/ui/counting-number.js +4 -3
  77. package/dist/components/ui/counting-number.js.map +1 -1
  78. package/dist/components/ui/dialog.d.ts +1 -1
  79. package/dist/components/ui/dialog.d.ts.map +1 -1
  80. package/dist/components/ui/dialog.js +6 -6
  81. package/dist/components/ui/dialog.js.map +1 -1
  82. package/dist/components/ui/dot-background.d.ts +10 -17
  83. package/dist/components/ui/dot-background.d.ts.map +1 -1
  84. package/dist/components/ui/dot-background.js +2 -2
  85. package/dist/components/ui/dot-background.js.map +1 -1
  86. package/dist/components/ui/drawer.d.ts +1 -1
  87. package/dist/components/ui/drawer.d.ts.map +1 -1
  88. package/dist/components/ui/drawer.js +5 -5
  89. package/dist/components/ui/drawer.js.map +1 -1
  90. package/dist/components/ui/dropdown-menu.d.ts +2 -2
  91. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  92. package/dist/components/ui/dropdown-menu.js +10 -10
  93. package/dist/components/ui/dropdown-menu.js.map +1 -1
  94. package/dist/components/ui/dropdrawer.d.ts +2 -2
  95. package/dist/components/ui/dropdrawer.d.ts.map +1 -1
  96. package/dist/components/ui/dropdrawer.js +13 -13
  97. package/dist/components/ui/dropdrawer.js.map +1 -1
  98. package/dist/components/ui/fireworks-background.d.ts.map +1 -1
  99. package/dist/components/ui/fireworks-background.js +1 -1
  100. package/dist/components/ui/fireworks-background.js.map +1 -1
  101. package/dist/components/ui/flip-button.d.ts +1 -1
  102. package/dist/components/ui/flip-button.d.ts.map +1 -1
  103. package/dist/components/ui/flip-button.js +3 -3
  104. package/dist/components/ui/flip-button.js.map +1 -1
  105. package/dist/components/ui/form.d.ts +3 -3
  106. package/dist/components/ui/form.d.ts.map +1 -1
  107. package/dist/components/ui/form.js +4 -4
  108. package/dist/components/ui/form.js.map +1 -1
  109. package/dist/components/ui/gradient-background.d.ts +1 -1
  110. package/dist/components/ui/gradient-background.d.ts.map +1 -1
  111. package/dist/components/ui/gradient-background.js +2 -2
  112. package/dist/components/ui/gradient-background.js.map +1 -1
  113. package/dist/components/ui/gradient-text.d.ts +1 -1
  114. package/dist/components/ui/gradient-text.d.ts.map +1 -1
  115. package/dist/components/ui/gradient-text.js +5 -5
  116. package/dist/components/ui/gradient-text.js.map +1 -1
  117. package/dist/components/ui/highlight-text.d.ts +1 -1
  118. package/dist/components/ui/highlight-text.d.ts.map +1 -1
  119. package/dist/components/ui/highlight-text.js +3 -3
  120. package/dist/components/ui/highlight-text.js.map +1 -1
  121. package/dist/components/ui/hole-background.d.ts.map +1 -1
  122. package/dist/components/ui/hole-background.js +11 -10
  123. package/dist/components/ui/hole-background.js.map +1 -1
  124. package/dist/components/ui/hover-card.d.ts +2 -2
  125. package/dist/components/ui/hover-card.d.ts.map +1 -1
  126. package/dist/components/ui/hover-card.js +3 -3
  127. package/dist/components/ui/hover-card.js.map +1 -1
  128. package/dist/components/ui/input-otp.d.ts +2 -2
  129. package/dist/components/ui/input-otp.d.ts.map +1 -1
  130. package/dist/components/ui/input-otp.js +5 -5
  131. package/dist/components/ui/input-otp.js.map +1 -1
  132. package/dist/components/ui/input.d.ts.map +1 -1
  133. package/dist/components/ui/input.js +2 -2
  134. package/dist/components/ui/input.js.map +1 -1
  135. package/dist/components/ui/label.d.ts +1 -1
  136. package/dist/components/ui/label.d.ts.map +1 -1
  137. package/dist/components/ui/label.js +2 -2
  138. package/dist/components/ui/label.js.map +1 -1
  139. package/dist/components/ui/menubar.d.ts +2 -2
  140. package/dist/components/ui/menubar.d.ts.map +1 -1
  141. package/dist/components/ui/menubar.js +12 -12
  142. package/dist/components/ui/menubar.js.map +1 -1
  143. package/dist/components/ui/navigation-menu.d.ts +3 -3
  144. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  145. package/dist/components/ui/navigation-menu.js +6 -7
  146. package/dist/components/ui/navigation-menu.js.map +1 -1
  147. package/dist/components/ui/pagination.d.ts +2 -2
  148. package/dist/components/ui/pagination.d.ts.map +1 -1
  149. package/dist/components/ui/pagination.js +8 -4
  150. package/dist/components/ui/pagination.js.map +1 -1
  151. package/dist/components/ui/popover.d.ts +2 -2
  152. package/dist/components/ui/popover.d.ts.map +1 -1
  153. package/dist/components/ui/popover.js +3 -3
  154. package/dist/components/ui/popover.js.map +1 -1
  155. package/dist/components/ui/progress.d.ts +1 -1
  156. package/dist/components/ui/progress.d.ts.map +1 -1
  157. package/dist/components/ui/progress.js +4 -4
  158. package/dist/components/ui/progress.js.map +1 -1
  159. package/dist/components/ui/radio-group.d.ts +1 -1
  160. package/dist/components/ui/radio-group.d.ts.map +1 -1
  161. package/dist/components/ui/radio-group.js +3 -3
  162. package/dist/components/ui/radio-group.js.map +1 -1
  163. package/dist/components/ui/resizable.d.ts +1 -1
  164. package/dist/components/ui/resizable.d.ts.map +1 -1
  165. package/dist/components/ui/resizable.js +5 -5
  166. package/dist/components/ui/resizable.js.map +1 -1
  167. package/dist/components/ui/ripple-button.d.ts +1 -1
  168. package/dist/components/ui/ripple-button.d.ts.map +1 -1
  169. package/dist/components/ui/ripple-button.js +4 -4
  170. package/dist/components/ui/ripple-button.js.map +1 -1
  171. package/dist/components/ui/scratcher.d.ts.map +1 -1
  172. package/dist/components/ui/scratcher.js +7 -5
  173. package/dist/components/ui/scratcher.js.map +1 -1
  174. package/dist/components/ui/scroll-area.d.ts +1 -1
  175. package/dist/components/ui/scroll-area.d.ts.map +1 -1
  176. package/dist/components/ui/scroll-area.js +4 -4
  177. package/dist/components/ui/scroll-area.js.map +1 -1
  178. package/dist/components/ui/select.d.ts +1 -1
  179. package/dist/components/ui/select.d.ts.map +1 -1
  180. package/dist/components/ui/select.js +7 -7
  181. package/dist/components/ui/select.js.map +1 -1
  182. package/dist/components/ui/separator.d.ts +1 -1
  183. package/dist/components/ui/separator.d.ts.map +1 -1
  184. package/dist/components/ui/separator.js +3 -3
  185. package/dist/components/ui/separator.js.map +1 -1
  186. package/dist/components/ui/sheet.d.ts +2 -2
  187. package/dist/components/ui/sheet.d.ts.map +1 -1
  188. package/dist/components/ui/sheet.js +6 -6
  189. package/dist/components/ui/sheet.js.map +1 -1
  190. package/dist/components/ui/sidebar.d.ts +5 -5
  191. package/dist/components/ui/sidebar.d.ts.map +1 -1
  192. package/dist/components/ui/sidebar.js +5 -5
  193. package/dist/components/ui/sidebar.js.map +1 -1
  194. package/dist/components/ui/skeleton.d.ts.map +1 -1
  195. package/dist/components/ui/skeleton.js +2 -2
  196. package/dist/components/ui/skeleton.js.map +1 -1
  197. package/dist/components/ui/slider.d.ts +1 -1
  198. package/dist/components/ui/slider.d.ts.map +1 -1
  199. package/dist/components/ui/slider.js +5 -5
  200. package/dist/components/ui/slider.js.map +1 -1
  201. package/dist/components/ui/sonner.d.ts +1 -1
  202. package/dist/components/ui/sonner.d.ts.map +1 -1
  203. package/dist/components/ui/sonner.js +1 -1
  204. package/dist/components/ui/sonner.js.map +1 -1
  205. package/dist/components/ui/switch.d.ts +1 -1
  206. package/dist/components/ui/switch.d.ts.map +1 -1
  207. package/dist/components/ui/switch.js +4 -4
  208. package/dist/components/ui/switch.js.map +1 -1
  209. package/dist/components/ui/table.d.ts +1 -1
  210. package/dist/components/ui/table.d.ts.map +1 -1
  211. package/dist/components/ui/table.js +5 -5
  212. package/dist/components/ui/table.js.map +1 -1
  213. package/dist/components/ui/tabs.d.ts +2 -2
  214. package/dist/components/ui/tabs.d.ts.map +1 -1
  215. package/dist/components/ui/tabs.js +4 -4
  216. package/dist/components/ui/tabs.js.map +1 -1
  217. package/dist/components/ui/textarea.d.ts +1 -1
  218. package/dist/components/ui/textarea.d.ts.map +1 -1
  219. package/dist/components/ui/textarea.js +2 -2
  220. package/dist/components/ui/textarea.js.map +1 -1
  221. package/dist/components/ui/toggle-group.d.ts +3 -3
  222. package/dist/components/ui/toggle-group.d.ts.map +1 -1
  223. package/dist/components/ui/toggle-group.js +2 -2
  224. package/dist/components/ui/toggle-group.js.map +1 -1
  225. package/dist/components/ui/toggle.d.ts +6 -6
  226. package/dist/components/ui/toggle.d.ts.map +1 -1
  227. package/dist/components/ui/toggle.js +2 -2
  228. package/dist/components/ui/toggle.js.map +1 -1
  229. package/dist/components/ui/tooltip.d.ts +6 -6
  230. package/dist/components/ui/tooltip.d.ts.map +1 -1
  231. package/dist/components/ui/tooltip.js +4 -4
  232. package/dist/components/ui/tooltip.js.map +1 -1
  233. package/dist/components/ui/typewriter.d.ts.map +1 -1
  234. package/dist/components/ui/typewriter.js +15 -11
  235. package/dist/components/ui/typewriter.js.map +1 -1
  236. package/dist/hooks/{use-mobile.d.ts → useIsMobile.d.ts} +3 -6
  237. package/dist/hooks/useIsMobile.d.ts.map +1 -0
  238. package/dist/hooks/useIsMobile.js +19 -0
  239. package/dist/hooks/useIsMobile.js.map +1 -0
  240. package/dist/hooks/useWindowSize.d.ts +29 -0
  241. package/dist/hooks/useWindowSize.d.ts.map +1 -0
  242. package/dist/hooks/useWindowSize.js +28 -0
  243. package/dist/hooks/useWindowSize.js.map +1 -0
  244. package/dist/index.css +2 -2
  245. package/dist/index.css.map +1 -1
  246. package/dist/index.d.ts +39 -38
  247. package/dist/index.d.ts.map +1 -1
  248. package/dist/index.js +5 -4
  249. package/dist/lib/utilities.d.ts +9 -0
  250. package/dist/lib/utilities.d.ts.map +1 -0
  251. package/dist/lib/{utils.js → utilities.js} +1 -1
  252. package/dist/lib/utilities.js.map +1 -0
  253. package/package.json +95 -94
  254. package/{README.md → readme.md} +627 -627
  255. package/src/components/ui/accordion.tsx +56 -66
  256. package/src/components/ui/alert-dialog.tsx +135 -160
  257. package/src/components/ui/alert.tsx +58 -69
  258. package/src/components/ui/aspect-ratio.tsx +15 -12
  259. package/src/components/ui/avatar.tsx +38 -53
  260. package/src/components/ui/background-beams.tsx +145 -142
  261. package/src/components/ui/badge.tsx +47 -48
  262. package/src/components/ui/breadcrumb.tsx +97 -117
  263. package/src/components/ui/bubble-background.tsx +170 -189
  264. package/src/components/ui/button.tsx +61 -61
  265. package/src/components/ui/calendar.tsx +177 -216
  266. package/src/components/ui/card.tsx +83 -97
  267. package/src/components/ui/carousel.tsx +204 -241
  268. package/src/components/ui/chart.tsx +303 -385
  269. package/src/components/ui/checkbox.tsx +27 -32
  270. package/src/components/ui/collapsible.tsx +33 -34
  271. package/src/components/ui/command.tsx +137 -184
  272. package/src/components/ui/context-menu.tsx +229 -255
  273. package/src/components/ui/counting-number.tsx +92 -108
  274. package/src/components/ui/dialog.tsx +141 -146
  275. package/src/components/ui/dot-background.tsx +153 -158
  276. package/src/components/ui/drawer.tsx +133 -141
  277. package/src/components/ui/dropdown-menu.tsx +235 -260
  278. package/src/components/ui/dropdrawer.tsx +870 -973
  279. package/src/components/ui/fireworks-background.tsx +325 -378
  280. package/src/components/ui/flip-button.tsx +89 -110
  281. package/src/components/ui/form.tsx +145 -174
  282. package/src/components/ui/gradient-background.tsx +30 -43
  283. package/src/components/ui/gradient-text.tsx +62 -65
  284. package/src/components/ui/highlight-text.tsx +54 -71
  285. package/src/components/ui/hole-background.tsx +326 -361
  286. package/src/components/ui/hover-card.tsx +48 -44
  287. package/src/components/ui/input-otp.tsx +76 -77
  288. package/src/components/ui/input.tsx +22 -22
  289. package/src/components/ui/label.tsx +21 -24
  290. package/src/components/ui/menubar.tsx +256 -279
  291. package/src/components/ui/navigation-menu.tsx +135 -171
  292. package/src/components/ui/pagination.tsx +103 -129
  293. package/src/components/ui/popover.tsx +52 -48
  294. package/src/components/ui/progress.tsx +23 -31
  295. package/src/components/ui/radio-group.tsx +37 -45
  296. package/src/components/ui/resizable.tsx +52 -56
  297. package/src/components/ui/ripple-button.tsx +90 -111
  298. package/src/components/ui/scratcher.tsx +167 -171
  299. package/src/components/ui/scroll-area.tsx +45 -58
  300. package/src/components/ui/select.tsx +160 -191
  301. package/src/components/ui/separator.tsx +28 -28
  302. package/src/components/ui/sheet.tsx +133 -145
  303. package/src/components/ui/sidebar.tsx +673 -729
  304. package/src/components/ui/skeleton.tsx +16 -19
  305. package/src/components/ui/slider.tsx +49 -63
  306. package/src/components/ui/sonner.tsx +30 -26
  307. package/src/components/ui/switch.tsx +27 -31
  308. package/src/components/ui/table.tsx +98 -119
  309. package/src/components/ui/tabs.tsx +54 -66
  310. package/src/components/ui/textarea.tsx +20 -20
  311. package/src/components/ui/toggle-group.tsx +66 -73
  312. package/src/components/ui/toggle.tsx +46 -47
  313. package/src/components/ui/tooltip.tsx +56 -61
  314. package/src/components/ui/typewriter.tsx +174 -188
  315. package/src/hooks/{use-mobile.tsx → useIsMobile.tsx} +42 -44
  316. package/src/hooks/useWindowSize.tsx +66 -0
  317. package/src/index.css +73 -73
  318. package/src/index.ts +303 -407
  319. package/src/lib/utilities.ts +12 -0
  320. package/dist/hooks/use-mobile.d.ts.map +0 -1
  321. package/dist/hooks/use-mobile.js +0 -18
  322. package/dist/hooks/use-mobile.js.map +0 -1
  323. package/dist/lib/utils.d.ts +0 -7
  324. package/dist/lib/utils.d.ts.map +0 -1
  325. package/dist/lib/utils.js.map +0 -1
  326. package/src/lib/utils.ts +0 -10
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\calendar.js","sources":["webpack://@arolariu/components/./src/components/ui/calendar.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n} from \"lucide-react\";\nimport { DayButton, DayPicker, getDefaultClassNames } from \"react-day-picker\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Button, buttonVariants } from \"@/components/ui/button\";\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = \"label\",\n buttonVariant = \"ghost\",\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"];\n}) {\n const defaultClassNames = getDefaultClassNames();\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n \"bg-white group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent dark:bg-neutral-950\",\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className,\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) =>\n date.toLocaleString(\"default\", { month: \"short\" }),\n ...formatters,\n }}\n classNames={{\n root: cn(\"w-fit\", defaultClassNames.root),\n months: cn(\n \"flex gap-4 flex-col md:flex-row relative\",\n defaultClassNames.months,\n ),\n month: cn(\"flex flex-col w-full gap-4\", defaultClassNames.month),\n nav: cn(\n \"flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between\",\n defaultClassNames.nav,\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_previous,\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_next,\n ),\n month_caption: cn(\n \"flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)\",\n defaultClassNames.month_caption,\n ),\n dropdowns: cn(\n \"w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5\",\n defaultClassNames.dropdowns,\n ),\n dropdown_root: cn(\n \"relative has-focus:border-neutral-950 border border-neutral-200 shadow-xs has-focus:ring-neutral-950/50 has-focus:ring-[3px] rounded-md dark:has-focus:border-neutral-300 dark:border-neutral-800 dark:has-focus:ring-neutral-300/50\",\n defaultClassNames.dropdown_root,\n ),\n dropdown: cn(\n \"absolute bg-white inset-0 opacity-0 dark:bg-neutral-950\",\n defaultClassNames.dropdown,\n ),\n caption_label: cn(\n \"select-none font-medium\",\n captionLayout === \"label\"\n ? \"text-sm\"\n : \"rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-neutral-500 [&>svg]:size-3.5 dark:[&>svg]:text-neutral-400\",\n defaultClassNames.caption_label,\n ),\n table: \"w-full border-collapse\",\n weekdays: cn(\"flex\", defaultClassNames.weekdays),\n weekday: cn(\n \"text-neutral-500 rounded-md flex-1 font-normal text-[0.8rem] select-none dark:text-neutral-400\",\n defaultClassNames.weekday,\n ),\n week: cn(\"flex w-full mt-2\", defaultClassNames.week),\n week_number_header: cn(\n \"select-none w-(--cell-size)\",\n defaultClassNames.week_number_header,\n ),\n week_number: cn(\n \"text-[0.8rem] select-none text-neutral-500 dark:text-neutral-400\",\n defaultClassNames.week_number,\n ),\n day: cn(\n \"relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none\",\n defaultClassNames.day,\n ),\n range_start: cn(\n \"rounded-l-md bg-neutral-100 dark:bg-neutral-800\",\n defaultClassNames.range_start,\n ),\n range_middle: cn(\"rounded-none\", defaultClassNames.range_middle),\n range_end: cn(\n \"rounded-r-md bg-neutral-100 dark:bg-neutral-800\",\n defaultClassNames.range_end,\n ),\n today: cn(\n \"bg-neutral-100 text-neutral-900 rounded-md data-[selected=true]:rounded-none dark:bg-neutral-800 dark:text-neutral-50\",\n defaultClassNames.today,\n ),\n outside: cn(\n \"text-neutral-500 aria-selected:text-neutral-500 dark:text-neutral-400 dark:aria-selected:text-neutral-400\",\n defaultClassNames.outside,\n ),\n disabled: cn(\n \"text-neutral-500 opacity-50 dark:text-neutral-400\",\n defaultClassNames.disabled,\n ),\n hidden: cn(\"invisible\", defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return (\n <div\n data-slot=\"calendar\"\n ref={rootRef}\n className={cn(className)}\n {...props}\n />\n );\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === \"left\") {\n return (\n <ChevronLeftIcon className={cn(\"size-4\", className)} {...props} />\n );\n }\n\n if (orientation === \"right\") {\n return (\n <ChevronRightIcon\n className={cn(\"size-4\", className)}\n {...props}\n />\n );\n }\n\n return (\n <ChevronDownIcon className={cn(\"size-4\", className)} {...props} />\n );\n },\n DayButton: CalendarDayButton,\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">\n {children}\n </div>\n </td>\n );\n },\n ...components,\n }}\n {...props}\n />\n );\n}\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n ...props\n}: React.ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames();\n\n const ref = React.useRef<HTMLButtonElement>(null);\n React.useEffect(() => {\n if (modifiers[\"focused\"]) ref.current?.focus();\n }, [modifiers[\"focused\"]]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers[\"selected\"] &&\n !modifiers[\"range_start\"] &&\n !modifiers[\"range_end\"] &&\n !modifiers[\"range_middle\"]\n }\n data-range-start={modifiers[\"range_start\"]}\n data-range-end={modifiers[\"range_end\"]}\n data-range-middle={modifiers[\"range_middle\"]}\n className={cn(\n \"data-[selected-single=true]:bg-neutral-900 data-[selected-single=true]:text-neutral-50 data-[range-middle=true]:bg-neutral-100 data-[range-middle=true]:text-neutral-900 data-[range-start=true]:bg-neutral-900 data-[range-start=true]:text-neutral-50 data-[range-end=true]:bg-neutral-900 data-[range-end=true]:text-neutral-50 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-neutral-900 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70 dark:data-[selected-single=true]:bg-neutral-50 dark:data-[selected-single=true]:text-neutral-900 dark:data-[range-middle=true]:bg-neutral-800 dark:data-[range-middle=true]:text-neutral-50 dark:data-[range-start=true]:bg-neutral-50 dark:data-[range-start=true]:text-neutral-900 dark:data-[range-end=true]:bg-neutral-50 dark:data-[range-end=true]:text-neutral-900 dark:dark:hover:text-neutral-50\",\n defaultClassNames.day,\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Calendar, CalendarDayButton };\n"],"names":["Calendar","className","classNames","showOutsideDays","captionLayout","buttonVariant","formatters","components","props","defaultClassNames","getDefaultClassNames","DayPicker","cn","String","date","buttonVariants","rootRef","orientation","ChevronLeftIcon","ChevronRightIcon","ChevronDownIcon","CalendarDayButton","children","day","modifiers","ref","React","Button"],"mappings":"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"}
1
+ {"version":3,"file":"components\\ui\\calendar.js","sources":["webpack://@arolariu/components/./src/components/ui/calendar.tsx"],"sourcesContent":["\r\n\r\n/* eslint-disable */\r\n\r\nimport {ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon} from \"lucide-react\";\r\nimport * as React from \"react\";\r\nimport {DayButton, DayPicker, getDefaultClassNames} from \"react-day-picker\";\r\n\r\nimport {Button, buttonVariants} from \"@/components/ui/button\";\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nfunction Calendar({\r\n className,\r\n classNames,\r\n showOutsideDays = true,\r\n captionLayout = \"label\",\r\n buttonVariant = \"ghost\",\r\n formatters,\r\n components,\r\n ...props\r\n}: React.ComponentProps<typeof DayPicker> & {\r\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"];\r\n}) {\r\n const defaultClassNames = getDefaultClassNames();\r\n\r\n return (\r\n <DayPicker\r\n showOutsideDays={showOutsideDays}\r\n className={cn(\r\n \"group/calendar bg-white p-3 [--cell-size:--spacing(8)] dark:bg-neutral-950 [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent\",\r\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\r\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\r\n className,\r\n )}\r\n captionLayout={captionLayout}\r\n formatters={{\r\n formatMonthDropdown: (date) => date.toLocaleString(\"default\", {month: \"short\"}),\r\n ...formatters,\r\n }}\r\n classNames={{\r\n root: cn(\"w-fit\", defaultClassNames.root),\r\n months: cn(\"flex gap-4 flex-col md:flex-row relative\", defaultClassNames.months),\r\n month: cn(\"flex flex-col w-full gap-4\", defaultClassNames.month),\r\n nav: cn(\"flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between\", defaultClassNames.nav),\r\n button_previous: cn(\r\n buttonVariants({variant: buttonVariant}),\r\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\r\n defaultClassNames.button_previous,\r\n ),\r\n button_next: cn(\r\n buttonVariants({variant: buttonVariant}),\r\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\r\n defaultClassNames.button_next,\r\n ),\r\n month_caption: cn(\"flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)\", defaultClassNames.month_caption),\r\n dropdowns: cn(\"w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5\", defaultClassNames.dropdowns),\r\n dropdown_root: cn(\r\n \"relative has-focus:border-neutral-950 border border-neutral-200 shadow-xs has-focus:ring-neutral-950/50 has-focus:ring-[3px] rounded-md dark:has-focus:border-neutral-300 dark:border-neutral-800 dark:has-focus:ring-neutral-300/50\",\r\n defaultClassNames.dropdown_root,\r\n ),\r\n dropdown: cn(\"absolute bg-white inset-0 opacity-0 dark:bg-neutral-950\", defaultClassNames.dropdown),\r\n caption_label: cn(\r\n \"select-none font-medium\",\r\n captionLayout === \"label\"\r\n ? \"text-sm\"\r\n : \"rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-neutral-500 [&>svg]:size-3.5 dark:[&>svg]:text-neutral-400\",\r\n defaultClassNames.caption_label,\r\n ),\r\n table: \"w-full border-collapse\",\r\n weekdays: cn(\"flex\", defaultClassNames.weekdays),\r\n weekday: cn(\r\n \"text-neutral-500 rounded-md flex-1 font-normal text-[0.8rem] select-none dark:text-neutral-400\",\r\n defaultClassNames.weekday,\r\n ),\r\n week: cn(\"flex w-full mt-2\", defaultClassNames.week),\r\n week_number_header: cn(\"select-none w-(--cell-size)\", defaultClassNames.week_number_header),\r\n week_number: cn(\"text-[0.8rem] select-none text-neutral-500 dark:text-neutral-400\", defaultClassNames.week_number),\r\n day: cn(\r\n \"relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none\",\r\n defaultClassNames.day,\r\n ),\r\n range_start: cn(\"rounded-l-md bg-neutral-100 dark:bg-neutral-800\", defaultClassNames.range_start),\r\n range_middle: cn(\"rounded-none\", defaultClassNames.range_middle),\r\n range_end: cn(\"rounded-r-md bg-neutral-100 dark:bg-neutral-800\", defaultClassNames.range_end),\r\n today: cn(\r\n \"bg-neutral-100 text-neutral-900 rounded-md data-[selected=true]:rounded-none dark:bg-neutral-800 dark:text-neutral-50\",\r\n defaultClassNames.today,\r\n ),\r\n outside: cn(\r\n \"text-neutral-500 aria-selected:text-neutral-500 dark:text-neutral-400 dark:aria-selected:text-neutral-400\",\r\n defaultClassNames.outside,\r\n ),\r\n disabled: cn(\"text-neutral-500 opacity-50 dark:text-neutral-400\", defaultClassNames.disabled),\r\n hidden: cn(\"invisible\", defaultClassNames.hidden),\r\n ...classNames,\r\n }}\r\n components={{\r\n Root: ({className, rootRef, ...props}) => {\r\n return (\r\n <div\r\n data-slot='calendar'\r\n ref={rootRef}\r\n className={cn(className)}\r\n {...props}\r\n />\r\n );\r\n },\r\n Chevron: ({className, orientation, ...props}) => {\r\n if (orientation === \"left\") {\r\n return (\r\n <ChevronLeftIcon\r\n className={cn(\"size-4\", className)}\r\n {...props}\r\n />\r\n );\r\n }\r\n\r\n if (orientation === \"right\") {\r\n return (\r\n <ChevronRightIcon\r\n className={cn(\"size-4\", className)}\r\n {...props}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <ChevronDownIcon\r\n className={cn(\"size-4\", className)}\r\n {...props}\r\n />\r\n );\r\n },\r\n DayButton: CalendarDayButton,\r\n WeekNumber: ({children, ...props}) => {\r\n return (\r\n <td {...props}>\r\n <div className='flex size-(--cell-size) items-center justify-center text-center'>{children}</div>\r\n </td>\r\n );\r\n },\r\n ...components,\r\n }}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction CalendarDayButton({className, day, modifiers, ...props}: React.ComponentProps<typeof DayButton>) {\r\n const defaultClassNames = getDefaultClassNames();\r\n\r\n const ref = React.useRef<HTMLButtonElement>(null);\r\n React.useEffect(() => {\r\n if (modifiers[\"focused\"]) ref.current?.focus();\r\n }, [modifiers[\"focused\"]]);\r\n\r\n return (\r\n <Button\r\n ref={ref}\r\n variant='ghost'\r\n size='icon'\r\n data-day={day.date.toLocaleDateString()}\r\n data-selected-single={modifiers[\"selected\"] && !modifiers[\"range_start\"] && !modifiers[\"range_end\"] && !modifiers[\"range_middle\"]}\r\n data-range-start={modifiers[\"range_start\"]}\r\n data-range-end={modifiers[\"range_end\"]}\r\n data-range-middle={modifiers[\"range_middle\"]}\r\n className={cn(\r\n \"group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-end=true]:bg-neutral-900 data-[range-end=true]:text-neutral-50 data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-neutral-100 data-[range-middle=true]:text-neutral-900 data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md data-[range-start=true]:bg-neutral-900 data-[range-start=true]:text-neutral-50 data-[selected-single=true]:bg-neutral-900 data-[selected-single=true]:text-neutral-50 dark:dark:hover:text-neutral-50 dark:hover:text-neutral-900 dark:data-[range-end=true]:bg-neutral-50 dark:data-[range-end=true]:text-neutral-900 dark:data-[range-middle=true]:bg-neutral-800 dark:data-[range-middle=true]:text-neutral-50 dark:data-[range-start=true]:bg-neutral-50 dark:data-[range-start=true]:text-neutral-900 dark:data-[selected-single=true]:bg-neutral-50 dark:data-[selected-single=true]:text-neutral-900 [&>span]:text-xs [&>span]:opacity-70\",\r\n defaultClassNames.day,\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport {Calendar, CalendarDayButton};\r\n"],"names":["Calendar","className","classNames","showOutsideDays","captionLayout","buttonVariant","formatters","components","props","defaultClassNames","getDefaultClassNames","DayPicker","cn","String","date","buttonVariants","rootRef","orientation","ChevronLeftIcon","ChevronRightIcon","ChevronDownIcon","CalendarDayButton","children","day","modifiers","ref","React","Button"],"mappings":"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"}
@@ -6,5 +6,5 @@ declare function CardDescription({ className, ...props }: React.ComponentProps<"
6
6
  declare function CardAction({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
7
7
  declare function CardContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
8
8
  declare function CardFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
9
- export { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent, };
9
+ export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };
10
10
  //# sourceMappingURL=card.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../src/components/ui/card.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,iBAAS,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWjE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWvE;AAED,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQtE;AAED,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAW5E;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWvE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQxE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQvE;AAED,OAAO,EACL,IAAI,EACJ,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,WAAW,GACZ,CAAC"}
1
+ {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../src/components/ui/card.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,iBAAS,IAAI,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAW/D;AAED,iBAAS,UAAU,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWrE;AAED,iBAAS,SAAS,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQpE;AAED,iBAAS,eAAe,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ1E;AAED,iBAAS,UAAU,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQrE;AAED,iBAAS,WAAW,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQtE;AAED,iBAAS,UAAU,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQrE;AAED,OAAO,EAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAC,CAAC"}
@@ -1,11 +1,11 @@
1
1
  "use client";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import "react";
4
- import { cn } from "../../lib/utils.js";
4
+ import { cn } from "../../lib/utilities.js";
5
5
  function Card({ className, ...props }) {
6
6
  return /*#__PURE__*/ jsx("div", {
7
7
  "data-slot": "card",
8
- className: cn("bg-white text-neutral-950 flex flex-col gap-6 rounded-xl border border-neutral-200 py-6 shadow-sm dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800", className),
8
+ className: cn("flex flex-col gap-6 rounded-xl border border-neutral-200 bg-white py-6 text-neutral-950 shadow-sm dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50", className),
9
9
  ...props
10
10
  });
11
11
  }
@@ -26,7 +26,7 @@ function CardTitle({ className, ...props }) {
26
26
  function CardDescription({ className, ...props }) {
27
27
  return /*#__PURE__*/ jsx("div", {
28
28
  "data-slot": "card-description",
29
- className: cn("text-neutral-500 text-sm dark:text-neutral-400", className),
29
+ className: cn("text-sm text-neutral-500 dark:text-neutral-400", className),
30
30
  ...props
31
31
  });
32
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\card.js","sources":["webpack://@arolariu/components/./src/components/ui/card.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Card({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card\"\n className={cn(\n \"bg-white text-neutral-950 flex flex-col gap-6 rounded-xl border border-neutral-200 py-6 shadow-sm dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n \"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn(\"leading-none font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn(\n \"text-neutral-500 text-sm dark:text-neutral-400\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn(\"px-6\", className)}\n {...props}\n />\n );\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\"flex items-center px-6 [.border-t]:pt-6\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n};\n"],"names":["Card","className","props","cn","CardHeader","CardTitle","CardDescription","CardAction","CardContent","CardFooter"],"mappings":";;;;AAMA,SAASA,KAAK,EAAEC,SAAS,EAAE,GAAGC,OAAoC;IAChE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWC,GACT,sKACAF;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASE,WAAW,EAAEH,SAAS,EAAE,GAAGC,OAAoC;IACtE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWC,GACT,8JACAF;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASG,UAAU,EAAEJ,SAAS,EAAE,GAAGC,OAAoC;IACrE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWC,GAAG,8BAA8BF;QAC3C,GAAGC,KAAK;;AAGf;AAEA,SAASI,gBAAgB,EAAEL,SAAS,EAAE,GAAGC,OAAoC;IAC3E,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWC,GACT,kDACAF;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASK,WAAW,EAAEN,SAAS,EAAE,GAAGC,OAAoC;IACtE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWC,GACT,kEACAF;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASM,YAAY,EAAEP,SAAS,EAAE,GAAGC,OAAoC;IACvE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWC,GAAG,QAAQF;QACrB,GAAGC,KAAK;;AAGf;AAEA,SAASO,WAAW,EAAER,SAAS,EAAE,GAAGC,OAAoC;IACtE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWC,GAAG,2CAA2CF;QACxD,GAAGC,KAAK;;AAGf"}
1
+ {"version":3,"file":"components\\ui\\card.js","sources":["webpack://@arolariu/components/./src/components/ui/card.tsx"],"sourcesContent":["\r\n\r\nimport * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nfunction Card({className, ...props}: React.ComponentProps<\"div\">) {\r\n return (\r\n <div\r\n data-slot='card'\r\n className={cn(\r\n \"flex flex-col gap-6 rounded-xl border border-neutral-200 bg-white py-6 text-neutral-950 shadow-sm dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction CardHeader({className, ...props}: React.ComponentProps<\"div\">) {\r\n return (\r\n <div\r\n data-slot='card-header'\r\n className={cn(\r\n \"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction CardTitle({className, ...props}: React.ComponentProps<\"div\">) {\r\n return (\r\n <div\r\n data-slot='card-title'\r\n className={cn(\"leading-none font-semibold\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction CardDescription({className, ...props}: React.ComponentProps<\"div\">) {\r\n return (\r\n <div\r\n data-slot='card-description'\r\n className={cn(\"text-sm text-neutral-500 dark:text-neutral-400\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction CardAction({className, ...props}: React.ComponentProps<\"div\">) {\r\n return (\r\n <div\r\n data-slot='card-action'\r\n className={cn(\"col-start-2 row-span-2 row-start-1 self-start justify-self-end\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction CardContent({className, ...props}: React.ComponentProps<\"div\">) {\r\n return (\r\n <div\r\n data-slot='card-content'\r\n className={cn(\"px-6\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction CardFooter({className, ...props}: React.ComponentProps<\"div\">) {\r\n return (\r\n <div\r\n data-slot='card-footer'\r\n className={cn(\"flex items-center px-6 [.border-t]:pt-6\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport {Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle};\r\n"],"names":["Card","className","props","cn","CardHeader","CardTitle","CardDescription","CardAction","CardContent","CardFooter"],"mappings":";;;;AAMA,SAASA,KAAK,EAACC,SAAS,EAAE,GAAGC,OAAmC;IAC9D,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWC,GACT,sKACAF;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASE,WAAW,EAACH,SAAS,EAAE,GAAGC,OAAmC;IACpE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWC,GACT,8JACAF;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASG,UAAU,EAACJ,SAAS,EAAE,GAAGC,OAAmC;IACnE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWC,GAAG,8BAA8BF;QAC3C,GAAGC,KAAK;;AAGf;AAEA,SAASI,gBAAgB,EAACL,SAAS,EAAE,GAAGC,OAAmC;IACzE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWC,GAAG,kDAAkDF;QAC/D,GAAGC,KAAK;;AAGf;AAEA,SAASK,WAAW,EAACN,SAAS,EAAE,GAAGC,OAAmC;IACpE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWC,GAAG,kEAAkEF;QAC/E,GAAGC,KAAK;;AAGf;AAEA,SAASM,YAAY,EAACP,SAAS,EAAE,GAAGC,OAAmC;IACrE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWC,GAAG,QAAQF;QACrB,GAAGC,KAAK;;AAGf;AAEA,SAASO,WAAW,EAACR,SAAS,EAAE,GAAGC,OAAmC;IACpE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWC,GAAG,2CAA2CF;QACxD,GAAGC,KAAK;;AAGf"}
@@ -1,5 +1,5 @@
1
- import * as React from "react";
2
1
  import useEmblaCarousel, { type UseEmblaCarouselType } from "embla-carousel-react";
2
+ import * as React from "react";
3
3
  import { Button } from "./button";
4
4
  type CarouselApi = UseEmblaCarouselType[1];
5
5
  type UseCarouselParameters = Parameters<typeof useEmblaCarousel>;
@@ -16,5 +16,5 @@ declare function CarouselContent({ className, ...props }: React.ComponentProps<"
16
16
  declare function CarouselItem({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
17
17
  declare function CarouselPrevious({ className, variant, size, ...props }: React.ComponentProps<typeof Button>): import("react/jsx-runtime").JSX.Element;
18
18
  declare function CarouselNext({ className, variant, size, ...props }: React.ComponentProps<typeof Button>): import("react/jsx-runtime").JSX.Element;
19
- export { type CarouselApi, Carousel, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext, };
19
+ export { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi };
20
20
  //# sourceMappingURL=carousel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"carousel.d.ts","sourceRoot":"","sources":["../../../src/components/ui/carousel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,gBAAgB,EAAE,EACvB,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,KAAK,WAAW,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAC3C,KAAK,qBAAqB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AACjE,KAAK,eAAe,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAChD,KAAK,cAAc,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAE/C,KAAK,aAAa,GAAG;IACnB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;CACrC,CAAC;AAuBF,iBAAS,QAAQ,CAAC,EAChB,WAA0B,EAC1B,IAAI,EACJ,MAAM,EACN,OAAO,EACP,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,aAAa,2CAgF7C;AAED,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAmB5E;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAgBzE;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,OAAmB,EACnB,IAAa,EACb,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,2CAuBrC;AAED,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,OAAmB,EACnB,IAAa,EACb,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,2CAuBrC;AAED,OAAO,EACL,KAAK,WAAW,EAChB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,YAAY,GACb,CAAC"}
1
+ {"version":3,"file":"carousel.d.ts","sourceRoot":"","sources":["../../../src/components/ui/carousel.tsx"],"names":[],"mappings":"AAEA,OAAO,gBAAgB,EAAE,EAAC,KAAK,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAEjF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAG9C,KAAK,WAAW,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAC3C,KAAK,qBAAqB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AACjE,KAAK,eAAe,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAChD,KAAK,cAAc,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAE/C,KAAK,aAAa,GAAG;IACnB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;CACrC,CAAC;AAuBF,iBAAS,QAAQ,CAAC,EAChB,WAA0B,EAC1B,IAAI,EACJ,MAAM,EACN,OAAO,EACP,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,aAAa,2CA6E7C;AAED,iBAAS,eAAe,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAc1E;AAED,iBAAS,YAAY,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAYvE;AAED,iBAAS,gBAAgB,CAAC,EAAC,SAAS,EAAE,OAAmB,EAAE,IAAa,EAAE,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,2CAoBvH;AAED,iBAAS,YAAY,CAAC,EAAC,SAAS,EAAE,OAAmB,EAAE,IAAa,EAAE,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,2CAoBnH;AAED,OAAO,EAAC,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,KAAK,WAAW,EAAC,CAAC"}
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
- import { createContext, useCallback, useContext, useEffect, useState } from "react";
4
3
  import embla_carousel_react from "embla-carousel-react";
5
4
  import { ArrowLeft, ArrowRight } from "lucide-react";
6
- import { cn } from "../../lib/utils.js";
5
+ import { createContext, useCallback, useContext, useEffect, useState } from "react";
7
6
  import { Button } from "./button.js";
7
+ import { cn } from "../../lib/utilities.js";
8
8
  const CarouselContext = /*#__PURE__*/ createContext(null);
9
9
  function useCarousel() {
10
10
  const context = useContext(CarouselContext);
@@ -67,7 +67,7 @@ function Carousel({ orientation = "horizontal", opts, setApi, plugins, className
67
67
  return /*#__PURE__*/ jsx(CarouselContext.Provider, {
68
68
  value: {
69
69
  carouselRef,
70
- api: api,
70
+ api,
71
71
  opts,
72
72
  orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
73
73
  scrollPrev,
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\carousel.js","sources":["webpack://@arolariu/components/./src/components/ui/carousel.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from \"embla-carousel-react\";\nimport { ArrowLeft, ArrowRight } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"@/components/ui/button\";\n\ntype CarouselApi = UseEmblaCarouselType[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"],"names":["CarouselContext","React","useCarousel","context","Error","Carousel","orientation","opts","setApi","plugins","className","children","props","carouselRef","api","useEmblaCarousel","canScrollPrev","setCanScrollPrev","canScrollNext","setCanScrollNext","onSelect","scrollPrev","scrollNext","handleKeyDown","event","cn","CarouselContent","CarouselItem","CarouselPrevious","variant","size","Button","ArrowLeft","CarouselNext","ArrowRight"],"mappings":"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"}
1
+ {"version":3,"file":"components\\ui\\carousel.js","sources":["webpack://@arolariu/components/./src/components/ui/carousel.tsx"],"sourcesContent":["\r\n\r\nimport useEmblaCarousel, {type UseEmblaCarouselType} from \"embla-carousel-react\";\r\nimport {ArrowLeft, ArrowRight} from \"lucide-react\";\r\nimport * as React from \"react\";\r\n\r\nimport {Button} from \"@/components/ui/button\";\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\ntype CarouselApi = UseEmblaCarouselType[1];\r\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\r\ntype CarouselOptions = UseCarouselParameters[0];\r\ntype CarouselPlugin = UseCarouselParameters[1];\r\n\r\ntype CarouselProps = {\r\n opts?: CarouselOptions;\r\n plugins?: CarouselPlugin;\r\n orientation?: \"horizontal\" | \"vertical\";\r\n setApi?: (api: CarouselApi) => void;\r\n};\r\n\r\ntype CarouselContextProps = {\r\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\r\n api: ReturnType<typeof useEmblaCarousel>[1];\r\n scrollPrev: () => void;\r\n scrollNext: () => void;\r\n canScrollPrev: boolean;\r\n canScrollNext: boolean;\r\n} & CarouselProps;\r\n\r\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null);\r\n\r\nfunction useCarousel() {\r\n const context = React.useContext(CarouselContext);\r\n\r\n if (!context) {\r\n throw new Error(\"useCarousel must be used within a <Carousel />\");\r\n }\r\n\r\n return context;\r\n}\r\n\r\nfunction Carousel({\r\n orientation = \"horizontal\",\r\n opts,\r\n setApi,\r\n plugins,\r\n className,\r\n children,\r\n ...props\r\n}: React.ComponentProps<\"div\"> & CarouselProps) {\r\n const [carouselRef, api] = useEmblaCarousel(\r\n {\r\n ...opts,\r\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\r\n },\r\n plugins,\r\n );\r\n const [canScrollPrev, setCanScrollPrev] = React.useState(false);\r\n const [canScrollNext, setCanScrollNext] = React.useState(false);\r\n\r\n const onSelect = React.useCallback((api: CarouselApi) => {\r\n if (!api) return;\r\n setCanScrollPrev(api.canScrollPrev());\r\n setCanScrollNext(api.canScrollNext());\r\n }, []);\r\n\r\n const scrollPrev = React.useCallback(() => {\r\n api?.scrollPrev();\r\n }, [api]);\r\n\r\n const scrollNext = React.useCallback(() => {\r\n api?.scrollNext();\r\n }, [api]);\r\n\r\n const handleKeyDown = React.useCallback(\r\n (event: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (event.key === \"ArrowLeft\") {\r\n event.preventDefault();\r\n scrollPrev();\r\n } else if (event.key === \"ArrowRight\") {\r\n event.preventDefault();\r\n scrollNext();\r\n }\r\n },\r\n [scrollPrev, scrollNext],\r\n );\r\n\r\n React.useEffect(() => {\r\n if (!api || !setApi) return;\r\n setApi(api);\r\n }, [api, setApi]);\r\n\r\n React.useEffect(() => {\r\n if (!api) return;\r\n onSelect(api);\r\n api.on(\"reInit\", onSelect);\r\n api.on(\"select\", onSelect);\r\n\r\n return () => {\r\n api?.off(\"select\", onSelect);\r\n };\r\n }, [api, onSelect]);\r\n\r\n return (\r\n <CarouselContext.Provider\r\n value={{\r\n carouselRef,\r\n api,\r\n opts,\r\n orientation: orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\r\n scrollPrev,\r\n scrollNext,\r\n canScrollPrev,\r\n canScrollNext,\r\n }}>\r\n <div\r\n onKeyDownCapture={handleKeyDown}\r\n className={cn(\"relative\", className)}\r\n role='region'\r\n aria-roledescription='carousel'\r\n data-slot='carousel'\r\n {...props}>\r\n {children}\r\n </div>\r\n </CarouselContext.Provider>\r\n );\r\n}\r\n\r\nfunction CarouselContent({className, ...props}: React.ComponentProps<\"div\">) {\r\n const {carouselRef, orientation} = useCarousel();\r\n\r\n return (\r\n <div\r\n ref={carouselRef}\r\n className='overflow-hidden'\r\n data-slot='carousel-content'>\r\n <div\r\n className={cn(\"flex\", orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\", className)}\r\n {...props}\r\n />\r\n </div>\r\n );\r\n}\r\n\r\nfunction CarouselItem({className, ...props}: React.ComponentProps<\"div\">) {\r\n const {orientation} = useCarousel();\r\n\r\n return (\r\n <div\r\n role='group'\r\n aria-roledescription='slide'\r\n data-slot='carousel-item'\r\n className={cn(\"min-w-0 shrink-0 grow-0 basis-full\", orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction CarouselPrevious({className, variant = \"outline\", size = \"icon\", ...props}: React.ComponentProps<typeof Button>) {\r\n const {orientation, scrollPrev, canScrollPrev} = useCarousel();\r\n\r\n return (\r\n <Button\r\n data-slot='carousel-previous'\r\n variant={variant}\r\n size={size}\r\n className={cn(\r\n \"absolute size-8 rounded-full\",\r\n orientation === \"horizontal\" ? \"top-1/2 -left-12 -translate-y-1/2\" : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\r\n className,\r\n )}\r\n disabled={!canScrollPrev}\r\n onClick={scrollPrev}\r\n {...props}>\r\n <ArrowLeft />\r\n <span className='sr-only'>Previous slide</span>\r\n </Button>\r\n );\r\n}\r\n\r\nfunction CarouselNext({className, variant = \"outline\", size = \"icon\", ...props}: React.ComponentProps<typeof Button>) {\r\n const {orientation, scrollNext, canScrollNext} = useCarousel();\r\n\r\n return (\r\n <Button\r\n data-slot='carousel-next'\r\n variant={variant}\r\n size={size}\r\n className={cn(\r\n \"absolute size-8 rounded-full\",\r\n orientation === \"horizontal\" ? \"top-1/2 -right-12 -translate-y-1/2\" : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\r\n className,\r\n )}\r\n disabled={!canScrollNext}\r\n onClick={scrollNext}\r\n {...props}>\r\n <ArrowRight />\r\n <span className='sr-only'>Next slide</span>\r\n </Button>\r\n );\r\n}\r\n\r\nexport {Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi};\r\n"],"names":["CarouselContext","React","useCarousel","context","Error","Carousel","orientation","opts","setApi","plugins","className","children","props","carouselRef","api","useEmblaCarousel","canScrollPrev","setCanScrollPrev","canScrollNext","setCanScrollNext","onSelect","scrollPrev","scrollNext","handleKeyDown","event","cn","CarouselContent","CarouselItem","CarouselPrevious","variant","size","Button","ArrowLeft","CarouselNext","ArrowRight"],"mappings":"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"}
@@ -46,10 +46,10 @@ declare function ChartContainer({ id, className, children, config, ...props }: R
46
46
  declare const ChartStyle: ({ id, config }: {
47
47
  id: string;
48
48
  config: ChartConfig;
49
- }) => import("react/jsx-runtime").JSX.Element | null;
49
+ }) => import("react/jsx-runtime").JSX.Element;
50
50
  declare const ChartTooltip: typeof RechartsPrimitive.Tooltip;
51
- declare function ChartTooltipContent({ active, payload, label, className, indicator, hideLabel, hideIndicator, labelFormatter, formatter, labelClassName, color, nameKey, labelKey, }: CustomTooltipProps): import("react/jsx-runtime").JSX.Element | null;
51
+ declare function ChartTooltipContent({ active, payload, label, className, indicator, hideLabel, hideIndicator, labelFormatter, formatter, labelClassName, color, nameKey, labelKey, }: CustomTooltipProps): import("react/jsx-runtime").JSX.Element;
52
52
  declare const ChartLegend: typeof RechartsPrimitive.Legend;
53
- declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey, }: ChartLegendContentProps): import("react/jsx-runtime").JSX.Element | null;
54
- export { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, ChartStyle, };
53
+ declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey }: ChartLegendContentProps): import("react/jsx-runtime").JSX.Element;
54
+ export { ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent };
55
55
  //# sourceMappingURL=chart.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../../src/components/ui/chart.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,iBAAiB,MAAM,UAAU,CAAC;AAE9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EACL,QAAQ,EACR,OAAO,EACP,SAAS,EACV,MAAM,gDAAgD,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAKvE,QAAA,MAAM,MAAM;;;CAAwC,CAAC;AAErD,MAAM,MAAM,WAAW,GAAG;KACvB,CAAC,IAAI,MAAM,GAAG;QACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAC5B,GAAG,CACA;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GACjC;QAAE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,OAAO,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAChE;CACF,CAAC;AAMF,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,CACf,KAAK,EAAE,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,EACnD,OAAO,EAAE,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,SAAS,CAAC,KACpD,KAAK,CAAC,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,CACV,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EACtC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,KACrD,KAAK,CAAC,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAcF,iBAAS,cAAc,CAAC,EACtB,EAAE,EACF,SAAS,EACT,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,cAAc,CAC5B,OAAO,iBAAiB,CAAC,mBAAmB,CAC7C,CAAC,UAAU,CAAC,CAAC;CACf,2CAsBA;AAED,QAAA,MAAM,UAAU,GAAI,gBAAgB;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,mDA+BtE,CAAC;AAEF,QAAA,MAAM,YAAY,kCAA4B,CAAC;AAE/C,iBAAS,mBAAmB,CAAC,EAC3B,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,EACT,SAAiB,EACjB,SAAiB,EACjB,aAAqB,EACrB,cAAc,EACd,SAAS,EACT,cAAc,EACd,KAAK,EACL,OAAO,EACP,QAAQ,GACT,EAAE,kBAAkB,kDA6HpB;AAED,QAAA,MAAM,WAAW,iCAA2B,CAAC;AAE7C,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,QAAgB,EAChB,OAAO,EACP,aAAwB,EACxB,OAAO,GACR,EAAE,uBAAuB,kDA0CzB;AAyCD,OAAO,EACL,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,UAAU,GACX,CAAC"}
1
+ {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../../src/components/ui/chart.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,iBAAiB,MAAM,UAAU,CAAC;AAE9C,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,+CAA+C,CAAC;AACjF,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAC,MAAM,gDAAgD,CAAC;AAC5F,OAAO,KAAK,EAAC,KAAK,IAAI,WAAW,EAAC,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAC;AAKrE,QAAA,MAAM,MAAM;;;CAAsC,CAAC;AAEnD,MAAM,MAAM,WAAW,GAAG;KACvB,CAAC,IAAI,MAAM,GAAG;QACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAC5B,GAAG,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG;QAAC,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,OAAO,MAAM,EAAE,MAAM,CAAC,CAAA;KAAC,CAAC;CACpG,CAAC;AAMF,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,CACf,KAAK,EAAE,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,EACnD,OAAO,EAAE,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,SAAS,CAAC,KACpD,KAAK,CAAC,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,CACV,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EACtC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,KACrD,KAAK,CAAC,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAcF,iBAAS,cAAc,CAAC,EACtB,EAAE,EACF,SAAS,EACT,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,UAAU,CAAC,CAAC;CAC1F,2CAsBA;AAED,QAAA,MAAM,UAAU,GAAI,gBAAc;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAC,4CA2BlE,CAAC;AAEF,QAAA,MAAM,YAAY,kCAA4B,CAAC;AAE/C,iBAAS,mBAAmB,CAAC,EAC3B,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,EACT,SAAiB,EACjB,SAAiB,EACjB,aAAqB,EACrB,cAAc,EACd,SAAS,EACT,cAAc,EACd,KAAK,EACL,OAAO,EACP,QAAQ,GACT,EAAE,kBAAkB,2CA+FpB;AAED,QAAA,MAAM,WAAW,iCAA2B,CAAC;AAE7C,iBAAS,kBAAkB,CAAC,EAAC,SAAS,EAAE,QAAgB,EAAE,OAAO,EAAE,aAAwB,EAAE,OAAO,EAAC,EAAE,uBAAuB,2CAiC7H;AAsBD,OAAO,EAAC,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAC,CAAC"}
@@ -2,7 +2,7 @@
2
2
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
3
  import { createContext, useContext, useId, useMemo } from "react";
4
4
  import { Legend, ResponsiveContainer, Tooltip } from "recharts";
5
- import { cn } from "../../lib/utils.js";
5
+ import { cn } from "../../lib/utilities.js";
6
6
  const THEMES = {
7
7
  light: "",
8
8
  dark: ".dark"
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\chart.js","sources":["webpack://@arolariu/components/./src/components/ui/chart.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as RechartsPrimitive from \"recharts\";\n\nimport type { LegendPayload } from \"recharts/types/component/DefaultLegendContent\";\nimport {\n NameType,\n Payload,\n ValueType,\n} from \"recharts/types/component/DefaultTooltipContent\";\nimport type { Props as LegendProps } from \"recharts/types/component/Legend\";\nimport { TooltipContentProps } from \"recharts/types/component/Tooltip\";\n\nimport { cn } from \"@/lib/utils\";\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: \"\", dark: \".dark\" } as const;\n\nexport type ChartConfig = {\n [k in string]: {\n label?: React.ReactNode;\n icon?: React.ComponentType;\n } & (\n | { color?: string; theme?: never }\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\n );\n};\n\ntype ChartContextProps = {\n config: ChartConfig;\n};\n\nexport type CustomTooltipProps = TooltipContentProps<ValueType, NameType> & {\n className?: string;\n hideLabel?: boolean;\n hideIndicator?: boolean;\n indicator?: \"line\" | \"dot\" | \"dashed\";\n nameKey?: string;\n labelKey?: string;\n labelFormatter?: (\n label: TooltipContentProps<number, string>[\"label\"],\n payload: TooltipContentProps<number, string>[\"payload\"],\n ) => React.ReactNode;\n formatter?: (\n value: number | string,\n name: string,\n item: Payload<number | string, string>,\n index: number,\n payload: ReadonlyArray<Payload<number | string, string>>,\n ) => React.ReactNode;\n labelClassName?: string;\n color?: string;\n};\n\nexport type ChartLegendContentProps = {\n className?: string;\n hideIcon?: boolean;\n verticalAlign?: LegendProps[\"verticalAlign\"];\n payload?: LegendPayload[];\n nameKey?: string;\n};\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null);\n\nfunction useChart() {\n const context = React.useContext(ChartContext);\n\n if (!context) {\n throw new Error(\"useChart must be used within a <ChartContainer />\");\n }\n\n return context;\n}\n\nfunction ChartContainer({\n id,\n className,\n children,\n config,\n ...props\n}: React.ComponentProps<\"div\"> & {\n config: ChartConfig;\n children: React.ComponentProps<\n typeof RechartsPrimitive.ResponsiveContainer\n >[\"children\"];\n}) {\n const uniqueId = React.useId();\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`;\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n data-slot=\"chart\"\n data-chart={chartId}\n className={cn(\n \"[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden\",\n className,\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <RechartsPrimitive.ResponsiveContainer>\n {children}\n </RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n );\n}\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(\n ([, config]) => config.theme || config.color,\n );\n\n if (!colorConfig.length) {\n return null;\n }\n\n return (\n <style\n dangerouslySetInnerHTML={{\n __html: Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n ${prefix} [data-chart=${id}] {\n ${colorConfig\n .map(([key, itemConfig]) => {\n const color =\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\n itemConfig.color;\n return color ? ` --color-${key}: ${color};` : null;\n })\n .join(\"\\n\")}\n }\n `,\n )\n .join(\"\\n\"),\n }}\n />\n );\n};\n\nconst ChartTooltip = RechartsPrimitive.Tooltip;\n\nfunction ChartTooltipContent({\n active,\n payload,\n label,\n className,\n indicator = \"dot\",\n hideLabel = false,\n hideIndicator = false,\n labelFormatter,\n formatter,\n labelClassName,\n color,\n nameKey,\n labelKey,\n}: CustomTooltipProps) {\n const { config } = useChart();\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null;\n }\n\n const [item] = payload;\n const key = `${labelKey || item?.dataKey || item?.name || \"value\"}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const value = (() => {\n const v =\n !labelKey && typeof label === \"string\"\n ? (config[label as keyof typeof config]?.label ?? label)\n : itemConfig?.label;\n\n return typeof v === \"string\" || typeof v === \"number\" ? v : undefined;\n })();\n\n if (labelFormatter) {\n return (\n <div className={cn(\"font-medium\", labelClassName)}>\n {labelFormatter(value, payload)}\n </div>\n );\n }\n\n if (!value) {\n return null;\n }\n\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>;\n }, [\n label,\n labelFormatter,\n payload,\n hideLabel,\n labelClassName,\n config,\n labelKey,\n ]);\n\n if (!active || !payload?.length) {\n return null;\n }\n\n const nestLabel = payload.length === 1 && indicator !== \"dot\";\n\n return (\n <div\n className={cn(\n \"border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl\",\n className,\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload.map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || \"value\"}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const indicatorColor = color || item.payload.fill || item.color;\n\n return (\n <div\n key={item.dataKey}\n className={cn(\n \"[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5\",\n indicator === \"dot\" && \"items-center\",\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn(\n \"shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)\",\n {\n \"h-2.5 w-2.5\": indicator === \"dot\",\n \"w-1\": indicator === \"line\",\n \"w-0 border-[1.5px] border-dashed bg-transparent\":\n indicator === \"dashed\",\n \"my-0.5\": nestLabel && indicator === \"dashed\",\n },\n )}\n style={\n {\n \"--color-bg\": indicatorColor,\n \"--color-border\": indicatorColor,\n } as React.CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n \"flex flex-1 justify-between leading-none\",\n nestLabel ? \"items-end\" : \"items-center\",\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">\n {itemConfig?.label || item.name}\n </span>\n </div>\n {item.value && (\n <span className=\"text-foreground font-mono font-medium tabular-nums\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n\nconst ChartLegend = RechartsPrimitive.Legend;\n\nfunction ChartLegendContent({\n className,\n hideIcon = false,\n payload,\n verticalAlign = \"bottom\",\n nameKey,\n}: ChartLegendContentProps) {\n const { config } = useChart();\n\n if (!payload?.length) {\n return null;\n }\n\n return (\n <div\n className={cn(\n \"flex items-center justify-center gap-4\",\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n className,\n )}\n >\n {payload.map((item) => {\n const key = `${nameKey || item.dataKey || \"value\"}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n\n return (\n <div\n key={item.value}\n className={cn(\n \"[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3\",\n )}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n );\n })}\n </div>\n );\n}\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string,\n) {\n if (typeof payload !== \"object\" || payload === null) {\n return undefined;\n }\n\n const payloadPayload =\n \"payload\" in payload &&\n typeof payload.payload === \"object\" &&\n payload.payload !== null\n ? payload.payload\n : undefined;\n\n let configLabelKey: string = key;\n\n if (\n key in payload &&\n typeof payload[key as keyof typeof payload] === \"string\"\n ) {\n configLabelKey = payload[key as keyof typeof payload] as string;\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\n ) {\n configLabelKey = payloadPayload[\n key as keyof typeof payloadPayload\n ] as string;\n }\n\n return configLabelKey in config\n ? config[configLabelKey]\n : config[key as keyof typeof config];\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n};\n"],"names":["THEMES","ChartContext","React","useChart","context","Error","ChartContainer","id","className","children","config","props","uniqueId","chartId","cn","ChartStyle","RechartsPrimitive","colorConfig","Object","theme","prefix","key","itemConfig","color","ChartTooltip","ChartTooltipContent","active","payload","label","indicator","hideLabel","hideIndicator","labelFormatter","formatter","labelClassName","nameKey","labelKey","tooltipLabel","item","getPayloadConfigFromPayload","value","v","undefined","nestLabel","index","indicatorColor","ChartLegend","ChartLegendContent","hideIcon","verticalAlign","payloadPayload","configLabelKey"],"mappings":"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"}
1
+ {"version":3,"file":"components\\ui\\chart.js","sources":["webpack://@arolariu/components/./src/components/ui/chart.tsx"],"sourcesContent":["\r\n\r\n/* eslint-disable */\r\n\r\nimport * as React from \"react\";\r\nimport * as RechartsPrimitive from \"recharts\";\r\n\r\nimport type {LegendPayload} from \"recharts/types/component/DefaultLegendContent\";\r\nimport {NameType, Payload, ValueType} from \"recharts/types/component/DefaultTooltipContent\";\r\nimport type {Props as LegendProps} from \"recharts/types/component/Legend\";\r\nimport {TooltipContentProps} from \"recharts/types/component/Tooltip\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\n// Format: { THEME_NAME: CSS_SELECTOR }\r\nconst THEMES = {light: \"\", dark: \".dark\"} as const;\r\n\r\nexport type ChartConfig = {\r\n [k in string]: {\r\n label?: React.ReactNode;\r\n icon?: React.ComponentType;\r\n } & ({color?: string; theme?: never} | {color?: never; theme: Record<keyof typeof THEMES, string>});\r\n};\r\n\r\ntype ChartContextProps = {\r\n config: ChartConfig;\r\n};\r\n\r\nexport type CustomTooltipProps = TooltipContentProps<ValueType, NameType> & {\r\n className?: string;\r\n hideLabel?: boolean;\r\n hideIndicator?: boolean;\r\n indicator?: \"line\" | \"dot\" | \"dashed\";\r\n nameKey?: string;\r\n labelKey?: string;\r\n labelFormatter?: (\r\n label: TooltipContentProps<number, string>[\"label\"],\r\n payload: TooltipContentProps<number, string>[\"payload\"],\r\n ) => React.ReactNode;\r\n formatter?: (\r\n value: number | string,\r\n name: string,\r\n item: Payload<number | string, string>,\r\n index: number,\r\n payload: ReadonlyArray<Payload<number | string, string>>,\r\n ) => React.ReactNode;\r\n labelClassName?: string;\r\n color?: string;\r\n};\r\n\r\nexport type ChartLegendContentProps = {\r\n className?: string;\r\n hideIcon?: boolean;\r\n verticalAlign?: LegendProps[\"verticalAlign\"];\r\n payload?: LegendPayload[];\r\n nameKey?: string;\r\n};\r\n\r\nconst ChartContext = React.createContext<ChartContextProps | null>(null);\r\n\r\nfunction useChart() {\r\n const context = React.useContext(ChartContext);\r\n\r\n if (!context) {\r\n throw new Error(\"useChart must be used within a <ChartContainer />\");\r\n }\r\n\r\n return context;\r\n}\r\n\r\nfunction ChartContainer({\r\n id,\r\n className,\r\n children,\r\n config,\r\n ...props\r\n}: React.ComponentProps<\"div\"> & {\r\n config: ChartConfig;\r\n children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>[\"children\"];\r\n}) {\r\n const uniqueId = React.useId();\r\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`;\r\n\r\n return (\r\n <ChartContext.Provider value={{config}}>\r\n <div\r\n data-slot='chart'\r\n data-chart={chartId}\r\n className={cn(\r\n \"[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden\",\r\n className,\r\n )}\r\n {...props}>\r\n <ChartStyle\r\n id={chartId}\r\n config={config}\r\n />\r\n <RechartsPrimitive.ResponsiveContainer>{children}</RechartsPrimitive.ResponsiveContainer>\r\n </div>\r\n </ChartContext.Provider>\r\n );\r\n}\r\n\r\nconst ChartStyle = ({id, config}: {id: string; config: ChartConfig}) => {\r\n const colorConfig = Object.entries(config).filter(([, config]) => config.theme || config.color);\r\n\r\n if (!colorConfig.length) {\r\n return null;\r\n }\r\n\r\n return (\r\n <style\r\n dangerouslySetInnerHTML={{\r\n __html: Object.entries(THEMES)\r\n .map(\r\n ([theme, prefix]) => `\r\n ${prefix} [data-chart=${id}] {\r\n ${colorConfig\r\n .map(([key, itemConfig]) => {\r\n const color = itemConfig.theme?.[theme as keyof typeof itemConfig.theme] || itemConfig.color;\r\n return color ? ` --color-${key}: ${color};` : null;\r\n })\r\n .join(\"\\n\")}\r\n }\r\n `,\r\n )\r\n .join(\"\\n\"),\r\n }}\r\n />\r\n );\r\n};\r\n\r\nconst ChartTooltip = RechartsPrimitive.Tooltip;\r\n\r\nfunction ChartTooltipContent({\r\n active,\r\n payload,\r\n label,\r\n className,\r\n indicator = \"dot\",\r\n hideLabel = false,\r\n hideIndicator = false,\r\n labelFormatter,\r\n formatter,\r\n labelClassName,\r\n color,\r\n nameKey,\r\n labelKey,\r\n}: CustomTooltipProps) {\r\n const {config} = useChart();\r\n\r\n const tooltipLabel = React.useMemo(() => {\r\n if (hideLabel || !payload?.length) {\r\n return null;\r\n }\r\n\r\n const [item] = payload;\r\n const key = `${labelKey || item?.dataKey || item?.name || \"value\"}`;\r\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\r\n const value = (() => {\r\n const v = !labelKey && typeof label === \"string\" ? (config[label as keyof typeof config]?.label ?? label) : itemConfig?.label;\r\n\r\n return typeof v === \"string\" || typeof v === \"number\" ? v : undefined;\r\n })();\r\n\r\n if (labelFormatter) {\r\n return <div className={cn(\"font-medium\", labelClassName)}>{labelFormatter(value, payload)}</div>;\r\n }\r\n\r\n if (!value) {\r\n return null;\r\n }\r\n\r\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>;\r\n }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);\r\n\r\n if (!active || !payload?.length) {\r\n return null;\r\n }\r\n\r\n const nestLabel = payload.length === 1 && indicator !== \"dot\";\r\n\r\n return (\r\n <div\r\n className={cn(\r\n \"border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl\",\r\n className,\r\n )}>\r\n {!nestLabel ? tooltipLabel : null}\r\n <div className='grid gap-1.5'>\r\n {payload.map((item, index) => {\r\n const key = `${nameKey || item.name || item.dataKey || \"value\"}`;\r\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\r\n const indicatorColor = color || item.payload.fill || item.color;\r\n\r\n return (\r\n <div\r\n key={item.dataKey}\r\n className={cn(\r\n \"[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5\",\r\n indicator === \"dot\" && \"items-center\",\r\n )}>\r\n {formatter && item?.value !== undefined && item.name ? (\r\n formatter(item.value, item.name, item, index, item.payload)\r\n ) : (\r\n <>\r\n {itemConfig?.icon ? (\r\n <itemConfig.icon />\r\n ) : (\r\n !hideIndicator && (\r\n <div\r\n className={cn(\"shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)\", {\r\n \"h-2.5 w-2.5\": indicator === \"dot\",\r\n \"w-1\": indicator === \"line\",\r\n \"w-0 border-[1.5px] border-dashed bg-transparent\": indicator === \"dashed\",\r\n \"my-0.5\": nestLabel && indicator === \"dashed\",\r\n })}\r\n style={\r\n {\r\n \"--color-bg\": indicatorColor,\r\n \"--color-border\": indicatorColor,\r\n } as React.CSSProperties\r\n }\r\n />\r\n )\r\n )}\r\n <div className={cn(\"flex flex-1 justify-between leading-none\", nestLabel ? \"items-end\" : \"items-center\")}>\r\n <div className='grid gap-1.5'>\r\n {nestLabel ? tooltipLabel : null}\r\n <span className='text-muted-foreground'>{itemConfig?.label || item.name}</span>\r\n </div>\r\n {item.value && (\r\n <span className='text-foreground font-mono font-medium tabular-nums'>{item.value.toLocaleString()}</span>\r\n )}\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nconst ChartLegend = RechartsPrimitive.Legend;\r\n\r\nfunction ChartLegendContent({className, hideIcon = false, payload, verticalAlign = \"bottom\", nameKey}: ChartLegendContentProps) {\r\n const {config} = useChart();\r\n\r\n if (!payload?.length) {\r\n return null;\r\n }\r\n\r\n return (\r\n <div className={cn(\"flex items-center justify-center gap-4\", verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\", className)}>\r\n {payload.map((item) => {\r\n const key = `${nameKey || item.dataKey || \"value\"}`;\r\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\r\n\r\n return (\r\n <div\r\n key={item.value}\r\n className={cn(\"[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3\")}>\r\n {itemConfig?.icon && !hideIcon ? (\r\n <itemConfig.icon />\r\n ) : (\r\n <div\r\n className='h-2 w-2 shrink-0 rounded-[2px]'\r\n style={{\r\n backgroundColor: item.color,\r\n }}\r\n />\r\n )}\r\n {itemConfig?.label}\r\n </div>\r\n );\r\n })}\r\n </div>\r\n );\r\n}\r\n\r\n// Helper to extract item config from a payload.\r\nfunction getPayloadConfigFromPayload(config: ChartConfig, payload: unknown, key: string) {\r\n if (typeof payload !== \"object\" || payload === null) {\r\n return undefined;\r\n }\r\n\r\n const payloadPayload =\r\n \"payload\" in payload && typeof payload.payload === \"object\" && payload.payload !== null ? payload.payload : undefined;\r\n\r\n let configLabelKey: string = key;\r\n\r\n if (key in payload && typeof payload[key as keyof typeof payload] === \"string\") {\r\n configLabelKey = payload[key as keyof typeof payload] as string;\r\n } else if (payloadPayload && key in payloadPayload && typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\") {\r\n configLabelKey = payloadPayload[key as keyof typeof payloadPayload] as string;\r\n }\r\n\r\n return configLabelKey in config ? config[configLabelKey] : config[key as keyof typeof config];\r\n}\r\n\r\nexport {ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent};\r\n"],"names":["THEMES","ChartContext","React","useChart","context","Error","ChartContainer","id","className","children","config","props","uniqueId","chartId","cn","ChartStyle","RechartsPrimitive","colorConfig","Object","theme","prefix","key","itemConfig","color","ChartTooltip","ChartTooltipContent","active","payload","label","indicator","hideLabel","hideIndicator","labelFormatter","formatter","labelClassName","nameKey","labelKey","tooltipLabel","item","getPayloadConfigFromPayload","value","v","undefined","nestLabel","index","indicatorColor","ChartLegend","ChartLegendContent","hideIcon","verticalAlign","payloadPayload","configLabelKey"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import * as React from "react";
2
1
  import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
2
+ import * as React from "react";
3
3
  declare function Checkbox({ className, ...props }: React.ComponentProps<typeof CheckboxPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
4
  export { Checkbox };
5
5
  //# sourceMappingURL=checkbox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/ui/checkbox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAK9D,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC,2CAkBrD;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/ui/checkbox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,iBAAS,QAAQ,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC,2CAgB3F;AAED,OAAO,EAAC,QAAQ,EAAC,CAAC"}
@@ -1,13 +1,13 @@
1
1
  "use client";
2
2
  import { jsx } from "react/jsx-runtime";
3
- import "react";
4
3
  import { Indicator, Root } from "@radix-ui/react-checkbox";
5
4
  import { CheckIcon } from "lucide-react";
6
- import { cn } from "../../lib/utils.js";
5
+ import "react";
6
+ import { cn } from "../../lib/utilities.js";
7
7
  function Checkbox({ className, ...props }) {
8
8
  return /*#__PURE__*/ jsx(Root, {
9
9
  "data-slot": "checkbox",
10
- className: cn("peer border-neutral-200 dark:bg-neutral-200/30 data-[state=checked]:bg-neutral-900 data-[state=checked]:text-neutral-50 dark:data-[state=checked]:bg-neutral-900 data-[state=checked]:border-neutral-900 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:border-neutral-800 dark:dark:bg-neutral-800/30 dark:data-[state=checked]:bg-neutral-50 dark:data-[state=checked]:text-neutral-900 dark:dark:data-[state=checked]:bg-neutral-50 dark:data-[state=checked]:border-neutral-50 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900", className),
10
+ className: cn("peer size-4 shrink-0 rounded-[4px] border border-neutral-200 shadow-xs transition-shadow outline-none focus-visible:border-neutral-950 focus-visible:ring-[3px] focus-visible:ring-neutral-950/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-red-500 aria-invalid:ring-red-500/20 data-[state=checked]:border-neutral-900 data-[state=checked]:bg-neutral-900 data-[state=checked]:text-neutral-50 dark:border-neutral-800 dark:bg-neutral-200/30 dark:dark:bg-neutral-800/30 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:aria-invalid:border-red-900 dark:aria-invalid:ring-red-500/40 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:data-[state=checked]:border-neutral-50 dark:dark:data-[state=checked]:bg-neutral-50 dark:data-[state=checked]:bg-neutral-50 dark:data-[state=checked]:bg-neutral-900 dark:data-[state=checked]:text-neutral-900", className),
11
11
  ...props,
12
12
  children: /*#__PURE__*/ jsx(Indicator, {
13
13
  "data-slot": "checkbox-indicator",
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\checkbox.js","sources":["webpack://@arolariu/components/./src/components/ui/checkbox.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { CheckIcon } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Checkbox({\n className,\n ...props\n}: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n \"peer border-neutral-200 dark:bg-neutral-200/30 data-[state=checked]:bg-neutral-900 data-[state=checked]:text-neutral-50 dark:data-[state=checked]:bg-neutral-900 data-[state=checked]:border-neutral-900 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:border-neutral-800 dark:dark:bg-neutral-800/30 dark:data-[state=checked]:bg-neutral-50 dark:data-[state=checked]:text-neutral-900 dark:dark:data-[state=checked]:bg-neutral-50 dark:data-[state=checked]:border-neutral-50 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900\",\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"flex items-center justify-center text-current transition-none\"\n >\n <CheckIcon className=\"size-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n"],"names":["Checkbox","className","props","CheckboxPrimitive","cn","CheckIcon"],"mappings":";;;;;;AAQA,SAASA,SAAS,EAChBC,SAAS,EACT,GAAGC,OACiD;IACpD,OAAO,WAAP,GACE,IAACC,MAAsB;QACrB,aAAU;QACV,WAAWC,GACT,w5BACAH;QAED,GAAGC,KAAK;kBAET,kBAACC,WAA2B;YAC1B,aAAU;YACV,WAAU;sBAEV,kBAACE,WAASA;gBAAC,WAAU;;;;AAI7B"}
1
+ {"version":3,"file":"components\\ui\\checkbox.js","sources":["webpack://@arolariu/components/./src/components/ui/checkbox.tsx"],"sourcesContent":["\r\n\r\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\r\nimport {CheckIcon} from \"lucide-react\";\r\nimport * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nfunction Checkbox({className, ...props}: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\r\n return (\r\n <CheckboxPrimitive.Root\r\n data-slot='checkbox'\r\n className={cn(\r\n \"peer size-4 shrink-0 rounded-[4px] border border-neutral-200 shadow-xs transition-shadow outline-none focus-visible:border-neutral-950 focus-visible:ring-[3px] focus-visible:ring-neutral-950/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-red-500 aria-invalid:ring-red-500/20 data-[state=checked]:border-neutral-900 data-[state=checked]:bg-neutral-900 data-[state=checked]:text-neutral-50 dark:border-neutral-800 dark:bg-neutral-200/30 dark:dark:bg-neutral-800/30 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:aria-invalid:border-red-900 dark:aria-invalid:ring-red-500/40 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:data-[state=checked]:border-neutral-50 dark:dark:data-[state=checked]:bg-neutral-50 dark:data-[state=checked]:bg-neutral-50 dark:data-[state=checked]:bg-neutral-900 dark:data-[state=checked]:text-neutral-900\",\r\n className,\r\n )}\r\n {...props}>\r\n <CheckboxPrimitive.Indicator\r\n data-slot='checkbox-indicator'\r\n className='flex items-center justify-center text-current transition-none'>\r\n <CheckIcon className='size-3.5' />\r\n </CheckboxPrimitive.Indicator>\r\n </CheckboxPrimitive.Root>\r\n );\r\n}\r\n\r\nexport {Checkbox};\r\n"],"names":["Checkbox","className","props","CheckboxPrimitive","cn","CheckIcon"],"mappings":";;;;;;AAQA,SAASA,SAAS,EAACC,SAAS,EAAE,GAAGC,OAA2D;IAC1F,OAAO,WAAP,GACE,IAACC,MAAsB;QACrB,aAAU;QACV,WAAWC,GACT,w5BACAH;QAED,GAAGC,KAAK;kBACT,kBAACC,WAA2B;YAC1B,aAAU;YACV,WAAU;sBACV,kBAACE,WAASA;gBAAC,WAAU;;;;AAI7B"}
@@ -1,7 +1,7 @@
1
- import * as React from "react";
2
1
  import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
2
+ import * as React from "react";
3
3
  declare function Collapsible({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
4
  declare function CollapsibleTrigger({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>): import("react/jsx-runtime").JSX.Element;
5
5
  declare function CollapsibleContent({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>): import("react/jsx-runtime").JSX.Element;
6
- export { Collapsible, CollapsibleTrigger, CollapsibleContent };
6
+ export { Collapsible, CollapsibleContent, CollapsibleTrigger };
7
7
  //# sourceMappingURL=collapsible.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"collapsible.d.ts","sourceRoot":"","sources":["../../../src/components/ui/collapsible.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AAEpE,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,2CAExD;AAED,iBAAS,kBAAkB,CAAC,EAC1B,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,kBAAkB,CAAC,2CAOtE;AAED,iBAAS,kBAAkB,CAAC,EAC1B,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,kBAAkB,CAAC,2CAOtE;AAED,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"collapsible.d.ts","sourceRoot":"","sources":["../../../src/components/ui/collapsible.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,iBAAS,WAAW,CAAC,EAAC,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,2CAOtF;AAED,iBAAS,kBAAkB,CAAC,EAAC,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,kBAAkB,CAAC,2CAO3G;AAED,iBAAS,kBAAkB,CAAC,EAAC,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,kBAAkB,CAAC,2CAO3G;AAED,OAAO,EAAC,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx } from "react/jsx-runtime";
3
- import "react";
4
3
  import { CollapsibleContent, CollapsibleTrigger, Root } from "@radix-ui/react-collapsible";
4
+ import "react";
5
5
  function Collapsible({ ...props }) {
6
6
  return /*#__PURE__*/ jsx(Root, {
7
7
  "data-slot": "collapsible",
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\collapsible.js","sources":["webpack://@arolariu/components/./src/components/ui/collapsible.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\n\nfunction Collapsible({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Root>) {\n return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />;\n}\n\nfunction CollapsibleTrigger({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>) {\n return (\n <CollapsiblePrimitive.CollapsibleTrigger\n data-slot=\"collapsible-trigger\"\n {...props}\n />\n );\n}\n\nfunction CollapsibleContent({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>) {\n return (\n <CollapsiblePrimitive.CollapsibleContent\n data-slot=\"collapsible-content\"\n {...props}\n />\n );\n}\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n"],"names":["Collapsible","props","CollapsiblePrimitive","CollapsibleTrigger","CollapsibleContent"],"mappings":";;;;AAKA,SAASA,YAAY,EACnB,GAAGC,OACoD;IACvD,OAAO,WAAP,GAAO,IAACC,MAAyB;QAAC,aAAU;QAAe,GAAGD,KAAK;;AACrE;AAEA,SAASE,+BAAmB,EAC1B,GAAGF,OACkE;IACrE,OAAO,WAAP,GACE,IAACC,oBAAuC;QACtC,aAAU;QACT,GAAGD,KAAK;;AAGf;AAEA,SAASG,+BAAmB,EAC1B,GAAGH,OACkE;IACrE,OAAO,WAAP,GACE,IAACC,oBAAuC;QACtC,aAAU;QACT,GAAGD,KAAK;;AAGf"}
1
+ {"version":3,"file":"components\\ui\\collapsible.js","sources":["webpack://@arolariu/components/./src/components/ui/collapsible.tsx"],"sourcesContent":["\r\n\r\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\r\nimport * as React from \"react\";\r\n\r\nfunction Collapsible({...props}: React.ComponentProps<typeof CollapsiblePrimitive.Root>) {\r\n return (\r\n <CollapsiblePrimitive.Root\r\n data-slot='collapsible'\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction CollapsibleTrigger({...props}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>) {\r\n return (\r\n <CollapsiblePrimitive.CollapsibleTrigger\r\n data-slot='collapsible-trigger'\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction CollapsibleContent({...props}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>) {\r\n return (\r\n <CollapsiblePrimitive.CollapsibleContent\r\n data-slot='collapsible-content'\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport {Collapsible, CollapsibleContent, CollapsibleTrigger};\r\n"],"names":["Collapsible","props","CollapsiblePrimitive","CollapsibleTrigger","CollapsibleContent"],"mappings":";;;;AAKA,SAASA,YAAY,EAAC,GAAGC,OAA8D;IACrF,OAAO,WAAP,GACE,IAACC,MAAyB;QACxB,aAAU;QACT,GAAGD,KAAK;;AAGf;AAEA,SAASE,+BAAmB,EAAC,GAAGF,OAA4E;IAC1G,OAAO,WAAP,GACE,IAACC,oBAAuC;QACtC,aAAU;QACT,GAAGD,KAAK;;AAGf;AAEA,SAASG,+BAAmB,EAAC,GAAGH,OAA4E;IAC1G,OAAO,WAAP,GACE,IAACC,oBAAuC;QACtC,aAAU;QACT,GAAGD,KAAK;;AAGf"}
@@ -1,5 +1,5 @@
1
- import * as React from "react";
2
1
  import { Command as CommandPrimitive } from "cmdk";
2
+ import * as React from "react";
3
3
  import { Dialog } from "./dialog";
4
4
  declare function Command({ className, ...props }: React.ComponentProps<typeof CommandPrimitive>): import("react/jsx-runtime").JSX.Element;
5
5
  declare function CommandDialog({ title, description, children, className, showCloseButton, ...props }: React.ComponentProps<typeof Dialog> & {
@@ -15,5 +15,5 @@ declare function CommandGroup({ className, ...props }: React.ComponentProps<type
15
15
  declare function CommandSeparator({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
16
16
  declare function CommandItem({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Item>): import("react/jsx-runtime").JSX.Element;
17
17
  declare function CommandShortcut({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
18
- export { Command, CommandDialog, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator, };
18
+ export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut };
19
19
  //# sourceMappingURL=command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/components/ui/command.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAInD,OAAO,EACL,MAAM,EAKP,MAAM,wBAAwB,CAAC;AAEhC,iBAAS,OAAO,CAAC,EACf,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,2CAW/C;AAED,iBAAS,aAAa,CAAC,EACrB,KAAyB,EACzB,WAA8C,EAC9C,QAAQ,EACR,SAAS,EACT,eAAsB,EACtB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,2CAiBA;AAED,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,2CAiBrD;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,2CAWpD;AAED,iBAAS,YAAY,CAAC,EACpB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,2CAQrD;AAED,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,2CAWrD;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,SAAS,CAAC,2CAQzD;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,2CAWpD;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,2CAW9B;AAED,OAAO,EACL,OAAO,EACP,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,gBAAgB,GACjB,CAAC"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/components/ui/command.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,MAAM,CAAC;AAEjD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,MAAM,EAA8D,MAAM,wBAAwB,CAAC;AAG3G,iBAAS,OAAO,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,2CAWpF;AAED,iBAAS,aAAa,CAAC,EACrB,KAAyB,EACzB,WAA8C,EAC9C,QAAQ,EACR,SAAS,EACT,eAAsB,EACtB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,2CAgBA;AAED,iBAAS,YAAY,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,2CAgB/F;AAED,iBAAS,WAAW,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,2CAQ7F;AAED,iBAAS,YAAY,CAAC,EAAC,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,2CAQpF;AAED,iBAAS,YAAY,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,2CAW/F;AAED,iBAAS,gBAAgB,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,SAAS,CAAC,2CAQvG;AAED,iBAAS,WAAW,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,2CAW7F;AAED,iBAAS,eAAe,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,2CAQ3E;AAED,OAAO,EAAC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAC,CAAC"}
@@ -1,14 +1,14 @@
1
1
  "use client";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
- import "react";
4
3
  import { Command } from "cmdk";
5
4
  import { SearchIcon } from "lucide-react";
6
- import { cn } from "../../lib/utils.js";
5
+ import "react";
7
6
  import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from "./dialog.js";
7
+ import { cn } from "../../lib/utilities.js";
8
8
  function command_Command({ className, ...props }) {
9
9
  return /*#__PURE__*/ jsx(Command, {
10
10
  "data-slot": "command",
11
- className: cn("bg-white text-neutral-950 flex h-full w-full flex-col overflow-hidden rounded-md dark:bg-neutral-950 dark:text-neutral-50", className),
11
+ className: cn("flex h-full w-full flex-col overflow-hidden rounded-md bg-white text-neutral-950 dark:bg-neutral-950 dark:text-neutral-50", className),
12
12
  ...props
13
13
  });
14
14
  }
@@ -31,7 +31,7 @@ function CommandDialog({ title = "Command Palette", description = "Search for a
31
31
  className: cn("overflow-hidden p-0", className),
32
32
  showCloseButton: showCloseButton,
33
33
  children: /*#__PURE__*/ jsx(command_Command, {
34
- className: "[&_[cmdk-group-heading]]:text-neutral-500 **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5 dark:[&_[cmdk-group-heading]]:text-neutral-400",
34
+ className: "**:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-neutral-500 dark:[&_[cmdk-group-heading]]:text-neutral-400 [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",
35
35
  children: children
36
36
  })
37
37
  })
@@ -48,7 +48,7 @@ function CommandInput({ className, ...props }) {
48
48
  }),
49
49
  /*#__PURE__*/ jsx(Command.Input, {
50
50
  "data-slot": "command-input",
51
- className: cn("placeholder:text-neutral-500 flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50 dark:placeholder:text-neutral-400", className),
51
+ className: cn("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-neutral-500 disabled:cursor-not-allowed disabled:opacity-50 dark:placeholder:text-neutral-400", className),
52
52
  ...props
53
53
  })
54
54
  ]
@@ -71,28 +71,28 @@ function CommandEmpty({ ...props }) {
71
71
  function CommandGroup({ className, ...props }) {
72
72
  return /*#__PURE__*/ jsx(Command.Group, {
73
73
  "data-slot": "command-group",
74
- className: cn("text-neutral-950 [&_[cmdk-group-heading]]:text-neutral-500 overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium dark:text-neutral-50 dark:[&_[cmdk-group-heading]]:text-neutral-400", className),
74
+ className: cn("overflow-hidden p-1 text-neutral-950 dark:text-neutral-50 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-neutral-500 dark:[&_[cmdk-group-heading]]:text-neutral-400", className),
75
75
  ...props
76
76
  });
77
77
  }
78
78
  function CommandSeparator({ className, ...props }) {
79
79
  return /*#__PURE__*/ jsx(Command.Separator, {
80
80
  "data-slot": "command-separator",
81
- className: cn("bg-neutral-200 -mx-1 h-px dark:bg-neutral-800", className),
81
+ className: cn("-mx-1 h-px bg-neutral-200 dark:bg-neutral-800", className),
82
82
  ...props
83
83
  });
84
84
  }
85
85
  function CommandItem({ className, ...props }) {
86
86
  return /*#__PURE__*/ jsx(Command.Item, {
87
87
  "data-slot": "command-item",
88
- className: cn("data-[selected=true]:bg-neutral-100 data-[selected=true]:text-neutral-900 [&_svg:not([class*='text-'])]:text-neutral-500 relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:data-[selected=true]:bg-neutral-800 dark:data-[selected=true]:text-neutral-50 dark:[&_svg:not([class*='text-'])]:text-neutral-400", className),
88
+ className: cn("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-neutral-100 data-[selected=true]:text-neutral-900 dark:data-[selected=true]:bg-neutral-800 dark:data-[selected=true]:text-neutral-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-neutral-500 dark:[&_svg:not([class*='text-'])]:text-neutral-400", className),
89
89
  ...props
90
90
  });
91
91
  }
92
92
  function CommandShortcut({ className, ...props }) {
93
93
  return /*#__PURE__*/ jsx("span", {
94
94
  "data-slot": "command-shortcut",
95
- className: cn("text-neutral-500 ml-auto text-xs tracking-widest dark:text-neutral-400", className),
95
+ className: cn("ml-auto text-xs tracking-widest text-neutral-500 dark:text-neutral-400", className),
96
96
  ...props
97
97
  });
98
98
  }