@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,70 +1,70 @@
1
1
  "use client";
2
- import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import "react";
4
- import * as __WEBPACK_EXTERNAL_MODULE__radix_ui_react_slot_85c2da36__ from "@radix-ui/react-slot";
5
- import * as __WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__ from "lucide-react";
6
- import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__ from "../../lib/utils.js";
4
+ import { Slot } from "@radix-ui/react-slot";
5
+ import { ChevronRight, MoreHorizontal } from "lucide-react";
6
+ import { cn } from "../../lib/utils.js";
7
7
  function Breadcrumb({ ...props }) {
8
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("nav", {
8
+ return /*#__PURE__*/ jsx("nav", {
9
9
  "aria-label": "breadcrumb",
10
10
  "data-slot": "breadcrumb",
11
11
  ...props
12
12
  });
13
13
  }
14
14
  function BreadcrumbList({ className, ...props }) {
15
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("ol", {
15
+ return /*#__PURE__*/ jsx("ol", {
16
16
  "data-slot": "breadcrumb-list",
17
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("text-neutral-500 flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5 dark:text-neutral-400", className),
17
+ className: cn("text-neutral-500 flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5 dark:text-neutral-400", className),
18
18
  ...props
19
19
  });
20
20
  }
21
21
  function BreadcrumbItem({ className, ...props }) {
22
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("li", {
22
+ return /*#__PURE__*/ jsx("li", {
23
23
  "data-slot": "breadcrumb-item",
24
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("inline-flex items-center gap-1.5", className),
24
+ className: cn("inline-flex items-center gap-1.5", className),
25
25
  ...props
26
26
  });
27
27
  }
28
28
  function BreadcrumbLink({ asChild, className, ...props }) {
29
- const Comp = asChild ? __WEBPACK_EXTERNAL_MODULE__radix_ui_react_slot_85c2da36__.Slot : "a";
30
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Comp, {
29
+ const Comp = asChild ? Slot : "a";
30
+ return /*#__PURE__*/ jsx(Comp, {
31
31
  "data-slot": "breadcrumb-link",
32
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("hover:text-neutral-950 transition-colors dark:hover:text-neutral-50", className),
32
+ className: cn("hover:text-neutral-950 transition-colors dark:hover:text-neutral-50", className),
33
33
  ...props
34
34
  });
35
35
  }
36
36
  function BreadcrumbPage({ className, ...props }) {
37
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
37
+ return /*#__PURE__*/ jsx("span", {
38
38
  "data-slot": "breadcrumb-page",
39
39
  role: "link",
40
40
  "aria-disabled": "true",
41
41
  "aria-current": "page",
42
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("text-neutral-950 font-normal dark:text-neutral-50", className),
42
+ className: cn("text-neutral-950 font-normal dark:text-neutral-50", className),
43
43
  ...props
44
44
  });
45
45
  }
46
46
  function BreadcrumbSeparator({ children, className, ...props }) {
47
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("li", {
47
+ return /*#__PURE__*/ jsx("li", {
48
48
  "data-slot": "breadcrumb-separator",
49
49
  role: "presentation",
50
50
  "aria-hidden": "true",
51
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("[&>svg]:size-3.5", className),
51
+ className: cn("[&>svg]:size-3.5", className),
52
52
  ...props,
53
- children: children ?? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__.ChevronRight, {})
53
+ children: children ?? /*#__PURE__*/ jsx(ChevronRight, {})
54
54
  });
55
55
  }
56
56
  function BreadcrumbEllipsis({ className, ...props }) {
57
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("span", {
57
+ return /*#__PURE__*/ jsxs("span", {
58
58
  "data-slot": "breadcrumb-ellipsis",
59
59
  role: "presentation",
60
60
  "aria-hidden": "true",
61
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("flex size-9 items-center justify-center", className),
61
+ className: cn("flex size-9 items-center justify-center", className),
62
62
  ...props,
63
63
  children: [
64
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__.MoreHorizontal, {
64
+ /*#__PURE__*/ jsx(MoreHorizontal, {
65
65
  className: "size-4"
66
66
  }),
67
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
67
+ /*#__PURE__*/ jsx("span", {
68
68
  className: "sr-only",
69
69
  children: "More"
70
70
  })
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\breadcrumb.js","sources":["webpack://@arolariu/components/./src/components/ui/breadcrumb.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { ChevronRight, MoreHorizontal } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Breadcrumb({ ...props }: React.ComponentProps<\"nav\">) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />;\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<\"ol\">) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn(\n \"text-neutral-500 flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5 dark:text-neutral-400\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-item\"\n className={cn(\"inline-flex items-center gap-1.5\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : \"a\";\n\n return (\n <Comp\n data-slot=\"breadcrumb-link\"\n className={cn(\n \"hover:text-neutral-950 transition-colors dark:hover:text-neutral-50\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-page\"\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn(\n \"text-neutral-950 font-normal dark:text-neutral-50\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"[&>svg]:size-3.5\", className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n );\n}\n\nfunction BreadcrumbEllipsis({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"flex size-9 items-center justify-center\", className)}\n {...props}\n >\n <MoreHorizontal className=\"size-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n );\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n};\n"],"names":["Breadcrumb","props","BreadcrumbList","className","cn","BreadcrumbItem","BreadcrumbLink","asChild","Comp","Slot","BreadcrumbPage","BreadcrumbSeparator","children","ChevronRight","BreadcrumbEllipsis","MoreHorizontal"],"mappings":";;;;;;AAQA,SAASA,WAAW,EAAE,GAAGC,OAAoC;IAC3D,OAAO,WAAP,GAAO,gEAAC;QAAI,cAAW;QAAa,aAAU;QAAc,GAAGA,KAAK;;AACtE;AAEA,SAASC,eAAe,EAAEC,SAAS,EAAE,GAAGF,OAAmC;IACzE,OACE,WADF,GACE,gEAAC;QACC,aAAU;QACV,WAAWG,IAAAA,mDAAAA,EAAAA,EACT,6GACAD;QAED,GAAGF,KAAK;;AAGf;AAEA,SAASI,eAAe,EAAEF,SAAS,EAAE,GAAGF,OAAmC;IACzE,OACE,WADF,GACE,gEAAC;QACC,aAAU;QACV,WAAWG,IAAAA,mDAAAA,EAAAA,EAAG,oCAAoCD;QACjD,GAAGF,KAAK;;AAGf;AAEA,SAASK,eAAe,EACtBC,OAAO,EACPJ,SAAS,EACT,GAAGF,OAGJ;IACC,MAAMO,OAAOD,UAAUE,0DAAAA,IAAIA,GAAG;IAE9B,OACE,WADF,GACE,gEAACD,MAAAA;QACC,aAAU;QACV,WAAWJ,IAAAA,mDAAAA,EAAAA,EACT,uEACAD;QAED,GAAGF,KAAK;;AAGf;AAEA,SAASS,eAAe,EAAEP,SAAS,EAAE,GAAGF,OAAqC;IAC3E,OACE,WADF,GACE,gEAAC;QACC,aAAU;QACV,MAAK;QACL,iBAAc;QACd,gBAAa;QACb,WAAWG,IAAAA,mDAAAA,EAAAA,EACT,qDACAD;QAED,GAAGF,KAAK;;AAGf;AAEA,SAASU,oBAAoB,EAC3BC,QAAQ,EACRT,SAAS,EACT,GAAGF,OACwB;IAC3B,OACE,WADF,GACE,gEAAC;QACC,aAAU;QACV,MAAK;QACL,eAAY;QACZ,WAAWG,IAAAA,mDAAAA,EAAAA,EAAG,oBAAoBD;QACjC,GAAGF,KAAK;kBAERW,YAAY,WAAZA,GAAY,gEAACC,kDAAAA,YAAYA,EAAAA,CAAAA;;AAGhC;AAEA,SAASC,mBAAmB,EAC1BX,SAAS,EACT,GAAGF,OAC0B;IAC7B,OACE,WADF,GACE,iEAAC;QACC,aAAU;QACV,MAAK;QACL,eAAY;QACZ,WAAWG,IAAAA,mDAAAA,EAAAA,EAAG,2CAA2CD;QACxD,GAAGF,KAAK;;0BAET,gEAACc,kDAAAA,cAAcA,EAAAA;gBAAC,WAAU;;0BAC1B,gEAAC;gBAAK,WAAU;0BAAU;;;;AAGhC"}
1
+ {"version":3,"file":"components\\ui\\breadcrumb.js","sources":["webpack://@arolariu/components/./src/components/ui/breadcrumb.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { ChevronRight, MoreHorizontal } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Breadcrumb({ ...props }: React.ComponentProps<\"nav\">) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />;\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<\"ol\">) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn(\n \"text-neutral-500 flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5 dark:text-neutral-400\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-item\"\n className={cn(\"inline-flex items-center gap-1.5\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : \"a\";\n\n return (\n <Comp\n data-slot=\"breadcrumb-link\"\n className={cn(\n \"hover:text-neutral-950 transition-colors dark:hover:text-neutral-50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-page\"\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn(\n \"text-neutral-950 font-normal dark:text-neutral-50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"[&>svg]:size-3.5\", className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n );\n}\n\nfunction BreadcrumbEllipsis({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"flex size-9 items-center justify-center\", className)}\n {...props}\n >\n <MoreHorizontal className=\"size-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n );\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n};\n"],"names":["Breadcrumb","props","BreadcrumbList","className","cn","BreadcrumbItem","BreadcrumbLink","asChild","Comp","Slot","BreadcrumbPage","BreadcrumbSeparator","children","ChevronRight","BreadcrumbEllipsis","MoreHorizontal"],"mappings":";;;;;;AAQA,SAASA,WAAW,EAAE,GAAGC,OAAoC;IAC3D,OAAO,WAAP,GAAO,IAAC;QAAI,cAAW;QAAa,aAAU;QAAc,GAAGA,KAAK;;AACtE;AAEA,SAASC,eAAe,EAAEC,SAAS,EAAE,GAAGF,OAAmC;IACzE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWG,GACT,6GACAD;QAED,GAAGF,KAAK;;AAGf;AAEA,SAASI,eAAe,EAAEF,SAAS,EAAE,GAAGF,OAAmC;IACzE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWG,GAAG,oCAAoCD;QACjD,GAAGF,KAAK;;AAGf;AAEA,SAASK,eAAe,EACtBC,OAAO,EACPJ,SAAS,EACT,GAAGF,OAGJ;IACC,MAAMO,OAAOD,UAAUE,OAAO;IAE9B,OAAO,WAAP,GACE,IAACD,MAAAA;QACC,aAAU;QACV,WAAWJ,GACT,uEACAD;QAED,GAAGF,KAAK;;AAGf;AAEA,SAASS,eAAe,EAAEP,SAAS,EAAE,GAAGF,OAAqC;IAC3E,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,MAAK;QACL,iBAAc;QACd,gBAAa;QACb,WAAWG,GACT,qDACAD;QAED,GAAGF,KAAK;;AAGf;AAEA,SAASU,oBAAoB,EAC3BC,QAAQ,EACRT,SAAS,EACT,GAAGF,OACwB;IAC3B,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,MAAK;QACL,eAAY;QACZ,WAAWG,GAAG,oBAAoBD;QACjC,GAAGF,KAAK;kBAERW,YAAY,WAAZA,GAAY,IAACC,cAAYA,CAAAA;;AAGhC;AAEA,SAASC,mBAAmB,EAC1BX,SAAS,EACT,GAAGF,OAC0B;IAC7B,OAAO,WAAP,GACE,KAAC;QACC,aAAU;QACV,MAAK;QACL,eAAY;QACZ,WAAWG,GAAG,2CAA2CD;QACxD,GAAGF,KAAK;;0BAET,IAACc,gBAAcA;gBAAC,WAAU;;0BAC1B,IAAC;gBAAK,WAAU;0BAAU;;;;AAGhC"}
@@ -1,9 +1,9 @@
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_motion_react_9decfa63__ from "motion/react";
5
- import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__ from "../../lib/utils.js";
6
- const BubbleBackground = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.forwardRef(({ className, children, interactive = false, transition = {
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { forwardRef, useEffect, useImperativeHandle, useRef } from "react";
4
+ import { motion, useMotionValue, useSpring } from "motion/react";
5
+ import { cn } from "../../lib/utils.js";
6
+ const BubbleBackground = /*#__PURE__*/ forwardRef(({ className, children, interactive = false, transition = {
7
7
  stiffness: 100,
8
8
  damping: 20
9
9
  }, colors = {
@@ -14,13 +14,13 @@ const BubbleBackground = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.forward
14
14
  fifth: "180,180,50",
15
15
  sixth: "140,100,255"
16
16
  }, ...props }, ref)=>{
17
- const containerRef = __WEBPACK_EXTERNAL_MODULE_react__.useRef(null);
18
- __WEBPACK_EXTERNAL_MODULE_react__.useImperativeHandle(ref, ()=>containerRef.current);
19
- const mouseX = (0, __WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.useMotionValue)(0);
20
- const mouseY = (0, __WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.useMotionValue)(0);
21
- const springX = (0, __WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.useSpring)(mouseX, transition);
22
- const springY = (0, __WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.useSpring)(mouseY, transition);
23
- __WEBPACK_EXTERNAL_MODULE_react__.useEffect(()=>{
17
+ const containerRef = useRef(null);
18
+ useImperativeHandle(ref, ()=>containerRef.current);
19
+ const mouseX = useMotionValue(0);
20
+ const mouseY = useMotionValue(0);
21
+ const springX = useSpring(mouseX, transition);
22
+ const springY = useSpring(mouseY, transition);
23
+ useEffect(()=>{
24
24
  if (!interactive) return;
25
25
  const currentContainer = containerRef.current;
26
26
  if (!currentContainer) return;
@@ -38,12 +38,12 @@ const BubbleBackground = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.forward
38
38
  mouseX,
39
39
  mouseY
40
40
  ]);
41
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
41
+ return /*#__PURE__*/ jsxs("div", {
42
42
  ref: containerRef,
43
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("relative size-full overflow-hidden bg-gradient-to-br from-violet-900 to-blue-900", className),
43
+ className: cn("relative size-full overflow-hidden bg-gradient-to-br from-violet-900 to-blue-900", className),
44
44
  ...props,
45
45
  children: [
46
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("style", {
46
+ /*#__PURE__*/ jsx("style", {
47
47
  children: `
48
48
  :root {
49
49
  --first-color: ${colors.first};
@@ -55,25 +55,25 @@ const BubbleBackground = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.forward
55
55
  }
56
56
  `
57
57
  }),
58
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("svg", {
58
+ /*#__PURE__*/ jsx("svg", {
59
59
  xmlns: "http://www.w3.org/2000/svg",
60
60
  className: "absolute top-0 left-0 w-0 h-0",
61
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("defs", {
62
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("filter", {
61
+ children: /*#__PURE__*/ jsx("defs", {
62
+ children: /*#__PURE__*/ jsxs("filter", {
63
63
  id: "goo",
64
64
  children: [
65
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("feGaussianBlur", {
65
+ /*#__PURE__*/ jsx("feGaussianBlur", {
66
66
  in: "SourceGraphic",
67
67
  stdDeviation: "10",
68
68
  result: "blur"
69
69
  }),
70
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("feColorMatrix", {
70
+ /*#__PURE__*/ jsx("feColorMatrix", {
71
71
  in: "blur",
72
72
  mode: "matrix",
73
73
  values: "1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -8",
74
74
  result: "goo"
75
75
  }),
76
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("feBlend", {
76
+ /*#__PURE__*/ jsx("feBlend", {
77
77
  in: "SourceGraphic",
78
78
  in2: "goo"
79
79
  })
@@ -81,13 +81,13 @@ const BubbleBackground = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.forward
81
81
  })
82
82
  })
83
83
  }),
84
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
84
+ /*#__PURE__*/ jsxs("div", {
85
85
  className: "absolute inset-0",
86
86
  style: {
87
87
  filter: "url(#goo) blur(40px)"
88
88
  },
89
89
  children: [
90
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.motion.div, {
90
+ /*#__PURE__*/ jsx(motion.div, {
91
91
  className: "absolute rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--first-color),0.8)_0%,rgba(var(--first-color),0)_50%)]",
92
92
  animate: {
93
93
  y: [
@@ -102,7 +102,7 @@ const BubbleBackground = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.forward
102
102
  repeat: 1 / 0
103
103
  }
104
104
  }),
105
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.motion.div, {
105
+ /*#__PURE__*/ jsx(motion.div, {
106
106
  className: "absolute inset-0 flex justify-center items-center origin-[calc(50%-400px)]",
107
107
  animate: {
108
108
  rotate: 360
@@ -114,11 +114,11 @@ const BubbleBackground = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.forward
114
114
  repeatType: "loop",
115
115
  reverse: true
116
116
  },
117
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
117
+ children: /*#__PURE__*/ jsx("div", {
118
118
  className: "rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--second-color),0.8)_0%,rgba(var(--second-color),0)_50%)]"
119
119
  })
120
120
  }),
121
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.motion.div, {
121
+ /*#__PURE__*/ jsx(motion.div, {
122
122
  className: "absolute inset-0 flex justify-center items-center origin-[calc(50%+400px)]",
123
123
  animate: {
124
124
  rotate: 360
@@ -128,11 +128,11 @@ const BubbleBackground = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.forward
128
128
  ease: "linear",
129
129
  repeat: 1 / 0
130
130
  },
131
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
131
+ children: /*#__PURE__*/ jsx("div", {
132
132
  className: "absolute rounded-full size-[80%] bg-[radial-gradient(circle_at_center,rgba(var(--third-color),0.8)_0%,rgba(var(--third-color),0)_50%)] mix-blend-hard-light top-[calc(50%+200px)] left-[calc(50%-500px)]"
133
133
  })
134
134
  }),
135
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.motion.div, {
135
+ /*#__PURE__*/ jsx(motion.div, {
136
136
  className: "absolute rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--fourth-color),0.8)_0%,rgba(var(--fourth-color),0)_50%)] opacity-70",
137
137
  animate: {
138
138
  x: [
@@ -147,7 +147,7 @@ const BubbleBackground = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.forward
147
147
  repeat: 1 / 0
148
148
  }
149
149
  }),
150
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.motion.div, {
150
+ /*#__PURE__*/ jsx(motion.div, {
151
151
  className: "absolute inset-0 flex justify-center items-center origin-[calc(50%_-_800px)_calc(50%_+_200px)]",
152
152
  animate: {
153
153
  rotate: 360
@@ -157,11 +157,11 @@ const BubbleBackground = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.forward
157
157
  ease: "linear",
158
158
  repeat: 1 / 0
159
159
  },
160
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
160
+ children: /*#__PURE__*/ jsx("div", {
161
161
  className: "absolute rounded-full size-[160%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--fifth-color),0.8)_0%,rgba(var(--fifth-color),0)_50%)] top-[calc(50%-80%)] left-[calc(50%-80%)]"
162
162
  })
163
163
  }),
164
- interactive && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.motion.div, {
164
+ interactive && /*#__PURE__*/ jsx(motion.div, {
165
165
  className: "absolute rounded-full size-full mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--sixth-color),0.8)_0%,rgba(var(--sixth-color),0)_50%)] opacity-70",
166
166
  style: {
167
167
  x: springX,
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\bubble-background.js","sources":["webpack://@arolariu/components/./src/components/ui/bubble-background.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport {\n motion,\n type SpringOptions,\n useMotionValue,\n useSpring,\n} from \"motion/react\";\n\nimport { cn } from \"@/lib/utils\";\n\ninterface BubbleBackgroundProps extends React.HTMLAttributes<HTMLDivElement> {\n interactive?: boolean;\n transition?: SpringOptions;\n colors?: {\n first: string;\n second: string;\n third: string;\n fourth: string;\n fifth: string;\n sixth: string;\n };\n}\n\nconst BubbleBackground = React.forwardRef<\n HTMLDivElement,\n BubbleBackgroundProps\n>(\n (\n {\n className,\n children,\n interactive = false,\n transition = { stiffness: 100, damping: 20 },\n colors = {\n first: \"18,113,255\",\n second: \"221,74,255\",\n third: \"0,220,255\",\n fourth: \"200,50,50\",\n fifth: \"180,180,50\",\n sixth: \"140,100,255\",\n },\n ...props\n },\n ref\n ) => {\n const containerRef = React.useRef<HTMLDivElement>(null);\n React.useImperativeHandle(\n ref,\n () => containerRef.current as HTMLDivElement\n );\n\n const mouseX = useMotionValue(0);\n const mouseY = useMotionValue(0);\n const springX = useSpring(mouseX, transition);\n const springY = useSpring(mouseY, transition);\n\n React.useEffect(() => {\n if (!interactive) return;\n\n const currentContainer = containerRef.current;\n if (!currentContainer) return;\n\n const handleMouseMove = (e: MouseEvent) => {\n const rect = currentContainer.getBoundingClientRect();\n const centerX = rect.left + rect.width / 2;\n const centerY = rect.top + rect.height / 2;\n mouseX.set(e.clientX - centerX);\n mouseY.set(e.clientY - centerY);\n };\n\n currentContainer?.addEventListener(\"mousemove\", handleMouseMove);\n return () =>\n currentContainer?.removeEventListener(\"mousemove\", handleMouseMove);\n }, [interactive, mouseX, mouseY]);\n\n return (\n <div\n ref={containerRef}\n className={cn(\n \"relative size-full overflow-hidden bg-gradient-to-br from-violet-900 to-blue-900\",\n className\n )}\n {...props}\n >\n <style>\n {`\n :root {\n --first-color: ${colors.first};\n --second-color: ${colors.second};\n --third-color: ${colors.third};\n --fourth-color: ${colors.fourth};\n --fifth-color: ${colors.fifth};\n --sixth-color: ${colors.sixth};\n }\n `}\n </style>\n\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"absolute top-0 left-0 w-0 h-0\"\n >\n <defs>\n <filter id=\"goo\">\n <feGaussianBlur\n in=\"SourceGraphic\"\n stdDeviation=\"10\"\n result=\"blur\"\n />\n <feColorMatrix\n in=\"blur\"\n mode=\"matrix\"\n values=\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -8\"\n result=\"goo\"\n />\n <feBlend in=\"SourceGraphic\" in2=\"goo\" />\n </filter>\n </defs>\n </svg>\n\n <div\n className=\"absolute inset-0\"\n style={{ filter: \"url(#goo) blur(40px)\" }}\n >\n <motion.div\n className=\"absolute rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--first-color),0.8)_0%,rgba(var(--first-color),0)_50%)]\"\n animate={{ y: [-50, 50, -50] }}\n transition={{ duration: 30, ease: \"easeInOut\", repeat: Infinity }}\n />\n\n <motion.div\n className=\"absolute inset-0 flex justify-center items-center origin-[calc(50%-400px)]\"\n animate={{ rotate: 360 }}\n transition={{\n duration: 20,\n ease: \"linear\",\n repeat: Infinity,\n repeatType: \"loop\",\n reverse: true,\n }}\n >\n <div className=\"rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--second-color),0.8)_0%,rgba(var(--second-color),0)_50%)]\" />\n </motion.div>\n\n <motion.div\n className=\"absolute inset-0 flex justify-center items-center origin-[calc(50%+400px)]\"\n animate={{ rotate: 360 }}\n transition={{ duration: 40, ease: \"linear\", repeat: Infinity }}\n >\n <div className=\"absolute rounded-full size-[80%] bg-[radial-gradient(circle_at_center,rgba(var(--third-color),0.8)_0%,rgba(var(--third-color),0)_50%)] mix-blend-hard-light top-[calc(50%+200px)] left-[calc(50%-500px)]\" />\n </motion.div>\n\n <motion.div\n className=\"absolute rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--fourth-color),0.8)_0%,rgba(var(--fourth-color),0)_50%)] opacity-70\"\n animate={{ x: [-50, 50, -50] }}\n transition={{ duration: 40, ease: \"easeInOut\", repeat: Infinity }}\n />\n\n <motion.div\n className=\"absolute inset-0 flex justify-center items-center origin-[calc(50%_-_800px)_calc(50%_+_200px)]\"\n animate={{ rotate: 360 }}\n transition={{ duration: 20, ease: \"linear\", repeat: Infinity }}\n >\n <div className=\"absolute rounded-full size-[160%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--fifth-color),0.8)_0%,rgba(var(--fifth-color),0)_50%)] top-[calc(50%-80%)] left-[calc(50%-80%)]\" />\n </motion.div>\n\n {interactive && (\n <motion.div\n className=\"absolute rounded-full size-full mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--sixth-color),0.8)_0%,rgba(var(--sixth-color),0)_50%)] opacity-70\"\n style={{\n x: springX,\n y: springY,\n }}\n />\n )}\n </div>\n\n {children}\n </div>\n );\n }\n);\n\nBubbleBackground.displayName = \"BubbleBackground\";\n\nexport { BubbleBackground, type BubbleBackgroundProps };\n"],"names":["BubbleBackground","React","className","children","interactive","transition","colors","props","ref","containerRef","mouseX","useMotionValue","mouseY","springX","useSpring","springY","currentContainer","handleMouseMove","e","rect","centerX","centerY","cn","motion","Infinity"],"mappings":"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"}
1
+ {"version":3,"file":"components\\ui\\bubble-background.js","sources":["webpack://@arolariu/components/./src/components/ui/bubble-background.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport {\n motion,\n type SpringOptions,\n useMotionValue,\n useSpring,\n} from \"motion/react\";\n\nimport { cn } from \"@/lib/utils\";\n\ninterface BubbleBackgroundProps extends React.HTMLAttributes<HTMLDivElement> {\n interactive?: boolean;\n transition?: SpringOptions;\n colors?: {\n first: string;\n second: string;\n third: string;\n fourth: string;\n fifth: string;\n sixth: string;\n };\n}\n\nconst BubbleBackground = React.forwardRef<\n HTMLDivElement,\n BubbleBackgroundProps\n>(\n (\n {\n className,\n children,\n interactive = false,\n transition = { stiffness: 100, damping: 20 },\n colors = {\n first: \"18,113,255\",\n second: \"221,74,255\",\n third: \"0,220,255\",\n fourth: \"200,50,50\",\n fifth: \"180,180,50\",\n sixth: \"140,100,255\",\n },\n ...props\n },\n ref,\n ) => {\n const containerRef = React.useRef<HTMLDivElement>(null);\n React.useImperativeHandle(\n ref,\n () => containerRef.current as HTMLDivElement,\n );\n\n const mouseX = useMotionValue(0);\n const mouseY = useMotionValue(0);\n const springX = useSpring(mouseX, transition);\n const springY = useSpring(mouseY, transition);\n\n React.useEffect(() => {\n if (!interactive) return;\n\n const currentContainer = containerRef.current;\n if (!currentContainer) return;\n\n const handleMouseMove = (e: MouseEvent) => {\n const rect = currentContainer.getBoundingClientRect();\n const centerX = rect.left + rect.width / 2;\n const centerY = rect.top + rect.height / 2;\n mouseX.set(e.clientX - centerX);\n mouseY.set(e.clientY - centerY);\n };\n\n currentContainer?.addEventListener(\"mousemove\", handleMouseMove);\n return () =>\n currentContainer?.removeEventListener(\"mousemove\", handleMouseMove);\n }, [interactive, mouseX, mouseY]);\n\n return (\n <div\n ref={containerRef}\n className={cn(\n \"relative size-full overflow-hidden bg-gradient-to-br from-violet-900 to-blue-900\",\n className,\n )}\n {...props}\n >\n <style>\n {`\n :root {\n --first-color: ${colors.first};\n --second-color: ${colors.second};\n --third-color: ${colors.third};\n --fourth-color: ${colors.fourth};\n --fifth-color: ${colors.fifth};\n --sixth-color: ${colors.sixth};\n }\n `}\n </style>\n\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"absolute top-0 left-0 w-0 h-0\"\n >\n <defs>\n <filter id=\"goo\">\n <feGaussianBlur\n in=\"SourceGraphic\"\n stdDeviation=\"10\"\n result=\"blur\"\n />\n <feColorMatrix\n in=\"blur\"\n mode=\"matrix\"\n values=\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -8\"\n result=\"goo\"\n />\n <feBlend in=\"SourceGraphic\" in2=\"goo\" />\n </filter>\n </defs>\n </svg>\n\n <div\n className=\"absolute inset-0\"\n style={{ filter: \"url(#goo) blur(40px)\" }}\n >\n <motion.div\n className=\"absolute rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--first-color),0.8)_0%,rgba(var(--first-color),0)_50%)]\"\n animate={{ y: [-50, 50, -50] }}\n transition={{ duration: 30, ease: \"easeInOut\", repeat: Infinity }}\n />\n\n <motion.div\n className=\"absolute inset-0 flex justify-center items-center origin-[calc(50%-400px)]\"\n animate={{ rotate: 360 }}\n transition={{\n duration: 20,\n ease: \"linear\",\n repeat: Infinity,\n repeatType: \"loop\",\n reverse: true,\n }}\n >\n <div className=\"rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--second-color),0.8)_0%,rgba(var(--second-color),0)_50%)]\" />\n </motion.div>\n\n <motion.div\n className=\"absolute inset-0 flex justify-center items-center origin-[calc(50%+400px)]\"\n animate={{ rotate: 360 }}\n transition={{ duration: 40, ease: \"linear\", repeat: Infinity }}\n >\n <div className=\"absolute rounded-full size-[80%] bg-[radial-gradient(circle_at_center,rgba(var(--third-color),0.8)_0%,rgba(var(--third-color),0)_50%)] mix-blend-hard-light top-[calc(50%+200px)] left-[calc(50%-500px)]\" />\n </motion.div>\n\n <motion.div\n className=\"absolute rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--fourth-color),0.8)_0%,rgba(var(--fourth-color),0)_50%)] opacity-70\"\n animate={{ x: [-50, 50, -50] }}\n transition={{ duration: 40, ease: \"easeInOut\", repeat: Infinity }}\n />\n\n <motion.div\n className=\"absolute inset-0 flex justify-center items-center origin-[calc(50%_-_800px)_calc(50%_+_200px)]\"\n animate={{ rotate: 360 }}\n transition={{ duration: 20, ease: \"linear\", repeat: Infinity }}\n >\n <div className=\"absolute rounded-full size-[160%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--fifth-color),0.8)_0%,rgba(var(--fifth-color),0)_50%)] top-[calc(50%-80%)] left-[calc(50%-80%)]\" />\n </motion.div>\n\n {interactive && (\n <motion.div\n className=\"absolute rounded-full size-full mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--sixth-color),0.8)_0%,rgba(var(--sixth-color),0)_50%)] opacity-70\"\n style={{\n x: springX,\n y: springY,\n }}\n />\n )}\n </div>\n\n {children}\n </div>\n );\n },\n);\n\nBubbleBackground.displayName = \"BubbleBackground\";\n\nexport { BubbleBackground, type BubbleBackgroundProps };\n"],"names":["BubbleBackground","React","className","children","interactive","transition","colors","props","ref","containerRef","mouseX","useMotionValue","mouseY","springX","useSpring","springY","currentContainer","handleMouseMove","e","rect","centerX","centerY","cn","motion","Infinity"],"mappings":"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"}
@@ -1,10 +1,10 @@
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_slot_85c2da36__ from "@radix-ui/react-slot";
5
- import * as __WEBPACK_EXTERNAL_MODULE_class_variance_authority_159ad65c__ from "class-variance-authority";
6
- import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__ from "../../lib/utils.js";
7
- const buttonVariants = (0, __WEBPACK_EXTERNAL_MODULE_class_variance_authority_159ad65c__.cva)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 focus-visible:ring-[3px] aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 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", {
4
+ import { Slot } from "@radix-ui/react-slot";
5
+ import { cva } from "class-variance-authority";
6
+ import { cn } from "../../lib/utils.js";
7
+ const buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 focus-visible:ring-[3px] aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 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", {
8
8
  variants: {
9
9
  variant: {
10
10
  default: "bg-neutral-900 text-neutral-50 shadow-xs hover:bg-neutral-900/90 dark:bg-neutral-50 dark:text-neutral-900 dark:hover:bg-neutral-50/90",
@@ -27,10 +27,10 @@ const buttonVariants = (0, __WEBPACK_EXTERNAL_MODULE_class_variance_authority_15
27
27
  }
28
28
  });
29
29
  function Button({ className, variant, size, asChild = false, ...props }) {
30
- const Comp = asChild ? __WEBPACK_EXTERNAL_MODULE__radix_ui_react_slot_85c2da36__.Slot : "button";
31
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Comp, {
30
+ const Comp = asChild ? Slot : "button";
31
+ return /*#__PURE__*/ jsx(Comp, {
32
32
  "data-slot": "button",
33
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)(buttonVariants({
33
+ className: cn(buttonVariants({
34
34
  variant,
35
35
  size,
36
36
  className
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\button.js","sources":["webpack://@arolariu/components/./src/components/ui/button.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 focus-visible:ring-[3px] aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900\",\n {\n variants: {\n variant: {\n default:\n \"bg-neutral-900 text-neutral-50 shadow-xs hover:bg-neutral-900/90 dark:bg-neutral-50 dark:text-neutral-900 dark:hover:bg-neutral-50/90\",\n destructive:\n \"bg-red-500 text-white shadow-xs hover:bg-red-500/90 focus-visible:ring-red-500/20 dark:focus-visible:ring-red-500/40 dark:bg-red-500/60 dark:bg-red-900 dark:hover:bg-red-900/90 dark:focus-visible:ring-red-900/20 dark:dark:focus-visible:ring-red-900/40 dark:dark:bg-red-900/60\",\n outline:\n \"border bg-white shadow-xs hover:bg-neutral-100 hover:text-neutral-900 dark:bg-neutral-200/30 dark:border-neutral-200 dark:hover:bg-neutral-200/50 dark:bg-neutral-950 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:dark:bg-neutral-800/30 dark:dark:border-neutral-800 dark:dark:hover:bg-neutral-800/50\",\n secondary:\n \"bg-neutral-100 text-neutral-900 shadow-xs hover:bg-neutral-100/80 dark:bg-neutral-800 dark:text-neutral-50 dark:hover:bg-neutral-800/80\",\n ghost:\n \"hover:bg-neutral-100 hover:text-neutral-900 dark:hover:bg-neutral-100/50 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:dark:hover:bg-neutral-800/50\",\n link: \"text-neutral-900 underline-offset-4 hover:underline dark:text-neutral-50\",\n },\n size: {\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n sm: \"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n);\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n }) {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n"],"names":["buttonVariants","cva","Button","className","variant","size","asChild","props","Comp","Slot","cn"],"mappings":";;;;;;AAQA,MAAMA,iBAAiBC,IAAAA,8DAAAA,GAAAA,EACrB,wnBACA;IACE,UAAU;QACR,SAAS;YACP,SACE;YACF,aACE;YACF,SACE;YACF,WACE;YACF,OACE;YACF,MAAM;QACR;QACA,MAAM;YACJ,SAAS;YACT,IAAI;YACJ,IAAI;YACJ,MAAM;QACR;IACF;IACA,iBAAiB;QACf,SAAS;QACT,MAAM;IACR;AACF;AAGF,SAASC,OAAO,EACdC,SAAS,EACTC,OAAO,EACPC,IAAI,EACJC,UAAU,KAAK,EACf,GAAGC,OAIF;IACD,MAAMC,OAAOF,UAAUG,0DAAAA,IAAIA,GAAG;IAE9B,OACE,WADF,GACE,gEAACD,MAAAA;QACC,aAAU;QACV,WAAWE,IAAAA,mDAAAA,EAAAA,EAAGV,eAAe;YAAEI;YAASC;YAAMF;QAAU;QACvD,GAAGI,KAAK;;AAGf"}
1
+ {"version":3,"file":"components\\ui\\button.js","sources":["webpack://@arolariu/components/./src/components/ui/button.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 focus-visible:ring-[3px] aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900\",\n {\n variants: {\n variant: {\n default:\n \"bg-neutral-900 text-neutral-50 shadow-xs hover:bg-neutral-900/90 dark:bg-neutral-50 dark:text-neutral-900 dark:hover:bg-neutral-50/90\",\n destructive:\n \"bg-red-500 text-white shadow-xs hover:bg-red-500/90 focus-visible:ring-red-500/20 dark:focus-visible:ring-red-500/40 dark:bg-red-500/60 dark:bg-red-900 dark:hover:bg-red-900/90 dark:focus-visible:ring-red-900/20 dark:dark:focus-visible:ring-red-900/40 dark:dark:bg-red-900/60\",\n outline:\n \"border bg-white shadow-xs hover:bg-neutral-100 hover:text-neutral-900 dark:bg-neutral-200/30 dark:border-neutral-200 dark:hover:bg-neutral-200/50 dark:bg-neutral-950 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:dark:bg-neutral-800/30 dark:dark:border-neutral-800 dark:dark:hover:bg-neutral-800/50\",\n secondary:\n \"bg-neutral-100 text-neutral-900 shadow-xs hover:bg-neutral-100/80 dark:bg-neutral-800 dark:text-neutral-50 dark:hover:bg-neutral-800/80\",\n ghost:\n \"hover:bg-neutral-100 hover:text-neutral-900 dark:hover:bg-neutral-100/50 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:dark:hover:bg-neutral-800/50\",\n link: \"text-neutral-900 underline-offset-4 hover:underline dark:text-neutral-50\",\n },\n size: {\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n sm: \"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n }) {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n"],"names":["buttonVariants","cva","Button","className","variant","size","asChild","props","Comp","Slot","cn"],"mappings":";;;;;;AAQA,MAAMA,iBAAiBC,IACrB,wnBACA;IACE,UAAU;QACR,SAAS;YACP,SACE;YACF,aACE;YACF,SACE;YACF,WACE;YACF,OACE;YACF,MAAM;QACR;QACA,MAAM;YACJ,SAAS;YACT,IAAI;YACJ,IAAI;YACJ,MAAM;QACR;IACF;IACA,iBAAiB;QACf,SAAS;QACT,MAAM;IACR;AACF;AAGF,SAASC,OAAO,EACdC,SAAS,EACTC,OAAO,EACPC,IAAI,EACJC,UAAU,KAAK,EACf,GAAGC,OAIF;IACD,MAAMC,OAAOF,UAAUG,OAAO;IAE9B,OAAO,WAAP,GACE,IAACD,MAAAA;QACC,aAAU;QACV,WAAWE,GAAGV,eAAe;YAAEI;YAASC;YAAMF;QAAU;QACvD,GAAGI,KAAK;;AAGf"}
@@ -1,58 +1,109 @@
1
1
  "use client";
2
- import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
3
- import "react";
4
- import * as __WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__ from "lucide-react";
5
- import * as __WEBPACK_EXTERNAL_MODULE_react_day_picker_7bc423fd__ from "react-day-picker";
6
- import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__ from "../../lib/utils.js";
7
- import * as __WEBPACK_EXTERNAL_MODULE__button_js_821b8d9d__ from "./button.js";
8
- function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
9
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_react_day_picker_7bc423fd__.DayPicker, {
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { useEffect, useRef } from "react";
4
+ import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
5
+ import { DayPicker, getDefaultClassNames } from "react-day-picker";
6
+ import { cn } from "../../lib/utils.js";
7
+ import { Button, buttonVariants } from "./button.js";
8
+ function Calendar({ className, classNames, showOutsideDays = true, captionLayout = "label", buttonVariant = "ghost", formatters, components, ...props }) {
9
+ const defaultClassNames = getDefaultClassNames();
10
+ return /*#__PURE__*/ jsx(DayPicker, {
10
11
  showOutsideDays: showOutsideDays,
11
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("p-3", className),
12
+ className: cn("bg-white group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent dark:bg-neutral-950", String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`, String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`, className),
13
+ captionLayout: captionLayout,
14
+ formatters: {
15
+ formatMonthDropdown: (date)=>date.toLocaleString("default", {
16
+ month: "short"
17
+ }),
18
+ ...formatters
19
+ },
12
20
  classNames: {
13
- months: "flex flex-col sm:flex-row gap-2",
14
- month: "flex flex-col gap-4",
15
- month_caption: "flex justify-center pt-1 relative items-center w-full",
16
- caption_label: "text-sm font-medium",
17
- nav: "flex items-center gap-1",
18
- nav_button: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)((0, __WEBPACK_EXTERNAL_MODULE__button_js_821b8d9d__.buttonVariants)({
19
- variant: "outline"
20
- }), "size-7 bg-transparent p-0 opacity-50 hover:opacity-100"),
21
- button_previous: "absolute left-1",
22
- button_next: "absolute right-1",
23
- month_grid: "w-full border-collapse space-x-1",
24
- weekdays: "flex",
25
- weekday: "text-neutral-500 rounded-md w-8 font-normal text-[0.8rem] dark:text-neutral-400",
26
- row: "flex w-full mt-2",
27
- day: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-neutral-100 [&:has([aria-selected].day-range-end)]:rounded-r-md dark:[&:has([aria-selected])]:bg-neutral-800", "range" === props.mode ? "[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md" : "[&:has([aria-selected])]:rounded-md"),
28
- day_button: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)((0, __WEBPACK_EXTERNAL_MODULE__button_js_821b8d9d__.buttonVariants)({
29
- variant: "ghost"
30
- }), "size-8 p-0 font-normal aria-selected:opacity-100"),
31
- range_start: "day-range-start aria-selected:bg-neutral-900 aria-selected:text-neutral-50 dark:aria-selected:bg-neutral-50 dark:aria-selected:text-neutral-900",
32
- range_end: "day-range-end aria-selected:bg-neutral-900 aria-selected:text-neutral-50 dark:aria-selected:bg-neutral-50 dark:aria-selected:text-neutral-900",
33
- selected: "bg-neutral-900 text-neutral-50 hover:bg-neutral-900 hover:text-neutral-50 focus:bg-neutral-900 focus:text-neutral-50 dark:bg-neutral-50 dark:text-neutral-900 dark:hover:bg-neutral-50 dark:hover:text-neutral-900 dark:focus:bg-neutral-50 dark:focus:text-neutral-900",
34
- today: "bg-neutral-100 text-neutral-900 dark:bg-neutral-800 dark:text-neutral-50",
35
- outside: "day-outside text-neutral-500 aria-selected:text-neutral-500 dark:text-neutral-400 dark:aria-selected:text-neutral-400",
36
- disabled: "text-neutral-500 opacity-50 dark:text-neutral-400",
37
- range_middle: "aria-selected:bg-neutral-100 aria-selected:text-neutral-900 dark:aria-selected:bg-neutral-800 dark:aria-selected:text-neutral-50",
38
- hidden: "invisible",
21
+ root: cn("w-fit", defaultClassNames.root),
22
+ months: cn("flex gap-4 flex-col md:flex-row relative", defaultClassNames.months),
23
+ month: cn("flex flex-col w-full gap-4", defaultClassNames.month),
24
+ nav: cn("flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between", defaultClassNames.nav),
25
+ button_previous: cn(buttonVariants({
26
+ variant: buttonVariant
27
+ }), "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none", defaultClassNames.button_previous),
28
+ button_next: cn(buttonVariants({
29
+ variant: buttonVariant
30
+ }), "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none", defaultClassNames.button_next),
31
+ month_caption: cn("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)", defaultClassNames.month_caption),
32
+ dropdowns: cn("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5", defaultClassNames.dropdowns),
33
+ dropdown_root: cn("relative has-focus:border-neutral-950 border border-neutral-200 shadow-xs has-focus:ring-neutral-950/50 has-focus:ring-[3px] rounded-md dark:has-focus:border-neutral-300 dark:border-neutral-800 dark:has-focus:ring-neutral-300/50", defaultClassNames.dropdown_root),
34
+ dropdown: cn("absolute inset-0 opacity-0", defaultClassNames.dropdown),
35
+ caption_label: cn("select-none font-medium", "label" === captionLayout ? "text-sm" : "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-neutral-500 [&>svg]:size-3.5 dark:[&>svg]:text-neutral-400", defaultClassNames.caption_label),
36
+ table: "w-full border-collapse",
37
+ weekdays: cn("flex", defaultClassNames.weekdays),
38
+ weekday: cn("text-neutral-500 rounded-md flex-1 font-normal text-[0.8rem] select-none dark:text-neutral-400", defaultClassNames.weekday),
39
+ week: cn("flex w-full mt-2", defaultClassNames.week),
40
+ week_number_header: cn("select-none w-(--cell-size)", defaultClassNames.week_number_header),
41
+ week_number: cn("text-[0.8rem] select-none text-neutral-500 dark:text-neutral-400", defaultClassNames.week_number),
42
+ day: cn("relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none", defaultClassNames.day),
43
+ range_start: cn("rounded-l-md bg-neutral-100 dark:bg-neutral-800", defaultClassNames.range_start),
44
+ range_middle: cn("rounded-none", defaultClassNames.range_middle),
45
+ range_end: cn("rounded-r-md bg-neutral-100 dark:bg-neutral-800", defaultClassNames.range_end),
46
+ today: cn("bg-neutral-100 text-neutral-900 rounded-md data-[selected=true]:rounded-none dark:bg-neutral-800 dark:text-neutral-50", defaultClassNames.today),
47
+ outside: cn("text-neutral-500 aria-selected:text-neutral-500 dark:text-neutral-400 dark:aria-selected:text-neutral-400", defaultClassNames.outside),
48
+ disabled: cn("text-neutral-500 opacity-50 dark:text-neutral-400", defaultClassNames.disabled),
49
+ hidden: cn("invisible", defaultClassNames.hidden),
39
50
  ...classNames
40
51
  },
41
52
  components: {
42
- Chevron: ({ className, ...props })=>{
43
- if ("left" === props.orientation) return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__.ChevronLeft, {
44
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("size-4", className),
53
+ Root: ({ className, rootRef, ...props })=>/*#__PURE__*/ jsx("div", {
54
+ "data-slot": "calendar",
55
+ ref: rootRef,
56
+ className: cn(className),
57
+ ...props
58
+ }),
59
+ Chevron: ({ className, orientation, ...props })=>{
60
+ if ("left" === orientation) return /*#__PURE__*/ jsx(ChevronLeftIcon, {
61
+ className: cn("size-4", className),
62
+ ...props
63
+ });
64
+ if ("right" === orientation) return /*#__PURE__*/ jsx(ChevronRightIcon, {
65
+ className: cn("size-4", className),
45
66
  ...props
46
67
  });
47
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__.ChevronRight, {
48
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_c09d30d7__.cn)("size-4", className),
68
+ return /*#__PURE__*/ jsx(ChevronDownIcon, {
69
+ className: cn("size-4", className),
49
70
  ...props
50
71
  });
51
- }
72
+ },
73
+ DayButton: CalendarDayButton,
74
+ WeekNumber: ({ children, ...props })=>/*#__PURE__*/ jsx("td", {
75
+ ...props,
76
+ children: /*#__PURE__*/ jsx("div", {
77
+ className: "flex size-(--cell-size) items-center justify-center text-center",
78
+ children: children
79
+ })
80
+ }),
81
+ ...components
52
82
  },
53
83
  ...props
54
84
  });
55
85
  }
56
- export { Calendar };
86
+ function CalendarDayButton({ className, day, modifiers, ...props }) {
87
+ const defaultClassNames = getDefaultClassNames();
88
+ const ref = useRef(null);
89
+ useEffect(()=>{
90
+ if (modifiers["focused"]) ref.current?.focus();
91
+ }, [
92
+ modifiers["focused"]
93
+ ]);
94
+ return /*#__PURE__*/ jsx(Button, {
95
+ ref: ref,
96
+ variant: "ghost",
97
+ size: "icon",
98
+ "data-day": day.date.toLocaleDateString(),
99
+ "data-selected-single": modifiers["selected"] && !modifiers["range_start"] && !modifiers["range_end"] && !modifiers["range_middle"],
100
+ "data-range-start": modifiers["range_start"],
101
+ "data-range-end": modifiers["range_end"],
102
+ "data-range-middle": modifiers["range_middle"],
103
+ className: cn("data-[selected-single=true]:bg-neutral-900 data-[selected-single=true]:text-neutral-50 data-[range-middle=true]:bg-neutral-100 data-[range-middle=true]:text-neutral-900 data-[range-start=true]:bg-neutral-900 data-[range-start=true]:text-neutral-50 data-[range-end=true]:bg-neutral-900 data-[range-end=true]:text-neutral-50 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-neutral-900 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70 dark:data-[selected-single=true]:bg-neutral-50 dark:data-[selected-single=true]:text-neutral-900 dark:data-[range-middle=true]:bg-neutral-800 dark:data-[range-middle=true]:text-neutral-50 dark:data-[range-start=true]:bg-neutral-50 dark:data-[range-start=true]:text-neutral-900 dark:data-[range-end=true]:bg-neutral-50 dark:data-[range-end=true]:text-neutral-900 dark:dark:hover:text-neutral-50", defaultClassNames.day, className),
104
+ ...props
105
+ });
106
+ }
107
+ export { Calendar, CalendarDayButton };
57
108
 
58
109
  //# sourceMappingURL=calendar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\ui\\calendar.js","sources":["webpack://@arolariu/components/./src/components/ui/calendar.tsx"],"sourcesContent":["\r\n\r\nimport * as React from \"react\";\r\nimport { ChevronLeft, ChevronRight } from \"lucide-react\";\r\nimport { DayPicker } from \"react-day-picker\";\r\nimport { cn } from \"./../../lib/utils\";\r\nimport { buttonVariants } from \"./button\";\r\n\r\nfunction Calendar({\r\n className,\r\n classNames,\r\n showOutsideDays = true,\r\n ...props\r\n}: React.ComponentProps<typeof DayPicker>) {\r\n return (\r\n <DayPicker\r\n showOutsideDays={showOutsideDays}\r\n className={cn(\"p-3\", className)}\r\n classNames={{\r\n months: \"flex flex-col sm:flex-row gap-2\",\r\n month: \"flex flex-col gap-4\",\r\n month_caption: \"flex justify-center pt-1 relative items-center w-full\",\r\n caption_label: \"text-sm font-medium\",\r\n nav: \"flex items-center gap-1\",\r\n nav_button: cn(\r\n buttonVariants({ variant: \"outline\" }),\r\n \"size-7 bg-transparent p-0 opacity-50 hover:opacity-100\"\r\n ),\r\n button_previous: \"absolute left-1\",\r\n button_next: \"absolute right-1\",\r\n month_grid: \"w-full border-collapse space-x-1\",\r\n weekdays: \"flex\",\r\n weekday:\r\n \"text-neutral-500 rounded-md w-8 font-normal text-[0.8rem] dark:text-neutral-400\",\r\n row: \"flex w-full mt-2\",\r\n day: cn(\r\n \"relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-neutral-100 [&:has([aria-selected].day-range-end)]:rounded-r-md dark:[&:has([aria-selected])]:bg-neutral-800\",\r\n props.mode === \"range\"\r\n ? \"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md\"\r\n : \"[&:has([aria-selected])]:rounded-md\"\r\n ),\r\n day_button: cn(\r\n buttonVariants({ variant: \"ghost\" }),\r\n \"size-8 p-0 font-normal aria-selected:opacity-100\"\r\n ),\r\n range_start:\r\n \"day-range-start aria-selected:bg-neutral-900 aria-selected:text-neutral-50 dark:aria-selected:bg-neutral-50 dark:aria-selected:text-neutral-900\",\r\n range_end:\r\n \"day-range-end aria-selected:bg-neutral-900 aria-selected:text-neutral-50 dark:aria-selected:bg-neutral-50 dark:aria-selected:text-neutral-900\",\r\n selected:\r\n \"bg-neutral-900 text-neutral-50 hover:bg-neutral-900 hover:text-neutral-50 focus:bg-neutral-900 focus:text-neutral-50 dark:bg-neutral-50 dark:text-neutral-900 dark:hover:bg-neutral-50 dark:hover:text-neutral-900 dark:focus:bg-neutral-50 dark:focus:text-neutral-900\",\r\n today:\r\n \"bg-neutral-100 text-neutral-900 dark:bg-neutral-800 dark:text-neutral-50\",\r\n outside:\r\n \"day-outside text-neutral-500 aria-selected:text-neutral-500 dark:text-neutral-400 dark:aria-selected:text-neutral-400\",\r\n disabled: \"text-neutral-500 opacity-50 dark:text-neutral-400\",\r\n range_middle:\r\n \"aria-selected:bg-neutral-100 aria-selected:text-neutral-900 dark:aria-selected:bg-neutral-800 dark:aria-selected:text-neutral-50\",\r\n hidden: \"invisible\",\r\n ...classNames,\r\n }}\r\n components={{\r\n Chevron: ({ className, ...props }) => {\r\n if (props.orientation === \"left\") {\r\n return <ChevronLeft className={cn(\"size-4\", className)} {...props} />\r\n }\r\n return <ChevronRight className={cn(\"size-4\", className)} {...props} />\r\n }\r\n }}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport { Calendar };\r\n"],"names":["Calendar","className","classNames","showOutsideDays","props","DayPicker","cn","buttonVariants","ChevronLeft","ChevronRight"],"mappings":";;;;;;;AAQA,SAASA,SAAS,EAChBC,SAAS,EACTC,UAAU,EACVC,kBAAkB,IAAI,EACtB,GAAGC,OACoC;IACvC,OACE,WADF,GACE,gEAACC,sDAAAA,SAASA,EAAAA;QACR,iBAAiBF;QACjB,WAAWG,IAAAA,mDAAAA,EAAAA,EAAG,OAAOL;QACrB,YAAY;YACV,QAAQ;YACR,OAAO;YACP,eAAe;YACf,eAAe;YACf,KAAK;YACL,YAAYK,IAAAA,mDAAAA,EAAAA,EACVC,IAAAA,gDAAAA,cAAAA,EAAe;gBAAE,SAAS;YAAU,IACpC;YAEF,iBAAiB;YACjB,aAAa;YACb,YAAY;YACZ,UAAU;YACV,SACE;YACF,KAAK;YACL,KAAKD,IAAAA,mDAAAA,EAAAA,EACH,qNACAF,YAAAA,MAAM,IAAI,GACN,yKACA;YAEN,YAAYE,IAAAA,mDAAAA,EAAAA,EACVC,IAAAA,gDAAAA,cAAAA,EAAe;gBAAE,SAAS;YAAQ,IAClC;YAEF,aACE;YACF,WACE;YACF,UACE;YACF,OACE;YACF,SACE;YACF,UAAU;YACV,cACE;YACF,QAAQ;YACR,GAAGL,UAAU;QACf;QACA,YAAY;YACV,SAAS,CAAC,EAAED,SAAS,EAAE,GAAGG,OAAO;gBAC/B,IAAIA,WAAAA,MAAM,WAAW,EACrB,OAAO,WAAP,GAAO,gEAACI,kDAAAA,WAAWA,EAAAA;oBAAC,WAAWF,IAAAA,mDAAAA,EAAAA,EAAG,UAAUL;oBAAa,GAAGG,KAAK;;gBAEjE,OAAO,WAAP,GAAO,gEAACK,kDAAAA,YAAYA,EAAAA;oBAAC,WAAWH,IAAAA,mDAAAA,EAAAA,EAAG,UAAUL;oBAAa,GAAGG,KAAK;;YACpE;QACF;QACC,GAAGA,KAAK;;AAGf"}
1
+ {"version":3,"file":"components\\ui\\calendar.js","sources":["webpack://@arolariu/components/./src/components/ui/calendar.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n} from \"lucide-react\";\nimport { DayButton, DayPicker, getDefaultClassNames } from \"react-day-picker\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Button, buttonVariants } from \"@/components/ui/button\";\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = \"label\",\n buttonVariant = \"ghost\",\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"];\n}) {\n const defaultClassNames = getDefaultClassNames();\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n \"bg-white group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent dark:bg-neutral-950\",\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className,\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) =>\n date.toLocaleString(\"default\", { month: \"short\" }),\n ...formatters,\n }}\n classNames={{\n root: cn(\"w-fit\", defaultClassNames.root),\n months: cn(\n \"flex gap-4 flex-col md:flex-row relative\",\n defaultClassNames.months,\n ),\n month: cn(\"flex flex-col w-full gap-4\", defaultClassNames.month),\n nav: cn(\n \"flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between\",\n defaultClassNames.nav,\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_previous,\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_next,\n ),\n month_caption: cn(\n \"flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)\",\n defaultClassNames.month_caption,\n ),\n dropdowns: cn(\n \"w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5\",\n defaultClassNames.dropdowns,\n ),\n dropdown_root: cn(\n \"relative has-focus:border-neutral-950 border border-neutral-200 shadow-xs has-focus:ring-neutral-950/50 has-focus:ring-[3px] rounded-md dark:has-focus:border-neutral-300 dark:border-neutral-800 dark:has-focus:ring-neutral-300/50\",\n defaultClassNames.dropdown_root,\n ),\n dropdown: cn(\"absolute inset-0 opacity-0\", defaultClassNames.dropdown),\n caption_label: cn(\n \"select-none font-medium\",\n captionLayout === \"label\"\n ? \"text-sm\"\n : \"rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-neutral-500 [&>svg]:size-3.5 dark:[&>svg]:text-neutral-400\",\n defaultClassNames.caption_label,\n ),\n table: \"w-full border-collapse\",\n weekdays: cn(\"flex\", defaultClassNames.weekdays),\n weekday: cn(\n \"text-neutral-500 rounded-md flex-1 font-normal text-[0.8rem] select-none dark:text-neutral-400\",\n defaultClassNames.weekday,\n ),\n week: cn(\"flex w-full mt-2\", defaultClassNames.week),\n week_number_header: cn(\n \"select-none w-(--cell-size)\",\n defaultClassNames.week_number_header,\n ),\n week_number: cn(\n \"text-[0.8rem] select-none text-neutral-500 dark:text-neutral-400\",\n defaultClassNames.week_number,\n ),\n day: cn(\n \"relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none\",\n defaultClassNames.day,\n ),\n range_start: cn(\n \"rounded-l-md bg-neutral-100 dark:bg-neutral-800\",\n defaultClassNames.range_start,\n ),\n range_middle: cn(\"rounded-none\", defaultClassNames.range_middle),\n range_end: cn(\n \"rounded-r-md bg-neutral-100 dark:bg-neutral-800\",\n defaultClassNames.range_end,\n ),\n today: cn(\n \"bg-neutral-100 text-neutral-900 rounded-md data-[selected=true]:rounded-none dark:bg-neutral-800 dark:text-neutral-50\",\n defaultClassNames.today,\n ),\n outside: cn(\n \"text-neutral-500 aria-selected:text-neutral-500 dark:text-neutral-400 dark:aria-selected:text-neutral-400\",\n defaultClassNames.outside,\n ),\n disabled: cn(\n \"text-neutral-500 opacity-50 dark:text-neutral-400\",\n defaultClassNames.disabled,\n ),\n hidden: cn(\"invisible\", defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return (\n <div\n data-slot=\"calendar\"\n ref={rootRef}\n className={cn(className)}\n {...props}\n />\n );\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === \"left\") {\n return (\n <ChevronLeftIcon className={cn(\"size-4\", className)} {...props} />\n );\n }\n\n if (orientation === \"right\") {\n return (\n <ChevronRightIcon\n className={cn(\"size-4\", className)}\n {...props}\n />\n );\n }\n\n return (\n <ChevronDownIcon className={cn(\"size-4\", className)} {...props} />\n );\n },\n DayButton: CalendarDayButton,\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">\n {children}\n </div>\n </td>\n );\n },\n ...components,\n }}\n {...props}\n />\n );\n}\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n ...props\n}: React.ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames();\n\n const ref = React.useRef<HTMLButtonElement>(null);\n React.useEffect(() => {\n if (modifiers[\"focused\"]) ref.current?.focus();\n }, [modifiers[\"focused\"]]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers[\"selected\"] &&\n !modifiers[\"range_start\"] &&\n !modifiers[\"range_end\"] &&\n !modifiers[\"range_middle\"]\n }\n data-range-start={modifiers[\"range_start\"]}\n data-range-end={modifiers[\"range_end\"]}\n data-range-middle={modifiers[\"range_middle\"]}\n className={cn(\n \"data-[selected-single=true]:bg-neutral-900 data-[selected-single=true]:text-neutral-50 data-[range-middle=true]:bg-neutral-100 data-[range-middle=true]:text-neutral-900 data-[range-start=true]:bg-neutral-900 data-[range-start=true]:text-neutral-50 data-[range-end=true]:bg-neutral-900 data-[range-end=true]:text-neutral-50 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-neutral-900 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70 dark:data-[selected-single=true]:bg-neutral-50 dark:data-[selected-single=true]:text-neutral-900 dark:data-[range-middle=true]:bg-neutral-800 dark:data-[range-middle=true]:text-neutral-50 dark:data-[range-start=true]:bg-neutral-50 dark:data-[range-start=true]:text-neutral-900 dark:data-[range-end=true]:bg-neutral-50 dark:data-[range-end=true]:text-neutral-900 dark:dark:hover:text-neutral-50\",\n defaultClassNames.day,\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Calendar, CalendarDayButton };\n"],"names":["Calendar","className","classNames","showOutsideDays","captionLayout","buttonVariant","formatters","components","props","defaultClassNames","getDefaultClassNames","DayPicker","cn","String","date","buttonVariants","rootRef","orientation","ChevronLeftIcon","ChevronRightIcon","ChevronDownIcon","CalendarDayButton","children","day","modifiers","ref","React","Button"],"mappings":"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"}