@arolariu/components 0.0.38 → 0.0.39

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 (418) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/CONTRIBUTING.md +371 -0
  3. package/DEBUGGING.md +401 -0
  4. package/EXAMPLES.md +1035 -0
  5. package/LICENSE +21 -21
  6. package/README.md +627 -0
  7. package/dist/cjs/components/ui/accordion.cjs +2 -2
  8. package/dist/cjs/components/ui/accordion.cjs.map +1 -1
  9. package/dist/cjs/components/ui/alert-dialog.cjs +7 -7
  10. package/dist/cjs/components/ui/alert-dialog.cjs.map +1 -1
  11. package/dist/cjs/components/ui/alert.cjs +2 -2
  12. package/dist/cjs/components/ui/alert.cjs.map +1 -1
  13. package/dist/cjs/components/ui/aspect-ratio.cjs.map +1 -1
  14. package/dist/cjs/components/ui/avatar.cjs +2 -2
  15. package/dist/cjs/components/ui/avatar.cjs.map +1 -1
  16. package/dist/cjs/components/ui/background-beams.cjs.map +1 -1
  17. package/dist/cjs/components/ui/badge.cjs +2 -2
  18. package/dist/cjs/components/ui/badge.cjs.map +1 -1
  19. package/dist/cjs/components/ui/breadcrumb.cjs +5 -5
  20. package/dist/cjs/components/ui/breadcrumb.cjs.map +1 -1
  21. package/dist/cjs/components/ui/bubble-background.cjs.map +1 -1
  22. package/dist/cjs/components/ui/button.cjs.map +1 -1
  23. package/dist/cjs/components/ui/calendar.cjs +89 -35
  24. package/dist/cjs/components/ui/calendar.cjs.map +1 -1
  25. package/dist/cjs/components/ui/card.cjs +5 -5
  26. package/dist/cjs/components/ui/card.cjs.map +1 -1
  27. package/dist/cjs/components/ui/carousel.cjs +3 -3
  28. package/dist/cjs/components/ui/carousel.cjs.map +1 -1
  29. package/dist/cjs/components/ui/chart.cjs +14 -14
  30. package/dist/cjs/components/ui/chart.cjs.map +1 -1
  31. package/dist/cjs/components/ui/checkbox.cjs.map +1 -1
  32. package/dist/cjs/components/ui/collapsible.cjs +2 -2
  33. package/dist/cjs/components/ui/collapsible.cjs.map +1 -1
  34. package/dist/cjs/components/ui/command.cjs +8 -7
  35. package/dist/cjs/components/ui/command.cjs.map +1 -1
  36. package/dist/cjs/components/ui/context-menu.cjs +9 -9
  37. package/dist/cjs/components/ui/context-menu.cjs.map +1 -1
  38. package/dist/cjs/components/ui/counting-number.cjs.map +1 -1
  39. package/dist/cjs/components/ui/dialog.cjs +8 -7
  40. package/dist/cjs/components/ui/dialog.cjs.map +1 -1
  41. package/dist/cjs/components/ui/dot-background.cjs.map +1 -1
  42. package/dist/cjs/components/ui/drawer.cjs +6 -6
  43. package/dist/cjs/components/ui/drawer.cjs.map +1 -1
  44. package/dist/cjs/components/ui/dropdown-menu.cjs +10 -10
  45. package/dist/cjs/components/ui/dropdown-menu.cjs.map +1 -1
  46. package/dist/cjs/components/ui/dropdrawer.cjs +8 -8
  47. package/dist/cjs/components/ui/dropdrawer.cjs.map +1 -1
  48. package/dist/cjs/components/ui/fireworks-background.cjs.map +1 -1
  49. package/dist/cjs/components/ui/flip-button.cjs.map +1 -1
  50. package/dist/cjs/components/ui/form.cjs +5 -5
  51. package/dist/cjs/components/ui/form.cjs.map +1 -1
  52. package/dist/cjs/components/ui/gradient-background.cjs.map +1 -1
  53. package/dist/cjs/components/ui/gradient-text.cjs.map +1 -1
  54. package/dist/cjs/components/ui/highlight-text.cjs.map +1 -1
  55. package/dist/cjs/components/ui/hole-background.cjs.map +1 -1
  56. package/dist/cjs/components/ui/hover-card.cjs +2 -2
  57. package/dist/cjs/components/ui/hover-card.cjs.map +1 -1
  58. package/dist/cjs/components/ui/input-otp.cjs +3 -3
  59. package/dist/cjs/components/ui/input-otp.cjs.map +1 -1
  60. package/dist/cjs/components/ui/input.cjs.map +1 -1
  61. package/dist/cjs/components/ui/label.cjs.map +1 -1
  62. package/dist/cjs/components/ui/menubar.cjs +9 -9
  63. package/dist/cjs/components/ui/menubar.cjs.map +1 -1
  64. package/dist/cjs/components/ui/navigation-menu.cjs +4 -4
  65. package/dist/cjs/components/ui/navigation-menu.cjs.map +1 -1
  66. package/dist/cjs/components/ui/pagination.cjs +3 -3
  67. package/dist/cjs/components/ui/pagination.cjs.map +1 -1
  68. package/dist/cjs/components/ui/popover.cjs.map +1 -1
  69. package/dist/cjs/components/ui/progress.cjs.map +1 -1
  70. package/dist/cjs/components/ui/radio-group.cjs.map +1 -1
  71. package/dist/cjs/components/ui/resizable.cjs +1 -1
  72. package/dist/cjs/components/ui/resizable.cjs.map +1 -1
  73. package/dist/cjs/components/ui/ripple-button.cjs.map +1 -1
  74. package/dist/cjs/components/ui/scratcher.cjs.map +1 -1
  75. package/dist/cjs/components/ui/scroll-area.cjs.map +1 -1
  76. package/dist/cjs/components/ui/select.cjs +5 -5
  77. package/dist/cjs/components/ui/select.cjs.map +1 -1
  78. package/dist/cjs/components/ui/separator.cjs +1 -1
  79. package/dist/cjs/components/ui/separator.cjs.map +1 -1
  80. package/dist/cjs/components/ui/sheet.cjs +5 -5
  81. package/dist/cjs/components/ui/sheet.cjs.map +1 -1
  82. package/dist/cjs/components/ui/sidebar.cjs +19 -19
  83. package/dist/cjs/components/ui/sidebar.cjs.map +1 -1
  84. package/dist/cjs/components/ui/skeleton.cjs.map +1 -1
  85. package/dist/cjs/components/ui/slider.cjs.map +1 -1
  86. package/dist/cjs/components/ui/sonner.cjs.map +1 -1
  87. package/dist/cjs/components/ui/switch.cjs.map +1 -1
  88. package/dist/cjs/components/ui/table.cjs +6 -6
  89. package/dist/cjs/components/ui/table.cjs.map +1 -1
  90. package/dist/cjs/components/ui/tabs.cjs +2 -2
  91. package/dist/cjs/components/ui/tabs.cjs.map +1 -1
  92. package/dist/cjs/components/ui/textarea.cjs.map +1 -1
  93. package/dist/cjs/components/ui/toggle-group.cjs +2 -2
  94. package/dist/cjs/components/ui/toggle-group.cjs.map +1 -1
  95. package/dist/cjs/components/ui/toggle.cjs +2 -2
  96. package/dist/cjs/components/ui/toggle.cjs.map +1 -1
  97. package/dist/cjs/components/ui/tooltip.cjs +2 -2
  98. package/dist/cjs/components/ui/tooltip.cjs.map +1 -1
  99. package/dist/cjs/hooks/use-mobile.cjs.map +1 -1
  100. package/dist/cjs/index.cjs +244 -242
  101. package/dist/cjs/index.cjs.map +1 -0
  102. package/dist/cjs/index.css +399 -149
  103. package/dist/cjs/index.css.map +1 -0
  104. package/dist/cjs/lib/utils.cjs.map +1 -1
  105. package/dist/esm/components/ui/accordion.js +14 -14
  106. package/dist/esm/components/ui/accordion.js.map +1 -1
  107. package/dist/esm/components/ui/alert-dialog.js +25 -25
  108. package/dist/esm/components/ui/alert-dialog.js.map +1 -1
  109. package/dist/esm/components/ui/alert.js +10 -10
  110. package/dist/esm/components/ui/alert.js.map +1 -1
  111. package/dist/esm/components/ui/aspect-ratio.js +3 -3
  112. package/dist/esm/components/ui/aspect-ratio.js.map +1 -1
  113. package/dist/esm/components/ui/avatar.js +9 -9
  114. package/dist/esm/components/ui/avatar.js.map +1 -1
  115. package/dist/esm/components/ui/background-beams.js +20 -20
  116. package/dist/esm/components/ui/background-beams.js.map +1 -1
  117. package/dist/esm/components/ui/badge.js +8 -8
  118. package/dist/esm/components/ui/badge.js.map +1 -1
  119. package/dist/esm/components/ui/breadcrumb.js +21 -21
  120. package/dist/esm/components/ui/breadcrumb.js.map +1 -1
  121. package/dist/esm/components/ui/bubble-background.js +31 -31
  122. package/dist/esm/components/ui/bubble-background.js.map +1 -1
  123. package/dist/esm/components/ui/button.js +8 -8
  124. package/dist/esm/components/ui/button.js.map +1 -1
  125. package/dist/esm/components/ui/calendar.js +93 -42
  126. package/dist/esm/components/ui/calendar.js.map +1 -1
  127. package/dist/esm/components/ui/card.js +16 -16
  128. package/dist/esm/components/ui/card.js.map +1 -1
  129. package/dist/esm/components/ui/carousel.js +33 -33
  130. package/dist/esm/components/ui/carousel.js.map +1 -1
  131. package/dist/esm/components/ui/chart.js +45 -45
  132. package/dist/esm/components/ui/chart.js.map +1 -1
  133. package/dist/esm/components/ui/checkbox.js +8 -8
  134. package/dist/esm/components/ui/checkbox.js.map +1 -1
  135. package/dist/esm/components/ui/collapsible.js +8 -8
  136. package/dist/esm/components/ui/collapsible.js.map +1 -1
  137. package/dist/esm/components/ui/command.js +33 -32
  138. package/dist/esm/components/ui/command.js.map +1 -1
  139. package/dist/esm/components/ui/context-menu.js +36 -36
  140. package/dist/esm/components/ui/context-menu.js.map +1 -1
  141. package/dist/esm/components/ui/counting-number.js +12 -12
  142. package/dist/esm/components/ui/counting-number.js.map +1 -1
  143. package/dist/esm/components/ui/dialog.js +27 -26
  144. package/dist/esm/components/ui/dialog.js.map +1 -1
  145. package/dist/esm/components/ui/dot-background.js +15 -15
  146. package/dist/esm/components/ui/dot-background.js.map +1 -1
  147. package/dist/esm/components/ui/drawer.js +24 -24
  148. package/dist/esm/components/ui/drawer.js.map +1 -1
  149. package/dist/esm/components/ui/dropdown-menu.js +36 -36
  150. package/dist/esm/components/ui/dropdown-menu.js.map +1 -1
  151. package/dist/esm/components/ui/dropdrawer.js +104 -104
  152. package/dist/esm/components/ui/dropdrawer.js.map +1 -1
  153. package/dist/esm/components/ui/fireworks-background.js +12 -12
  154. package/dist/esm/components/ui/fireworks-background.js.map +1 -1
  155. package/dist/esm/components/ui/flip-button.js +12 -12
  156. package/dist/esm/components/ui/flip-button.js.map +1 -1
  157. package/dist/esm/components/ui/form.js +26 -26
  158. package/dist/esm/components/ui/form.js.map +1 -1
  159. package/dist/esm/components/ui/gradient-background.js +7 -7
  160. package/dist/esm/components/ui/gradient-background.js.map +1 -1
  161. package/dist/esm/components/ui/gradient-text.js +9 -9
  162. package/dist/esm/components/ui/gradient-text.js.map +1 -1
  163. package/dist/esm/components/ui/highlight-text.js +10 -10
  164. package/dist/esm/components/ui/highlight-text.js.map +1 -1
  165. package/dist/esm/components/ui/hole-background.js +30 -30
  166. package/dist/esm/components/ui/hole-background.js.map +1 -1
  167. package/dist/esm/components/ui/hover-card.js +8 -8
  168. package/dist/esm/components/ui/hover-card.js.map +1 -1
  169. package/dist/esm/components/ui/input-otp.js +17 -17
  170. package/dist/esm/components/ui/input-otp.js.map +1 -1
  171. package/dist/esm/components/ui/input.js +4 -4
  172. package/dist/esm/components/ui/input.js.map +1 -1
  173. package/dist/esm/components/ui/label.js +5 -5
  174. package/dist/esm/components/ui/label.js.map +1 -1
  175. package/dist/esm/components/ui/menubar.js +39 -39
  176. package/dist/esm/components/ui/menubar.js.map +1 -1
  177. package/dist/esm/components/ui/navigation-menu.js +27 -27
  178. package/dist/esm/components/ui/navigation-menu.js.map +1 -1
  179. package/dist/esm/components/ui/pagination.js +23 -23
  180. package/dist/esm/components/ui/pagination.js.map +1 -1
  181. package/dist/esm/components/ui/popover.js +9 -9
  182. package/dist/esm/components/ui/popover.js.map +1 -1
  183. package/dist/esm/components/ui/progress.js +6 -6
  184. package/dist/esm/components/ui/progress.js.map +1 -1
  185. package/dist/esm/components/ui/radio-group.js +10 -10
  186. package/dist/esm/components/ui/radio-group.js.map +1 -1
  187. package/dist/esm/components/ui/resizable.js +11 -11
  188. package/dist/esm/components/ui/resizable.js.map +1 -1
  189. package/dist/esm/components/ui/ripple-button.js +14 -14
  190. package/dist/esm/components/ui/ripple-button.js.map +1 -1
  191. package/dist/esm/components/ui/scratcher.js +13 -13
  192. package/dist/esm/components/ui/scratcher.js.map +1 -1
  193. package/dist/esm/components/ui/scroll-area.js +11 -11
  194. package/dist/esm/components/ui/scroll-area.js.map +1 -1
  195. package/dist/esm/components/ui/select.js +34 -34
  196. package/dist/esm/components/ui/select.js.map +1 -1
  197. package/dist/esm/components/ui/separator.js +6 -6
  198. package/dist/esm/components/ui/separator.js.map +1 -1
  199. package/dist/esm/components/ui/sheet.js +25 -25
  200. package/dist/esm/components/ui/sheet.js.map +1 -1
  201. package/dist/esm/components/ui/sidebar.js +96 -96
  202. package/dist/esm/components/ui/sidebar.js.map +1 -1
  203. package/dist/esm/components/ui/skeleton.js +4 -4
  204. package/dist/esm/components/ui/skeleton.js.map +1 -1
  205. package/dist/esm/components/ui/slider.js +12 -12
  206. package/dist/esm/components/ui/slider.js.map +1 -1
  207. package/dist/esm/components/ui/sonner.js +7 -8
  208. package/dist/esm/components/ui/sonner.js.map +1 -1
  209. package/dist/esm/components/ui/switch.js +7 -7
  210. package/dist/esm/components/ui/switch.js.map +1 -1
  211. package/dist/esm/components/ui/table.js +19 -19
  212. package/dist/esm/components/ui/table.js.map +1 -1
  213. package/dist/esm/components/ui/tabs.js +11 -11
  214. package/dist/esm/components/ui/tabs.js.map +1 -1
  215. package/dist/esm/components/ui/textarea.js +4 -4
  216. package/dist/esm/components/ui/textarea.js.map +1 -1
  217. package/dist/esm/components/ui/toggle-group.js +12 -12
  218. package/dist/esm/components/ui/toggle-group.js.map +1 -1
  219. package/dist/esm/components/ui/toggle.js +7 -7
  220. package/dist/esm/components/ui/toggle.js.map +1 -1
  221. package/dist/esm/components/ui/tooltip.js +11 -11
  222. package/dist/esm/components/ui/tooltip.js.map +1 -1
  223. package/dist/esm/hooks/use-mobile.js +3 -3
  224. package/dist/esm/hooks/use-mobile.js.map +1 -1
  225. package/dist/esm/index.css +399 -149
  226. package/dist/esm/index.css.map +1 -0
  227. package/dist/esm/index.js +62 -332
  228. package/dist/esm/lib/utils.js +3 -3
  229. package/dist/esm/lib/utils.js.map +1 -1
  230. package/dist/index.css +399 -149
  231. package/dist/index.js +62 -332
  232. package/dist/types/components/ui/accordion.d.ts +1 -0
  233. package/dist/types/components/ui/accordion.d.ts.map +1 -0
  234. package/dist/types/components/ui/alert-dialog.d.ts +1 -0
  235. package/dist/types/components/ui/alert-dialog.d.ts.map +1 -0
  236. package/dist/types/components/ui/alert.d.ts +1 -0
  237. package/dist/types/components/ui/alert.d.ts.map +1 -0
  238. package/dist/types/components/ui/aspect-ratio.d.ts +1 -0
  239. package/dist/types/components/ui/aspect-ratio.d.ts.map +1 -0
  240. package/dist/types/components/ui/avatar.d.ts +1 -0
  241. package/dist/types/components/ui/avatar.d.ts.map +1 -0
  242. package/dist/types/components/ui/background-beams.d.ts +1 -0
  243. package/dist/types/components/ui/background-beams.d.ts.map +1 -0
  244. package/dist/types/components/ui/badge.d.ts +1 -0
  245. package/dist/types/components/ui/badge.d.ts.map +1 -0
  246. package/dist/types/components/ui/breadcrumb.d.ts +1 -0
  247. package/dist/types/components/ui/breadcrumb.d.ts.map +1 -0
  248. package/dist/types/components/ui/bubble-background.d.ts +1 -0
  249. package/dist/types/components/ui/bubble-background.d.ts.map +1 -0
  250. package/dist/types/components/ui/button.d.ts +1 -0
  251. package/dist/types/components/ui/button.d.ts.map +1 -0
  252. package/dist/types/components/ui/calendar.d.ts +8 -3
  253. package/dist/types/components/ui/calendar.d.ts.map +1 -0
  254. package/dist/types/components/ui/card.d.ts +1 -0
  255. package/dist/types/components/ui/card.d.ts.map +1 -0
  256. package/dist/types/components/ui/carousel.d.ts +1 -0
  257. package/dist/types/components/ui/carousel.d.ts.map +1 -0
  258. package/dist/types/components/ui/chart.d.ts +19 -4
  259. package/dist/types/components/ui/chart.d.ts.map +1 -0
  260. package/dist/types/components/ui/checkbox.d.ts +1 -0
  261. package/dist/types/components/ui/checkbox.d.ts.map +1 -0
  262. package/dist/types/components/ui/collapsible.d.ts +1 -0
  263. package/dist/types/components/ui/collapsible.d.ts.map +1 -0
  264. package/dist/types/components/ui/command.d.ts +4 -1
  265. package/dist/types/components/ui/command.d.ts.map +1 -0
  266. package/dist/types/components/ui/context-menu.d.ts +1 -0
  267. package/dist/types/components/ui/context-menu.d.ts.map +1 -0
  268. package/dist/types/components/ui/counting-number.d.ts +1 -0
  269. package/dist/types/components/ui/counting-number.d.ts.map +1 -0
  270. package/dist/types/components/ui/dialog.d.ts +4 -1
  271. package/dist/types/components/ui/dialog.d.ts.map +1 -0
  272. package/dist/types/components/ui/dot-background.d.ts +1 -0
  273. package/dist/types/components/ui/dot-background.d.ts.map +1 -0
  274. package/dist/types/components/ui/drawer.d.ts +1 -0
  275. package/dist/types/components/ui/drawer.d.ts.map +1 -0
  276. package/dist/types/components/ui/dropdown-menu.d.ts +1 -0
  277. package/dist/types/components/ui/dropdown-menu.d.ts.map +1 -0
  278. package/dist/types/components/ui/dropdrawer.d.ts +1 -0
  279. package/dist/types/components/ui/dropdrawer.d.ts.map +1 -0
  280. package/dist/types/components/ui/fireworks-background.d.ts +1 -0
  281. package/dist/types/components/ui/fireworks-background.d.ts.map +1 -0
  282. package/dist/types/components/ui/flip-button.d.ts +1 -0
  283. package/dist/types/components/ui/flip-button.d.ts.map +1 -0
  284. package/dist/types/components/ui/form.d.ts +1 -0
  285. package/dist/types/components/ui/form.d.ts.map +1 -0
  286. package/dist/types/components/ui/gradient-background.d.ts +1 -0
  287. package/dist/types/components/ui/gradient-background.d.ts.map +1 -0
  288. package/dist/types/components/ui/gradient-text.d.ts +1 -0
  289. package/dist/types/components/ui/gradient-text.d.ts.map +1 -0
  290. package/dist/types/components/ui/highlight-text.d.ts +1 -0
  291. package/dist/types/components/ui/highlight-text.d.ts.map +1 -0
  292. package/dist/types/components/ui/hole-background.d.ts +1 -0
  293. package/dist/types/components/ui/hole-background.d.ts.map +1 -0
  294. package/dist/types/components/ui/hover-card.d.ts +1 -0
  295. package/dist/types/components/ui/hover-card.d.ts.map +1 -0
  296. package/dist/types/components/ui/input-otp.d.ts +1 -0
  297. package/dist/types/components/ui/input-otp.d.ts.map +1 -0
  298. package/dist/types/components/ui/input.d.ts +1 -0
  299. package/dist/types/components/ui/input.d.ts.map +1 -0
  300. package/dist/types/components/ui/label.d.ts +1 -0
  301. package/dist/types/components/ui/label.d.ts.map +1 -0
  302. package/dist/types/components/ui/menubar.d.ts +1 -0
  303. package/dist/types/components/ui/menubar.d.ts.map +1 -0
  304. package/dist/types/components/ui/navigation-menu.d.ts +1 -0
  305. package/dist/types/components/ui/navigation-menu.d.ts.map +1 -0
  306. package/dist/types/components/ui/pagination.d.ts +1 -0
  307. package/dist/types/components/ui/pagination.d.ts.map +1 -0
  308. package/dist/types/components/ui/popover.d.ts +1 -0
  309. package/dist/types/components/ui/popover.d.ts.map +1 -0
  310. package/dist/types/components/ui/progress.d.ts +1 -0
  311. package/dist/types/components/ui/progress.d.ts.map +1 -0
  312. package/dist/types/components/ui/radio-group.d.ts +1 -0
  313. package/dist/types/components/ui/radio-group.d.ts.map +1 -0
  314. package/dist/types/components/ui/resizable.d.ts +1 -0
  315. package/dist/types/components/ui/resizable.d.ts.map +1 -0
  316. package/dist/types/components/ui/ripple-button.d.ts +1 -0
  317. package/dist/types/components/ui/ripple-button.d.ts.map +1 -0
  318. package/dist/types/components/ui/scratcher.d.ts +1 -0
  319. package/dist/types/components/ui/scratcher.d.ts.map +1 -0
  320. package/dist/types/components/ui/scroll-area.d.ts +1 -0
  321. package/dist/types/components/ui/scroll-area.d.ts.map +1 -0
  322. package/dist/types/components/ui/select.d.ts +1 -0
  323. package/dist/types/components/ui/select.d.ts.map +1 -0
  324. package/dist/types/components/ui/separator.d.ts +1 -0
  325. package/dist/types/components/ui/separator.d.ts.map +1 -0
  326. package/dist/types/components/ui/sheet.d.ts +1 -0
  327. package/dist/types/components/ui/sheet.d.ts.map +1 -0
  328. package/dist/types/components/ui/sidebar.d.ts +1 -0
  329. package/dist/types/components/ui/sidebar.d.ts.map +1 -0
  330. package/dist/types/components/ui/skeleton.d.ts +1 -0
  331. package/dist/types/components/ui/skeleton.d.ts.map +1 -0
  332. package/dist/types/components/ui/slider.d.ts +1 -0
  333. package/dist/types/components/ui/slider.d.ts.map +1 -0
  334. package/dist/types/components/ui/sonner.d.ts +1 -0
  335. package/dist/types/components/ui/sonner.d.ts.map +1 -0
  336. package/dist/types/components/ui/switch.d.ts +1 -0
  337. package/dist/types/components/ui/switch.d.ts.map +1 -0
  338. package/dist/types/components/ui/table.d.ts +1 -0
  339. package/dist/types/components/ui/table.d.ts.map +1 -0
  340. package/dist/types/components/ui/tabs.d.ts +1 -0
  341. package/dist/types/components/ui/tabs.d.ts.map +1 -0
  342. package/dist/types/components/ui/textarea.d.ts +1 -0
  343. package/dist/types/components/ui/textarea.d.ts.map +1 -0
  344. package/dist/types/components/ui/toggle-group.d.ts +1 -0
  345. package/dist/types/components/ui/toggle-group.d.ts.map +1 -0
  346. package/dist/types/components/ui/toggle.d.ts +1 -0
  347. package/dist/types/components/ui/toggle.d.ts.map +1 -0
  348. package/dist/types/components/ui/tooltip.d.ts +1 -0
  349. package/dist/types/components/ui/tooltip.d.ts.map +1 -0
  350. package/dist/types/hooks/use-mobile.d.ts +1 -0
  351. package/dist/types/hooks/use-mobile.d.ts.map +1 -0
  352. package/dist/types/index.d.ts +1 -0
  353. package/dist/types/index.d.ts.map +1 -0
  354. package/dist/types/lib/utils.d.ts +1 -0
  355. package/dist/types/lib/utils.d.ts.map +1 -0
  356. package/package.json +95 -76
  357. package/src/components/ui/accordion.tsx +1 -1
  358. package/src/components/ui/alert-dialog.tsx +4 -4
  359. package/src/components/ui/alert.tsx +3 -3
  360. package/src/components/ui/avatar.tsx +2 -2
  361. package/src/components/ui/badge.tsx +1 -1
  362. package/src/components/ui/breadcrumb.tsx +3 -3
  363. package/src/components/ui/bubble-background.tsx +4 -4
  364. package/src/components/ui/button.tsx +1 -1
  365. package/src/components/ui/calendar.tsx +213 -75
  366. package/src/components/ui/card.tsx +4 -4
  367. package/src/components/ui/carousel.tsx +6 -6
  368. package/src/components/ui/chart.tsx +66 -39
  369. package/src/components/ui/checkbox.tsx +1 -1
  370. package/src/components/ui/command.tsx +14 -7
  371. package/src/components/ui/context-menu.tsx +9 -9
  372. package/src/components/ui/counting-number.tsx +4 -4
  373. package/src/components/ui/dialog.tsx +17 -9
  374. package/src/components/ui/dot-background.tsx +2 -2
  375. package/src/components/ui/drawer.tsx +4 -1
  376. package/src/components/ui/dropdrawer.tsx +973 -973
  377. package/src/components/ui/fireworks-background.tsx +12 -12
  378. package/src/components/ui/flip-button.tsx +6 -6
  379. package/src/components/ui/form.tsx +6 -6
  380. package/src/components/ui/gradient-background.tsx +3 -3
  381. package/src/components/ui/gradient-text.tsx +2 -2
  382. package/src/components/ui/highlight-text.tsx +3 -3
  383. package/src/components/ui/hole-background.tsx +9 -9
  384. package/src/components/ui/hover-card.tsx +1 -1
  385. package/src/components/ui/input-otp.tsx +2 -2
  386. package/src/components/ui/input.tsx +5 -6
  387. package/src/components/ui/label.tsx +1 -1
  388. package/src/components/ui/menubar.tsx +11 -11
  389. package/src/components/ui/navigation-menu.tsx +8 -8
  390. package/src/components/ui/pagination.tsx +1 -1
  391. package/src/components/ui/popover.tsx +1 -1
  392. package/src/components/ui/progress.tsx +1 -1
  393. package/src/components/ui/radio-group.tsx +1 -1
  394. package/src/components/ui/resizable.tsx +3 -3
  395. package/src/components/ui/ripple-button.tsx +7 -7
  396. package/src/components/ui/scratcher.tsx +1 -1
  397. package/src/components/ui/scroll-area.tsx +1 -1
  398. package/src/components/ui/select.tsx +8 -8
  399. package/src/components/ui/separator.tsx +2 -2
  400. package/src/components/ui/sheet.tsx +4 -4
  401. package/src/components/ui/sidebar.tsx +18 -18
  402. package/src/components/ui/skeleton.tsx +1 -1
  403. package/src/components/ui/slider.tsx +6 -6
  404. package/src/components/ui/switch.tsx +2 -2
  405. package/src/components/ui/table.tsx +5 -5
  406. package/src/components/ui/tabs.tsx +2 -2
  407. package/src/components/ui/textarea.tsx +1 -1
  408. package/src/components/ui/toggle-group.tsx +2 -2
  409. package/src/components/ui/toggle.tsx +1 -1
  410. package/src/components/ui/tooltip.tsx +1 -1
  411. package/src/hooks/use-mobile.tsx +44 -44
  412. package/src/index.css +68 -68
  413. package/src/index.ts +400 -400
  414. package/src/lib/utils.ts +10 -10
  415. package/tailwind.config.mjs +65 -65
  416. package/tsconfig.json +8 -0
  417. package/changelog.md +0 -45
  418. package/readme.md +0 -215
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\sidebar.js","sources":["webpack://@arolariu/components/./src/components/ui/sidebar.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { VariantProps, cva } from \"class-variance-authority\";\nimport { PanelLeftIcon } from \"lucide-react\";\n\nimport { useIsMobile } from \"@/hooks/use-mobile\";\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"@/components/ui/button\";\nimport { Input } from \"@/components/ui/input\";\nimport { Separator } from \"@/components/ui/separator\";\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n} from \"@/components/ui/sheet\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\n\nconst SIDEBAR_COOKIE_NAME = \"sidebar_state\";\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = \"16rem\";\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\";\nconst SIDEBAR_WIDTH_ICON = \"3rem\";\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\";\n\ntype SidebarContextProps = {\n state: \"expanded\" | \"collapsed\";\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n};\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null);\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext);\n if (!context) {\n throw new Error(\"useSidebar must be used within a SidebarProvider.\");\n }\n\n return context;\n}\n\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n}) {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = React.useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === \"function\" ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open]\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? \"expanded\" : \"collapsed\";\n\n const contextValue = React.useMemo<SidebarContextProps>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot=\"sidebar-wrapper\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH,\n \"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(\n \"group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full\",\n className\n )}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\nfunction Sidebar({\n side = \"left\",\n variant = \"sidebar\",\n collapsible = \"offcanvas\",\n className,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n side?: \"left\" | \"right\";\n variant?: \"sidebar\" | \"floating\" | \"inset\";\n collapsible?: \"offcanvas\" | \"icon\" | \"none\";\n}) {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === \"none\") {\n return (\n <div\n data-slot=\"sidebar\"\n className={cn(\n \"bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col\",\n className\n )}\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n data-mobile=\"true\"\n className=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className=\"group peer text-sidebar-foreground hidden md:block\"\n data-state={state}\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n \"relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear\",\n \"group-data-[collapsible=offcanvas]:w-0\",\n \"group-data-[side=right]:rotate-180\",\n variant === \"floating\" || variant === \"inset\"\n ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\"\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n \"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex\",\n side === \"left\"\n ? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\n : \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n // Adjust the padding for floating and inset variants.\n variant === \"floating\" || variant === \"inset\"\n ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n className\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className=\"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\nfunction SidebarTrigger({\n className,\n onClick,\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn(\"size-7\", className)}\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <PanelLeftIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<\"button\">) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n \"hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex\",\n \"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize\",\n \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n \"hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full\",\n \"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\n \"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInset({ className, ...props }: React.ComponentProps<\"main\">) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n \"bg-white relative flex w-full flex-1 flex-col dark:bg-neutral-950\",\n \"md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInput({\n className,\n ...props\n}: React.ComponentProps<typeof Input>) {\n return (\n <Input\n data-slot=\"sidebar-input\"\n data-sidebar=\"input\"\n className={cn(\n \"bg-white h-8 w-full shadow-none dark:bg-neutral-950\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-header\"\n data-sidebar=\"header\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-footer\"\n data-sidebar=\"footer\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"sidebar-separator\"\n data-sidebar=\"separator\"\n className={cn(\"bg-sidebar-border mx-2 w-auto\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn(\n \"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group\"\n data-sidebar=\"group\"\n className={cn(\"relative flex w-full min-w-0 flex-col p-2\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"div\";\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n \"text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n \"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupAction({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n \"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 md:after:hidden\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupContent({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group-content\"\n data-sidebar=\"group-content\"\n className={cn(\"w-full text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu\"\n data-sidebar=\"menu\"\n className={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"sidebar-menu-item\"\n data-sidebar=\"menu-item\"\n className={cn(\"group/menu-item relative\", className)}\n {...props}\n />\n );\n}\n\nconst sidebarMenuButtonVariants = cva(\n \"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n outline:\n \"bg-white shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))] dark:bg-neutral-950\",\n },\n size: {\n default: \"h-8 text-sm\",\n sm: \"h-7 text-xs\",\n lg: \"h-12 text-sm group-data-[collapsible=icon]:p-0!\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n);\n\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = \"default\",\n size = \"default\",\n tooltip,\n className,\n ...props\n}: React.ComponentProps<\"button\"> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? Slot : \"button\";\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === \"string\") {\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== \"collapsed\" || isMobile}\n {...tooltip}\n />\n </Tooltip>\n );\n}\n\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<\"button\"> & {\n asChild?: boolean;\n showOnHover?: boolean;\n}) {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n \"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 md:after:hidden\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n showOnHover &&\n \"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuBadge({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n \"text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none\",\n \"peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n showIcon?: boolean;\n}) {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div\n data-slot=\"sidebar-menu-skeleton\"\n data-sidebar=\"menu-skeleton\"\n className={cn(\"flex h-8 items-center gap-2 rounded-md px-2\", className)}\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n \"--skeleton-width\": width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n}\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n \"border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubItem({\n className,\n ...props\n}: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"sidebar-menu-sub-item\"\n data-sidebar=\"menu-sub-item\"\n className={cn(\"group/menu-sub-item relative\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = \"md\",\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & {\n asChild?: boolean;\n size?: \"sm\" | \"md\";\n isActive?: boolean;\n}) {\n const Comp = asChild ? Slot : \"a\";\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n \"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\",\n \"data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground\",\n size === \"sm\" && \"text-xs\",\n size === \"md\" && \"text-sm\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n"],"names":["SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","SidebarContext","React","useSidebar","context","Error","SidebarProvider","defaultOpen","openProp","setOpenProp","className","style","children","props","isMobile","useIsMobile","openMobile","setOpenMobile","_open","_setOpen","open","setOpen","value","openState","document","toggleSidebar","handleKeyDown","event","window","state","contextValue","TooltipProvider","cn","Sidebar","side","variant","collapsible","Sheet","SheetContent","SheetHeader","SheetTitle","SheetDescription","SidebarTrigger","onClick","Button","PanelLeftIcon","SidebarRail","SidebarInset","SidebarInput","Input","SidebarHeader","SidebarFooter","SidebarSeparator","Separator","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","Comp","Slot","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","cva","SidebarMenuButton","isActive","size","tooltip","button","Tooltip","TooltipTrigger","TooltipContent","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","width","Math","Skeleton","SidebarMenuSub","SidebarMenuSubItem","SidebarMenuSubButton"],"mappings":"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"}
1
+ {"version":3,"file":"components\\ui\\sidebar.js","sources":["webpack://@arolariu/components/./src/components/ui/sidebar.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, VariantProps } from \"class-variance-authority\";\nimport { PanelLeftIcon } from \"lucide-react\";\n\nimport { useIsMobile } from \"@/hooks/use-mobile\";\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"@/components/ui/button\";\nimport { Input } from \"@/components/ui/input\";\nimport { Separator } from \"@/components/ui/separator\";\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n} from \"@/components/ui/sheet\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\n\nconst SIDEBAR_COOKIE_NAME = \"sidebar_state\";\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = \"16rem\";\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\";\nconst SIDEBAR_WIDTH_ICON = \"3rem\";\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\";\n\ntype SidebarContextProps = {\n state: \"expanded\" | \"collapsed\";\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n};\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null);\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext);\n if (!context) {\n throw new Error(\"useSidebar must be used within a SidebarProvider.\");\n }\n\n return context;\n}\n\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n}) {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = React.useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === \"function\" ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open],\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? \"expanded\" : \"collapsed\";\n\n const contextValue = React.useMemo<SidebarContextProps>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot=\"sidebar-wrapper\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH,\n \"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(\n \"group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\nfunction Sidebar({\n side = \"left\",\n variant = \"sidebar\",\n collapsible = \"offcanvas\",\n className,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n side?: \"left\" | \"right\";\n variant?: \"sidebar\" | \"floating\" | \"inset\";\n collapsible?: \"offcanvas\" | \"icon\" | \"none\";\n}) {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === \"none\") {\n return (\n <div\n data-slot=\"sidebar\"\n className={cn(\n \"bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n data-mobile=\"true\"\n className=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className=\"group peer text-sidebar-foreground hidden md:block\"\n data-state={state}\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n \"relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear\",\n \"group-data-[collapsible=offcanvas]:w-0\",\n \"group-data-[side=right]:rotate-180\",\n variant === \"floating\" || variant === \"inset\"\n ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\",\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n \"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex\",\n side === \"left\"\n ? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\n : \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n // Adjust the padding for floating and inset variants.\n variant === \"floating\" || variant === \"inset\"\n ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n className,\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className=\"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\nfunction SidebarTrigger({\n className,\n onClick,\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn(\"size-7\", className)}\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <PanelLeftIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<\"button\">) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n \"hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex\",\n \"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize\",\n \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n \"hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full\",\n \"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\n \"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInset({ className, ...props }: React.ComponentProps<\"main\">) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n \"bg-white relative flex w-full flex-1 flex-col dark:bg-neutral-950\",\n \"md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInput({\n className,\n ...props\n}: React.ComponentProps<typeof Input>) {\n return (\n <Input\n data-slot=\"sidebar-input\"\n data-sidebar=\"input\"\n className={cn(\n \"bg-white h-8 w-full shadow-none dark:bg-neutral-950\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-header\"\n data-sidebar=\"header\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-footer\"\n data-sidebar=\"footer\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"sidebar-separator\"\n data-sidebar=\"separator\"\n className={cn(\"bg-sidebar-border mx-2 w-auto\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn(\n \"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group\"\n data-sidebar=\"group\"\n className={cn(\"relative flex w-full min-w-0 flex-col p-2\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"div\";\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n \"text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n \"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupAction({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n \"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 md:after:hidden\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupContent({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group-content\"\n data-sidebar=\"group-content\"\n className={cn(\"w-full text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu\"\n data-sidebar=\"menu\"\n className={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"sidebar-menu-item\"\n data-sidebar=\"menu-item\"\n className={cn(\"group/menu-item relative\", className)}\n {...props}\n />\n );\n}\n\nconst sidebarMenuButtonVariants = cva(\n \"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n outline:\n \"bg-white shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))] dark:bg-neutral-950\",\n },\n size: {\n default: \"h-8 text-sm\",\n sm: \"h-7 text-xs\",\n lg: \"h-12 text-sm group-data-[collapsible=icon]:p-0!\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = \"default\",\n size = \"default\",\n tooltip,\n className,\n ...props\n}: React.ComponentProps<\"button\"> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? Slot : \"button\";\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === \"string\") {\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== \"collapsed\" || isMobile}\n {...tooltip}\n />\n </Tooltip>\n );\n}\n\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<\"button\"> & {\n asChild?: boolean;\n showOnHover?: boolean;\n}) {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n \"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 md:after:hidden\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n showOnHover &&\n \"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuBadge({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n \"text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none\",\n \"peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n showIcon?: boolean;\n}) {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div\n data-slot=\"sidebar-menu-skeleton\"\n data-sidebar=\"menu-skeleton\"\n className={cn(\"flex h-8 items-center gap-2 rounded-md px-2\", className)}\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n \"--skeleton-width\": width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n}\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n \"border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubItem({\n className,\n ...props\n}: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"sidebar-menu-sub-item\"\n data-sidebar=\"menu-sub-item\"\n className={cn(\"group/menu-sub-item relative\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = \"md\",\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & {\n asChild?: boolean;\n size?: \"sm\" | \"md\";\n isActive?: boolean;\n}) {\n const Comp = asChild ? Slot : \"a\";\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n \"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\",\n \"data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground\",\n size === \"sm\" && \"text-xs\",\n size === \"md\" && \"text-sm\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n"],"names":["SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","SidebarContext","React","useSidebar","context","Error","SidebarProvider","defaultOpen","openProp","setOpenProp","className","style","children","props","isMobile","useIsMobile","openMobile","setOpenMobile","_open","_setOpen","open","setOpen","value","openState","document","toggleSidebar","handleKeyDown","event","window","state","contextValue","TooltipProvider","cn","Sidebar","side","variant","collapsible","Sheet","SheetContent","SheetHeader","SheetTitle","SheetDescription","SidebarTrigger","onClick","Button","PanelLeftIcon","SidebarRail","SidebarInset","SidebarInput","Input","SidebarHeader","SidebarFooter","SidebarSeparator","Separator","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","Comp","Slot","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","cva","SidebarMenuButton","isActive","size","tooltip","button","Tooltip","TooltipTrigger","TooltipContent","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","width","Math","Skeleton","SidebarMenuSub","SidebarMenuSubItem","SidebarMenuSubButton"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  "use client";
2
- import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ import { jsx } from "react/jsx-runtime";
3
3
  import "react";
4
- import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__ from "../../lib/utils.js";
4
+ import { cn } from "../../lib/utils.js";
5
5
  function Skeleton({ className, ...props }) {
6
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
6
+ return /*#__PURE__*/ jsx("div", {
7
7
  "data-slot": "skeleton",
8
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("bg-neutral-100 animate-pulse rounded-md dark:bg-neutral-800", className),
8
+ className: cn("bg-neutral-100 animate-pulse rounded-md dark:bg-neutral-800", className),
9
9
  ...props
10
10
  });
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\skeleton.js","sources":["webpack://@arolariu/components/./src/components/ui/skeleton.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"skeleton\"\n className={cn(\n \"bg-neutral-100 animate-pulse rounded-md dark:bg-neutral-800\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Skeleton };\n"],"names":["Skeleton","className","props","cn"],"mappings":";;;;AAKA,SAASA,SAAS,EAAEC,SAAS,EAAE,GAAGC,OAAoC;IACpE,OACE,WADF,GACE,gEAAC;QACC,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,+DACAF;QAED,GAAGC,KAAK;;AAGf"}
1
+ {"version":3,"file":"components\\ui\\skeleton.js","sources":["webpack://@arolariu/components/./src/components/ui/skeleton.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"skeleton\"\n className={cn(\n \"bg-neutral-100 animate-pulse rounded-md dark:bg-neutral-800\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Skeleton };\n"],"names":["Skeleton","className","props","cn"],"mappings":";;;;AAKA,SAASA,SAAS,EAAEC,SAAS,EAAE,GAAGC,OAAoC;IACpE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWC,GACT,+DACAF;QAED,GAAGC,KAAK;;AAGf"}
@@ -1,10 +1,10 @@
1
1
  "use client";
2
- import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
3
- import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
4
- import * as __WEBPACK_EXTERNAL_MODULE__radix_ui_react_slider_67d82a63__ from "@radix-ui/react-slider";
5
- import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__ from "../../lib/utils.js";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useMemo } from "react";
4
+ import { Range, Root, Thumb, Track } from "@radix-ui/react-slider";
5
+ import { cn } from "../../lib/utils.js";
6
6
  function Slider({ className, defaultValue, value, min = 0, max = 100, ...props }) {
7
- const _values = __WEBPACK_EXTERNAL_MODULE_react__.useMemo(()=>Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [
7
+ const _values = useMemo(()=>Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [
8
8
  min,
9
9
  max
10
10
  ], [
@@ -13,26 +13,26 @@ function Slider({ className, defaultValue, value, min = 0, max = 100, ...props }
13
13
  min,
14
14
  max
15
15
  ]);
16
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_slider_67d82a63__.Root, {
16
+ return /*#__PURE__*/ jsxs(Root, {
17
17
  "data-slot": "slider",
18
18
  defaultValue: defaultValue,
19
19
  value: value,
20
20
  min: min,
21
21
  max: max,
22
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col", className),
22
+ className: cn("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col", className),
23
23
  ...props,
24
24
  children: [
25
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_slider_67d82a63__.Track, {
25
+ /*#__PURE__*/ jsx(Track, {
26
26
  "data-slot": "slider-track",
27
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("bg-neutral-100 relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5 dark:bg-neutral-800"),
28
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_slider_67d82a63__.Range, {
27
+ className: cn("bg-neutral-100 relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5 dark:bg-neutral-800"),
28
+ children: /*#__PURE__*/ jsx(Range, {
29
29
  "data-slot": "slider-range",
30
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("bg-neutral-900 absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full dark:bg-neutral-50")
30
+ className: cn("bg-neutral-900 absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full dark:bg-neutral-50")
31
31
  })
32
32
  }),
33
33
  Array.from({
34
34
  length: _values.length
35
- }, (_, index)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_slider_67d82a63__.Thumb, {
35
+ }, (_, index)=>/*#__PURE__*/ jsx(Thumb, {
36
36
  "data-slot": "slider-thumb",
37
37
  className: "border-neutral-900 bg-white ring-neutral-950/50 block size-4 shrink-0 rounded-full border border-neutral-200 shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50 dark:border-neutral-50 dark:bg-neutral-950 dark:ring-neutral-300/50 dark:border-neutral-800"
38
38
  }, index))
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\slider.js","sources":["webpack://@arolariu/components/./src/components/ui/slider.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Slider({\n className,\n defaultValue,\n value,\n min = 0,\n max = 100,\n ...props\n}: React.ComponentProps<typeof SliderPrimitive.Root>) {\n const _values = React.useMemo(\n () =>\n Array.isArray(value)\n ? value\n : Array.isArray(defaultValue)\n ? defaultValue\n : [min, max],\n [value, defaultValue, min, max]\n );\n\n return (\n <SliderPrimitive.Root\n data-slot=\"slider\"\n defaultValue={defaultValue}\n value={value}\n min={min}\n max={max}\n className={cn(\n \"relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col\",\n className\n )}\n {...props}\n >\n <SliderPrimitive.Track\n data-slot=\"slider-track\"\n className={cn(\n \"bg-neutral-100 relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5 dark:bg-neutral-800\"\n )}\n >\n <SliderPrimitive.Range\n data-slot=\"slider-range\"\n className={cn(\n \"bg-neutral-900 absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full dark:bg-neutral-50\"\n )}\n />\n </SliderPrimitive.Track>\n {Array.from({ length: _values.length }, (_, index) => (\n <SliderPrimitive.Thumb\n data-slot=\"slider-thumb\"\n key={index}\n className=\"border-neutral-900 bg-white ring-neutral-950/50 block size-4 shrink-0 rounded-full border border-neutral-200 shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50 dark:border-neutral-50 dark:bg-neutral-950 dark:ring-neutral-300/50 dark:border-neutral-800\"\n />\n ))}\n </SliderPrimitive.Root>\n );\n}\n\nexport { Slider };\n"],"names":["Slider","className","defaultValue","value","min","max","props","_values","React","Array","SliderPrimitive","cn","_","index"],"mappings":";;;;;AAOA,SAASA,OAAO,EACdC,SAAS,EACTC,YAAY,EACZC,KAAK,EACLC,MAAM,CAAC,EACPC,MAAM,GAAG,EACT,GAAGC,OAC+C;IAClD,MAAMC,UAAUC,kCAAAA,OAAa,CAC3B,IACEC,MAAM,OAAO,CAACN,SACVA,QACAM,MAAM,OAAO,CAACP,gBACdA,eACA;YAACE;YAAKC;SAAI,EAChB;QAACF;QAAOD;QAAcE;QAAKC;KAAI;IAGjC,OACE,WADF,GACE,iEAACK,4DAAAA,IAAoB;QACnB,aAAU;QACV,cAAcR;QACd,OAAOC;QACP,KAAKC;QACL,KAAKC;QACL,WAAWM,IAAAA,mDAAAA,EAAAA,EACT,uOACAV;QAED,GAAGK,KAAK;;0BAET,gEAACI,4DAAAA,KAAqB;gBACpB,aAAU;gBACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT;0BAGF,8EAACD,4DAAAA,KAAqB;oBACpB,aAAU;oBACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT;;;YAILF,MAAM,IAAI,CAAC;gBAAE,QAAQF,QAAQ,MAAM;YAAC,GAAG,CAACK,GAAGC,QAC1C,WAD0CA,GAC1C,gEAACH,4DAAAA,KAAqB;oBACpB,aAAU;oBAEV,WAAU;mBADLG;;;AAMf"}
1
+ {"version":3,"file":"components\\ui\\slider.js","sources":["webpack://@arolariu/components/./src/components/ui/slider.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Slider({\n className,\n defaultValue,\n value,\n min = 0,\n max = 100,\n ...props\n}: React.ComponentProps<typeof SliderPrimitive.Root>) {\n const _values = React.useMemo(\n () =>\n Array.isArray(value)\n ? value\n : Array.isArray(defaultValue)\n ? defaultValue\n : [min, max],\n [value, defaultValue, min, max],\n );\n\n return (\n <SliderPrimitive.Root\n data-slot=\"slider\"\n defaultValue={defaultValue}\n value={value}\n min={min}\n max={max}\n className={cn(\n \"relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col\",\n className,\n )}\n {...props}\n >\n <SliderPrimitive.Track\n data-slot=\"slider-track\"\n className={cn(\n \"bg-neutral-100 relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5 dark:bg-neutral-800\",\n )}\n >\n <SliderPrimitive.Range\n data-slot=\"slider-range\"\n className={cn(\n \"bg-neutral-900 absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full dark:bg-neutral-50\",\n )}\n />\n </SliderPrimitive.Track>\n {Array.from({ length: _values.length }, (_, index) => (\n <SliderPrimitive.Thumb\n data-slot=\"slider-thumb\"\n key={index}\n className=\"border-neutral-900 bg-white ring-neutral-950/50 block size-4 shrink-0 rounded-full border border-neutral-200 shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50 dark:border-neutral-50 dark:bg-neutral-950 dark:ring-neutral-300/50 dark:border-neutral-800\"\n />\n ))}\n </SliderPrimitive.Root>\n );\n}\n\nexport { Slider };\n"],"names":["Slider","className","defaultValue","value","min","max","props","_values","React","Array","SliderPrimitive","cn","_","index"],"mappings":";;;;;AAOA,SAASA,OAAO,EACdC,SAAS,EACTC,YAAY,EACZC,KAAK,EACLC,MAAM,CAAC,EACPC,MAAM,GAAG,EACT,GAAGC,OAC+C;IAClD,MAAMC,UAAUC,QACd,IACEC,MAAM,OAAO,CAACN,SACVA,QACAM,MAAM,OAAO,CAACP,gBACZA,eACA;YAACE;YAAKC;SAAI,EAClB;QAACF;QAAOD;QAAcE;QAAKC;KAAI;IAGjC,OAAO,WAAP,GACE,KAACK,MAAoB;QACnB,aAAU;QACV,cAAcR;QACd,OAAOC;QACP,KAAKC;QACL,KAAKC;QACL,WAAWM,GACT,uOACAV;QAED,GAAGK,KAAK;;0BAET,IAACI,OAAqB;gBACpB,aAAU;gBACV,WAAWC,GACT;0BAGF,kBAACD,OAAqB;oBACpB,aAAU;oBACV,WAAWC,GACT;;;YAILF,MAAM,IAAI,CAAC;gBAAE,QAAQF,QAAQ,MAAM;YAAC,GAAG,CAACK,GAAGC,QAAAA,WAAAA,GAC1C,IAACH,OAAqB;oBACpB,aAAU;oBAEV,WAAU;mBADLG;;;AAMf"}
@@ -1,11 +1,11 @@
1
1
  "use client";
2
- import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ import { jsx } from "react/jsx-runtime";
3
3
  import "react";
4
- import * as __WEBPACK_EXTERNAL_MODULE_next_themes_25055421__ from "next-themes";
5
- import * as __WEBPACK_EXTERNAL_MODULE_sonner__ from "sonner";
6
- const Toaster = ({ ...props })=>{
7
- const { theme = "system" } = (0, __WEBPACK_EXTERNAL_MODULE_next_themes_25055421__.useTheme)();
8
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_sonner__.Toaster, {
4
+ import { useTheme } from "next-themes";
5
+ import { Toaster, toast } from "sonner";
6
+ const sonner_Toaster = ({ ...props })=>{
7
+ const { theme = "system" } = useTheme();
8
+ return /*#__PURE__*/ jsx(Toaster, {
9
9
  theme: theme,
10
10
  className: "toaster group",
11
11
  style: {
@@ -16,7 +16,6 @@ const Toaster = ({ ...props })=>{
16
16
  ...props
17
17
  });
18
18
  };
19
- var __webpack_exports__toast = __WEBPACK_EXTERNAL_MODULE_sonner__.toast;
20
- export { Toaster, __webpack_exports__toast as toast };
19
+ export { sonner_Toaster as Toaster, toast };
21
20
 
22
21
  //# sourceMappingURL=sonner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\sonner.js","sources":["webpack://@arolariu/components/./src/components/ui/sonner.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport { useTheme } from \"next-themes\";\nimport { Toaster as Sonner, ToasterProps, toast } from \"sonner\";\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n const { theme = \"system\" } = useTheme();\n\n return (\n <Sonner\n theme={theme as ToasterProps[\"theme\"]}\n className=\"toaster group\"\n style={\n {\n \"--normal-bg\": \"var(--popover)\",\n \"--normal-text\": \"var(--popover-foreground)\",\n \"--normal-border\": \"var(--border)\",\n } as React.CSSProperties\n }\n {...props}\n />\n );\n};\n\nexport { Toaster, toast };\n"],"names":["Toaster","props","theme","useTheme","Sonner"],"mappings":";;;;;AAMA,MAAMA,UAAU,CAAC,EAAE,GAAGC,OAAqB;IACzC,MAAM,EAAEC,QAAQ,QAAQ,EAAE,GAAGC,IAAAA,iDAAAA,QAAAA;IAE7B,OACE,WADF,GACE,gEAACC,mCAAAA,OAAMA,EAAAA;QACL,OAAOF;QACP,WAAU;QACV,OACE;YACE,eAAe;YACf,iBAAiB;YACjB,mBAAmB;QACrB;QAED,GAAGD,KAAK;;AAGf"}
1
+ {"version":3,"file":"components\\ui\\sonner.js","sources":["webpack://@arolariu/components/./src/components/ui/sonner.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport { useTheme } from \"next-themes\";\nimport { Toaster as Sonner, ToasterProps, toast } from \"sonner\";\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n const { theme = \"system\" } = useTheme();\n\n return (\n <Sonner\n theme={theme as ToasterProps[\"theme\"]}\n className=\"toaster group\"\n style={\n {\n \"--normal-bg\": \"var(--popover)\",\n \"--normal-text\": \"var(--popover-foreground)\",\n \"--normal-border\": \"var(--border)\",\n } as React.CSSProperties\n }\n {...props}\n />\n );\n};\n\nexport { Toaster, toast };\n"],"names":["Toaster","props","theme","useTheme","Sonner"],"mappings":";;;;;AAMA,MAAMA,iBAAU,CAAC,EAAE,GAAGC,OAAqB;IACzC,MAAM,EAAEC,QAAQ,QAAQ,EAAE,GAAGC;IAE7B,OAAO,WAAP,GACE,IAACC,SAAMA;QACL,OAAOF;QACP,WAAU;QACV,OACE;YACE,eAAe;YACf,iBAAiB;YACjB,mBAAmB;QACrB;QAED,GAAGD,KAAK;;AAGf"}
@@ -1,16 +1,16 @@
1
1
  "use client";
2
- import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ import { jsx } from "react/jsx-runtime";
3
3
  import "react";
4
- import * as __WEBPACK_EXTERNAL_MODULE__radix_ui_react_switch_5e92b7ed__ from "@radix-ui/react-switch";
5
- import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__ from "../../lib/utils.js";
4
+ import { Root, Thumb } from "@radix-ui/react-switch";
5
+ import { cn } from "../../lib/utils.js";
6
6
  function Switch({ className, ...props }) {
7
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_switch_5e92b7ed__.Root, {
7
+ return /*#__PURE__*/ jsx(Root, {
8
8
  "data-slot": "switch",
9
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("peer data-[state=checked]:bg-neutral-900 data-[state=unchecked]:bg-neutral-200 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 dark:data-[state=unchecked]:bg-neutral-200/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-neutral-200 border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:data-[state=checked]:bg-neutral-50 dark:data-[state=unchecked]:bg-neutral-800 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:dark:data-[state=unchecked]:bg-neutral-800/80 dark:border-neutral-800", className),
9
+ className: cn("peer data-[state=checked]:bg-neutral-900 data-[state=unchecked]:bg-neutral-200 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 dark:data-[state=unchecked]:bg-neutral-200/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-neutral-200 border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:data-[state=checked]:bg-neutral-50 dark:data-[state=unchecked]:bg-neutral-800 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:dark:data-[state=unchecked]:bg-neutral-800/80 dark:border-neutral-800", className),
10
10
  ...props,
11
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_switch_5e92b7ed__.Thumb, {
11
+ children: /*#__PURE__*/ jsx(Thumb, {
12
12
  "data-slot": "switch-thumb",
13
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("bg-white dark:data-[state=unchecked]:bg-neutral-950 dark:data-[state=checked]:bg-neutral-50 pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 dark:bg-neutral-950 dark:dark:data-[state=unchecked]:bg-neutral-50 dark:dark:data-[state=checked]:bg-neutral-900")
13
+ className: cn("bg-white dark:data-[state=unchecked]:bg-neutral-950 dark:data-[state=checked]:bg-neutral-50 pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 dark:bg-neutral-950 dark:dark:data-[state=unchecked]:bg-neutral-50 dark:dark:data-[state=checked]:bg-neutral-900")
14
14
  })
15
15
  });
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\switch.js","sources":["webpack://@arolariu/components/./src/components/ui/switch.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Switch({\n className,\n ...props\n}: React.ComponentProps<typeof SwitchPrimitive.Root>) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n className={cn(\n \"peer data-[state=checked]:bg-neutral-900 data-[state=unchecked]:bg-neutral-200 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 dark:data-[state=unchecked]:bg-neutral-200/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-neutral-200 border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:data-[state=checked]:bg-neutral-50 dark:data-[state=unchecked]:bg-neutral-800 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:dark:data-[state=unchecked]:bg-neutral-800/80 dark:border-neutral-800\",\n className\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n \"bg-white dark:data-[state=unchecked]:bg-neutral-950 dark:data-[state=checked]:bg-neutral-50 pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 dark:bg-neutral-950 dark:dark:data-[state=unchecked]:bg-neutral-50 dark:dark:data-[state=checked]:bg-neutral-900\"\n )}\n />\n </SwitchPrimitive.Root>\n );\n}\n\nexport { Switch };\n"],"names":["Switch","className","props","SwitchPrimitive","cn"],"mappings":";;;;;AAOA,SAASA,OAAO,EACdC,SAAS,EACT,GAAGC,OAC+C;IAClD,OACE,WADF,GACE,gEAACC,4DAAAA,IAAoB;QACnB,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,yoBACAH;QAED,GAAGC,KAAK;kBAET,8EAACC,4DAAAA,KAAqB;YACpB,aAAU;YACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT;;;AAKV"}
1
+ {"version":3,"file":"components\\ui\\switch.js","sources":["webpack://@arolariu/components/./src/components/ui/switch.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Switch({\n className,\n ...props\n}: React.ComponentProps<typeof SwitchPrimitive.Root>) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n className={cn(\n \"peer data-[state=checked]:bg-neutral-900 data-[state=unchecked]:bg-neutral-200 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 dark:data-[state=unchecked]:bg-neutral-200/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-neutral-200 border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:data-[state=checked]:bg-neutral-50 dark:data-[state=unchecked]:bg-neutral-800 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:dark:data-[state=unchecked]:bg-neutral-800/80 dark:border-neutral-800\",\n className,\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n \"bg-white dark:data-[state=unchecked]:bg-neutral-950 dark:data-[state=checked]:bg-neutral-50 pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 dark:bg-neutral-950 dark:dark:data-[state=unchecked]:bg-neutral-50 dark:dark:data-[state=checked]:bg-neutral-900\",\n )}\n />\n </SwitchPrimitive.Root>\n );\n}\n\nexport { Switch };\n"],"names":["Switch","className","props","SwitchPrimitive","cn"],"mappings":";;;;;AAOA,SAASA,OAAO,EACdC,SAAS,EACT,GAAGC,OAC+C;IAClD,OAAO,WAAP,GACE,IAACC,MAAoB;QACnB,aAAU;QACV,WAAWC,GACT,yoBACAH;QAED,GAAGC,KAAK;kBAET,kBAACC,OAAqB;YACpB,aAAU;YACV,WAAWC,GACT;;;AAKV"}
@@ -1,64 +1,64 @@
1
1
  "use client";
2
- import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ import { jsx } from "react/jsx-runtime";
3
3
  import "react";
4
- import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__ from "../../lib/utils.js";
4
+ import { cn } from "../../lib/utils.js";
5
5
  function Table({ className, ...props }) {
6
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
6
+ return /*#__PURE__*/ jsx("div", {
7
7
  "data-slot": "table-container",
8
8
  className: "relative w-full overflow-x-auto",
9
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("table", {
9
+ children: /*#__PURE__*/ jsx("table", {
10
10
  "data-slot": "table",
11
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("w-full caption-bottom text-sm", className),
11
+ className: cn("w-full caption-bottom text-sm", className),
12
12
  ...props
13
13
  })
14
14
  });
15
15
  }
16
16
  function TableHeader({ className, ...props }) {
17
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("thead", {
17
+ return /*#__PURE__*/ jsx("thead", {
18
18
  "data-slot": "table-header",
19
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("[&_tr]:border-b", className),
19
+ className: cn("[&_tr]:border-b", className),
20
20
  ...props
21
21
  });
22
22
  }
23
23
  function TableBody({ className, ...props }) {
24
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("tbody", {
24
+ return /*#__PURE__*/ jsx("tbody", {
25
25
  "data-slot": "table-body",
26
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("[&_tr:last-child]:border-0", className),
26
+ className: cn("[&_tr:last-child]:border-0", className),
27
27
  ...props
28
28
  });
29
29
  }
30
30
  function TableFooter({ className, ...props }) {
31
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("tfoot", {
31
+ return /*#__PURE__*/ jsx("tfoot", {
32
32
  "data-slot": "table-footer",
33
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("bg-neutral-100/50 border-t font-medium [&>tr]:last:border-b-0 dark:bg-neutral-800/50", className),
33
+ className: cn("bg-neutral-100/50 border-t font-medium [&>tr]:last:border-b-0 dark:bg-neutral-800/50", className),
34
34
  ...props
35
35
  });
36
36
  }
37
37
  function TableRow({ className, ...props }) {
38
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("tr", {
38
+ return /*#__PURE__*/ jsx("tr", {
39
39
  "data-slot": "table-row",
40
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("hover:bg-neutral-100/50 data-[state=selected]:bg-neutral-100 border-b transition-colors dark:hover:bg-neutral-800/50 dark:data-[state=selected]:bg-neutral-800", className),
40
+ className: cn("hover:bg-neutral-100/50 data-[state=selected]:bg-neutral-100 border-b transition-colors dark:hover:bg-neutral-800/50 dark:data-[state=selected]:bg-neutral-800", className),
41
41
  ...props
42
42
  });
43
43
  }
44
44
  function TableHead({ className, ...props }) {
45
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("th", {
45
+ return /*#__PURE__*/ jsx("th", {
46
46
  "data-slot": "table-head",
47
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("text-neutral-950 h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] dark:text-neutral-50", className),
47
+ className: cn("text-neutral-950 h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] dark:text-neutral-50", className),
48
48
  ...props
49
49
  });
50
50
  }
51
51
  function TableCell({ className, ...props }) {
52
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("td", {
52
+ return /*#__PURE__*/ jsx("td", {
53
53
  "data-slot": "table-cell",
54
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]", className),
54
+ className: cn("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]", className),
55
55
  ...props
56
56
  });
57
57
  }
58
58
  function TableCaption({ className, ...props }) {
59
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("caption", {
59
+ return /*#__PURE__*/ jsx("caption", {
60
60
  "data-slot": "table-caption",
61
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("text-neutral-500 mt-4 text-sm dark:text-neutral-400", className),
61
+ className: cn("text-neutral-500 mt-4 text-sm dark:text-neutral-400", className),
62
62
  ...props
63
63
  });
64
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\table.js","sources":["webpack://@arolariu/components/./src/components/ui/table.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Table({ className, ...props }: React.ComponentProps<\"table\">) {\n return (\n <div\n data-slot=\"table-container\"\n className=\"relative w-full overflow-x-auto\"\n >\n <table\n data-slot=\"table\"\n className={cn(\"w-full caption-bottom text-sm\", className)}\n {...props}\n />\n </div>\n );\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<\"thead\">) {\n return (\n <thead\n data-slot=\"table-header\"\n className={cn(\"[&_tr]:border-b\", className)}\n {...props}\n />\n );\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<\"tbody\">) {\n return (\n <tbody\n data-slot=\"table-body\"\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n );\n}\n\nfunction TableFooter({ className, ...props }: React.ComponentProps<\"tfoot\">) {\n return (\n <tfoot\n data-slot=\"table-footer\"\n className={cn(\n \"bg-neutral-100/50 border-t font-medium [&>tr]:last:border-b-0 dark:bg-neutral-800/50\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction TableRow({ className, ...props }: React.ComponentProps<\"tr\">) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn(\n \"hover:bg-neutral-100/50 data-[state=selected]:bg-neutral-100 border-b transition-colors dark:hover:bg-neutral-800/50 dark:data-[state=selected]:bg-neutral-800\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction TableHead({ className, ...props }: React.ComponentProps<\"th\">) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\n \"text-neutral-950 h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] dark:text-neutral-50\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction TableCell({ className, ...props }: React.ComponentProps<\"td\">) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn(\n \"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction TableCaption({\n className,\n ...props\n}: React.ComponentProps<\"caption\">) {\n return (\n <caption\n data-slot=\"table-caption\"\n className={cn(\n \"text-neutral-500 mt-4 text-sm dark:text-neutral-400\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n};\n"],"names":["Table","className","props","cn","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption"],"mappings":";;;;AAMA,SAASA,MAAM,EAAEC,SAAS,EAAE,GAAGC,OAAsC;IACnE,OACE,WADF,GACE,gEAAC;QACC,aAAU;QACV,WAAU;kBAEV,8EAAC;YACC,aAAU;YACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,iCAAiCF;YAC9C,GAAGC,KAAK;;;AAIjB;AAEA,SAASE,YAAY,EAAEH,SAAS,EAAE,GAAGC,OAAsC;IACzE,OACE,WADF,GACE,gEAAC;QACC,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,mBAAmBF;QAChC,GAAGC,KAAK;;AAGf;AAEA,SAASG,UAAU,EAAEJ,SAAS,EAAE,GAAGC,OAAsC;IACvE,OACE,WADF,GACE,gEAAC;QACC,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,8BAA8BF;QAC3C,GAAGC,KAAK;;AAGf;AAEA,SAASI,YAAY,EAAEL,SAAS,EAAE,GAAGC,OAAsC;IACzE,OACE,WADF,GACE,gEAAC;QACC,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,wFACAF;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASK,SAAS,EAAEN,SAAS,EAAE,GAAGC,OAAmC;IACnE,OACE,WADF,GACE,gEAAC;QACC,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,kKACAF;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASM,UAAU,EAAEP,SAAS,EAAE,GAAGC,OAAmC;IACpE,OACE,WADF,GACE,gEAAC;QACC,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,4KACAF;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASO,UAAU,EAAER,SAAS,EAAE,GAAGC,OAAmC;IACpE,OACE,WADF,GACE,gEAAC;QACC,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,0GACAF;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASQ,aAAa,EACpBT,SAAS,EACT,GAAGC,OAC6B;IAChC,OACE,WADF,GACE,gEAAC;QACC,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,uDACAF;QAED,GAAGC,KAAK;;AAGf"}
1
+ {"version":3,"file":"components\\ui\\table.js","sources":["webpack://@arolariu/components/./src/components/ui/table.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Table({ className, ...props }: React.ComponentProps<\"table\">) {\n return (\n <div\n data-slot=\"table-container\"\n className=\"relative w-full overflow-x-auto\"\n >\n <table\n data-slot=\"table\"\n className={cn(\"w-full caption-bottom text-sm\", className)}\n {...props}\n />\n </div>\n );\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<\"thead\">) {\n return (\n <thead\n data-slot=\"table-header\"\n className={cn(\"[&_tr]:border-b\", className)}\n {...props}\n />\n );\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<\"tbody\">) {\n return (\n <tbody\n data-slot=\"table-body\"\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n );\n}\n\nfunction TableFooter({ className, ...props }: React.ComponentProps<\"tfoot\">) {\n return (\n <tfoot\n data-slot=\"table-footer\"\n className={cn(\n \"bg-neutral-100/50 border-t font-medium [&>tr]:last:border-b-0 dark:bg-neutral-800/50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TableRow({ className, ...props }: React.ComponentProps<\"tr\">) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn(\n \"hover:bg-neutral-100/50 data-[state=selected]:bg-neutral-100 border-b transition-colors dark:hover:bg-neutral-800/50 dark:data-[state=selected]:bg-neutral-800\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TableHead({ className, ...props }: React.ComponentProps<\"th\">) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\n \"text-neutral-950 h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] dark:text-neutral-50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TableCell({ className, ...props }: React.ComponentProps<\"td\">) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn(\n \"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TableCaption({\n className,\n ...props\n}: React.ComponentProps<\"caption\">) {\n return (\n <caption\n data-slot=\"table-caption\"\n className={cn(\n \"text-neutral-500 mt-4 text-sm dark:text-neutral-400\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n};\n"],"names":["Table","className","props","cn","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption"],"mappings":";;;;AAMA,SAASA,MAAM,EAAEC,SAAS,EAAE,GAAGC,OAAsC;IACnE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAU;kBAEV,kBAAC;YACC,aAAU;YACV,WAAWC,GAAG,iCAAiCF;YAC9C,GAAGC,KAAK;;;AAIjB;AAEA,SAASE,YAAY,EAAEH,SAAS,EAAE,GAAGC,OAAsC;IACzE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWC,GAAG,mBAAmBF;QAChC,GAAGC,KAAK;;AAGf;AAEA,SAASG,UAAU,EAAEJ,SAAS,EAAE,GAAGC,OAAsC;IACvE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWC,GAAG,8BAA8BF;QAC3C,GAAGC,KAAK;;AAGf;AAEA,SAASI,YAAY,EAAEL,SAAS,EAAE,GAAGC,OAAsC;IACzE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWC,GACT,wFACAF;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASK,SAAS,EAAEN,SAAS,EAAE,GAAGC,OAAmC;IACnE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWC,GACT,kKACAF;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASM,UAAU,EAAEP,SAAS,EAAE,GAAGC,OAAmC;IACpE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWC,GACT,4KACAF;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASO,UAAU,EAAER,SAAS,EAAE,GAAGC,OAAmC;IACpE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWC,GACT,0GACAF;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASQ,aAAa,EACpBT,SAAS,EACT,GAAGC,OAC6B;IAChC,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWC,GACT,uDACAF;QAED,GAAGC,KAAK;;AAGf"}
@@ -1,33 +1,33 @@
1
1
  "use client";
2
- import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ import { jsx } from "react/jsx-runtime";
3
3
  import "react";
4
- import * as __WEBPACK_EXTERNAL_MODULE__radix_ui_react_tabs_7bf5a77b__ from "@radix-ui/react-tabs";
5
- import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__ from "../../lib/utils.js";
4
+ import { Content, List, Root, Trigger } from "@radix-ui/react-tabs";
5
+ import { cn } from "../../lib/utils.js";
6
6
  function Tabs({ className, ...props }) {
7
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_tabs_7bf5a77b__.Root, {
7
+ return /*#__PURE__*/ jsx(Root, {
8
8
  "data-slot": "tabs",
9
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("flex flex-col gap-2", className),
9
+ className: cn("flex flex-col gap-2", className),
10
10
  ...props
11
11
  });
12
12
  }
13
13
  function TabsList({ className, ...props }) {
14
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_tabs_7bf5a77b__.List, {
14
+ return /*#__PURE__*/ jsx(List, {
15
15
  "data-slot": "tabs-list",
16
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("bg-neutral-100 text-neutral-500 inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px] dark:bg-neutral-800 dark:text-neutral-400", className),
16
+ className: cn("bg-neutral-100 text-neutral-500 inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px] dark:bg-neutral-800 dark:text-neutral-400", className),
17
17
  ...props
18
18
  });
19
19
  }
20
20
  function TabsTrigger({ className, ...props }) {
21
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_tabs_7bf5a77b__.Trigger, {
21
+ return /*#__PURE__*/ jsx(Trigger, {
22
22
  "data-slot": "tabs-trigger",
23
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("data-[state=active]:bg-white dark:data-[state=active]:text-neutral-950 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 focus-visible:outline-ring dark:data-[state=active]:border-neutral-200 dark:data-[state=active]:bg-neutral-200/30 text-neutral-950 dark:text-neutral-500 inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-neutral-200 border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:data-[state=active]:bg-neutral-950 dark:dark:data-[state=active]:text-neutral-50 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:dark:data-[state=active]:border-neutral-800 dark:dark:data-[state=active]:bg-neutral-800/30 dark:text-neutral-50 dark:dark:text-neutral-400 dark:border-neutral-800", className),
23
+ className: cn("data-[state=active]:bg-white dark:data-[state=active]:text-neutral-950 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 focus-visible:outline-ring dark:data-[state=active]:border-neutral-200 dark:data-[state=active]:bg-neutral-200/30 text-neutral-950 dark:text-neutral-500 inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-neutral-200 border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:data-[state=active]:bg-neutral-950 dark:dark:data-[state=active]:text-neutral-50 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:dark:data-[state=active]:border-neutral-800 dark:dark:data-[state=active]:bg-neutral-800/30 dark:text-neutral-50 dark:dark:text-neutral-400 dark:border-neutral-800", className),
24
24
  ...props
25
25
  });
26
26
  }
27
27
  function TabsContent({ className, ...props }) {
28
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_tabs_7bf5a77b__.Content, {
28
+ return /*#__PURE__*/ jsx(Content, {
29
29
  "data-slot": "tabs-content",
30
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("flex-1 outline-none", className),
30
+ className: cn("flex-1 outline-none", className),
31
31
  ...props
32
32
  });
33
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\tabs.js","sources":["webpack://@arolariu/components/./src/components/ui/tabs.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Tabs({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n className={cn(\"flex flex-col gap-2\", className)}\n {...props}\n />\n );\n}\n\nfunction TabsList({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n className={cn(\n \"bg-neutral-100 text-neutral-500 inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px] dark:bg-neutral-800 dark:text-neutral-400\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction TabsTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n \"data-[state=active]:bg-white dark:data-[state=active]:text-neutral-950 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 focus-visible:outline-ring dark:data-[state=active]:border-neutral-200 dark:data-[state=active]:bg-neutral-200/30 text-neutral-950 dark:text-neutral-500 inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-neutral-200 border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:data-[state=active]:bg-neutral-950 dark:dark:data-[state=active]:text-neutral-50 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:dark:data-[state=active]:border-neutral-800 dark:dark:data-[state=active]:bg-neutral-800/30 dark:text-neutral-50 dark:dark:text-neutral-400 dark:border-neutral-800\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction TabsContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn(\"flex-1 outline-none\", className)}\n {...props}\n />\n );\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };\n"],"names":["Tabs","className","props","TabsPrimitive","cn","TabsList","TabsTrigger","TabsContent"],"mappings":";;;;;AAOA,SAASA,KAAK,EACZC,SAAS,EACT,GAAGC,OAC6C;IAChD,OACE,WADF,GACE,gEAACC,0DAAAA,IAAkB;QACjB,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,uBAAuBH;QACpC,GAAGC,KAAK;;AAGf;AAEA,SAASG,SAAS,EAChBJ,SAAS,EACT,GAAGC,OAC6C;IAChD,OACE,WADF,GACE,gEAACC,0DAAAA,IAAkB;QACjB,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,kJACAH;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASI,YAAY,EACnBL,SAAS,EACT,GAAGC,OACgD;IACnD,OACE,WADF,GACE,gEAACC,0DAAAA,OAAqB;QACpB,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,ohCACAH;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASK,YAAY,EACnBN,SAAS,EACT,GAAGC,OACgD;IACnD,OACE,WADF,GACE,gEAACC,0DAAAA,OAAqB;QACpB,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EAAG,uBAAuBH;QACpC,GAAGC,KAAK;;AAGf"}
1
+ {"version":3,"file":"components\\ui\\tabs.js","sources":["webpack://@arolariu/components/./src/components/ui/tabs.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Tabs({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n className={cn(\"flex flex-col gap-2\", className)}\n {...props}\n />\n );\n}\n\nfunction TabsList({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n className={cn(\n \"bg-neutral-100 text-neutral-500 inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px] dark:bg-neutral-800 dark:text-neutral-400\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n \"data-[state=active]:bg-white dark:data-[state=active]:text-neutral-950 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 focus-visible:outline-ring dark:data-[state=active]:border-neutral-200 dark:data-[state=active]:bg-neutral-200/30 text-neutral-950 dark:text-neutral-500 inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-neutral-200 border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:data-[state=active]:bg-neutral-950 dark:dark:data-[state=active]:text-neutral-50 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:dark:data-[state=active]:border-neutral-800 dark:dark:data-[state=active]:bg-neutral-800/30 dark:text-neutral-50 dark:dark:text-neutral-400 dark:border-neutral-800\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn(\"flex-1 outline-none\", className)}\n {...props}\n />\n );\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };\n"],"names":["Tabs","className","props","TabsPrimitive","cn","TabsList","TabsTrigger","TabsContent"],"mappings":";;;;;AAOA,SAASA,KAAK,EACZC,SAAS,EACT,GAAGC,OAC6C;IAChD,OAAO,WAAP,GACE,IAACC,MAAkB;QACjB,aAAU;QACV,WAAWC,GAAG,uBAAuBH;QACpC,GAAGC,KAAK;;AAGf;AAEA,SAASG,SAAS,EAChBJ,SAAS,EACT,GAAGC,OAC6C;IAChD,OAAO,WAAP,GACE,IAACC,MAAkB;QACjB,aAAU;QACV,WAAWC,GACT,kJACAH;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASI,YAAY,EACnBL,SAAS,EACT,GAAGC,OACgD;IACnD,OAAO,WAAP,GACE,IAACC,SAAqB;QACpB,aAAU;QACV,WAAWC,GACT,ohCACAH;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASK,YAAY,EACnBN,SAAS,EACT,GAAGC,OACgD;IACnD,OAAO,WAAP,GACE,IAACC,SAAqB;QACpB,aAAU;QACV,WAAWC,GAAG,uBAAuBH;QACpC,GAAGC,KAAK;;AAGf"}
@@ -1,11 +1,11 @@
1
1
  "use client";
2
- import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ import { jsx } from "react/jsx-runtime";
3
3
  import "react";
4
- import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__ from "../../lib/utils.js";
4
+ import { cn } from "../../lib/utils.js";
5
5
  function Textarea({ className, ...props }) {
6
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("textarea", {
6
+ return /*#__PURE__*/ jsx("textarea", {
7
7
  "data-slot": "textarea",
8
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("border-neutral-200 placeholder:text-neutral-500 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 dark:bg-neutral-200/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:border-neutral-800 dark:placeholder:text-neutral-400 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 dark:dark:bg-neutral-800/30", className),
8
+ className: cn("border-neutral-200 placeholder:text-neutral-500 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 dark:bg-neutral-200/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:border-neutral-800 dark:placeholder:text-neutral-400 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 dark:dark:bg-neutral-800/30", className),
9
9
  ...props
10
10
  });
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\textarea.js","sources":["webpack://@arolariu/components/./src/components/ui/textarea.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Textarea({ className, ...props }: React.ComponentProps<\"textarea\">) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n \"border-neutral-200 placeholder:text-neutral-500 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 dark:bg-neutral-200/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:border-neutral-800 dark:placeholder:text-neutral-400 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 dark:dark:bg-neutral-800/30\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Textarea };\n"],"names":["Textarea","className","props","cn"],"mappings":";;;;AAMA,SAASA,SAAS,EAAEC,SAAS,EAAE,GAAGC,OAAyC;IACzE,OACE,WADF,GACE,gEAAC;QACC,aAAU;QACV,WAAWC,IAAAA,mDAAAA,EAAAA,EACT,6tBACAF;QAED,GAAGC,KAAK;;AAGf"}
1
+ {"version":3,"file":"components\\ui\\textarea.js","sources":["webpack://@arolariu/components/./src/components/ui/textarea.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Textarea({ className, ...props }: React.ComponentProps<\"textarea\">) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n \"border-neutral-200 placeholder:text-neutral-500 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 dark:bg-neutral-200/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:border-neutral-800 dark:placeholder:text-neutral-400 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 dark:dark:bg-neutral-800/30\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Textarea };\n"],"names":["Textarea","className","props","cn"],"mappings":";;;;AAMA,SAASA,SAAS,EAAEC,SAAS,EAAE,GAAGC,OAAyC;IACzE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWC,GACT,6tBACAF;QAED,GAAGC,KAAK;;AAGf"}