@arolariu/components 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. package/CHANGELOG.md +89 -0
  2. package/EXAMPLES.md +2510 -0
  3. package/dist/components/ui/accordion.js +3 -3
  4. package/dist/components/ui/accordion.js.map +1 -1
  5. package/dist/components/ui/accordion_module.css.map +1 -1
  6. package/dist/components/ui/alert-dialog.d.ts +4 -16
  7. package/dist/components/ui/alert-dialog.d.ts.map +1 -1
  8. package/dist/components/ui/alert-dialog.js +21 -17
  9. package/dist/components/ui/alert-dialog.js.map +1 -1
  10. package/dist/components/ui/alert-dialog_module.css +1 -1
  11. package/dist/components/ui/alert-dialog_module.css.map +1 -1
  12. package/dist/components/ui/alert.js +4 -4
  13. package/dist/components/ui/alert.js.map +1 -1
  14. package/dist/components/ui/alert_module.css.map +1 -1
  15. package/dist/components/ui/aspect-ratio.js +2 -2
  16. package/dist/components/ui/aspect-ratio.js.map +1 -1
  17. package/dist/components/ui/aspect-ratio_module.css.map +1 -1
  18. package/dist/components/ui/async-boundary.js +2 -2
  19. package/dist/components/ui/async-boundary.js.map +1 -1
  20. package/dist/components/ui/avatar.d.ts +3 -12
  21. package/dist/components/ui/avatar.d.ts.map +1 -1
  22. package/dist/components/ui/avatar.js +18 -15
  23. package/dist/components/ui/avatar.js.map +1 -1
  24. package/dist/components/ui/avatar_module.css.map +1 -1
  25. package/dist/components/ui/background-beams.js +3 -3
  26. package/dist/components/ui/background-beams.js.map +1 -1
  27. package/dist/components/ui/background-beams_module.css.map +1 -1
  28. package/dist/components/ui/badge.js +2 -2
  29. package/dist/components/ui/badge.js.map +1 -1
  30. package/dist/components/ui/badge_module.css.map +1 -1
  31. package/dist/components/ui/breadcrumb.js +10 -10
  32. package/dist/components/ui/breadcrumb.js.map +1 -1
  33. package/dist/components/ui/breadcrumb_module.css.map +1 -1
  34. package/dist/components/ui/bubble-background.js +5 -5
  35. package/dist/components/ui/bubble-background.js.map +1 -1
  36. package/dist/components/ui/bubble-background_module.css.map +1 -1
  37. package/dist/components/ui/button-group.d.ts +1 -1
  38. package/dist/components/ui/button-group.d.ts.map +1 -1
  39. package/dist/components/ui/button-group.js +6 -6
  40. package/dist/components/ui/button-group.js.map +1 -1
  41. package/dist/components/ui/button-group_module.css.map +1 -1
  42. package/dist/components/ui/button.js +4 -4
  43. package/dist/components/ui/button.js.map +1 -1
  44. package/dist/components/ui/button_module.css.map +1 -1
  45. package/dist/components/ui/calendar.d.ts +3 -5
  46. package/dist/components/ui/calendar.d.ts.map +1 -1
  47. package/dist/components/ui/calendar.js +9 -9
  48. package/dist/components/ui/calendar.js.map +1 -1
  49. package/dist/components/ui/calendar_module.css.map +1 -1
  50. package/dist/components/ui/card-skeleton.js +2 -2
  51. package/dist/components/ui/card-skeleton.js.map +1 -1
  52. package/dist/components/ui/card-skeleton_module.css.map +1 -1
  53. package/dist/components/ui/card.js +8 -8
  54. package/dist/components/ui/card.js.map +1 -1
  55. package/dist/components/ui/card_module.css.map +1 -1
  56. package/dist/components/ui/carousel.d.ts.map +1 -1
  57. package/dist/components/ui/carousel.js +16 -16
  58. package/dist/components/ui/carousel.js.map +1 -1
  59. package/dist/components/ui/carousel_module.css +1 -1
  60. package/dist/components/ui/carousel_module.css.map +1 -1
  61. package/dist/components/ui/chart.d.ts +6 -3
  62. package/dist/components/ui/chart.d.ts.map +1 -1
  63. package/dist/components/ui/chart.js +70 -70
  64. package/dist/components/ui/chart.js.map +1 -1
  65. package/dist/components/ui/chart_module.css.map +1 -1
  66. package/dist/components/ui/checkbox-group.d.ts +2 -6
  67. package/dist/components/ui/checkbox-group.d.ts.map +1 -1
  68. package/dist/components/ui/checkbox-group.js +8 -7
  69. package/dist/components/ui/checkbox-group.js.map +1 -1
  70. package/dist/components/ui/checkbox-group_module.css.map +1 -1
  71. package/dist/components/ui/checkbox.d.ts +3 -1
  72. package/dist/components/ui/checkbox.d.ts.map +1 -1
  73. package/dist/components/ui/checkbox.js +6 -3
  74. package/dist/components/ui/checkbox.js.map +1 -1
  75. package/dist/components/ui/checkbox_module.css.map +1 -1
  76. package/dist/components/ui/collapsible.d.ts.map +1 -1
  77. package/dist/components/ui/collapsible.js +4 -4
  78. package/dist/components/ui/collapsible.js.map +1 -1
  79. package/dist/components/ui/collapsible_module.css.map +1 -1
  80. package/dist/components/ui/combobox.d.ts +335 -0
  81. package/dist/components/ui/combobox.d.ts.map +1 -0
  82. package/dist/components/ui/combobox.js +206 -0
  83. package/dist/components/ui/combobox.js.map +1 -0
  84. package/dist/components/ui/combobox.module.js +23 -0
  85. package/dist/components/ui/combobox.module.js.map +1 -0
  86. package/dist/components/ui/combobox_module.css +142 -0
  87. package/dist/components/ui/combobox_module.css.map +1 -0
  88. package/dist/components/ui/command.d.ts.map +1 -1
  89. package/dist/components/ui/command.js +62 -53
  90. package/dist/components/ui/command.js.map +1 -1
  91. package/dist/components/ui/command_module.css +1 -1
  92. package/dist/components/ui/command_module.css.map +1 -1
  93. package/dist/components/ui/context-menu.d.ts.map +1 -1
  94. package/dist/components/ui/context-menu.js +6 -6
  95. package/dist/components/ui/context-menu.js.map +1 -1
  96. package/dist/components/ui/context-menu_module.css.map +1 -1
  97. package/dist/components/ui/copy-button.js +6 -6
  98. package/dist/components/ui/copy-button.js.map +1 -1
  99. package/dist/components/ui/copy-button_module.css.map +1 -1
  100. package/dist/components/ui/counting-number.js +6 -6
  101. package/dist/components/ui/counting-number.js.map +1 -1
  102. package/dist/components/ui/counting-number_module.css.map +1 -1
  103. package/dist/components/ui/dialog.js +6 -6
  104. package/dist/components/ui/dialog.js.map +1 -1
  105. package/dist/components/ui/dialog_module.css +1 -1
  106. package/dist/components/ui/dialog_module.css.map +1 -1
  107. package/dist/components/ui/dot-background_module.css.map +1 -1
  108. package/dist/components/ui/drawer.d.ts.map +1 -1
  109. package/dist/components/ui/drawer.js +5 -5
  110. package/dist/components/ui/drawer.js.map +1 -1
  111. package/dist/components/ui/drawer_module.css.map +1 -1
  112. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  113. package/dist/components/ui/dropdown-menu.js +6 -6
  114. package/dist/components/ui/dropdown-menu.js.map +1 -1
  115. package/dist/components/ui/dropdown-menu_module.css.map +1 -1
  116. package/dist/components/ui/dropdrawer.d.ts +10 -16
  117. package/dist/components/ui/dropdrawer.d.ts.map +1 -1
  118. package/dist/components/ui/dropdrawer.js +73 -65
  119. package/dist/components/ui/dropdrawer.js.map +1 -1
  120. package/dist/components/ui/dropdrawer_module.css.map +1 -1
  121. package/dist/components/ui/empty.js +7 -7
  122. package/dist/components/ui/empty.js.map +1 -1
  123. package/dist/components/ui/empty_module.css.map +1 -1
  124. package/dist/components/ui/error-boundary.js +2 -2
  125. package/dist/components/ui/error-boundary.js.map +1 -1
  126. package/dist/components/ui/error-boundary_module.css.map +1 -1
  127. package/dist/components/ui/field.js +12 -12
  128. package/dist/components/ui/field.js.map +1 -1
  129. package/dist/components/ui/field_module.css.map +1 -1
  130. package/dist/components/ui/fireworks-background.js +6 -6
  131. package/dist/components/ui/fireworks-background.js.map +1 -1
  132. package/dist/components/ui/fireworks-background_module.css.map +1 -1
  133. package/dist/components/ui/flip-button.js +5 -5
  134. package/dist/components/ui/flip-button.js.map +1 -1
  135. package/dist/components/ui/flip-button_module.css.map +1 -1
  136. package/dist/components/ui/focus-scope.js +6 -6
  137. package/dist/components/ui/focus-scope.js.map +1 -1
  138. package/dist/components/ui/focus-scope_module.css.map +1 -1
  139. package/dist/components/ui/form-skeleton.js +2 -2
  140. package/dist/components/ui/form-skeleton.js.map +1 -1
  141. package/dist/components/ui/form-skeleton_module.css.map +1 -1
  142. package/dist/components/ui/form.d.ts +3 -3
  143. package/dist/components/ui/form.d.ts.map +1 -1
  144. package/dist/components/ui/form.js +13 -13
  145. package/dist/components/ui/form.js.map +1 -1
  146. package/dist/components/ui/form_module.css.map +1 -1
  147. package/dist/components/ui/gradient-background.js +2 -2
  148. package/dist/components/ui/gradient-background.js.map +1 -1
  149. package/dist/components/ui/gradient-background_module.css.map +1 -1
  150. package/dist/components/ui/gradient-text.js +2 -2
  151. package/dist/components/ui/gradient-text.js.map +1 -1
  152. package/dist/components/ui/gradient-text_module.css.map +1 -1
  153. package/dist/components/ui/highlight-text.js +4 -4
  154. package/dist/components/ui/highlight-text.js.map +1 -1
  155. package/dist/components/ui/highlight-text_module.css.map +1 -1
  156. package/dist/components/ui/hole-background.js +21 -21
  157. package/dist/components/ui/hole-background.js.map +1 -1
  158. package/dist/components/ui/hole-background_module.css.map +1 -1
  159. package/dist/components/ui/hover-card.js +3 -3
  160. package/dist/components/ui/hover-card.js.map +1 -1
  161. package/dist/components/ui/hover-card_module.css.map +1 -1
  162. package/dist/components/ui/input-group.js +7 -7
  163. package/dist/components/ui/input-group.js.map +1 -1
  164. package/dist/components/ui/input-group_module.css.map +1 -1
  165. package/dist/components/ui/input-otp.d.ts +3 -3
  166. package/dist/components/ui/input-otp.d.ts.map +1 -1
  167. package/dist/components/ui/input-otp.js +6 -6
  168. package/dist/components/ui/input-otp.js.map +1 -1
  169. package/dist/components/ui/input-otp_module.css.map +1 -1
  170. package/dist/components/ui/input.js +2 -2
  171. package/dist/components/ui/input.js.map +1 -1
  172. package/dist/components/ui/input_module.css.map +1 -1
  173. package/dist/components/ui/item.d.ts +1 -1
  174. package/dist/components/ui/item.d.ts.map +1 -1
  175. package/dist/components/ui/item.js +13 -13
  176. package/dist/components/ui/item.js.map +1 -1
  177. package/dist/components/ui/item_module.css.map +1 -1
  178. package/dist/components/ui/kbd.js +3 -3
  179. package/dist/components/ui/kbd.js.map +1 -1
  180. package/dist/components/ui/kbd_module.css.map +1 -1
  181. package/dist/components/ui/label.js +2 -2
  182. package/dist/components/ui/label.js.map +1 -1
  183. package/dist/components/ui/label_module.css.map +1 -1
  184. package/dist/components/ui/list-skeleton.js +2 -2
  185. package/dist/components/ui/list-skeleton.js.map +1 -1
  186. package/dist/components/ui/list-skeleton_module.css.map +1 -1
  187. package/dist/components/ui/loading-overlay.js +2 -2
  188. package/dist/components/ui/loading-overlay.js.map +1 -1
  189. package/dist/components/ui/loading-overlay_module.css.map +1 -1
  190. package/dist/components/ui/menubar.d.ts +11 -13
  191. package/dist/components/ui/menubar.d.ts.map +1 -1
  192. package/dist/components/ui/menubar.js +4 -4
  193. package/dist/components/ui/menubar.js.map +1 -1
  194. package/dist/components/ui/menubar_module.css.map +1 -1
  195. package/dist/components/ui/meter.d.ts +8 -24
  196. package/dist/components/ui/meter.d.ts.map +1 -1
  197. package/dist/components/ui/meter.js +23 -19
  198. package/dist/components/ui/meter.js.map +1 -1
  199. package/dist/components/ui/meter_module.css.map +1 -1
  200. package/dist/components/ui/navigation-menu.d.ts +3 -12
  201. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  202. package/dist/components/ui/navigation-menu.js +15 -12
  203. package/dist/components/ui/navigation-menu.js.map +1 -1
  204. package/dist/components/ui/navigation-menu_module.css +1 -1
  205. package/dist/components/ui/navigation-menu_module.css.map +1 -1
  206. package/dist/components/ui/number-field.d.ts +6 -12
  207. package/dist/components/ui/number-field.d.ts.map +1 -1
  208. package/dist/components/ui/number-field.js +3 -3
  209. package/dist/components/ui/number-field.js.map +1 -1
  210. package/dist/components/ui/number-field_module.css.map +1 -1
  211. package/dist/components/ui/pagination.js +8 -8
  212. package/dist/components/ui/pagination.js.map +1 -1
  213. package/dist/components/ui/pagination_module.css.map +1 -1
  214. package/dist/components/ui/popover.js +5 -5
  215. package/dist/components/ui/popover.js.map +1 -1
  216. package/dist/components/ui/popover_module.css.map +1 -1
  217. package/dist/components/ui/progress.d.ts +1 -4
  218. package/dist/components/ui/progress.d.ts.map +1 -1
  219. package/dist/components/ui/progress.js +10 -9
  220. package/dist/components/ui/progress.js.map +1 -1
  221. package/dist/components/ui/progress_module.css.map +1 -1
  222. package/dist/components/ui/radio-group.d.ts +2 -4
  223. package/dist/components/ui/radio-group.d.ts.map +1 -1
  224. package/dist/components/ui/radio-group.js +3 -3
  225. package/dist/components/ui/radio-group.js.map +1 -1
  226. package/dist/components/ui/radio-group_module.css.map +1 -1
  227. package/dist/components/ui/resizable.d.ts +13 -29
  228. package/dist/components/ui/resizable.d.ts.map +1 -1
  229. package/dist/components/ui/resizable.js +8 -7
  230. package/dist/components/ui/resizable.js.map +1 -1
  231. package/dist/components/ui/resizable_module.css.map +1 -1
  232. package/dist/components/ui/ripple-button.js +9 -9
  233. package/dist/components/ui/ripple-button.js.map +1 -1
  234. package/dist/components/ui/ripple-button_module.css.map +1 -1
  235. package/dist/components/ui/scratcher.d.ts +1 -1
  236. package/dist/components/ui/scratcher.d.ts.map +1 -1
  237. package/dist/components/ui/scratcher.js +5 -4
  238. package/dist/components/ui/scratcher.js.map +1 -1
  239. package/dist/components/ui/scratcher_module.css.map +1 -1
  240. package/dist/components/ui/scroll-area.d.ts +2 -4
  241. package/dist/components/ui/scroll-area.d.ts.map +1 -1
  242. package/dist/components/ui/scroll-area.js +2 -2
  243. package/dist/components/ui/scroll-area.js.map +1 -1
  244. package/dist/components/ui/scroll-area_module.css.map +1 -1
  245. package/dist/components/ui/select.js +4 -4
  246. package/dist/components/ui/select.js.map +1 -1
  247. package/dist/components/ui/select_module.css.map +1 -1
  248. package/dist/components/ui/separator.d.ts +1 -4
  249. package/dist/components/ui/separator.d.ts.map +1 -1
  250. package/dist/components/ui/separator.js +9 -8
  251. package/dist/components/ui/separator.js.map +1 -1
  252. package/dist/components/ui/separator_module.css.map +1 -1
  253. package/dist/components/ui/sheet.d.ts.map +1 -1
  254. package/dist/components/ui/sheet.js +6 -6
  255. package/dist/components/ui/sheet.js.map +1 -1
  256. package/dist/components/ui/sheet_module.css.map +1 -1
  257. package/dist/components/ui/sidebar.d.ts +1 -1
  258. package/dist/components/ui/sidebar.d.ts.map +1 -1
  259. package/dist/components/ui/sidebar.js +36 -36
  260. package/dist/components/ui/sidebar.js.map +1 -1
  261. package/dist/components/ui/sidebar_module.css.map +1 -1
  262. package/dist/components/ui/skeleton.js +2 -2
  263. package/dist/components/ui/skeleton.js.map +1 -1
  264. package/dist/components/ui/skeleton_module.css.map +1 -1
  265. package/dist/components/ui/slider.js +2 -2
  266. package/dist/components/ui/slider.js.map +1 -1
  267. package/dist/components/ui/slider_module.css.map +1 -1
  268. package/dist/components/ui/spinner.js +2 -2
  269. package/dist/components/ui/spinner.js.map +1 -1
  270. package/dist/components/ui/spinner_module.css.map +1 -1
  271. package/dist/components/ui/stepper.js +2 -2
  272. package/dist/components/ui/stepper.js.map +1 -1
  273. package/dist/components/ui/stepper_module.css.map +1 -1
  274. package/dist/components/ui/switch.js +2 -2
  275. package/dist/components/ui/switch.js.map +1 -1
  276. package/dist/components/ui/switch_module.css.map +1 -1
  277. package/dist/components/ui/table-skeleton.js +2 -2
  278. package/dist/components/ui/table-skeleton.js.map +1 -1
  279. package/dist/components/ui/table-skeleton_module.css.map +1 -1
  280. package/dist/components/ui/table.js +9 -9
  281. package/dist/components/ui/table.js.map +1 -1
  282. package/dist/components/ui/table_module.css.map +1 -1
  283. package/dist/components/ui/tabs.js +3 -3
  284. package/dist/components/ui/tabs.js.map +1 -1
  285. package/dist/components/ui/tabs_module.css.map +1 -1
  286. package/dist/components/ui/textarea.js +2 -2
  287. package/dist/components/ui/textarea.js.map +1 -1
  288. package/dist/components/ui/textarea_module.css.map +1 -1
  289. package/dist/components/ui/timeline.js +5 -5
  290. package/dist/components/ui/timeline.js.map +1 -1
  291. package/dist/components/ui/timeline_module.css.map +1 -1
  292. package/dist/components/ui/{sonner.d.ts → toast.d.ts} +15 -6
  293. package/dist/components/ui/toast.d.ts.map +1 -0
  294. package/dist/components/ui/{sonner.js → toast.js} +43 -42
  295. package/dist/components/ui/toast.js.map +1 -0
  296. package/dist/components/ui/toast.module.js +34 -0
  297. package/dist/components/ui/toast.module.js.map +1 -0
  298. package/dist/components/ui/{sonner_module.css → toast_module.css} +35 -35
  299. package/dist/components/ui/toast_module.css.map +1 -0
  300. package/dist/components/ui/toggle-group.d.ts +2 -8
  301. package/dist/components/ui/toggle-group.d.ts.map +1 -1
  302. package/dist/components/ui/toggle-group.js +14 -12
  303. package/dist/components/ui/toggle-group.js.map +1 -1
  304. package/dist/components/ui/toggle-group_module.css.map +1 -1
  305. package/dist/components/ui/toggle.js +2 -2
  306. package/dist/components/ui/toggle.js.map +1 -1
  307. package/dist/components/ui/toggle_module.css.map +1 -1
  308. package/dist/components/ui/toolbar.d.ts +10 -30
  309. package/dist/components/ui/toolbar.d.ts.map +1 -1
  310. package/dist/components/ui/toolbar.js +28 -23
  311. package/dist/components/ui/toolbar.js.map +1 -1
  312. package/dist/components/ui/toolbar_module.css.map +1 -1
  313. package/dist/components/ui/tooltip.js +4 -4
  314. package/dist/components/ui/tooltip.js.map +1 -1
  315. package/dist/components/ui/tooltip_module.css.map +1 -1
  316. package/dist/components/ui/typewriter.js +4 -4
  317. package/dist/components/ui/typewriter.js.map +1 -1
  318. package/dist/components/ui/typewriter_module.css.map +1 -1
  319. package/dist/components/ui/visually-hidden.js +2 -2
  320. package/dist/components/ui/visually-hidden.js.map +1 -1
  321. package/dist/components/ui/visually-hidden_module.css.map +1 -1
  322. package/dist/hooks/useAnnounce.js +5 -5
  323. package/dist/hooks/useAnnounce.js.map +1 -1
  324. package/dist/hooks/useClipboard.d.ts +77 -0
  325. package/dist/hooks/useClipboard.d.ts.map +1 -0
  326. package/dist/hooks/useClipboard.js +42 -0
  327. package/dist/hooks/useClipboard.js.map +1 -0
  328. package/dist/hooks/useControllableState.d.ts +54 -0
  329. package/dist/hooks/useControllableState.d.ts.map +1 -0
  330. package/dist/hooks/useControllableState.js +29 -0
  331. package/dist/hooks/useControllableState.js.map +1 -0
  332. package/dist/hooks/useDebounce.d.ts +33 -0
  333. package/dist/hooks/useDebounce.d.ts.map +1 -0
  334. package/dist/hooks/useDebounce.js +20 -0
  335. package/dist/hooks/useDebounce.js.map +1 -0
  336. package/dist/hooks/useEventCallback.d.ts +34 -0
  337. package/dist/hooks/useEventCallback.d.ts.map +1 -0
  338. package/dist/hooks/useEventCallback.js +12 -0
  339. package/dist/hooks/useEventCallback.js.map +1 -0
  340. package/dist/hooks/useFocusManager.js +6 -6
  341. package/dist/hooks/useFocusManager.js.map +1 -1
  342. package/dist/hooks/useFocusVisible.js +5 -5
  343. package/dist/hooks/useFocusVisible.js.map +1 -1
  344. package/dist/hooks/useId.d.ts +30 -0
  345. package/dist/hooks/useId.d.ts.map +1 -0
  346. package/dist/hooks/useId.js +9 -0
  347. package/dist/hooks/useId.js.map +1 -0
  348. package/dist/hooks/useIntersectionObserver.d.ts +51 -0
  349. package/dist/hooks/useIntersectionObserver.d.ts.map +1 -0
  350. package/dist/hooks/useIntersectionObserver.js +25 -0
  351. package/dist/hooks/useIntersectionObserver.js.map +1 -0
  352. package/dist/hooks/useInterval.d.ts +55 -0
  353. package/dist/hooks/useInterval.d.ts.map +1 -0
  354. package/dist/hooks/useInterval.js +24 -0
  355. package/dist/hooks/useInterval.js.map +1 -0
  356. package/dist/hooks/useLocalStorage.d.ts +43 -0
  357. package/dist/hooks/useLocalStorage.d.ts.map +1 -0
  358. package/dist/hooks/useLocalStorage.js +53 -0
  359. package/dist/hooks/useLocalStorage.js.map +1 -0
  360. package/dist/hooks/useMediaQuery.js +3 -3
  361. package/dist/hooks/useMediaQuery.js.map +1 -1
  362. package/dist/hooks/useMergedRefs.d.ts +27 -0
  363. package/dist/hooks/useMergedRefs.d.ts.map +1 -0
  364. package/dist/hooks/useMergedRefs.js +11 -0
  365. package/dist/hooks/useMergedRefs.js.map +1 -0
  366. package/dist/hooks/useOnClickOutside.d.ts +32 -0
  367. package/dist/hooks/useOnClickOutside.d.ts.map +1 -0
  368. package/dist/hooks/useOnClickOutside.js +23 -0
  369. package/dist/hooks/useOnClickOutside.js.map +1 -0
  370. package/dist/hooks/usePrevious.d.ts +33 -0
  371. package/dist/hooks/usePrevious.d.ts.map +1 -0
  372. package/dist/hooks/usePrevious.js +14 -0
  373. package/dist/hooks/usePrevious.js.map +1 -0
  374. package/dist/hooks/useThrottle.d.ts +37 -0
  375. package/dist/hooks/useThrottle.d.ts.map +1 -0
  376. package/dist/hooks/useThrottle.js +34 -0
  377. package/dist/hooks/useThrottle.js.map +1 -0
  378. package/dist/hooks/useTimeout.d.ts +28 -0
  379. package/dist/hooks/useTimeout.d.ts.map +1 -0
  380. package/dist/hooks/useTimeout.js +24 -0
  381. package/dist/hooks/useTimeout.js.map +1 -0
  382. package/dist/index.css.map +1 -1
  383. package/dist/index.d.ts +17 -3
  384. package/dist/index.d.ts.map +1 -1
  385. package/dist/index.js +15 -1
  386. package/dist/lib/utilities.d.ts +2 -3
  387. package/dist/lib/utilities.d.ts.map +1 -1
  388. package/dist/lib/utilities.js.map +1 -1
  389. package/dist/motion/Collapse.js +2 -2
  390. package/dist/motion/Collapse.js.map +1 -1
  391. package/dist/motion/Collapse_module.css.map +1 -1
  392. package/dist/motion/tokens.js +5 -5
  393. package/dist/motion/tokens.js.map +1 -1
  394. package/package.json +88 -10
  395. package/src/components/ui/alert-dialog.tsx +15 -8
  396. package/src/components/ui/avatar.tsx +9 -6
  397. package/src/components/ui/calendar.tsx +9 -14
  398. package/src/components/ui/carousel.tsx +2 -0
  399. package/src/components/ui/chart.tsx +65 -62
  400. package/src/components/ui/checkbox-group.tsx +4 -5
  401. package/src/components/ui/checkbox.tsx +10 -2
  402. package/src/components/ui/collapsible.tsx +1 -0
  403. package/src/components/ui/combobox.module.css +158 -0
  404. package/src/components/ui/combobox.tsx +569 -0
  405. package/src/components/ui/command.tsx +31 -15
  406. package/src/components/ui/context-menu.tsx +3 -0
  407. package/src/components/ui/drawer.tsx +2 -0
  408. package/src/components/ui/dropdown-menu.tsx +3 -0
  409. package/src/components/ui/dropdrawer.tsx +80 -62
  410. package/src/components/ui/form.tsx +28 -3
  411. package/src/components/ui/input-otp.tsx +3 -3
  412. package/src/components/ui/menubar.tsx +9 -10
  413. package/src/components/ui/meter.tsx +16 -17
  414. package/src/components/ui/navigation-menu.tsx +41 -33
  415. package/src/components/ui/number-field.tsx +6 -13
  416. package/src/components/ui/progress.tsx +3 -2
  417. package/src/components/ui/radio-group.tsx +2 -5
  418. package/src/components/ui/resizable.tsx +15 -18
  419. package/src/components/ui/scratcher.tsx +6 -10
  420. package/src/components/ui/scroll-area.tsx +2 -5
  421. package/src/components/ui/separator.tsx +4 -3
  422. package/src/components/ui/sheet.tsx +3 -0
  423. package/src/components/ui/sidebar.tsx +1 -0
  424. package/src/components/ui/{sonner.module.css → toast.module.css} +1 -1
  425. package/src/components/ui/{sonner.tsx → toast.tsx} +22 -14
  426. package/src/components/ui/toggle-group.tsx +6 -4
  427. package/src/components/ui/toolbar.tsx +20 -21
  428. package/src/hooks/useClipboard.tsx +137 -0
  429. package/src/hooks/useControllableState.tsx +81 -0
  430. package/src/hooks/useDebounce.tsx +50 -0
  431. package/src/hooks/useEventCallback.tsx +47 -0
  432. package/src/hooks/useId.tsx +36 -0
  433. package/src/hooks/useIntersectionObserver.tsx +81 -0
  434. package/src/hooks/useInterval.tsx +80 -0
  435. package/src/hooks/useLocalStorage.tsx +111 -0
  436. package/src/hooks/useMergedRefs.tsx +48 -0
  437. package/src/hooks/useOnClickOutside.tsx +55 -0
  438. package/src/hooks/usePrevious.tsx +44 -0
  439. package/src/hooks/useThrottle.tsx +78 -0
  440. package/src/hooks/useTimeout.tsx +51 -0
  441. package/src/index.ts +27 -4
  442. package/src/lib/utilities.ts +4 -4
  443. package/src/motion/tokens.ts +4 -4
  444. package/src/stories/DesignPrinciples.mdx +48 -0
  445. package/src/stories/GettingStarted.mdx +92 -0
  446. package/src/stories/Welcome.mdx +44 -0
  447. package/dist/components/ui/sonner.d.ts.map +0 -1
  448. package/dist/components/ui/sonner.js.map +0 -1
  449. package/dist/components/ui/sonner.module.js +0 -34
  450. package/dist/components/ui/sonner.module.js.map +0 -1
  451. package/dist/components/ui/sonner_module.css.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://./home/runner/work/arolariu.ro/arolariu.ro/packages/components/src/components/ui/bubble-background.module.css","webpack://./src/components/ui/bubble-background.module.css"],"names":[],"mappings":"AADA;ECEE,qDAAqD;EACrD,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,gBAAgB;AAClB;;AAEA;EACE,QAAQ;EACR,SAAS;EACT,kBAAkB;EAClB,MAAM;EACN,OAAO;AACT;;AAEA;EACE,8BAA8B;EAC9B,kBAAkB;EAClB,QAAQ;AACV;;AAEA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,kBAAkB;AACpB;;AAEA;EACE,UAAU;EACV,WAAW;EACX,QAAQ;EACR,SAAS;AACX;;AAEA;EACE,4HAA4H;AAC9H;;AAEA;EACE,uBAAuB;EACvB,mBAAmB;EACnB,aAAa;EACb,kBAAkB;EAClB,QAAQ;AACV;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,8HAA8H;EAC9H,UAAU;EACV,WAAW;EACX,QAAQ;EACR,SAAS;AACX;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,4HAA4H;EAC5H,UAAU;EACV,WAAW;EACX,kBAAkB;EAClB,sBAAsB;EACtB,uBAAuB;AACzB;;AAEA;EACE,8HAA8H;EAC9H,WAAW;AACb;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,4HAA4H;EAC5H,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,SAAS;EACT,UAAU;AACZ;;AAEA;EACE,4HAA4H;EAC5H,WAAW;EACX,WAAW;EACX,YAAY;AACd","sourcesContent":[".root{background:linear-gradient(135deg,#2e1065,#1d4ed8);height:100%;overflow:hidden;position:relative;width:100%}.hiddenSvg{height:0;left:0;position:absolute;top:0;width:0}.filterLayer{filter:url(#goo) blur(40px);inset:0;position:absolute}.bubble{border-radius:9999px;mix-blend-mode:hard-light;position:absolute}.bubbleFirst,.bubbleFourth{height:80%;left:10%;top:10%;width:80%}.bubbleFirst{background:radial-gradient(circle at center,rgb(var(--ac-bubble-first-color)/.8) 0,rgb(var(--ac-bubble-first-color)/0) 50%)}.rotator{align-items:center;display:flex;inset:0;justify-content:center;position:absolute}.rotatorSecond{transform-origin:calc(50% - 400px) 50%}.bubbleSecond{background:radial-gradient(circle at center,rgb(var(--ac-bubble-second-color)/.8) 0,rgb(var(--ac-bubble-second-color)/0) 50%);height:80%;left:10%;top:10%;width:80%}.rotatorThird{transform-origin:calc(50% + 400px) 50%}.bubbleThird{background:radial-gradient(circle at center,rgb(var(--ac-bubble-third-color)/.8) 0,rgb(var(--ac-bubble-third-color)/0) 50%);height:80%;left:calc(50% - 500px);position:absolute;top:calc(50% + 200px);width:80%}.bubbleFourth{background:radial-gradient(circle at center,rgb(var(--ac-bubble-fourth-color)/.8) 0,rgb(var(--ac-bubble-fourth-color)/0) 50%);opacity:.7}.rotatorFifth{transform-origin:calc(50% - 800px) calc(50% + 200px)}.bubbleFifth{background:radial-gradient(circle at center,rgb(var(--ac-bubble-fifth-color)/.8) 0,rgb(var(--ac-bubble-fifth-color)/0) 50%);height:160%;left:-30%;position:absolute;top:-30%;width:160%}.bubbleInteractive{background:radial-gradient(circle at center,rgb(var(--ac-bubble-sixth-color)/.8) 0,rgb(var(--ac-bubble-sixth-color)/0) 50%);height:100%;opacity:.7;width:100%}",".root {\n background: linear-gradient(135deg, #2e1065, #1d4ed8);\n width: 100%;\n height: 100%;\n position: relative;\n overflow: hidden;\n}\n\n.hiddenSvg {\n width: 0;\n height: 0;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.filterLayer {\n filter: url(\"#goo\") blur(40px);\n position: absolute;\n inset: 0;\n}\n\n.bubble {\n mix-blend-mode: hard-light;\n border-radius: 9999px;\n position: absolute;\n}\n\n.bubbleFirst, .bubbleFourth {\n width: 80%;\n height: 80%;\n top: 10%;\n left: 10%;\n}\n\n.bubbleFirst {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-first-color)/.8) 0,rgb(var(--ac-bubble-first-color)/0) 50%);\n}\n\n.rotator {\n justify-content: center;\n align-items: center;\n display: flex;\n position: absolute;\n inset: 0;\n}\n\n.rotatorSecond {\n transform-origin: calc(50% - 400px);\n}\n\n.bubbleSecond {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-second-color)/.8) 0,rgb(var(--ac-bubble-second-color)/0) 50%);\n width: 80%;\n height: 80%;\n top: 10%;\n left: 10%;\n}\n\n.rotatorThird {\n transform-origin: calc(50% + 400px);\n}\n\n.bubbleThird {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-third-color)/.8) 0,rgb(var(--ac-bubble-third-color)/0) 50%);\n width: 80%;\n height: 80%;\n position: absolute;\n top: calc(50% + 200px);\n left: calc(50% - 500px);\n}\n\n.bubbleFourth {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-fourth-color)/.8) 0,rgb(var(--ac-bubble-fourth-color)/0) 50%);\n opacity: .7;\n}\n\n.rotatorFifth {\n transform-origin: calc(50% - 800px) calc(50% + 200px);\n}\n\n.bubbleFifth {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-fifth-color)/.8) 0,rgb(var(--ac-bubble-fifth-color)/0) 50%);\n width: 160%;\n height: 160%;\n position: absolute;\n top: -30%;\n left: -30%;\n}\n\n.bubbleInteractive {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-sixth-color)/.8) 0,rgb(var(--ac-bubble-sixth-color)/0) 50%);\n opacity: .7;\n width: 100%;\n height: 100%;\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://./../../node_modules/@rslib/core/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[1].oneOf[2].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[1].oneOf[2].use[2]!/home/runner/work/arolariu.ro/arolariu.ro/node_modules/@rslib/core/node_modules/@rsbuild/core/compiled/postcss-loader/index.js??ruleSet[1].rules[1].oneOf[2].use[3]!/home/runner/work/arolariu.ro/arolariu.ro/packages/components/src/components/ui/bubble-background.module.css","webpack://./src/components/ui/bubble-background.module.css"],"names":[],"mappings":"AAAA;ECCE,qDAAqD;EACrD,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,gBAAgB;AAClB;;ADNkH;ECShH,QAAQ;EACR,SAAS;EACT,kBAAkB;EAClB,MAAM;EACN,OAAO;AACT;;ADd6K;ECiB3K,8BAA8B;EAC9B,kBAAkB;EAClB,QAAQ;AACV;;ADpBgP;ECuB9O,0BAA0B;EAC1B,qBAAqB;EACrB,kBAAkB;AACpB;;AD1ByT;EC6BvT,UAAU;EACV,WAAW;EACX,QAAQ;EACR,SAAS;AACX;;ADjC0X;ECoCxX,4HAA4H;AAC9H;;ADrCmgB;ECwCjgB,uBAAuB;EACvB,mBAAmB;EACnB,aAAa;EACb,kBAAkB;EAClB,QAAQ;AACV;;AD7C6lB;ECgD3lB,mCAAmC;AACrC;;ADjDmpB;ECoDjpB,8HAA8H;EAC9H,UAAU;EACV,WAAW;EACX,QAAQ;EACR,SAAS;AACX;;ADzDq0B;EC4Dn0B,mCAAmC;AACrC;;AD7D03B;ECgEx3B,4HAA4H;EAC5H,UAAU;EACV,WAAW;EACX,kBAAkB;EAClB,sBAAsB;EACtB,uBAAuB;AACzB;;ADtEulC;ECyErlC,8HAA8H;EAC9H,WAAW;AACb;;AD3E8uC;EC8E5uC,qDAAqD;AACvD;;AD/EizC;ECkF/yC,4HAA4H;EAC5H,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,SAAS;EACT,UAAU;AACZ;;ADxFs/C;EC2Fp/C,4HAA4H;EAC5H,WAAW;EACX,WAAW;EACX,YAAY;AACd","sourcesContent":[".root{background:linear-gradient(135deg,#2e1065,#1d4ed8);height:100%;overflow:hidden;position:relative;width:100%}.hiddenSvg{height:0;left:0;position:absolute;top:0;width:0}.filterLayer{filter:url(#goo) blur(40px);inset:0;position:absolute}.bubble{border-radius:9999px;mix-blend-mode:hard-light;position:absolute}.bubbleFirst,.bubbleFourth{height:80%;left:10%;top:10%;width:80%}.bubbleFirst{background:radial-gradient(circle at center,rgb(var(--ac-bubble-first-color)/.8) 0,rgb(var(--ac-bubble-first-color)/0) 50%)}.rotator{align-items:center;display:flex;inset:0;justify-content:center;position:absolute}.rotatorSecond{transform-origin:calc(50% - 400px) 50%}.bubbleSecond{background:radial-gradient(circle at center,rgb(var(--ac-bubble-second-color)/.8) 0,rgb(var(--ac-bubble-second-color)/0) 50%);height:80%;left:10%;top:10%;width:80%}.rotatorThird{transform-origin:calc(50% + 400px) 50%}.bubbleThird{background:radial-gradient(circle at center,rgb(var(--ac-bubble-third-color)/.8) 0,rgb(var(--ac-bubble-third-color)/0) 50%);height:80%;left:calc(50% - 500px);position:absolute;top:calc(50% + 200px);width:80%}.bubbleFourth{background:radial-gradient(circle at center,rgb(var(--ac-bubble-fourth-color)/.8) 0,rgb(var(--ac-bubble-fourth-color)/0) 50%);opacity:.7}.rotatorFifth{transform-origin:calc(50% - 800px) calc(50% + 200px)}.bubbleFifth{background:radial-gradient(circle at center,rgb(var(--ac-bubble-fifth-color)/.8) 0,rgb(var(--ac-bubble-fifth-color)/0) 50%);height:160%;left:-30%;position:absolute;top:-30%;width:160%}.bubbleInteractive{background:radial-gradient(circle at center,rgb(var(--ac-bubble-sixth-color)/.8) 0,rgb(var(--ac-bubble-sixth-color)/0) 50%);height:100%;opacity:.7;width:100%}",".root {\n background: linear-gradient(135deg, #2e1065, #1d4ed8);\n width: 100%;\n height: 100%;\n position: relative;\n overflow: hidden;\n}\n\n.hiddenSvg {\n width: 0;\n height: 0;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.filterLayer {\n filter: url(\"#goo\") blur(40px);\n position: absolute;\n inset: 0;\n}\n\n.bubble {\n mix-blend-mode: hard-light;\n border-radius: 9999px;\n position: absolute;\n}\n\n.bubbleFirst, .bubbleFourth {\n width: 80%;\n height: 80%;\n top: 10%;\n left: 10%;\n}\n\n.bubbleFirst {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-first-color)/.8) 0,rgb(var(--ac-bubble-first-color)/0) 50%);\n}\n\n.rotator {\n justify-content: center;\n align-items: center;\n display: flex;\n position: absolute;\n inset: 0;\n}\n\n.rotatorSecond {\n transform-origin: calc(50% - 400px);\n}\n\n.bubbleSecond {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-second-color)/.8) 0,rgb(var(--ac-bubble-second-color)/0) 50%);\n width: 80%;\n height: 80%;\n top: 10%;\n left: 10%;\n}\n\n.rotatorThird {\n transform-origin: calc(50% + 400px);\n}\n\n.bubbleThird {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-third-color)/.8) 0,rgb(var(--ac-bubble-third-color)/0) 50%);\n width: 80%;\n height: 80%;\n position: absolute;\n top: calc(50% + 200px);\n left: calc(50% - 500px);\n}\n\n.bubbleFourth {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-fourth-color)/.8) 0,rgb(var(--ac-bubble-fourth-color)/0) 50%);\n opacity: .7;\n}\n\n.rotatorFifth {\n transform-origin: calc(50% - 800px) calc(50% + 200px);\n}\n\n.bubbleFifth {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-fifth-color)/.8) 0,rgb(var(--ac-bubble-fifth-color)/0) 50%);\n width: 160%;\n height: 160%;\n position: absolute;\n top: -30%;\n left: -30%;\n}\n\n.bubbleInteractive {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-sixth-color)/.8) 0,rgb(var(--ac-bubble-sixth-color)/0) 50%);\n opacity: .7;\n width: 100%;\n height: 100%;\n}\n"],"sourceRoot":""}
@@ -88,6 +88,6 @@ declare const ButtonGroupText: React.ForwardRefExoticComponent<ButtonGroupTextPr
88
88
  *
89
89
  * @see {@link ButtonGroupSeparatorProps} for available props
90
90
  */
91
- declare const ButtonGroupSeparator: React.ForwardRefExoticComponent<Omit<Readonly<import("./separator").SeparatorProps>, "ref"> & React.RefAttributes<HTMLDivElement>>;
91
+ declare const ButtonGroupSeparator: React.ForwardRefExoticComponent<Omit<Omit<import("./separator").SeparatorProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
92
92
  export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants };
93
93
  //# sourceMappingURL=button-group.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-group.d.ts","sourceRoot":"","sources":["../../../src/components/ui/button-group.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAC;AAIpD,2DAA2D;AAC3D,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,UAAU,CAAC;AAE/D,UAAU,yBAAyB;IACjC,gFAAgF;IAChF,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,sFAAsF;IACtF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IAC7E,6DAA6D;IAC7D,WAAW,CAAC,EAAE,sBAAsB,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACjF,iFAAiF;IACjF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,SAAS,CAAC,CAAC;AAEzF;;;;;;;;;;GAUG;AACH,iBAAS,mBAAmB,CAAC,EAAC,WAA0B,EAAE,SAAS,EAAC,GAAE,QAAQ,CAAC,yBAAyB,CAAM,GAAG,MAAM,CAEtH;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,QAAA,MAAM,WAAW,yFAWhB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,eAAe,6FAwBpB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,oBAAoB,kJAUzB,CAAC;AAMF,OAAO,EAAC,WAAW,EAAE,oBAAoB,EAAE,eAAe,EAAE,mBAAmB,EAAC,CAAC"}
1
+ {"version":3,"file":"button-group.d.ts","sourceRoot":"","sources":["../../../src/components/ui/button-group.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAC;AAIpD,2DAA2D;AAC3D,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,UAAU,CAAC;AAE/D,UAAU,yBAAyB;IACjC,gFAAgF;IAChF,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,sFAAsF;IACtF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IAC7E,6DAA6D;IAC7D,WAAW,CAAC,EAAE,sBAAsB,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACjF,iFAAiF;IACjF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,SAAS,CAAC,CAAC;AAEzF;;;;;;;;;;GAUG;AACH,iBAAS,mBAAmB,CAAC,EAAC,WAA0B,EAAE,SAAS,EAAC,GAAE,QAAQ,CAAC,yBAAyB,CAAM,GAAG,MAAM,CAEtH;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,QAAA,MAAM,WAAW,yFAWhB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,eAAe,6FAwBpB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,oBAAoB,2LAUzB,CAAC;AAMF,OAAO,EAAC,WAAW,EAAE,oBAAoB,EAAE,eAAe,EAAE,mBAAmB,EAAC,CAAC"}
@@ -1,13 +1,13 @@
1
1
  "use client";
2
2
  import { jsx } from "react/jsx-runtime";
3
- import { cloneElement, forwardRef, isValidElement } from "react";
4
3
  import { Separator } from "./separator.js";
5
4
  import { cn } from "../../lib/utilities.js";
6
5
  import button_group_module from "./button-group.module.js";
6
+ import * as __rspack_external_react from "react";
7
7
  function buttonGroupVariants({ orientation = "horizontal", className } = {}) {
8
8
  return cn(button_group_module.root, "vertical" === orientation ? button_group_module.vertical : button_group_module.horizontal, className);
9
9
  }
10
- const ButtonGroup = /*#__PURE__*/ forwardRef(({ className, orientation = "horizontal", ...props }, ref)=>/*#__PURE__*/ jsx("div", {
10
+ const ButtonGroup = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, orientation = "horizontal", ...props }, ref)=>/*#__PURE__*/ jsx("div", {
11
11
  ref: ref,
12
12
  role: "group",
13
13
  "data-slot": "button-group",
@@ -18,11 +18,11 @@ const ButtonGroup = /*#__PURE__*/ forwardRef(({ className, orientation = "horizo
18
18
  }),
19
19
  ...props
20
20
  }));
21
- const ButtonGroupText = /*#__PURE__*/ forwardRef(({ className, asChild = false, children, ...props }, ref)=>{
21
+ const ButtonGroupText = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, asChild = false, children, ...props }, ref)=>{
22
22
  const mergedClassName = cn(button_group_module.text, className);
23
- if (asChild && /*#__PURE__*/ isValidElement(children)) {
23
+ if (asChild && /*#__PURE__*/ __rspack_external_react.isValidElement(children)) {
24
24
  const child = children;
25
- return /*#__PURE__*/ cloneElement(child, {
25
+ return /*#__PURE__*/ __rspack_external_react.cloneElement(child, {
26
26
  ...props,
27
27
  ref,
28
28
  className: cn(mergedClassName, child.props.className)
@@ -35,7 +35,7 @@ const ButtonGroupText = /*#__PURE__*/ forwardRef(({ className, asChild = false,
35
35
  children: children
36
36
  });
37
37
  });
38
- const ButtonGroupSeparator = /*#__PURE__*/ forwardRef(({ className, orientation = "vertical", ...props }, ref)=>/*#__PURE__*/ jsx(Separator, {
38
+ const ButtonGroupSeparator = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, orientation = "vertical", ...props }, ref)=>/*#__PURE__*/ jsx(Separator, {
39
39
  ref: ref,
40
40
  "data-slot": "button-group-separator",
41
41
  orientation: orientation,
@@ -1 +1 @@
1
- {"version":3,"file":"components/ui/button-group.js","sources":["../../../src/components/ui/button-group.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\n\r\nimport {Separator} from \"@/components/ui/separator\";\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./button-group.module.css\";\r\n\r\n/** Supported layout directions for {@link ButtonGroup}. */\r\nexport type ButtonGroupOrientation = \"horizontal\" | \"vertical\";\r\n\r\ninterface ButtonGroupVariantOptions {\r\n /** Orientation used to resolve the root style classes. @default \"horizontal\" */\r\n orientation?: ButtonGroupOrientation;\r\n /** Additional classes merged into the generated variant string. @default undefined */\r\n className?: string;\r\n}\r\n\r\n/**\r\n * Props for the {@link ButtonGroup} component.\r\n */\r\nexport interface ButtonGroupProps extends React.ComponentPropsWithoutRef<\"div\"> {\r\n /** Arrangement of grouped controls. @default \"horizontal\" */\r\n orientation?: ButtonGroupOrientation;\r\n}\r\n\r\n/**\r\n * Props for the {@link ButtonGroupText} component.\r\n */\r\nexport interface ButtonGroupTextProps extends React.ComponentPropsWithoutRef<\"div\"> {\r\n /** Enables rendering an existing div-compatible child element. @default false */\r\n asChild?: boolean;\r\n}\r\n\r\n/**\r\n * Props for the {@link ButtonGroupSeparator} component.\r\n */\r\nexport type ButtonGroupSeparatorProps = React.ComponentPropsWithoutRef<typeof Separator>;\r\n\r\n/**\r\n * Returns the CSS class list for a button group root.\r\n *\r\n * @param options - Variant options used to derive the generated class string.\r\n * @returns The merged class name string for the requested orientation.\r\n *\r\n * @example\r\n * ```tsx\r\n * const className = buttonGroupVariants({orientation: \"vertical\"});\r\n * ```\r\n */\r\nfunction buttonGroupVariants({orientation = \"horizontal\", className}: Readonly<ButtonGroupVariantOptions> = {}): string {\r\n return cn(styles.root, orientation === \"vertical\" ? styles.vertical : styles.horizontal, className);\r\n}\r\n\r\n/**\r\n * Aligns related buttons into a single visual control group.\r\n *\r\n * @remarks\r\n * - Pure CSS component (no Base UI primitive)\r\n * - Renders a `<div>` element\r\n * - Styling via CSS Modules with `--ac-*` custom properties\r\n *\r\n * @example\r\n * ```tsx\r\n * <ButtonGroup>\r\n * <button type='button'>Left</button>\r\n * <button type='button'>Right</button>\r\n * </ButtonGroup>\r\n * ```\r\n *\r\n * @see {@link ButtonGroupProps} for available props\r\n */\r\nconst ButtonGroup = React.forwardRef<HTMLDivElement, ButtonGroupProps>(\r\n ({className, orientation = \"horizontal\", ...props}: Readonly<ButtonGroupProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n role='group'\r\n data-slot='button-group'\r\n data-orientation={orientation}\r\n className={buttonGroupVariants({orientation, className})}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\n/**\r\n * Adds descriptive text content within a button group layout.\r\n *\r\n * @remarks\r\n * - Pure CSS component (no Base UI primitive)\r\n * - Renders a `<div>` element by default\r\n * - Styling via CSS Modules with `--ac-*` custom properties\r\n *\r\n * @example\r\n * ```tsx\r\n * <ButtonGroupText>Actions</ButtonGroupText>\r\n * ```\r\n *\r\n * @see {@link ButtonGroupTextProps} for available props\r\n */\r\nconst ButtonGroupText = React.forwardRef<HTMLDivElement, ButtonGroupTextProps>(\r\n ({className, asChild = false, children, ...props}: Readonly<ButtonGroupTextProps>, ref): React.JSX.Element => {\r\n const mergedClassName = cn(styles.text, className);\r\n\r\n if (asChild && React.isValidElement(children)) {\r\n const child = children as React.ReactElement<React.ComponentPropsWithoutRef<\"div\"> & {ref?: React.Ref<HTMLDivElement>}>;\r\n\r\n // eslint-disable-next-line react-x/no-clone-element -- replaces Radix Slot while preserving asChild prop merging\r\n return React.cloneElement(child, {\r\n ...props,\r\n ref,\r\n className: cn(mergedClassName, child.props.className),\r\n });\r\n }\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n className={mergedClassName}\r\n {...props}>\r\n {children}\r\n </div>\r\n );\r\n },\r\n);\r\n\r\n/**\r\n * Inserts a separator between grouped controls.\r\n *\r\n * @remarks\r\n * - Pure CSS component (no Base UI primitive)\r\n * - Renders a wrapped `Separator` component\r\n * - Styling via CSS Modules with `--ac-*` custom properties\r\n *\r\n * @example\r\n * ```tsx\r\n * <ButtonGroupSeparator orientation='vertical' />\r\n * ```\r\n *\r\n * @see {@link ButtonGroupSeparatorProps} for available props\r\n */\r\nconst ButtonGroupSeparator = React.forwardRef<HTMLDivElement, ButtonGroupSeparatorProps>(\r\n ({className, orientation = \"vertical\", ...props}: Readonly<ButtonGroupSeparatorProps>, ref): React.JSX.Element => (\r\n <Separator\r\n ref={ref}\r\n data-slot='button-group-separator'\r\n orientation={orientation}\r\n className={cn(styles.separator, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\nButtonGroup.displayName = \"ButtonGroup\";\r\nButtonGroupText.displayName = \"ButtonGroupText\";\r\nButtonGroupSeparator.displayName = \"ButtonGroupSeparator\";\r\n\r\nexport {ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants};\r\n"],"names":["buttonGroupVariants","orientation","className","cn","styles","ButtonGroup","React","props","ref","ButtonGroupText","asChild","children","mergedClassName","child","ButtonGroupSeparator","Separator"],"mappings":";;;;;;AAkDA,SAASA,oBAAoB,EAACC,cAAc,YAAY,EAAEC,SAAS,EAAsC,GAAG,CAAC,CAAC;IAC5G,OAAOC,GAAGC,oBAAAA,IAAW,EAAEH,AAAgB,eAAhBA,cAA6BG,oBAAAA,QAAe,GAAGA,oBAAAA,UAAiB,EAAEF;AAC3F;AAoBA,MAAMG,cAAc,WAAHA,GAAGC,WAClB,CAAC,EAACJ,SAAS,EAAED,cAAc,YAAY,EAAE,GAAGM,OAAkC,EAAEC,MAAAA,WAAAA,GAC9E,IAAC;QACC,KAAKA;QACL,MAAK;QACL,aAAU;QACV,oBAAkBP;QAClB,WAAWD,oBAAoB;YAACC;YAAaC;QAAS;QACrD,GAAGK,KAAK;;AAoBf,MAAME,kBAAkB,WAAHA,GAAGH,WACtB,CAAC,EAACJ,SAAS,EAAEQ,UAAU,KAAK,EAAEC,QAAQ,EAAE,GAAGJ,OAAsC,EAAEC;IACjF,MAAMI,kBAAkBT,GAAGC,oBAAAA,IAAW,EAAEF;IAExC,IAAIQ,WAAW,WAAXA,GAAWJ,eAAqBK,WAAW;QAC7C,MAAME,QAAQF;QAGd,OAAO,WAAP,GAAOL,aAAmBO,OAAO;YAC/B,GAAGN,KAAK;YACRC;YACA,WAAWL,GAAGS,iBAAiBC,MAAM,KAAK,CAAC,SAAS;QACtD;IACF;IAEA,OAAO,WAAP,GACE,IAAC;QACC,KAAKL;QACL,WAAWI;QACV,GAAGL,KAAK;kBACRI;;AAGP;AAkBF,MAAMG,uBAAuB,WAAHA,GAAGR,WAC3B,CAAC,EAACJ,SAAS,EAAED,cAAc,UAAU,EAAE,GAAGM,OAA2C,EAAEC,MAAAA,WAAAA,GACrF,IAACO,WAASA;QACR,KAAKP;QACL,aAAU;QACV,aAAaP;QACb,WAAWE,GAAGC,oBAAAA,SAAgB,EAAEF;QAC/B,GAAGK,KAAK;;AAKfF,YAAY,WAAW,GAAG;AAC1BI,gBAAgB,WAAW,GAAG;AAC9BK,qBAAqB,WAAW,GAAG"}
1
+ {"version":3,"file":"components/ui/button-group.js","sources":["../../../src/components/ui/button-group.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\n\r\nimport {Separator} from \"@/components/ui/separator\";\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./button-group.module.css\";\r\n\r\n/** Supported layout directions for {@link ButtonGroup}. */\r\nexport type ButtonGroupOrientation = \"horizontal\" | \"vertical\";\r\n\r\ninterface ButtonGroupVariantOptions {\r\n /** Orientation used to resolve the root style classes. @default \"horizontal\" */\r\n orientation?: ButtonGroupOrientation;\r\n /** Additional classes merged into the generated variant string. @default undefined */\r\n className?: string;\r\n}\r\n\r\n/**\r\n * Props for the {@link ButtonGroup} component.\r\n */\r\nexport interface ButtonGroupProps extends React.ComponentPropsWithoutRef<\"div\"> {\r\n /** Arrangement of grouped controls. @default \"horizontal\" */\r\n orientation?: ButtonGroupOrientation;\r\n}\r\n\r\n/**\r\n * Props for the {@link ButtonGroupText} component.\r\n */\r\nexport interface ButtonGroupTextProps extends React.ComponentPropsWithoutRef<\"div\"> {\r\n /** Enables rendering an existing div-compatible child element. @default false */\r\n asChild?: boolean;\r\n}\r\n\r\n/**\r\n * Props for the {@link ButtonGroupSeparator} component.\r\n */\r\nexport type ButtonGroupSeparatorProps = React.ComponentPropsWithoutRef<typeof Separator>;\r\n\r\n/**\r\n * Returns the CSS class list for a button group root.\r\n *\r\n * @param options - Variant options used to derive the generated class string.\r\n * @returns The merged class name string for the requested orientation.\r\n *\r\n * @example\r\n * ```tsx\r\n * const className = buttonGroupVariants({orientation: \"vertical\"});\r\n * ```\r\n */\r\nfunction buttonGroupVariants({orientation = \"horizontal\", className}: Readonly<ButtonGroupVariantOptions> = {}): string {\r\n return cn(styles.root, orientation === \"vertical\" ? styles.vertical : styles.horizontal, className);\r\n}\r\n\r\n/**\r\n * Aligns related buttons into a single visual control group.\r\n *\r\n * @remarks\r\n * - Pure CSS component (no Base UI primitive)\r\n * - Renders a `<div>` element\r\n * - Styling via CSS Modules with `--ac-*` custom properties\r\n *\r\n * @example\r\n * ```tsx\r\n * <ButtonGroup>\r\n * <button type='button'>Left</button>\r\n * <button type='button'>Right</button>\r\n * </ButtonGroup>\r\n * ```\r\n *\r\n * @see {@link ButtonGroupProps} for available props\r\n */\r\nconst ButtonGroup = React.forwardRef<HTMLDivElement, ButtonGroupProps>(\r\n ({className, orientation = \"horizontal\", ...props}: Readonly<ButtonGroupProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n role='group'\r\n data-slot='button-group'\r\n data-orientation={orientation}\r\n className={buttonGroupVariants({orientation, className})}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\n/**\r\n * Adds descriptive text content within a button group layout.\r\n *\r\n * @remarks\r\n * - Pure CSS component (no Base UI primitive)\r\n * - Renders a `<div>` element by default\r\n * - Styling via CSS Modules with `--ac-*` custom properties\r\n *\r\n * @example\r\n * ```tsx\r\n * <ButtonGroupText>Actions</ButtonGroupText>\r\n * ```\r\n *\r\n * @see {@link ButtonGroupTextProps} for available props\r\n */\r\nconst ButtonGroupText = React.forwardRef<HTMLDivElement, ButtonGroupTextProps>(\r\n ({className, asChild = false, children, ...props}: Readonly<ButtonGroupTextProps>, ref): React.JSX.Element => {\r\n const mergedClassName = cn(styles.text, className);\r\n\r\n if (asChild && React.isValidElement(children)) {\r\n const child = children as React.ReactElement<React.ComponentPropsWithoutRef<\"div\"> & {ref?: React.Ref<HTMLDivElement>}>;\r\n\r\n // eslint-disable-next-line react-x/no-clone-element -- replaces Radix Slot while preserving asChild prop merging\r\n return React.cloneElement(child, {\r\n ...props,\r\n ref,\r\n className: cn(mergedClassName, child.props.className),\r\n });\r\n }\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n className={mergedClassName}\r\n {...props}>\r\n {children}\r\n </div>\r\n );\r\n },\r\n);\r\n\r\n/**\r\n * Inserts a separator between grouped controls.\r\n *\r\n * @remarks\r\n * - Pure CSS component (no Base UI primitive)\r\n * - Renders a wrapped `Separator` component\r\n * - Styling via CSS Modules with `--ac-*` custom properties\r\n *\r\n * @example\r\n * ```tsx\r\n * <ButtonGroupSeparator orientation='vertical' />\r\n * ```\r\n *\r\n * @see {@link ButtonGroupSeparatorProps} for available props\r\n */\r\nconst ButtonGroupSeparator = React.forwardRef<HTMLDivElement, ButtonGroupSeparatorProps>(\r\n ({className, orientation = \"vertical\", ...props}: Readonly<ButtonGroupSeparatorProps>, ref): React.JSX.Element => (\r\n <Separator\r\n ref={ref}\r\n data-slot='button-group-separator'\r\n orientation={orientation}\r\n className={cn(styles.separator, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\nButtonGroup.displayName = \"ButtonGroup\";\r\nButtonGroupText.displayName = \"ButtonGroupText\";\r\nButtonGroupSeparator.displayName = \"ButtonGroupSeparator\";\r\n\r\nexport {ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants};\r\n"],"names":["buttonGroupVariants","orientation","className","cn","styles","ButtonGroup","React","props","ref","ButtonGroupText","asChild","children","mergedClassName","child","ButtonGroupSeparator","Separator"],"mappings":";;;;;;AAkDA,SAASA,oBAAoB,EAACC,cAAc,YAAY,EAAEC,SAAS,EAAsC,GAAG,CAAC,CAAC;IAC5G,OAAOC,GAAGC,oBAAAA,IAAW,EAAEH,AAAgB,eAAhBA,cAA6BG,oBAAAA,QAAe,GAAGA,oBAAAA,UAAiB,EAAEF;AAC3F;AAoBA,MAAMG,cAAc,WAAHA,GAAGC,wBAAAA,UAAgB,CAClC,CAAC,EAACJ,SAAS,EAAED,cAAc,YAAY,EAAE,GAAGM,OAAkC,EAAEC,MAAAA,WAAAA,GAC9E,IAAC;QACC,KAAKA;QACL,MAAK;QACL,aAAU;QACV,oBAAkBP;QAClB,WAAWD,oBAAoB;YAACC;YAAaC;QAAS;QACrD,GAAGK,KAAK;;AAoBf,MAAME,kBAAkB,WAAHA,GAAGH,wBAAAA,UAAgB,CACtC,CAAC,EAACJ,SAAS,EAAEQ,UAAU,KAAK,EAAEC,QAAQ,EAAE,GAAGJ,OAAsC,EAAEC;IACjF,MAAMI,kBAAkBT,GAAGC,oBAAAA,IAAW,EAAEF;IAExC,IAAIQ,WAAW,WAAXA,GAAWJ,wBAAAA,cAAoB,CAACK,WAAW;QAC7C,MAAME,QAAQF;QAGd,OAAO,WAAP,GAAOL,wBAAAA,YAAkB,CAACO,OAAO;YAC/B,GAAGN,KAAK;YACRC;YACA,WAAWL,GAAGS,iBAAiBC,MAAM,KAAK,CAAC,SAAS;QACtD;IACF;IAEA,OAAO,WAAP,GACE,IAAC;QACC,KAAKL;QACL,WAAWI;QACV,GAAGL,KAAK;kBACRI;;AAGP;AAkBF,MAAMG,uBAAuB,WAAHA,GAAGR,wBAAAA,UAAgB,CAC3C,CAAC,EAACJ,SAAS,EAAED,cAAc,UAAU,EAAE,GAAGM,OAA2C,EAAEC,MAAAA,WAAAA,GACrF,IAACO,WAASA;QACR,KAAKP;QACL,aAAU;QACV,aAAaP;QACb,WAAWE,GAAGC,oBAAAA,SAAgB,EAAEF;QAC/B,GAAGK,KAAK;;AAKfF,YAAY,WAAW,GAAG;AAC1BI,gBAAgB,WAAW,GAAG;AAC9BK,qBAAqB,WAAW,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://./home/runner/work/arolariu.ro/arolariu.ro/packages/components/src/components/ui/button-group.module.css","webpack://./src/components/ui/button-group.module.css"],"names":[],"mappings":"AADA;ECEE,oBAAoB;EACpB,kBAAkB;EAClB,oBAAoB;AACtB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,UAAU;EACV,kBAAkB;AACpB;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,yBAAyB;EACzB,4BAA4B;EAC5B,iBAAiB;AACnB;;AAEA;EACE,0BAA0B;EAC1B,6BAA6B;AAC/B;;AAEA;EACE,sBAAsB;EACtB,WAAW;AACb;;AAEA;EACE,yBAAyB;EACzB,0BAA0B;EAC1B,gBAAgB;AAClB;;AAEA;EACE,6BAA6B;EAC7B,4BAA4B;AAC9B;;AAEA;EACE,iCAAiC;EACjC,kCAAkC;EAClC,kCAAkC;EAClC,2BAA2B;EAC3B,4BAA4B;EAC5B,mBAAmB;EACnB,sBAAsB;EACtB,4BAA4B;EAC5B,gBAAgB;EAChB,oBAAoB;EACpB,+BAA+B;AACjC;;AAEA;EACE,cAAc;EACd,WAAW;EACX,YAAY;AACd;;AAEA;EACE,kCAAkC;EAClC,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;AACtB;;AAEA;EACE,YAAY;AACd","sourcesContent":[".root{align-items:stretch;display:inline-flex;width:fit-content}.root>*{flex-shrink:0}.root>:focus-visible{position:relative;z-index:1}.root>input{flex:1 1 auto}.horizontal>:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.horizontal>:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.vertical{flex-direction:column;width:100%}.vertical>:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.vertical>:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0}.text{align-items:center;background-color:var(--ac-muted);border:1px solid var(--ac-border);border-radius:var(--ac-radius-md);box-shadow:0 1px 2px 0 rgba(0,0,0,.05);color:var(--ac-foreground);display:inline-flex;font-size:var(--ac-text-sm);font-weight:500;gap:var(--ac-space-2);padding:0 var(--ac-space-4)}.text svg{flex-shrink:0;height:1rem;width:1rem}.separator{align-self:stretch;background-color:var(--ac-border);margin:0!important;position:relative}.separator[data-orientation=vertical]{height:auto}",".root {\n align-items: stretch;\n width: fit-content;\n display: inline-flex;\n}\n\n.root > * {\n flex-shrink: 0;\n}\n\n.root > :focus-visible {\n z-index: 1;\n position: relative;\n}\n\n.root > input {\n flex: auto;\n}\n\n.horizontal > :not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n margin-left: -1px;\n}\n\n.horizontal > :not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.vertical {\n flex-direction: column;\n width: 100%;\n}\n\n.vertical > :not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n margin-top: -1px;\n}\n\n.vertical > :not(:last-child) {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.text {\n background-color: var(--ac-muted);\n border: 1px solid var(--ac-border);\n border-radius: var(--ac-radius-md);\n color: var(--ac-foreground);\n font-size: var(--ac-text-sm);\n align-items: center;\n gap: var(--ac-space-2);\n padding: 0 var(--ac-space-4);\n font-weight: 500;\n display: inline-flex;\n box-shadow: 0 1px 2px #0000000d;\n}\n\n.text svg {\n flex-shrink: 0;\n width: 1rem;\n height: 1rem;\n}\n\n.separator {\n background-color: var(--ac-border);\n align-self: stretch;\n position: relative;\n margin: 0 !important;\n}\n\n.separator[data-orientation=\"vertical\"] {\n height: auto;\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://./../../node_modules/@rslib/core/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[1].oneOf[2].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[1].oneOf[2].use[2]!/home/runner/work/arolariu.ro/arolariu.ro/node_modules/@rslib/core/node_modules/@rsbuild/core/compiled/postcss-loader/index.js??ruleSet[1].rules[1].oneOf[2].use[3]!/home/runner/work/arolariu.ro/arolariu.ro/packages/components/src/components/ui/button-group.module.css","webpack://./src/components/ui/button-group.module.css"],"names":[],"mappings":"AAAA;ECCE,oBAAoB;EACpB,kBAAkB;EAClB,oBAAoB;AACtB;;ADJgE;ECO9D,cAAc;AAChB;;ADRsF;ECWpF,UAAU;EACV,kBAAkB;AACpB;;ADbuI;ECgBrI,UAAU;AACZ;;ADjBiK;ECoB/J,yBAAyB;EACzB,4BAA4B;EAC5B,iBAAiB;AACnB;;ADvBsQ;EC0BpQ,0BAA0B;EAC1B,6BAA6B;AAC/B;;AD5B2V;EC+BzV,sBAAsB;EACtB,WAAW;AACb;;ADjCsY;ECoCpY,yBAAyB;EACzB,0BAA0B;EAC1B,gBAAgB;AAClB;;ADvCse;EC0Cpe,6BAA6B;EAC7B,4BAA4B;AAC9B;;AD5C2jB;EC+CzjB,iCAAiC;EACjC,kCAAkC;EAClC,kCAAkC;EAClC,2BAA2B;EAC3B,4BAA4B;EAC5B,mBAAmB;EACnB,sBAAsB;EACtB,4BAA4B;EAC5B,gBAAgB;EAChB,oBAAoB;EACpB,+BAA+B;AACjC;;AD1D62B;EC6D32B,cAAc;EACd,WAAW;EACX,YAAY;AACd;;ADhE45B;ECmE15B,kCAAkC;EAClC,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;AACtB;;ADvEigC;EC0E//B,YAAY;AACd","sourcesContent":[".root{align-items:stretch;display:inline-flex;width:fit-content}.root>*{flex-shrink:0}.root>:focus-visible{position:relative;z-index:1}.root>input{flex:1 1 auto}.horizontal>:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.horizontal>:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.vertical{flex-direction:column;width:100%}.vertical>:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.vertical>:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0}.text{align-items:center;background-color:var(--ac-muted);border:1px solid var(--ac-border);border-radius:var(--ac-radius-md);box-shadow:0 1px 2px 0 rgba(0,0,0,.05);color:var(--ac-foreground);display:inline-flex;font-size:var(--ac-text-sm);font-weight:500;gap:var(--ac-space-2);padding:0 var(--ac-space-4)}.text svg{flex-shrink:0;height:1rem;width:1rem}.separator{align-self:stretch;background-color:var(--ac-border);margin:0!important;position:relative}.separator[data-orientation=vertical]{height:auto}",".root {\n align-items: stretch;\n width: fit-content;\n display: inline-flex;\n}\n\n.root > * {\n flex-shrink: 0;\n}\n\n.root > :focus-visible {\n z-index: 1;\n position: relative;\n}\n\n.root > input {\n flex: auto;\n}\n\n.horizontal > :not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n margin-left: -1px;\n}\n\n.horizontal > :not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.vertical {\n flex-direction: column;\n width: 100%;\n}\n\n.vertical > :not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n margin-top: -1px;\n}\n\n.vertical > :not(:last-child) {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.text {\n background-color: var(--ac-muted);\n border: 1px solid var(--ac-border);\n border-radius: var(--ac-radius-md);\n color: var(--ac-foreground);\n font-size: var(--ac-text-sm);\n align-items: center;\n gap: var(--ac-space-2);\n padding: 0 var(--ac-space-4);\n font-weight: 500;\n display: inline-flex;\n box-shadow: 0 1px 2px #0000000d;\n}\n\n.text svg {\n flex-shrink: 0;\n width: 1rem;\n height: 1rem;\n}\n\n.separator {\n background-color: var(--ac-border);\n align-self: stretch;\n position: relative;\n margin: 0 !important;\n}\n\n.separator[data-orientation=\"vertical\"] {\n height: auto;\n}\n"],"sourceRoot":""}
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import { mergeProps } from "@base-ui/react/merge-props";
3
3
  import { useRender } from "@base-ui/react/use-render";
4
- import { forwardRef, isValidElement } from "react";
5
4
  import { cn } from "../../lib/utilities.js";
6
5
  import button_module from "./button.module.js";
6
+ import * as __rspack_external_react from "react";
7
7
  const variantStyles = {
8
8
  default: button_module["default"],
9
9
  destructive: button_module.destructive,
@@ -22,7 +22,7 @@ function buttonVariants({ variant = "default", size = "default", className } = {
22
22
  return cn(button_module.button, variantStyles[variant], sizeStyles[size], className);
23
23
  }
24
24
  function isIntrinsicButtonElement(renderProp) {
25
- return /*#__PURE__*/ isValidElement(renderProp) && "string" == typeof renderProp.type && "button" === renderProp.type;
25
+ return /*#__PURE__*/ __rspack_external_react.isValidElement(renderProp) && "string" == typeof renderProp.type && "button" === renderProp.type;
26
26
  }
27
27
  function createNonNativeInteractionProps(disabled) {
28
28
  return {
@@ -41,7 +41,7 @@ function createNonNativeInteractionProps(disabled) {
41
41
  }
42
42
  };
43
43
  }
44
- const Button = /*#__PURE__*/ forwardRef((props, ref)=>{
44
+ const Button = /*#__PURE__*/ __rspack_external_react.forwardRef((props, ref)=>{
45
45
  const { render, asChild = false, variant = "default", size = "default", disabled = false, className, children, ...otherProps } = props;
46
46
  const state = {
47
47
  variant,
@@ -53,7 +53,7 @@ const Button = /*#__PURE__*/ forwardRef((props, ref)=>{
53
53
  size,
54
54
  className
55
55
  });
56
- const renderProp = asChild && /*#__PURE__*/ isValidElement(children) ? children : render;
56
+ const renderProp = asChild && /*#__PURE__*/ __rspack_external_react.isValidElement(children) ? children : render;
57
57
  const shouldRenderNativeButton = !renderProp || isIntrinsicButtonElement(renderProp);
58
58
  const typeProps = shouldRenderNativeButton ? {
59
59
  type: "button"
@@ -1 +1 @@
1
- {"version":3,"file":"components/ui/button.js","sources":["../../../src/components/ui/button.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport {mergeProps} from \"@base-ui/react/merge-props\";\r\nimport {useRender} from \"@base-ui/react/use-render\";\r\nimport * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./button.module.css\";\r\n\r\nconst variantStyles: Record<ButtonVariant, string> = {\r\n default: styles.default!,\r\n destructive: styles.destructive!,\r\n outline: styles.outline!,\r\n secondary: styles.secondary!,\r\n ghost: styles.ghost!,\r\n link: styles.link!,\r\n};\r\n\r\nconst sizeStyles: Record<ButtonSize, string> = {\r\n default: styles.sizeDefault!,\r\n sm: styles.sizeSm!,\r\n lg: styles.sizeLg!,\r\n icon: styles.sizeIcon!,\r\n};\r\n\r\nexport type ButtonVariant = \"default\" | \"destructive\" | \"outline\" | \"secondary\" | \"ghost\" | \"link\";\r\nexport type ButtonSize = \"default\" | \"sm\" | \"lg\" | \"icon\";\r\n\r\n/**\r\n * Serializable button state exposed to Base UI render callbacks.\r\n */\r\nexport interface ButtonState extends Record<string, unknown> {\r\n variant: ButtonVariant;\r\n size: ButtonSize;\r\n disabled: boolean;\r\n}\r\n\r\ninterface ButtonVariantOptions {\r\n variant?: ButtonVariant;\r\n size?: ButtonSize;\r\n className?: string;\r\n}\r\n\r\n/**\r\n * Props for the shared button component.\r\n */\r\nexport interface ButtonProps extends Omit<React.ComponentPropsWithRef<\"button\">, \"children\" | \"className\" | \"disabled\"> {\r\n /**\r\n * Visual style variant.\r\n * @default \"default\"\r\n */\r\n variant?: ButtonVariant;\r\n /**\r\n * Size preset.\r\n * @default \"default\"\r\n */\r\n size?: ButtonSize;\r\n /**\r\n * Whether the button should ignore user interaction.\r\n * @default false\r\n */\r\n disabled?: boolean;\r\n /**\r\n * Additional CSS classes merged with the button styles.\r\n * @default undefined\r\n */\r\n className?: string;\r\n /**\r\n * Custom element or render callback used to replace the default `<button>`.\r\n * @default undefined\r\n */\r\n render?: useRender.RenderProp<ButtonState>;\r\n /**\r\n * Backward-compatible child-slot API.\r\n * Converts the single child element to the `render` prop internally.\r\n * @default false\r\n */\r\n asChild?: boolean;\r\n /**\r\n * Button contents when `render` is not provided.\r\n * @default undefined\r\n */\r\n children?: React.ReactNode;\r\n}\r\n\r\n/**\r\n * Builds the composed class list for the shared button component.\r\n */\r\nfunction buttonVariants({variant = \"default\", size = \"default\", className}: Readonly<ButtonVariantOptions> = {}): string {\r\n return cn(styles.button, variantStyles[variant], sizeStyles[size], className);\r\n}\r\n\r\nfunction isIntrinsicButtonElement(renderProp: ButtonProps[\"render\"]): boolean {\r\n return React.isValidElement(renderProp) && typeof renderProp.type === \"string\" && renderProp.type === \"button\";\r\n}\r\n\r\nfunction createNonNativeInteractionProps(disabled: boolean): React.HTMLAttributes<HTMLElement> {\r\n return {\r\n \"aria-disabled\": disabled || undefined,\r\n role: \"button\",\r\n tabIndex: disabled ? -1 : undefined,\r\n onClick(event) {\r\n if (!disabled) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n\r\n if (\"preventBaseUIHandler\" in event && typeof event.preventBaseUIHandler === \"function\") {\r\n event.preventBaseUIHandler();\r\n }\r\n },\r\n onKeyDown(event) {\r\n if (!disabled || (event.key !== \"Enter\" && event.key !== \" \")) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n\r\n if (\"preventBaseUIHandler\" in event && typeof event.preventBaseUIHandler === \"function\") {\r\n event.preventBaseUIHandler();\r\n }\r\n },\r\n };\r\n}\r\n\r\n/**\r\n * A button component that triggers actions.\r\n * Built with Base UI's canonical `useRender` + `mergeProps` composition pattern.\r\n *\r\n * @remarks\r\n * Renders a native `<button>` by default. Use the `render` prop to compose the\r\n * button styles and shared behavior with other elements or components. The\r\n * deprecated `asChild` prop is still supported and internally converted to\r\n * `render` for backward compatibility.\r\n *\r\n * @example\r\n * ```tsx\r\n * <Button variant=\"default\" size=\"sm\">Click me</Button>\r\n * <Button render={<a href=\"/dashboard\" />}>Go to dashboard</Button>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/button | Base UI Button}\r\n */\r\nconst Button = React.forwardRef<HTMLButtonElement, Button.Props>((props: Readonly<Button.Props>, ref): React.ReactElement => {\r\n const {render, asChild = false, variant = \"default\", size = \"default\", disabled = false, className, children, ...otherProps} = props;\r\n\r\n const state: Button.State = {variant, size, disabled};\r\n const composedClassName = buttonVariants({variant, size, className});\r\n const renderProp = asChild && React.isValidElement(children) ? children : render;\r\n const shouldRenderNativeButton = !renderProp || isIntrinsicButtonElement(renderProp);\r\n const typeProps: Pick<React.ButtonHTMLAttributes<HTMLButtonElement>, \"type\"> = shouldRenderNativeButton ? {type: \"button\"} : {};\r\n const interactionProps = shouldRenderNativeButton ? {disabled} : createNonNativeInteractionProps(disabled);\r\n\r\n return useRender<Button.State, HTMLButtonElement>({\r\n defaultTagName: \"button\",\r\n ref,\r\n render: renderProp,\r\n state,\r\n props: mergeProps<\"button\">({className: composedClassName}, typeProps, otherProps, interactionProps, {\r\n children: renderProp ? undefined : children,\r\n }),\r\n });\r\n});\r\nButton.displayName = \"Button\";\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace Button {\r\n export type State = ButtonState;\r\n export type Props = ButtonProps;\r\n}\r\n\r\nexport {Button, buttonVariants};\r\n"],"names":["variantStyles","styles","sizeStyles","buttonVariants","variant","size","className","cn","isIntrinsicButtonElement","renderProp","React","createNonNativeInteractionProps","disabled","undefined","event","Button","props","ref","render","asChild","children","otherProps","state","composedClassName","shouldRenderNativeButton","typeProps","interactionProps","useRender","mergeProps"],"mappings":";;;;;;AASA,MAAMA,gBAA+C;IACnD,SAASC,aAAAA,CAAAA,UAAc;IACvB,aAAaA,cAAAA,WAAkB;IAC/B,SAASA,cAAAA,OAAc;IACvB,WAAWA,cAAAA,SAAgB;IAC3B,OAAOA,cAAAA,KAAY;IACnB,MAAMA,cAAAA,IAAW;AACnB;AAEA,MAAMC,aAAyC;IAC7C,SAASD,cAAAA,WAAkB;IAC3B,IAAIA,cAAAA,MAAa;IACjB,IAAIA,cAAAA,MAAa;IACjB,MAAMA,cAAAA,QAAe;AACvB;AAiEA,SAASE,eAAe,EAACC,UAAU,SAAS,EAAEC,OAAO,SAAS,EAAEC,SAAS,EAAiC,GAAG,CAAC,CAAC;IAC7G,OAAOC,GAAGN,cAAAA,MAAa,EAAED,aAAa,CAACI,QAAQ,EAAEF,UAAU,CAACG,KAAK,EAAEC;AACrE;AAEA,SAASE,yBAAyBC,UAAiC;IACjE,OAAO,WAAP,GAAOC,eAAqBD,eAAe,AAA2B,YAA3B,OAAOA,WAAW,IAAI,IAAiBA,AAAoB,aAApBA,WAAW,IAAI;AACnG;AAEA,SAASE,gCAAgCC,QAAiB;IACxD,OAAO;QACL,iBAAiBA,YAAYC;QAC7B,MAAM;QACN,UAAUD,WAAW,KAAKC;QAC1B,SAAQC,KAAK;YACX,IAAI,CAACF,UACH;YAGFE,MAAM,cAAc;YAEpB,IAAI,0BAA0BA,SAAS,AAAsC,cAAtC,OAAOA,MAAM,oBAAoB,EACtEA,MAAM,oBAAoB;QAE9B;QACA,WAAUA,KAAK;YACb,IAAI,CAACF,YAAaE,AAAc,YAAdA,MAAM,GAAG,IAAgBA,AAAc,QAAdA,MAAM,GAAG,EAClD;YAGFA,MAAM,cAAc;YAEpB,IAAI,0BAA0BA,SAAS,AAAsC,cAAtC,OAAOA,MAAM,oBAAoB,EACtEA,MAAM,oBAAoB;QAE9B;IACF;AACF;AAoBA,MAAMC,SAAS,WAAHA,GAAGL,WAAkD,CAACM,OAA+BC;IAC/F,MAAM,EAACC,MAAM,EAAEC,UAAU,KAAK,EAAEf,UAAU,SAAS,EAAEC,OAAO,SAAS,EAAEO,WAAW,KAAK,EAAEN,SAAS,EAAEc,QAAQ,EAAE,GAAGC,YAAW,GAAGL;IAE/H,MAAMM,QAAsB;QAAClB;QAASC;QAAMO;IAAQ;IACpD,MAAMW,oBAAoBpB,eAAe;QAACC;QAASC;QAAMC;IAAS;IAClE,MAAMG,aAAaU,WAAW,WAAXA,GAAWT,eAAqBU,YAAYA,WAAWF;IAC1E,MAAMM,2BAA2B,CAACf,cAAcD,yBAAyBC;IACzE,MAAMgB,YAAyED,2BAA2B;QAAC,MAAM;IAAQ,IAAI,CAAC;IAC9H,MAAME,mBAAmBF,2BAA2B;QAACZ;IAAQ,IAAID,gCAAgCC;IAEjG,OAAOe,UAA2C;QAChD,gBAAgB;QAChBV;QACA,QAAQR;QACRa;QACA,OAAOM,WAAqB;YAAC,WAAWL;QAAiB,GAAGE,WAAWJ,YAAYK,kBAAkB;YACnG,UAAUjB,aAAaI,SAAYO;QACrC;IACF;AACF;AACAL,OAAO,WAAW,GAAG"}
1
+ {"version":3,"file":"components/ui/button.js","sources":["../../../src/components/ui/button.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport {mergeProps} from \"@base-ui/react/merge-props\";\r\nimport {useRender} from \"@base-ui/react/use-render\";\r\nimport * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./button.module.css\";\r\n\r\nconst variantStyles: Record<ButtonVariant, string> = {\r\n default: styles.default!,\r\n destructive: styles.destructive!,\r\n outline: styles.outline!,\r\n secondary: styles.secondary!,\r\n ghost: styles.ghost!,\r\n link: styles.link!,\r\n};\r\n\r\nconst sizeStyles: Record<ButtonSize, string> = {\r\n default: styles.sizeDefault!,\r\n sm: styles.sizeSm!,\r\n lg: styles.sizeLg!,\r\n icon: styles.sizeIcon!,\r\n};\r\n\r\nexport type ButtonVariant = \"default\" | \"destructive\" | \"outline\" | \"secondary\" | \"ghost\" | \"link\";\r\nexport type ButtonSize = \"default\" | \"sm\" | \"lg\" | \"icon\";\r\n\r\n/**\r\n * Serializable button state exposed to Base UI render callbacks.\r\n */\r\nexport interface ButtonState extends Record<string, unknown> {\r\n variant: ButtonVariant;\r\n size: ButtonSize;\r\n disabled: boolean;\r\n}\r\n\r\ninterface ButtonVariantOptions {\r\n variant?: ButtonVariant;\r\n size?: ButtonSize;\r\n className?: string;\r\n}\r\n\r\n/**\r\n * Props for the shared button component.\r\n */\r\nexport interface ButtonProps extends Omit<React.ComponentPropsWithRef<\"button\">, \"children\" | \"className\" | \"disabled\"> {\r\n /**\r\n * Visual style variant.\r\n * @default \"default\"\r\n */\r\n variant?: ButtonVariant;\r\n /**\r\n * Size preset.\r\n * @default \"default\"\r\n */\r\n size?: ButtonSize;\r\n /**\r\n * Whether the button should ignore user interaction.\r\n * @default false\r\n */\r\n disabled?: boolean;\r\n /**\r\n * Additional CSS classes merged with the button styles.\r\n * @default undefined\r\n */\r\n className?: string;\r\n /**\r\n * Custom element or render callback used to replace the default `<button>`.\r\n * @default undefined\r\n */\r\n render?: useRender.RenderProp<ButtonState>;\r\n /**\r\n * Backward-compatible child-slot API.\r\n * Converts the single child element to the `render` prop internally.\r\n * @default false\r\n */\r\n asChild?: boolean;\r\n /**\r\n * Button contents when `render` is not provided.\r\n * @default undefined\r\n */\r\n children?: React.ReactNode;\r\n}\r\n\r\n/**\r\n * Builds the composed class list for the shared button component.\r\n */\r\nfunction buttonVariants({variant = \"default\", size = \"default\", className}: Readonly<ButtonVariantOptions> = {}): string {\r\n return cn(styles.button, variantStyles[variant], sizeStyles[size], className);\r\n}\r\n\r\nfunction isIntrinsicButtonElement(renderProp: ButtonProps[\"render\"]): boolean {\r\n return React.isValidElement(renderProp) && typeof renderProp.type === \"string\" && renderProp.type === \"button\";\r\n}\r\n\r\nfunction createNonNativeInteractionProps(disabled: boolean): React.HTMLAttributes<HTMLElement> {\r\n return {\r\n \"aria-disabled\": disabled || undefined,\r\n role: \"button\",\r\n tabIndex: disabled ? -1 : undefined,\r\n onClick(event) {\r\n if (!disabled) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n\r\n if (\"preventBaseUIHandler\" in event && typeof event.preventBaseUIHandler === \"function\") {\r\n event.preventBaseUIHandler();\r\n }\r\n },\r\n onKeyDown(event) {\r\n if (!disabled || (event.key !== \"Enter\" && event.key !== \" \")) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n\r\n if (\"preventBaseUIHandler\" in event && typeof event.preventBaseUIHandler === \"function\") {\r\n event.preventBaseUIHandler();\r\n }\r\n },\r\n };\r\n}\r\n\r\n/**\r\n * A button component that triggers actions.\r\n * Built with Base UI's canonical `useRender` + `mergeProps` composition pattern.\r\n *\r\n * @remarks\r\n * Renders a native `<button>` by default. Use the `render` prop to compose the\r\n * button styles and shared behavior with other elements or components. The\r\n * deprecated `asChild` prop is still supported and internally converted to\r\n * `render` for backward compatibility.\r\n *\r\n * @example\r\n * ```tsx\r\n * <Button variant=\"default\" size=\"sm\">Click me</Button>\r\n * <Button render={<a href=\"/dashboard\" />}>Go to dashboard</Button>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/button | Base UI Button}\r\n */\r\nconst Button = React.forwardRef<HTMLButtonElement, Button.Props>((props: Readonly<Button.Props>, ref): React.ReactElement => {\r\n const {render, asChild = false, variant = \"default\", size = \"default\", disabled = false, className, children, ...otherProps} = props;\r\n\r\n const state: Button.State = {variant, size, disabled};\r\n const composedClassName = buttonVariants({variant, size, className});\r\n const renderProp = asChild && React.isValidElement(children) ? children : render;\r\n const shouldRenderNativeButton = !renderProp || isIntrinsicButtonElement(renderProp);\r\n const typeProps: Pick<React.ButtonHTMLAttributes<HTMLButtonElement>, \"type\"> = shouldRenderNativeButton ? {type: \"button\"} : {};\r\n const interactionProps = shouldRenderNativeButton ? {disabled} : createNonNativeInteractionProps(disabled);\r\n\r\n return useRender<Button.State, HTMLButtonElement>({\r\n defaultTagName: \"button\",\r\n ref,\r\n render: renderProp,\r\n state,\r\n props: mergeProps<\"button\">({className: composedClassName}, typeProps, otherProps, interactionProps, {\r\n children: renderProp ? undefined : children,\r\n }),\r\n });\r\n});\r\nButton.displayName = \"Button\";\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace Button {\r\n export type State = ButtonState;\r\n export type Props = ButtonProps;\r\n}\r\n\r\nexport {Button, buttonVariants};\r\n"],"names":["variantStyles","styles","sizeStyles","buttonVariants","variant","size","className","cn","isIntrinsicButtonElement","renderProp","React","createNonNativeInteractionProps","disabled","undefined","event","Button","props","ref","render","asChild","children","otherProps","state","composedClassName","shouldRenderNativeButton","typeProps","interactionProps","useRender","mergeProps"],"mappings":";;;;;;AASA,MAAMA,gBAA+C;IACnD,SAASC,aAAAA,CAAAA,UAAc;IACvB,aAAaA,cAAAA,WAAkB;IAC/B,SAASA,cAAAA,OAAc;IACvB,WAAWA,cAAAA,SAAgB;IAC3B,OAAOA,cAAAA,KAAY;IACnB,MAAMA,cAAAA,IAAW;AACnB;AAEA,MAAMC,aAAyC;IAC7C,SAASD,cAAAA,WAAkB;IAC3B,IAAIA,cAAAA,MAAa;IACjB,IAAIA,cAAAA,MAAa;IACjB,MAAMA,cAAAA,QAAe;AACvB;AAiEA,SAASE,eAAe,EAACC,UAAU,SAAS,EAAEC,OAAO,SAAS,EAAEC,SAAS,EAAiC,GAAG,CAAC,CAAC;IAC7G,OAAOC,GAAGN,cAAAA,MAAa,EAAED,aAAa,CAACI,QAAQ,EAAEF,UAAU,CAACG,KAAK,EAAEC;AACrE;AAEA,SAASE,yBAAyBC,UAAiC;IACjE,OAAO,WAAP,GAAOC,wBAAAA,cAAoB,CAACD,eAAe,AAA2B,YAA3B,OAAOA,WAAW,IAAI,IAAiBA,AAAoB,aAApBA,WAAW,IAAI;AACnG;AAEA,SAASE,gCAAgCC,QAAiB;IACxD,OAAO;QACL,iBAAiBA,YAAYC;QAC7B,MAAM;QACN,UAAUD,WAAW,KAAKC;QAC1B,SAAQC,KAAK;YACX,IAAI,CAACF,UACH;YAGFE,MAAM,cAAc;YAEpB,IAAI,0BAA0BA,SAAS,AAAsC,cAAtC,OAAOA,MAAM,oBAAoB,EACtEA,MAAM,oBAAoB;QAE9B;QACA,WAAUA,KAAK;YACb,IAAI,CAACF,YAAaE,AAAc,YAAdA,MAAM,GAAG,IAAgBA,AAAc,QAAdA,MAAM,GAAG,EAClD;YAGFA,MAAM,cAAc;YAEpB,IAAI,0BAA0BA,SAAS,AAAsC,cAAtC,OAAOA,MAAM,oBAAoB,EACtEA,MAAM,oBAAoB;QAE9B;IACF;AACF;AAoBA,MAAMC,SAAS,WAAHA,GAAGL,wBAAAA,UAAgB,CAAkC,CAACM,OAA+BC;IAC/F,MAAM,EAACC,MAAM,EAAEC,UAAU,KAAK,EAAEf,UAAU,SAAS,EAAEC,OAAO,SAAS,EAAEO,WAAW,KAAK,EAAEN,SAAS,EAAEc,QAAQ,EAAE,GAAGC,YAAW,GAAGL;IAE/H,MAAMM,QAAsB;QAAClB;QAASC;QAAMO;IAAQ;IACpD,MAAMW,oBAAoBpB,eAAe;QAACC;QAASC;QAAMC;IAAS;IAClE,MAAMG,aAAaU,WAAW,WAAXA,GAAWT,wBAAAA,cAAoB,CAACU,YAAYA,WAAWF;IAC1E,MAAMM,2BAA2B,CAACf,cAAcD,yBAAyBC;IACzE,MAAMgB,YAAyED,2BAA2B;QAAC,MAAM;IAAQ,IAAI,CAAC;IAC9H,MAAME,mBAAmBF,2BAA2B;QAACZ;IAAQ,IAAID,gCAAgCC;IAEjG,OAAOe,UAA2C;QAChD,gBAAgB;QAChBV;QACA,QAAQR;QACRa;QACA,OAAOM,WAAqB;YAAC,WAAWL;QAAiB,GAAGE,WAAWJ,YAAYK,kBAAkB;YACnG,UAAUjB,aAAaI,SAAYO;QACrC;IACF;AACF;AACAL,OAAO,WAAW,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://./home/runner/work/arolariu.ro/arolariu.ro/packages/components/src/components/ui/button.module.css","webpack://./src/components/ui/button.module.css"],"names":[],"mappings":"AADA;ECEE,kCAAkC;EAClC,sBAAsB;EACtB,eAAe;EACf,4BAA4B;EAC5B,mBAAmB;EACnB,sBAAsB;EACtB,kKAAkK;EAClK,yBAAyB;EACzB,iBAAiB;EACjB,mBAAmB;EACnB,YAAY;EACZ,aAAa;EACb,uBAAuB;EACvB,gBAAgB;EAChB,gBAAgB;EAChB,oBAAoB;;EAEpB;IACE,iCAAiC;IACjC,oBAAoB;EACtB;;EAEA;IACE,WAAW;IACX,oBAAoB;EACtB;;EAEA;IACE,oBAAoB;IACpB,cAAc;IACd,WAAW;IACX,YAAY;EACd;AACF;;AAEA;EACE,mCAAmC;EACnC,mCAAmC;EACnC,+BAA+B;;EAE/B;IACE;MACE,uEAAuE;IACzE;EACF;AACF;;AAEA;EACE,uCAAuC;EACvC,2BAA2B;EAC3B,+BAA+B;;EAE/B;IACE;MACE,2EAA2E;IAC7E;EACF;AACF;;AAEA;EACE,sCAAsC;EACtC,kCAAkC;EAClC,2BAA2B;EAC3B,+BAA+B;;EAE/B;IACE;MACE,kCAAkC;MAClC,kCAAkC;IACpC;EACF;AACF;;AAEA;EACE,qCAAqC;EACrC,qCAAqC;EACrC,+BAA+B;;EAE/B;IACE;MACE,yEAAyE;IAC3E;EACF;AACF;;AAEA;EACE,2BAA2B;EAC3B,uBAAuB;;EAEvB;IACE;MACE,kCAAkC;MAClC,kCAAkC;IACpC;EACF;AACF;;AAEA;EACE,2BAA2B;EAC3B,0BAA0B;EAC1B,uBAAuB;;EAEvB;IACE;MACE,0BAA0B;IAC5B;EACF;AACF;;AAEA;EACE,8BAA8B;EAC9B,4CAA4C;AAC9C;;AAEA;EACE,kCAAkC;EAClC,4BAA4B;EAC5B,yBAAyB;EACzB,4CAA4C;AAC9C;;AAEA;EACE,kCAAkC;EAClC,4BAA4B;EAC5B,yBAAyB;EACzB,4CAA4C;AAC9C;;AAEA;EACE,8BAA8B;EAC9B,6BAA6B;EAC7B,UAAU;AACZ","sourcesContent":[".button{align-items:center;border:none;border-radius:var(--ac-radius-md);box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:var(--ac-text-xs);font-weight:500;gap:var(--ac-space-2);justify-content:center;line-height:1.6;outline:none;transition:background-color var(--ac-transition-fast),color var(--ac-transition-fast),border-color var(--ac-transition-fast),box-shadow var(--ac-transition-fast);user-select:none;white-space:nowrap;&:focus-visible{outline:2px solid var(--ac-ring);outline-offset:-1px}&:disabled,&[data-disabled]{opacity:.5;pointer-events:none}& svg{flex-shrink:0;height:1rem;pointer-events:none;width:1rem}}.default{background-color:var(--ac-primary);box-shadow:0 1px 2px 0 rgba(0,0,0,.05);color:var(--ac-primary-foreground);@media (hover:hover){&:hover:not([data-disabled]){background-color:color-mix(in oklch,var(--ac-primary),transparent 10%)}}}.destructive{background-color:var(--ac-destructive);box-shadow:0 1px 2px 0 rgba(0,0,0,.05);color:var(--ac-background);@media (hover:hover){&:hover:not([data-disabled]){background-color:color-mix(in oklch,var(--ac-destructive),transparent 10%)}}}.outline{background-color:var(--ac-background);border:1px solid var(--ac-border);box-shadow:0 1px 2px 0 rgba(0,0,0,.05);color:var(--ac-foreground);@media (hover:hover){&:hover:not([data-disabled]){background-color:var(--ac-accent);color:var(--ac-accent-foreground)}}}.secondary{background-color:var(--ac-secondary);box-shadow:0 1px 2px 0 rgba(0,0,0,.05);color:var(--ac-secondary-foreground);@media (hover:hover){&:hover:not([data-disabled]){background-color:color-mix(in oklch,var(--ac-secondary),transparent 20%)}}}.ghost{background-color:transparent;color:var(--ac-foreground);@media (hover:hover){&:hover:not([data-disabled]){background-color:var(--ac-accent);color:var(--ac-accent-foreground)}}}.link{background-color:transparent;color:var(--ac-foreground);text-underline-offset:4px;@media (hover:hover){&:hover:not([data-disabled]){text-decoration:underline}}}.sizeDefault{height:var(--ac-size-default);padding:var(--ac-space-1) var(--ac-space-3)}.sizeSm{border-radius:var(--ac-radius-sm);font-size:var(--ac-text-xs);height:var(--ac-size-md);padding:var(--ac-space-1) var(--ac-space-2)}.sizeLg{border-radius:var(--ac-radius-md);font-size:var(--ac-text-sm);height:var(--ac-size-lg);padding:var(--ac-space-1) var(--ac-space-4)}.sizeIcon{height:var(--ac-size-default);padding:0;width:var(--ac-size-default)}",".button {\n border-radius: var(--ac-radius-md);\n box-sizing: border-box;\n cursor: pointer;\n font-size: var(--ac-text-xs);\n align-items: center;\n gap: var(--ac-space-2);\n transition: background-color var(--ac-transition-fast),color var(--ac-transition-fast),border-color var(--ac-transition-fast),box-shadow var(--ac-transition-fast);\n -webkit-user-select: none;\n user-select: none;\n white-space: nowrap;\n border: none;\n outline: none;\n justify-content: center;\n font-weight: 500;\n line-height: 1.6;\n display: inline-flex;\n\n &:focus-visible {\n outline: 2px solid var(--ac-ring);\n outline-offset: -1px;\n }\n\n &:disabled, &[data-disabled] {\n opacity: .5;\n pointer-events: none;\n }\n\n & svg {\n pointer-events: none;\n flex-shrink: 0;\n width: 1rem;\n height: 1rem;\n }\n}\n\n.default {\n background-color: var(--ac-primary);\n color: var(--ac-primary-foreground);\n box-shadow: 0 1px 2px #0000000d;\n\n @media (hover: hover) {\n &:hover:not([data-disabled]) {\n background-color: color-mix(in oklch,var(--ac-primary),transparent 10%);\n }\n }\n}\n\n.destructive {\n background-color: var(--ac-destructive);\n color: var(--ac-background);\n box-shadow: 0 1px 2px #0000000d;\n\n @media (hover: hover) {\n &:hover:not([data-disabled]) {\n background-color: color-mix(in oklch,var(--ac-destructive),transparent 10%);\n }\n }\n}\n\n.outline {\n background-color: var(--ac-background);\n border: 1px solid var(--ac-border);\n color: var(--ac-foreground);\n box-shadow: 0 1px 2px #0000000d;\n\n @media (hover: hover) {\n &:hover:not([data-disabled]) {\n background-color: var(--ac-accent);\n color: var(--ac-accent-foreground);\n }\n }\n}\n\n.secondary {\n background-color: var(--ac-secondary);\n color: var(--ac-secondary-foreground);\n box-shadow: 0 1px 2px #0000000d;\n\n @media (hover: hover) {\n &:hover:not([data-disabled]) {\n background-color: color-mix(in oklch,var(--ac-secondary),transparent 20%);\n }\n }\n}\n\n.ghost {\n color: var(--ac-foreground);\n background-color: #0000;\n\n @media (hover: hover) {\n &:hover:not([data-disabled]) {\n background-color: var(--ac-accent);\n color: var(--ac-accent-foreground);\n }\n }\n}\n\n.link {\n color: var(--ac-foreground);\n text-underline-offset: 4px;\n background-color: #0000;\n\n @media (hover: hover) {\n &:hover:not([data-disabled]) {\n text-decoration: underline;\n }\n }\n}\n\n.sizeDefault {\n height: var(--ac-size-default);\n padding: var(--ac-space-1) var(--ac-space-3);\n}\n\n.sizeSm {\n border-radius: var(--ac-radius-sm);\n font-size: var(--ac-text-xs);\n height: var(--ac-size-md);\n padding: var(--ac-space-1) var(--ac-space-2);\n}\n\n.sizeLg {\n border-radius: var(--ac-radius-md);\n font-size: var(--ac-text-sm);\n height: var(--ac-size-lg);\n padding: var(--ac-space-1) var(--ac-space-4);\n}\n\n.sizeIcon {\n height: var(--ac-size-default);\n width: var(--ac-size-default);\n padding: 0;\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://./../../node_modules/@rslib/core/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[1].oneOf[2].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[1].oneOf[2].use[2]!/home/runner/work/arolariu.ro/arolariu.ro/node_modules/@rslib/core/node_modules/@rsbuild/core/compiled/postcss-loader/index.js??ruleSet[1].rules[1].oneOf[2].use[3]!/home/runner/work/arolariu.ro/arolariu.ro/packages/components/src/components/ui/button.module.css","webpack://./src/components/ui/button.module.css"],"names":[],"mappings":"AAAA;ECCE,kCAAkC;EAClC,sBAAsB;EACtB,eAAe;EACf,4BAA4B;EAC5B,mBAAmB;EACnB,sBAAsB;EACtB,kKAAkK;EAClK,yBAAyB;EACzB,iBAAiB;EACjB,mBAAmB;EACnB,YAAY;EACZ,aAAa;EACb,uBAAuB;EACvB,gBAAgB;EAChB,gBAAgB;EAChB,oBAAoB;;EDhBwa;ICmB1b,iCAAiC;IACjC,oBAAoB;EACtB;;EDrBigB;ICwB/f,WAAW;IACX,oBAAoB;EACtB;;ED1B4jB;IC6B1jB,oBAAoB;IACpB,cAAc;IACd,WAAW;IACX,YAAY;EACd;AACF;;ADlC8nB;ECqC5nB,mCAAmC;EACnC,mCAAmC;EACnC,+BAA+B;;EDvCmtB;IAAqB;MC2CnwB,uEAAuE;IACzE;EACF;AACF;;AD9C+2B;ECiD72B,uCAAuC;EACvC,2BAA2B;EAC3B,+BAA+B;;EDnDo8B;IAAqB;MCuDp/B,2EAA2E;IAC7E;EACF;AACF;;AD1DomC;EC6DlmC,sCAAsC;EACtC,kCAAkC;EAClC,2BAA2B;EAC3B,+BAA+B;;EDhEstC;IAAqB;MCoEtwC,kCAAkC;MAClC,kCAAkC;IACpC;EACF;AACF;;ADxE+2C;EC2E72C,qCAAqC;EACrC,qCAAqC;EACrC,+BAA+B;;ED7E08C;IAAqB;MCiF1/C,yEAAyE;IAC3E;EACF;AACF;;ADpFwmD;ECuFtmD,2BAA2B;EAC3B,uBAAuB;;EDxF8oD;IAAqB;MC4FtrD,kCAAkC;MAClC,kCAAkC;IACpC;EACF;AACF;;ADhG+xD;ECmG7xD,2BAA2B;EAC3B,0BAA0B;EAC1B,uBAAuB;;EDrG81D;IAAqB;MCyGt4D,0BAA0B;IAC5B;EACF;AACF;;AD5Gq8D;EC+Gn8D,8BAA8B;EAC9B,4CAA4C;AAC9C;;ADjH4hE;ECoH1hE,kCAAkC;EAClC,4BAA4B;EAC5B,yBAAyB;EACzB,4CAA4C;AAC9C;;ADxHuqE;EC2HrqE,kCAAkC;EAClC,4BAA4B;EAC5B,yBAAyB;EACzB,4CAA4C;AAC9C;;AD/HkzE;ECkIhzE,8BAA8B;EAC9B,6BAA6B;EAC7B,UAAU;AACZ","sourcesContent":[".button{align-items:center;border:none;border-radius:var(--ac-radius-md);box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:var(--ac-text-xs);font-weight:500;gap:var(--ac-space-2);justify-content:center;line-height:1.6;outline:none;transition:background-color var(--ac-transition-fast),color var(--ac-transition-fast),border-color var(--ac-transition-fast),box-shadow var(--ac-transition-fast);user-select:none;white-space:nowrap;&:focus-visible{outline:2px solid var(--ac-ring);outline-offset:-1px}&:disabled,&[data-disabled]{opacity:.5;pointer-events:none}& svg{flex-shrink:0;height:1rem;pointer-events:none;width:1rem}}.default{background-color:var(--ac-primary);box-shadow:0 1px 2px 0 rgba(0,0,0,.05);color:var(--ac-primary-foreground);@media (hover:hover){&:hover:not([data-disabled]){background-color:color-mix(in oklch,var(--ac-primary),transparent 10%)}}}.destructive{background-color:var(--ac-destructive);box-shadow:0 1px 2px 0 rgba(0,0,0,.05);color:var(--ac-background);@media (hover:hover){&:hover:not([data-disabled]){background-color:color-mix(in oklch,var(--ac-destructive),transparent 10%)}}}.outline{background-color:var(--ac-background);border:1px solid var(--ac-border);box-shadow:0 1px 2px 0 rgba(0,0,0,.05);color:var(--ac-foreground);@media (hover:hover){&:hover:not([data-disabled]){background-color:var(--ac-accent);color:var(--ac-accent-foreground)}}}.secondary{background-color:var(--ac-secondary);box-shadow:0 1px 2px 0 rgba(0,0,0,.05);color:var(--ac-secondary-foreground);@media (hover:hover){&:hover:not([data-disabled]){background-color:color-mix(in oklch,var(--ac-secondary),transparent 20%)}}}.ghost{background-color:transparent;color:var(--ac-foreground);@media (hover:hover){&:hover:not([data-disabled]){background-color:var(--ac-accent);color:var(--ac-accent-foreground)}}}.link{background-color:transparent;color:var(--ac-foreground);text-underline-offset:4px;@media (hover:hover){&:hover:not([data-disabled]){text-decoration:underline}}}.sizeDefault{height:var(--ac-size-default);padding:var(--ac-space-1) var(--ac-space-3)}.sizeSm{border-radius:var(--ac-radius-sm);font-size:var(--ac-text-xs);height:var(--ac-size-md);padding:var(--ac-space-1) var(--ac-space-2)}.sizeLg{border-radius:var(--ac-radius-md);font-size:var(--ac-text-sm);height:var(--ac-size-lg);padding:var(--ac-space-1) var(--ac-space-4)}.sizeIcon{height:var(--ac-size-default);padding:0;width:var(--ac-size-default)}",".button {\n border-radius: var(--ac-radius-md);\n box-sizing: border-box;\n cursor: pointer;\n font-size: var(--ac-text-xs);\n align-items: center;\n gap: var(--ac-space-2);\n transition: background-color var(--ac-transition-fast),color var(--ac-transition-fast),border-color var(--ac-transition-fast),box-shadow var(--ac-transition-fast);\n -webkit-user-select: none;\n user-select: none;\n white-space: nowrap;\n border: none;\n outline: none;\n justify-content: center;\n font-weight: 500;\n line-height: 1.6;\n display: inline-flex;\n\n &:focus-visible {\n outline: 2px solid var(--ac-ring);\n outline-offset: -1px;\n }\n\n &:disabled, &[data-disabled] {\n opacity: .5;\n pointer-events: none;\n }\n\n & svg {\n pointer-events: none;\n flex-shrink: 0;\n width: 1rem;\n height: 1rem;\n }\n}\n\n.default {\n background-color: var(--ac-primary);\n color: var(--ac-primary-foreground);\n box-shadow: 0 1px 2px #0000000d;\n\n @media (hover: hover) {\n &:hover:not([data-disabled]) {\n background-color: color-mix(in oklch,var(--ac-primary),transparent 10%);\n }\n }\n}\n\n.destructive {\n background-color: var(--ac-destructive);\n color: var(--ac-background);\n box-shadow: 0 1px 2px #0000000d;\n\n @media (hover: hover) {\n &:hover:not([data-disabled]) {\n background-color: color-mix(in oklch,var(--ac-destructive),transparent 10%);\n }\n }\n}\n\n.outline {\n background-color: var(--ac-background);\n border: 1px solid var(--ac-border);\n color: var(--ac-foreground);\n box-shadow: 0 1px 2px #0000000d;\n\n @media (hover: hover) {\n &:hover:not([data-disabled]) {\n background-color: var(--ac-accent);\n color: var(--ac-accent-foreground);\n }\n }\n}\n\n.secondary {\n background-color: var(--ac-secondary);\n color: var(--ac-secondary-foreground);\n box-shadow: 0 1px 2px #0000000d;\n\n @media (hover: hover) {\n &:hover:not([data-disabled]) {\n background-color: color-mix(in oklch,var(--ac-secondary),transparent 20%);\n }\n }\n}\n\n.ghost {\n color: var(--ac-foreground);\n background-color: #0000;\n\n @media (hover: hover) {\n &:hover:not([data-disabled]) {\n background-color: var(--ac-accent);\n color: var(--ac-accent-foreground);\n }\n }\n}\n\n.link {\n color: var(--ac-foreground);\n text-underline-offset: 4px;\n background-color: #0000;\n\n @media (hover: hover) {\n &:hover:not([data-disabled]) {\n text-decoration: underline;\n }\n }\n}\n\n.sizeDefault {\n height: var(--ac-size-default);\n padding: var(--ac-space-1) var(--ac-space-3);\n}\n\n.sizeSm {\n border-radius: var(--ac-radius-sm);\n font-size: var(--ac-text-xs);\n height: var(--ac-size-md);\n padding: var(--ac-space-1) var(--ac-space-2);\n}\n\n.sizeLg {\n border-radius: var(--ac-radius-md);\n font-size: var(--ac-text-sm);\n height: var(--ac-size-lg);\n padding: var(--ac-space-1) var(--ac-space-4);\n}\n\n.sizeIcon {\n height: var(--ac-size-default);\n width: var(--ac-size-default);\n padding: 0;\n}\n"],"sourceRoot":""}
@@ -1,4 +1,5 @@
1
1
  import * as React from "react";
2
+ import type { DateRange, DayPickerProps, Matcher } from "react-day-picker";
2
3
  import { DayPicker } from "react-day-picker";
3
4
  import { Button } from "./button";
4
5
  /**
@@ -33,11 +34,8 @@ type CalendarProps = React.ComponentProps<typeof DayPicker> & {
33
34
  *
34
35
  * @see {@link https://daypicker.dev | React Day Picker Docs}
35
36
  */
36
- declare function Calendar({ className, classNames, showOutsideDays, captionLayout, buttonVariant, formatters, components, ...props }: Readonly<CalendarProps>): React.JSX.Element;
37
- declare namespace Calendar {
38
- var displayName: string;
39
- }
40
- export type { DateRange, DayPickerProps, Matcher } from "react-day-picker";
37
+ declare const Calendar: React.ForwardRefExoticComponent<CalendarProps & React.RefAttributes<HTMLDivElement>>;
38
+ export type { DateRange, DayPickerProps, Matcher };
41
39
  export { Calendar };
42
40
  export type { CalendarProps };
43
41
  //# sourceMappingURL=calendar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../src/components/ui/calendar.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAY,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAU9C;;GAEG;AACH,KAAK,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,GAAG;IAC5D;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;CAChE,CAAC;AAWF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,UAAU,EACV,eAAsB,EACtB,aAAuB,EACvB,aAAuB,EACvB,UAAU,EACV,UAAU,EACV,GAAG,KAAK,EACT,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAgG7C;kBAzGQ,QAAQ;;;AAgJjB,YAAY,EAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAC,QAAQ,EAAC,CAAC;AAClB,YAAY,EAAC,aAAa,EAAC,CAAC"}
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../src/components/ui/calendar.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAY,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAU9C;;GAEG;AACH,KAAK,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,GAAG;IAC5D;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;CAChE,CAAC;AAWF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,QAAA,MAAM,QAAQ,sFAmGZ,CAAC;AAuCH,YAAY,EAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAC,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAC,CAAC;AAClB,YAAY,EAAC,aAAa,EAAC,CAAC"}
@@ -1,12 +1,12 @@
1
1
  "use client";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
4
- import { useEffect, useRef } from "react";
5
4
  import { DayPicker } from "react-day-picker";
6
5
  import { Button } from "./button.js";
7
6
  import { cn } from "../../lib/utilities.js";
8
7
  import button_module from "./button.module.js";
9
8
  import calendar_module from "./calendar.module.js";
9
+ import * as __rspack_external_react from "react";
10
10
  const calendarButtonVariantStyles = {
11
11
  default: button_module["default"],
12
12
  destructive: button_module.destructive,
@@ -15,14 +15,14 @@ const calendarButtonVariantStyles = {
15
15
  outline: button_module.outline,
16
16
  secondary: button_module.secondary
17
17
  };
18
- function Calendar({ className, classNames, showOutsideDays = true, captionLayout = "label", buttonVariant = "ghost", formatters, components, ...props }) {
18
+ const calendar_Calendar = /*#__PURE__*/ __rspack_external_react.forwardRef(function({ className, classNames, showOutsideDays = true, captionLayout = "label", buttonVariant = "ghost", formatters, components, ...props }, forwardedRef) {
19
19
  return /*#__PURE__*/ jsx(DayPicker, {
20
20
  showOutsideDays: showOutsideDays,
21
21
  className: cn(calendar_module.container, className),
22
22
  captionLayout: captionLayout,
23
23
  formatters: {
24
24
  formatMonthDropdown: (date)=>{
25
- const locale = props.locale;
25
+ const { locale } = props;
26
26
  return date.toLocaleString(locale?.code ?? "default", {
27
27
  month: "short"
28
28
  });
@@ -60,7 +60,7 @@ function Calendar({ className, classNames, showOutsideDays = true, captionLayout
60
60
  components: {
61
61
  Root: ({ className: rootClassName, rootRef, ...rootProps })=>/*#__PURE__*/ jsx("div", {
62
62
  "data-slot": "calendar",
63
- ref: rootRef,
63
+ ref: rootRef ?? forwardedRef,
64
64
  className: cn(calendar_module.calendarRoot, rootClassName),
65
65
  ...rootProps
66
66
  }),
@@ -84,7 +84,7 @@ function Calendar({ className, classNames, showOutsideDays = true, captionLayout
84
84
  },
85
85
  ...props
86
86
  });
87
- }
87
+ });
88
88
  function CalendarWeekNumber({ week, children, ...tdProps }) {
89
89
  return /*#__PURE__*/ jsx("td", {
90
90
  ...tdProps,
@@ -95,8 +95,8 @@ function CalendarWeekNumber({ week, children, ...tdProps }) {
95
95
  });
96
96
  }
97
97
  function CalendarDayButton({ className, day, modifiers, ...props }) {
98
- const ref = useRef(null);
99
- useEffect(()=>{
98
+ const ref = __rspack_external_react.useRef(null);
99
+ __rspack_external_react.useEffect(()=>{
100
100
  if (modifiers["focused"]) ref.current?.focus();
101
101
  }, [
102
102
  modifiers
@@ -114,7 +114,7 @@ function CalendarDayButton({ className, day, modifiers, ...props }) {
114
114
  ...props
115
115
  });
116
116
  }
117
- Calendar.displayName = "Calendar";
118
- export { Calendar };
117
+ calendar_Calendar.displayName = "Calendar";
118
+ export { calendar_Calendar as Calendar };
119
119
 
120
120
  //# sourceMappingURL=calendar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components/ui/calendar.js","sources":["../../../src/components/ui/calendar.tsx"],"sourcesContent":["\"use client\";\r\n\r\n/* eslint-disable complexity, react/no-unstable-nested-components, react-x/no-nested-component-definitions, react/prop-types */\r\n\r\nimport {ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon} from \"lucide-react\";\r\nimport * as React from \"react\";\r\nimport {DayButton, DayPicker} from \"react-day-picker\";\r\n\r\nimport {Button} from \"@/components/ui/button\";\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nimport buttonStyles from \"./button.module.css\";\r\nimport styles from \"./calendar.module.css\";\r\n\r\ntype CalendarButtonVariant = NonNullable<React.ComponentProps<typeof Button>[\"variant\"]>;\r\ntype DayPickerComponents = NonNullable<React.ComponentProps<typeof DayPicker>[\"components\"]>;\r\ntype CalendarWeekNumberProps = React.ComponentProps<NonNullable<DayPickerComponents[\"WeekNumber\"]>>;\r\n\r\n/**\r\n * Props for the shared calendar component.\r\n */\r\ntype CalendarProps = React.ComponentProps<typeof DayPicker> & {\r\n /**\r\n * Visual variant applied to the navigation buttons.\r\n * @default \"ghost\"\r\n */\r\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"];\r\n};\r\n\r\nconst calendarButtonVariantStyles: Record<CalendarButtonVariant, string> = {\r\n default: buttonStyles.default,\r\n destructive: buttonStyles.destructive,\r\n ghost: buttonStyles.ghost,\r\n link: buttonStyles.link,\r\n outline: buttonStyles.outline,\r\n secondary: buttonStyles.secondary,\r\n};\r\n\r\n/**\r\n * Renders a styled calendar built on top of `react-day-picker`.\r\n *\r\n * @remarks\r\n * - Renders the `DayPicker` calendar root\r\n * - Built on `react-day-picker` with shared button styling from the component library\r\n * - Preserves the V1 public API while aligning visuals with the current design system\r\n * - Overrides the default DayPicker `Root`, `Chevron`, `DayButton`, and `WeekNumber`\r\n * components while still allowing consumers to replace them through the `components` prop\r\n * - Override the default chevron icons with `components={{Chevron: YourChevronComponent}}`\r\n *\r\n * @example\r\n * ```tsx\r\n * <Calendar\r\n * mode='single'\r\n * selected={new Date()}\r\n * onSelect={(date) => console.log(date)}\r\n * />\r\n * ```\r\n *\r\n * @see {@link https://daypicker.dev | React Day Picker Docs}\r\n */\r\nfunction Calendar({\r\n className,\r\n classNames,\r\n showOutsideDays = true,\r\n captionLayout = \"label\",\r\n buttonVariant = \"ghost\",\r\n formatters,\r\n components,\r\n ...props\r\n}: Readonly<CalendarProps>): React.JSX.Element {\r\n return (\r\n <DayPicker\r\n showOutsideDays={showOutsideDays}\r\n className={cn(styles.container, className)}\r\n captionLayout={captionLayout}\r\n formatters={{\r\n formatMonthDropdown: (date) => {\r\n const locale = props.locale;\r\n\r\n return date.toLocaleString(locale?.code ?? \"default\", {month: \"short\"});\r\n },\r\n ...formatters,\r\n }}\r\n classNames={{\r\n ...classNames,\r\n root: cn(styles.root, classNames?.root),\r\n months: cn(styles.months, classNames?.months),\r\n month: cn(styles.month, classNames?.month),\r\n nav: cn(styles.nav, classNames?.nav),\r\n button_previous: cn(\r\n buttonStyles.button,\r\n buttonStyles.sizeIcon,\r\n calendarButtonVariantStyles[buttonVariant],\r\n styles.navButton,\r\n classNames?.button_previous,\r\n ),\r\n button_next: cn(\r\n buttonStyles.button,\r\n buttonStyles.sizeIcon,\r\n calendarButtonVariantStyles[buttonVariant],\r\n styles.navButton,\r\n classNames?.button_next,\r\n ),\r\n month_caption: cn(styles.monthCaption, classNames?.month_caption),\r\n dropdowns: cn(styles.dropdowns, classNames?.dropdowns),\r\n dropdown_root: cn(styles.dropdownRoot, classNames?.dropdown_root),\r\n dropdown: cn(styles.dropdown, classNames?.dropdown),\r\n caption_label: cn(styles.captionLabel, captionLayout !== \"label\" && styles.captionLabelDropdown, classNames?.caption_label),\r\n month_grid: cn(styles.monthGrid, classNames?.month_grid),\r\n weekdays: cn(styles.weekdays, classNames?.weekdays),\r\n weekday: cn(styles.weekday, classNames?.weekday),\r\n week: cn(styles.week, classNames?.week),\r\n week_number_header: cn(styles.weekNumberHeader, classNames?.week_number_header),\r\n week_number: cn(styles.weekNumber, classNames?.week_number),\r\n day: cn(styles.day, classNames?.day),\r\n range_start: cn(styles.rangeStart, classNames?.range_start),\r\n range_middle: cn(styles.rangeMiddle, classNames?.range_middle),\r\n range_end: cn(styles.rangeEnd, classNames?.range_end),\r\n today: cn(styles.today, classNames?.today),\r\n outside: cn(styles.outside, classNames?.outside),\r\n disabled: classNames?.disabled,\r\n hidden: cn(styles.hidden, classNames?.hidden),\r\n }}\r\n components={{\r\n Root: ({className: rootClassName, rootRef, ...rootProps}) => (\r\n <div\r\n data-slot='calendar'\r\n ref={rootRef}\r\n className={cn(styles.calendarRoot, rootClassName)}\r\n {...rootProps}\r\n />\r\n ),\r\n Chevron: ({className: chevronClassName, orientation, ...chevronProps}) => {\r\n if (orientation === \"left\") {\r\n return (\r\n <ChevronLeftIcon\r\n className={cn(styles.chevron, chevronClassName)}\r\n {...chevronProps}\r\n />\r\n );\r\n }\r\n\r\n if (orientation === \"right\") {\r\n return (\r\n <ChevronRightIcon\r\n className={cn(styles.chevron, chevronClassName)}\r\n {...chevronProps}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <ChevronDownIcon\r\n className={cn(styles.chevron, chevronClassName)}\r\n {...chevronProps}\r\n />\r\n );\r\n },\r\n DayButton: CalendarDayButton,\r\n WeekNumber: CalendarWeekNumber,\r\n ...components,\r\n }}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction CalendarWeekNumber({week, children, ...tdProps}: Readonly<CalendarWeekNumberProps>): React.JSX.Element {\r\n return (\r\n <td {...tdProps}>\r\n <div className={styles.weekNumberCell}>{children}</div>\r\n </td>\r\n );\r\n}\r\n\r\nfunction CalendarDayButton({className, day, modifiers, ...props}: Readonly<React.ComponentProps<typeof DayButton>>): React.JSX.Element {\r\n const ref = React.useRef<HTMLButtonElement>(null);\r\n\r\n React.useEffect(() => {\r\n if (modifiers[\"focused\"]) {\r\n ref.current?.focus();\r\n }\r\n }, [modifiers]);\r\n\r\n return (\r\n <Button\r\n ref={ref}\r\n variant='ghost'\r\n size='icon'\r\n data-day={day.date.toLocaleDateString()}\r\n data-selected-single={Boolean(\r\n modifiers[\"selected\"] && !modifiers[\"range_start\"] && !modifiers[\"range_end\"] && !modifiers[\"range_middle\"],\r\n )}\r\n data-range-start={Boolean(modifiers[\"range_start\"])}\r\n data-range-end={Boolean(modifiers[\"range_end\"])}\r\n data-range-middle={Boolean(modifiers[\"range_middle\"])}\r\n className={cn(styles.dayButton, className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nCalendar.displayName = \"Calendar\";\r\n\r\nexport type {DateRange, DayPickerProps, Matcher} from \"react-day-picker\";\r\nexport {Calendar};\r\nexport type {CalendarProps};\r\n"],"names":["calendarButtonVariantStyles","buttonStyles","Calendar","className","classNames","showOutsideDays","captionLayout","buttonVariant","formatters","components","props","DayPicker","cn","styles","date","locale","rootClassName","rootRef","rootProps","chevronClassName","orientation","chevronProps","ChevronLeftIcon","ChevronRightIcon","ChevronDownIcon","CalendarDayButton","CalendarWeekNumber","week","children","tdProps","day","modifiers","ref","React","Button","Boolean"],"mappings":"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"}
1
+ {"version":3,"file":"components/ui/calendar.js","sources":["../../../src/components/ui/calendar.tsx"],"sourcesContent":["\"use client\";\r\n\r\n/* eslint-disable complexity, react/no-unstable-nested-components, react-x/no-nested-component-definitions, react/prop-types */\r\n\r\nimport {ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon} from \"lucide-react\";\r\nimport * as React from \"react\";\r\nimport type {DateRange, DayPickerProps, Matcher} from \"react-day-picker\";\r\nimport {DayButton, DayPicker} from \"react-day-picker\";\r\n\r\nimport {Button} from \"@/components/ui/button\";\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nimport buttonStyles from \"./button.module.css\";\r\nimport styles from \"./calendar.module.css\";\r\n\r\ntype CalendarButtonVariant = NonNullable<React.ComponentProps<typeof Button>[\"variant\"]>;\r\ntype DayPickerComponents = NonNullable<React.ComponentProps<typeof DayPicker>[\"components\"]>;\r\ntype CalendarWeekNumberProps = React.ComponentProps<NonNullable<DayPickerComponents[\"WeekNumber\"]>>;\r\n\r\n/**\r\n * Props for the shared calendar component.\r\n */\r\ntype CalendarProps = React.ComponentProps<typeof DayPicker> & {\r\n /**\r\n * Visual variant applied to the navigation buttons.\r\n * @default \"ghost\"\r\n */\r\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"];\r\n};\r\n\r\nconst calendarButtonVariantStyles: Record<CalendarButtonVariant, string> = {\r\n default: buttonStyles.default,\r\n destructive: buttonStyles.destructive,\r\n ghost: buttonStyles.ghost,\r\n link: buttonStyles.link,\r\n outline: buttonStyles.outline,\r\n secondary: buttonStyles.secondary,\r\n};\r\n\r\n/**\r\n * Renders a styled calendar built on top of `react-day-picker`.\r\n *\r\n * @remarks\r\n * - Renders the `DayPicker` calendar root\r\n * - Built on `react-day-picker` with shared button styling from the component library\r\n * - Preserves the V1 public API while aligning visuals with the current design system\r\n * - Overrides the default DayPicker `Root`, `Chevron`, `DayButton`, and `WeekNumber`\r\n * components while still allowing consumers to replace them through the `components` prop\r\n * - Override the default chevron icons with `components={{Chevron: YourChevronComponent}}`\r\n *\r\n * @example\r\n * ```tsx\r\n * <Calendar\r\n * mode='single'\r\n * selected={new Date()}\r\n * onSelect={(date) => console.log(date)}\r\n * />\r\n * ```\r\n *\r\n * @see {@link https://daypicker.dev | React Day Picker Docs}\r\n */\r\nconst Calendar = React.forwardRef<HTMLDivElement, CalendarProps>(function Calendar(\r\n {className, classNames, showOutsideDays = true, captionLayout = \"label\", buttonVariant = \"ghost\", formatters, components, ...props},\r\n forwardedRef,\r\n) {\r\n return (\r\n <DayPicker\r\n showOutsideDays={showOutsideDays}\r\n className={cn(styles.container, className)}\r\n captionLayout={captionLayout}\r\n formatters={{\r\n formatMonthDropdown: (date) => {\r\n const {locale} = props;\r\n\r\n return date.toLocaleString(locale?.code ?? \"default\", {month: \"short\"});\r\n },\r\n ...formatters,\r\n }}\r\n classNames={{\r\n ...classNames,\r\n root: cn(styles.root, classNames?.root),\r\n months: cn(styles.months, classNames?.months),\r\n month: cn(styles.month, classNames?.month),\r\n nav: cn(styles.nav, classNames?.nav),\r\n button_previous: cn(\r\n buttonStyles.button,\r\n buttonStyles.sizeIcon,\r\n calendarButtonVariantStyles[buttonVariant],\r\n styles.navButton,\r\n classNames?.button_previous,\r\n ),\r\n button_next: cn(\r\n buttonStyles.button,\r\n buttonStyles.sizeIcon,\r\n calendarButtonVariantStyles[buttonVariant],\r\n styles.navButton,\r\n classNames?.button_next,\r\n ),\r\n month_caption: cn(styles.monthCaption, classNames?.month_caption),\r\n dropdowns: cn(styles.dropdowns, classNames?.dropdowns),\r\n dropdown_root: cn(styles.dropdownRoot, classNames?.dropdown_root),\r\n dropdown: cn(styles.dropdown, classNames?.dropdown),\r\n caption_label: cn(styles.captionLabel, captionLayout !== \"label\" && styles.captionLabelDropdown, classNames?.caption_label),\r\n month_grid: cn(styles.monthGrid, classNames?.month_grid),\r\n weekdays: cn(styles.weekdays, classNames?.weekdays),\r\n weekday: cn(styles.weekday, classNames?.weekday),\r\n week: cn(styles.week, classNames?.week),\r\n week_number_header: cn(styles.weekNumberHeader, classNames?.week_number_header),\r\n week_number: cn(styles.weekNumber, classNames?.week_number),\r\n day: cn(styles.day, classNames?.day),\r\n range_start: cn(styles.rangeStart, classNames?.range_start),\r\n range_middle: cn(styles.rangeMiddle, classNames?.range_middle),\r\n range_end: cn(styles.rangeEnd, classNames?.range_end),\r\n today: cn(styles.today, classNames?.today),\r\n outside: cn(styles.outside, classNames?.outside),\r\n disabled: classNames?.disabled,\r\n hidden: cn(styles.hidden, classNames?.hidden),\r\n }}\r\n components={{\r\n Root: ({className: rootClassName, rootRef, ...rootProps}) => (\r\n <div\r\n data-slot='calendar'\r\n ref={rootRef ?? forwardedRef}\r\n className={cn(styles.calendarRoot, rootClassName)}\r\n {...rootProps}\r\n />\r\n ),\r\n Chevron: ({className: chevronClassName, orientation, ...chevronProps}) => {\r\n if (orientation === \"left\") {\r\n return (\r\n <ChevronLeftIcon\r\n className={cn(styles.chevron, chevronClassName)}\r\n {...chevronProps}\r\n />\r\n );\r\n }\r\n\r\n if (orientation === \"right\") {\r\n return (\r\n <ChevronRightIcon\r\n className={cn(styles.chevron, chevronClassName)}\r\n {...chevronProps}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <ChevronDownIcon\r\n className={cn(styles.chevron, chevronClassName)}\r\n {...chevronProps}\r\n />\r\n );\r\n },\r\n DayButton: CalendarDayButton,\r\n WeekNumber: CalendarWeekNumber,\r\n ...components,\r\n }}\r\n {...props}\r\n />\r\n );\r\n});\r\n\r\nfunction CalendarWeekNumber({week, children, ...tdProps}: Readonly<CalendarWeekNumberProps>): React.JSX.Element {\r\n return (\r\n <td {...tdProps}>\r\n <div className={styles.weekNumberCell}>{children}</div>\r\n </td>\r\n );\r\n}\r\n\r\nfunction CalendarDayButton({className, day, modifiers, ...props}: Readonly<React.ComponentProps<typeof DayButton>>): React.JSX.Element {\r\n const ref = React.useRef<HTMLButtonElement>(null);\r\n\r\n React.useEffect(() => {\r\n if (modifiers[\"focused\"]) {\r\n ref.current?.focus();\r\n }\r\n }, [modifiers]);\r\n\r\n return (\r\n <Button\r\n ref={ref}\r\n variant='ghost'\r\n size='icon'\r\n data-day={day.date.toLocaleDateString()}\r\n data-selected-single={Boolean(\r\n modifiers[\"selected\"] && !modifiers[\"range_start\"] && !modifiers[\"range_end\"] && !modifiers[\"range_middle\"],\r\n )}\r\n data-range-start={Boolean(modifiers[\"range_start\"])}\r\n data-range-end={Boolean(modifiers[\"range_end\"])}\r\n data-range-middle={Boolean(modifiers[\"range_middle\"])}\r\n className={cn(styles.dayButton, className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nCalendar.displayName = \"Calendar\";\r\n\r\nexport type {DateRange, DayPickerProps, Matcher};\r\nexport {Calendar};\r\nexport type {CalendarProps};\r\n"],"names":["calendarButtonVariantStyles","buttonStyles","Calendar","React","className","classNames","showOutsideDays","captionLayout","buttonVariant","formatters","components","props","forwardedRef","DayPicker","cn","styles","date","locale","rootClassName","rootRef","rootProps","chevronClassName","orientation","chevronProps","ChevronLeftIcon","ChevronRightIcon","ChevronDownIcon","CalendarDayButton","CalendarWeekNumber","week","children","tdProps","day","modifiers","ref","Button","Boolean"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://./home/runner/work/arolariu.ro/arolariu.ro/packages/components/src/components/ui/calendar.module.css","webpack://./src/components/ui/calendar.module.css"],"names":[],"mappings":"AADA;ECEE,sCAAsC;EACtC,sCAAsC;EACtC,kCAAkC;EAClC,2BAA2B;EAC3B,0BAA0B;AAC5B;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,sBAAsB;EACtB,sBAAsB;EACtB,aAAa;EACb,kBAAkB;AACpB;;AAEA;EACE;IACE,mBAAmB;EACrB;AACF;;AAEA;EACE,sBAAsB;EACtB,sBAAsB;AACxB;;AAEA;EACE,WAAW;EACX,aAAa;AACf;;AAEA;EACE,mBAAmB;EACnB,sBAAsB;EACtB,eAAe;EACf,8BAA8B;EAC9B,kBAAkB;EAClB,MAAM;AACR;;AAEA;EACE,2BAA2B;EAC3B,0BAA0B;EAC1B,UAAU;;EAEV;IACE,WAAW;EACb;AACF;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,2BAA2B;EAC3B,uBAAuB;EACvB,mBAAmB;EACnB,WAAW;EACX,aAAa;AACf;;AAEA;EACE,4BAA4B;EAC5B,sBAAsB;EACtB,gBAAgB;AAClB;;AAEA;EACE,sCAAsC;EACtC,kCAAkC;EAClC,kCAAkC;EAClC,kBAAkB;EAClB,+BAA+B;;EAE/B;IACE,4BAA4B;IAC5B,qEAAqE;IACrE,iBAAiB;EACnB;AACF;;AAEA;EACE,UAAU;EACV,kBAAkB;EAClB,QAAQ;AACV;;AAEA;EACE,4BAA4B;EAC5B,yBAAyB;EACzB,iBAAiB;EACjB,gBAAgB;AAClB;;AAEA;EACE,kCAAkC;EAClC,mBAAmB;EACnB,sBAAsB;EACtB,YAAY;EACZ,iCAAiC;EACjC,aAAa;AACf;;AAEA;EACE,yBAAyB;EACzB,WAAW;AACb;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,kCAAkC;EAClC,iCAAiC;EACjC,kBAAkB;EAClB,yBAAyB;EACzB,iBAAiB;EACjB,OAAO;EACP,gBAAgB;EAChB,gBAAgB;AAClB;;AAEA;EACE,6BAA6B;EAC7B,WAAW;EACX,aAAa;AACf;;AAEA;EACE,iCAAiC;EACjC,kBAAkB;EAClB,yBAAyB;EACzB,iBAAiB;EACjB,0BAA0B;EAC1B,gBAAgB;AAClB;;AAEA;EACE,2BAA2B;EAC3B,kBAAkB;EAClB,0BAA0B;EAC1B,uBAAuB;EACvB,mBAAmB;EACnB,aAAa;AACf;;AAEA;EACE,kBAAkB;EAClB,yBAAyB;EACzB,iBAAiB;EACjB,WAAW;EACX,YAAY;EACZ,UAAU;EACV,kBAAkB;AACpB;;AAEA;EACE,iCAAiC;EACjC,8CAA8C;EAC9C,2CAA2C;AAC7C;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,+CAA+C;EAC/C,4CAA4C;AAC9C;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,kCAAkC;EAClC,2BAA2B;AAC7B;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,WAAW;EACX,YAAY;AACd;;AAEA;EACE,eAAe;EACf,sBAAsB;EACtB,YAAY;EACZ,8BAA8B;EAC9B,UAAU;EACV,sBAAsB;EACtB,WAAW;EACX,gBAAgB;EAChB,cAAc;EACd,aAAa;EACb,kBAAkB;;EAElB;IACE,qEAAqE;IACrE,oBAAoB;IACpB,UAAU;EACZ;;EAEA;IACE,sCAAsC;IACtC,2BAA2B;EAC7B;;EAEA;IACE,iCAAiC;IACjC,2BAA2B;IAC3B,gBAAgB;EAClB;;EAEA;IACE,kCAAkC;EACpC;;EAEA;IACE,4BAA4B;IAC5B,WAAW;EACb;AACF","sourcesContent":[".container{--ac-cell-size:var(--ac-size-default);background-color:var(--ac-background);border-radius:var(--ac-radius-lg);color:var(--ac-foreground);padding:var(--ac-space-3)}.calendarRoot,.container,.root{width:fit-content}.months{display:flex;flex-direction:column;gap:var(--ac-space-4);position:relative}@media (min-width:768px){.months{flex-direction:row}}.month{flex-direction:column;gap:var(--ac-space-4)}.month,.nav{display:flex;width:100%}.nav{align-items:center;gap:var(--ac-space-1);inset-inline:0;justify-content:space-between;position:absolute;top:0}.navButton{height:var(--ac-cell-size);padding:0;width:var(--ac-cell-size);&[aria-disabled=true],&[disabled]{opacity:.5}}.monthCaption{padding-inline:var(--ac-cell-size)}.dropdowns,.monthCaption{align-items:center;display:flex;height:var(--ac-cell-size);justify-content:center;width:100%}.dropdowns{font-size:var(--ac-text-sm);font-weight:500;gap:var(--ac-space-2)}.dropdownRoot{background-color:var(--ac-background);border:1px solid var(--ac-border);border-radius:var(--ac-radius-md);box-shadow:0 1px 2px rgba(0,0,0,.05);position:relative;&:focus-within{border-color:var(--ac-ring);outline:3px solid color-mix(in oklch,var(--ac-ring),transparent 65%);outline-offset:0}}.dropdown{inset:0;opacity:0;position:absolute}.captionLabel{font-size:var(--ac-text-sm);font-weight:500;user-select:none}.captionLabelDropdown{align-items:center;border-radius:var(--ac-radius-md);display:flex;gap:var(--ac-space-1);height:2rem;padding-inline:var(--ac-space-2)}.monthGrid{border-collapse:collapse;width:100%}.weekdays{display:flex}.weekday{border-radius:var(--ac-radius-md);color:var(--ac-muted-foreground);flex:1;font-size:.8rem;font-weight:400;text-align:center;user-select:none}.week{display:flex;margin-top:var(--ac-space-2);width:100%}.weekNumber,.weekNumberHeader{color:var(--ac-muted-foreground);font-size:.8rem;text-align:center;user-select:none;width:var(--ac-cell-size)}.weekNumberCell{align-items:center;display:flex;height:var(--ac-cell-size);justify-content:center;text-align:center;width:var(--ac-cell-size)}.day{height:100%;padding:0;position:relative;text-align:center;user-select:none;width:100%}.rangeStart{background-color:var(--ac-muted);border-bottom-left-radius:var(--ac-radius-md);border-top-left-radius:var(--ac-radius-md)}.rangeMiddle{border-radius:0}.rangeEnd{border-bottom-right-radius:var(--ac-radius-md);border-top-right-radius:var(--ac-radius-md)}.rangeEnd,.today{background-color:var(--ac-muted)}.today{border-radius:var(--ac-radius-md);color:var(--ac-foreground)}.day[data-disabled=true],.outside{color:var(--ac-muted-foreground)}.day[data-disabled=true]{opacity:.5}.hidden{visibility:hidden}.chevron{height:1rem;width:1rem}.dayButton{aspect-ratio:1;display:flex;flex-direction:column;font-weight:400;gap:var(--ac-space-1);height:auto;line-height:1;min-width:var(--ac-cell-size);position:relative;width:100%;z-index:0;&:focus-visible,.day[data-focused=true] &{outline:3px solid color-mix(in oklch,var(--ac-ring),transparent 65%);outline-offset:-1px;z-index:1}&[data-range-end=true],&[data-range-start=true],&[data-selected-single=true]{background-color:var(--ac-foreground);color:var(--ac-background)}&[data-range-middle=true]{background-color:var(--ac-muted);border-radius:0;color:var(--ac-foreground)}&[data-range-end=true],&[data-range-start=true]{border-radius:var(--ac-radius-md)}&>span{font-size:var(--ac-text-xs);opacity:.7}}",".container {\n --ac-cell-size: var(--ac-size-default);\n background-color: var(--ac-background);\n border-radius: var(--ac-radius-lg);\n color: var(--ac-foreground);\n padding: var(--ac-space-3);\n}\n\n.calendarRoot, .container, .root {\n width: fit-content;\n}\n\n.months {\n gap: var(--ac-space-4);\n flex-direction: column;\n display: flex;\n position: relative;\n}\n\n@media (width >= 768px) {\n .months {\n flex-direction: row;\n }\n}\n\n.month {\n gap: var(--ac-space-4);\n flex-direction: column;\n}\n\n.month, .nav {\n width: 100%;\n display: flex;\n}\n\n.nav {\n align-items: center;\n gap: var(--ac-space-1);\n inset-inline: 0;\n justify-content: space-between;\n position: absolute;\n top: 0;\n}\n\n.navButton {\n height: var(--ac-cell-size);\n width: var(--ac-cell-size);\n padding: 0;\n\n &[aria-disabled=\"true\"], &[disabled] {\n opacity: .5;\n }\n}\n\n.monthCaption {\n padding-inline: var(--ac-cell-size);\n}\n\n.dropdowns, .monthCaption {\n height: var(--ac-cell-size);\n justify-content: center;\n align-items: center;\n width: 100%;\n display: flex;\n}\n\n.dropdowns {\n font-size: var(--ac-text-sm);\n gap: var(--ac-space-2);\n font-weight: 500;\n}\n\n.dropdownRoot {\n background-color: var(--ac-background);\n border: 1px solid var(--ac-border);\n border-radius: var(--ac-radius-md);\n position: relative;\n box-shadow: 0 1px 2px #0000000d;\n\n &:focus-within {\n border-color: var(--ac-ring);\n outline: 3px solid color-mix(in oklch,var(--ac-ring),transparent 65%);\n outline-offset: 0;\n }\n}\n\n.dropdown {\n opacity: 0;\n position: absolute;\n inset: 0;\n}\n\n.captionLabel {\n font-size: var(--ac-text-sm);\n -webkit-user-select: none;\n user-select: none;\n font-weight: 500;\n}\n\n.captionLabelDropdown {\n border-radius: var(--ac-radius-md);\n align-items: center;\n gap: var(--ac-space-1);\n height: 2rem;\n padding-inline: var(--ac-space-2);\n display: flex;\n}\n\n.monthGrid {\n border-collapse: collapse;\n width: 100%;\n}\n\n.weekdays {\n display: flex;\n}\n\n.weekday {\n border-radius: var(--ac-radius-md);\n color: var(--ac-muted-foreground);\n text-align: center;\n -webkit-user-select: none;\n user-select: none;\n flex: 1;\n font-size: .8rem;\n font-weight: 400;\n}\n\n.week {\n margin-top: var(--ac-space-2);\n width: 100%;\n display: flex;\n}\n\n.weekNumber, .weekNumberHeader {\n color: var(--ac-muted-foreground);\n text-align: center;\n -webkit-user-select: none;\n user-select: none;\n width: var(--ac-cell-size);\n font-size: .8rem;\n}\n\n.weekNumberCell {\n height: var(--ac-cell-size);\n text-align: center;\n width: var(--ac-cell-size);\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.day {\n text-align: center;\n -webkit-user-select: none;\n user-select: none;\n width: 100%;\n height: 100%;\n padding: 0;\n position: relative;\n}\n\n.rangeStart {\n background-color: var(--ac-muted);\n border-bottom-left-radius: var(--ac-radius-md);\n border-top-left-radius: var(--ac-radius-md);\n}\n\n.rangeMiddle {\n border-radius: 0;\n}\n\n.rangeEnd {\n border-bottom-right-radius: var(--ac-radius-md);\n border-top-right-radius: var(--ac-radius-md);\n}\n\n.rangeEnd, .today {\n background-color: var(--ac-muted);\n}\n\n.today {\n border-radius: var(--ac-radius-md);\n color: var(--ac-foreground);\n}\n\n.day[data-disabled=\"true\"], .outside {\n color: var(--ac-muted-foreground);\n}\n\n.day[data-disabled=\"true\"] {\n opacity: .5;\n}\n\n.hidden {\n visibility: hidden;\n}\n\n.chevron {\n width: 1rem;\n height: 1rem;\n}\n\n.dayButton {\n aspect-ratio: 1;\n gap: var(--ac-space-1);\n height: auto;\n min-width: var(--ac-cell-size);\n z-index: 0;\n flex-direction: column;\n width: 100%;\n font-weight: 400;\n line-height: 1;\n display: flex;\n position: relative;\n\n &:focus-visible, .day[data-focused=\"true\"] & {\n outline: 3px solid color-mix(in oklch,var(--ac-ring),transparent 65%);\n outline-offset: -1px;\n z-index: 1;\n }\n\n &[data-range-end=\"true\"], &[data-range-start=\"true\"], &[data-selected-single=\"true\"] {\n background-color: var(--ac-foreground);\n color: var(--ac-background);\n }\n\n &[data-range-middle=\"true\"] {\n background-color: var(--ac-muted);\n color: var(--ac-foreground);\n border-radius: 0;\n }\n\n &[data-range-end=\"true\"], &[data-range-start=\"true\"] {\n border-radius: var(--ac-radius-md);\n }\n\n & > span {\n font-size: var(--ac-text-xs);\n opacity: .7;\n }\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://./../../node_modules/@rslib/core/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[1].oneOf[2].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[1].oneOf[2].use[2]!/home/runner/work/arolariu.ro/arolariu.ro/node_modules/@rslib/core/node_modules/@rsbuild/core/compiled/postcss-loader/index.js??ruleSet[1].rules[1].oneOf[2].use[3]!/home/runner/work/arolariu.ro/arolariu.ro/packages/components/src/components/ui/calendar.module.css","webpack://./src/components/ui/calendar.module.css"],"names":[],"mappings":"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","sourcesContent":[".container{--ac-cell-size:var(--ac-size-default);background-color:var(--ac-background);border-radius:var(--ac-radius-lg);color:var(--ac-foreground);padding:var(--ac-space-3)}.calendarRoot,.container,.root{width:fit-content}.months{display:flex;flex-direction:column;gap:var(--ac-space-4);position:relative}@media (min-width:768px){.months{flex-direction:row}}.month{flex-direction:column;gap:var(--ac-space-4)}.month,.nav{display:flex;width:100%}.nav{align-items:center;gap:var(--ac-space-1);inset-inline:0;justify-content:space-between;position:absolute;top:0}.navButton{height:var(--ac-cell-size);padding:0;width:var(--ac-cell-size);&[aria-disabled=true],&[disabled]{opacity:.5}}.monthCaption{padding-inline:var(--ac-cell-size)}.dropdowns,.monthCaption{align-items:center;display:flex;height:var(--ac-cell-size);justify-content:center;width:100%}.dropdowns{font-size:var(--ac-text-sm);font-weight:500;gap:var(--ac-space-2)}.dropdownRoot{background-color:var(--ac-background);border:1px solid var(--ac-border);border-radius:var(--ac-radius-md);box-shadow:0 1px 2px rgba(0,0,0,.05);position:relative;&:focus-within{border-color:var(--ac-ring);outline:3px solid color-mix(in oklch,var(--ac-ring),transparent 65%);outline-offset:0}}.dropdown{inset:0;opacity:0;position:absolute}.captionLabel{font-size:var(--ac-text-sm);font-weight:500;user-select:none}.captionLabelDropdown{align-items:center;border-radius:var(--ac-radius-md);display:flex;gap:var(--ac-space-1);height:2rem;padding-inline:var(--ac-space-2)}.monthGrid{border-collapse:collapse;width:100%}.weekdays{display:flex}.weekday{border-radius:var(--ac-radius-md);color:var(--ac-muted-foreground);flex:1;font-size:.8rem;font-weight:400;text-align:center;user-select:none}.week{display:flex;margin-top:var(--ac-space-2);width:100%}.weekNumber,.weekNumberHeader{color:var(--ac-muted-foreground);font-size:.8rem;text-align:center;user-select:none;width:var(--ac-cell-size)}.weekNumberCell{align-items:center;display:flex;height:var(--ac-cell-size);justify-content:center;text-align:center;width:var(--ac-cell-size)}.day{height:100%;padding:0;position:relative;text-align:center;user-select:none;width:100%}.rangeStart{background-color:var(--ac-muted);border-bottom-left-radius:var(--ac-radius-md);border-top-left-radius:var(--ac-radius-md)}.rangeMiddle{border-radius:0}.rangeEnd{border-bottom-right-radius:var(--ac-radius-md);border-top-right-radius:var(--ac-radius-md)}.rangeEnd,.today{background-color:var(--ac-muted)}.today{border-radius:var(--ac-radius-md);color:var(--ac-foreground)}.day[data-disabled=true],.outside{color:var(--ac-muted-foreground)}.day[data-disabled=true]{opacity:.5}.hidden{visibility:hidden}.chevron{height:1rem;width:1rem}.dayButton{aspect-ratio:1;display:flex;flex-direction:column;font-weight:400;gap:var(--ac-space-1);height:auto;line-height:1;min-width:var(--ac-cell-size);position:relative;width:100%;z-index:0;&:focus-visible,.day[data-focused=true] &{outline:3px solid color-mix(in oklch,var(--ac-ring),transparent 65%);outline-offset:-1px;z-index:1}&[data-range-end=true],&[data-range-start=true],&[data-selected-single=true]{background-color:var(--ac-foreground);color:var(--ac-background)}&[data-range-middle=true]{background-color:var(--ac-muted);border-radius:0;color:var(--ac-foreground)}&[data-range-end=true],&[data-range-start=true]{border-radius:var(--ac-radius-md)}&>span{font-size:var(--ac-text-xs);opacity:.7}}",".container {\n --ac-cell-size: var(--ac-size-default);\n background-color: var(--ac-background);\n border-radius: var(--ac-radius-lg);\n color: var(--ac-foreground);\n padding: var(--ac-space-3);\n}\n\n.calendarRoot, .container, .root {\n width: fit-content;\n}\n\n.months {\n gap: var(--ac-space-4);\n flex-direction: column;\n display: flex;\n position: relative;\n}\n\n@media (width >= 768px) {\n .months {\n flex-direction: row;\n }\n}\n\n.month {\n gap: var(--ac-space-4);\n flex-direction: column;\n}\n\n.month, .nav {\n width: 100%;\n display: flex;\n}\n\n.nav {\n align-items: center;\n gap: var(--ac-space-1);\n inset-inline: 0;\n justify-content: space-between;\n position: absolute;\n top: 0;\n}\n\n.navButton {\n height: var(--ac-cell-size);\n width: var(--ac-cell-size);\n padding: 0;\n\n &[aria-disabled=\"true\"], &[disabled] {\n opacity: .5;\n }\n}\n\n.monthCaption {\n padding-inline: var(--ac-cell-size);\n}\n\n.dropdowns, .monthCaption {\n height: var(--ac-cell-size);\n justify-content: center;\n align-items: center;\n width: 100%;\n display: flex;\n}\n\n.dropdowns {\n font-size: var(--ac-text-sm);\n gap: var(--ac-space-2);\n font-weight: 500;\n}\n\n.dropdownRoot {\n background-color: var(--ac-background);\n border: 1px solid var(--ac-border);\n border-radius: var(--ac-radius-md);\n position: relative;\n box-shadow: 0 1px 2px #0000000d;\n\n &:focus-within {\n border-color: var(--ac-ring);\n outline: 3px solid color-mix(in oklch,var(--ac-ring),transparent 65%);\n outline-offset: 0;\n }\n}\n\n.dropdown {\n opacity: 0;\n position: absolute;\n inset: 0;\n}\n\n.captionLabel {\n font-size: var(--ac-text-sm);\n -webkit-user-select: none;\n user-select: none;\n font-weight: 500;\n}\n\n.captionLabelDropdown {\n border-radius: var(--ac-radius-md);\n align-items: center;\n gap: var(--ac-space-1);\n height: 2rem;\n padding-inline: var(--ac-space-2);\n display: flex;\n}\n\n.monthGrid {\n border-collapse: collapse;\n width: 100%;\n}\n\n.weekdays {\n display: flex;\n}\n\n.weekday {\n border-radius: var(--ac-radius-md);\n color: var(--ac-muted-foreground);\n text-align: center;\n -webkit-user-select: none;\n user-select: none;\n flex: 1;\n font-size: .8rem;\n font-weight: 400;\n}\n\n.week {\n margin-top: var(--ac-space-2);\n width: 100%;\n display: flex;\n}\n\n.weekNumber, .weekNumberHeader {\n color: var(--ac-muted-foreground);\n text-align: center;\n -webkit-user-select: none;\n user-select: none;\n width: var(--ac-cell-size);\n font-size: .8rem;\n}\n\n.weekNumberCell {\n height: var(--ac-cell-size);\n text-align: center;\n width: var(--ac-cell-size);\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.day {\n text-align: center;\n -webkit-user-select: none;\n user-select: none;\n width: 100%;\n height: 100%;\n padding: 0;\n position: relative;\n}\n\n.rangeStart {\n background-color: var(--ac-muted);\n border-bottom-left-radius: var(--ac-radius-md);\n border-top-left-radius: var(--ac-radius-md);\n}\n\n.rangeMiddle {\n border-radius: 0;\n}\n\n.rangeEnd {\n border-bottom-right-radius: var(--ac-radius-md);\n border-top-right-radius: var(--ac-radius-md);\n}\n\n.rangeEnd, .today {\n background-color: var(--ac-muted);\n}\n\n.today {\n border-radius: var(--ac-radius-md);\n color: var(--ac-foreground);\n}\n\n.day[data-disabled=\"true\"], .outside {\n color: var(--ac-muted-foreground);\n}\n\n.day[data-disabled=\"true\"] {\n opacity: .5;\n}\n\n.hidden {\n visibility: hidden;\n}\n\n.chevron {\n width: 1rem;\n height: 1rem;\n}\n\n.dayButton {\n aspect-ratio: 1;\n gap: var(--ac-space-1);\n height: auto;\n min-width: var(--ac-cell-size);\n z-index: 0;\n flex-direction: column;\n width: 100%;\n font-weight: 400;\n line-height: 1;\n display: flex;\n position: relative;\n\n &:focus-visible, .day[data-focused=\"true\"] & {\n outline: 3px solid color-mix(in oklch,var(--ac-ring),transparent 65%);\n outline-offset: -1px;\n z-index: 1;\n }\n\n &[data-range-end=\"true\"], &[data-range-start=\"true\"], &[data-selected-single=\"true\"] {\n background-color: var(--ac-foreground);\n color: var(--ac-background);\n }\n\n &[data-range-middle=\"true\"] {\n background-color: var(--ac-muted);\n color: var(--ac-foreground);\n border-radius: 0;\n }\n\n &[data-range-end=\"true\"], &[data-range-start=\"true\"] {\n border-radius: var(--ac-radius-md);\n }\n\n & > span {\n font-size: var(--ac-text-xs);\n opacity: .7;\n }\n}\n"],"sourceRoot":""}
@@ -1,9 +1,9 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
- import { forwardRef } from "react";
3
2
  import { cn } from "../../lib/utilities.js";
4
3
  import card_skeleton_module from "./card-skeleton.module.js";
5
4
  import { Skeleton } from "./skeleton.js";
6
- const CardSkeleton = /*#__PURE__*/ forwardRef(({ lines = 3, className, ...props }, ref)=>/*#__PURE__*/ jsxs("div", {
5
+ import * as __rspack_external_react from "react";
6
+ const CardSkeleton = /*#__PURE__*/ __rspack_external_react.forwardRef(({ lines = 3, className, ...props }, ref)=>/*#__PURE__*/ jsxs("div", {
7
7
  ref: ref,
8
8
  className: cn(card_skeleton_module.card, className),
9
9
  ...props,
@@ -1 +1 @@
1
- {"version":3,"file":"components/ui/card-skeleton.js","sources":["../../../src/components/ui/card-skeleton.tsx"],"sourcesContent":["import * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nimport styles from \"./card-skeleton.module.css\";\r\nimport {Skeleton} from \"./skeleton\";\r\n\r\n/**\r\n * Represents the configurable props for the {@link CardSkeleton} component.\r\n *\r\n * @remarks\r\n * Extends native `<div>` attributes so card-shaped loading placeholders can be composed\r\n * in semantic regions, annotated for accessibility, and sized with custom class names.\r\n */\r\ninterface CardSkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /**\r\n * Number of body placeholder lines rendered in the card content area.\r\n *\r\n * @default 3\r\n */\r\n lines?: number;\r\n}\r\n\r\n/**\r\n * Renders a skeleton placeholder shaped like a card surface.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Server- and client-compatible presentational component.\r\n *\r\n * Mimics the visual structure of the library's card primitive with a header, stacked\r\n * content lines, and a trailing footer action placeholder to reduce layout shift while\r\n * data-backed card content is loading.\r\n *\r\n * @example\r\n * ```tsx\r\n * <CardSkeleton lines={4} aria-label=\"Loading billing summary\" />\r\n * ```\r\n *\r\n * @see {@link CardSkeletonProps} for available props\r\n */\r\nconst CardSkeleton = React.forwardRef<HTMLDivElement, CardSkeletonProps>(\r\n ({lines = 3, className, ...props}: Readonly<CardSkeletonProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n className={cn(styles.card, className)}\r\n {...props}>\r\n <div className={styles.header}>\r\n <Skeleton className={styles.title} />\r\n <Skeleton className={styles.subtitle} />\r\n </div>\r\n <div className={styles.content}>\r\n {Array.from({length: lines}, (_, index) => (\r\n <Skeleton\r\n key={index}\r\n className={cn(styles.line, index === lines - 1 && styles.lineShort)}\r\n />\r\n ))}\r\n </div>\r\n <div className={styles.footer}>\r\n <Skeleton className={styles.button} />\r\n </div>\r\n </div>\r\n ),\r\n);\r\n\r\nCardSkeleton.displayName = \"CardSkeleton\";\r\n\r\nexport {CardSkeleton};\r\nexport type {CardSkeletonProps};\r\n"],"names":["CardSkeleton","React","lines","className","props","ref","cn","styles","Skeleton","Array","_","index"],"mappings":";;;;;AAwCA,MAAMA,eAAe,WAAHA,GAAGC,WACnB,CAAC,EAACC,QAAQ,CAAC,EAAEC,SAAS,EAAE,GAAGC,OAAmC,EAAEC,MAAAA,WAAAA,GAC9D,KAAC;QACC,KAAKA;QACL,WAAWC,GAAGC,qBAAAA,IAAW,EAAEJ;QAC1B,GAAGC,KAAK;;0BACT,KAAC;gBAAI,WAAWG,qBAAAA,MAAa;;kCAC3B,IAACC,UAAQA;wBAAC,WAAWD,qBAAAA,KAAY;;kCACjC,IAACC,UAAQA;wBAAC,WAAWD,qBAAAA,QAAe;;;;0BAEtC,IAAC;gBAAI,WAAWA,qBAAAA,OAAc;0BAC3BE,MAAM,IAAI,CAAC;oBAAC,QAAQP;gBAAK,GAAG,CAACQ,GAAGC,QAAAA,WAAAA,GAC/B,IAACH,UAAQA;wBAEP,WAAWF,GAAGC,qBAAAA,IAAW,EAAEI,UAAUT,QAAQ,KAAKK,qBAAAA,SAAgB;uBAD7DI;;0BAKX,IAAC;gBAAI,WAAWJ,qBAAAA,MAAa;0BAC3B,kBAACC,UAAQA;oBAAC,WAAWD,qBAAAA,MAAa;;;;;AAM1CP,aAAa,WAAW,GAAG"}
1
+ {"version":3,"file":"components/ui/card-skeleton.js","sources":["../../../src/components/ui/card-skeleton.tsx"],"sourcesContent":["import * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nimport styles from \"./card-skeleton.module.css\";\r\nimport {Skeleton} from \"./skeleton\";\r\n\r\n/**\r\n * Represents the configurable props for the {@link CardSkeleton} component.\r\n *\r\n * @remarks\r\n * Extends native `<div>` attributes so card-shaped loading placeholders can be composed\r\n * in semantic regions, annotated for accessibility, and sized with custom class names.\r\n */\r\ninterface CardSkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /**\r\n * Number of body placeholder lines rendered in the card content area.\r\n *\r\n * @default 3\r\n */\r\n lines?: number;\r\n}\r\n\r\n/**\r\n * Renders a skeleton placeholder shaped like a card surface.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Server- and client-compatible presentational component.\r\n *\r\n * Mimics the visual structure of the library's card primitive with a header, stacked\r\n * content lines, and a trailing footer action placeholder to reduce layout shift while\r\n * data-backed card content is loading.\r\n *\r\n * @example\r\n * ```tsx\r\n * <CardSkeleton lines={4} aria-label=\"Loading billing summary\" />\r\n * ```\r\n *\r\n * @see {@link CardSkeletonProps} for available props\r\n */\r\nconst CardSkeleton = React.forwardRef<HTMLDivElement, CardSkeletonProps>(\r\n ({lines = 3, className, ...props}: Readonly<CardSkeletonProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n className={cn(styles.card, className)}\r\n {...props}>\r\n <div className={styles.header}>\r\n <Skeleton className={styles.title} />\r\n <Skeleton className={styles.subtitle} />\r\n </div>\r\n <div className={styles.content}>\r\n {Array.from({length: lines}, (_, index) => (\r\n <Skeleton\r\n key={index}\r\n className={cn(styles.line, index === lines - 1 && styles.lineShort)}\r\n />\r\n ))}\r\n </div>\r\n <div className={styles.footer}>\r\n <Skeleton className={styles.button} />\r\n </div>\r\n </div>\r\n ),\r\n);\r\n\r\nCardSkeleton.displayName = \"CardSkeleton\";\r\n\r\nexport {CardSkeleton};\r\nexport type {CardSkeletonProps};\r\n"],"names":["CardSkeleton","React","lines","className","props","ref","cn","styles","Skeleton","Array","_","index"],"mappings":";;;;;AAwCA,MAAMA,eAAe,WAAHA,GAAGC,wBAAAA,UAAgB,CACnC,CAAC,EAACC,QAAQ,CAAC,EAAEC,SAAS,EAAE,GAAGC,OAAmC,EAAEC,MAAAA,WAAAA,GAC9D,KAAC;QACC,KAAKA;QACL,WAAWC,GAAGC,qBAAAA,IAAW,EAAEJ;QAC1B,GAAGC,KAAK;;0BACT,KAAC;gBAAI,WAAWG,qBAAAA,MAAa;;kCAC3B,IAACC,UAAQA;wBAAC,WAAWD,qBAAAA,KAAY;;kCACjC,IAACC,UAAQA;wBAAC,WAAWD,qBAAAA,QAAe;;;;0BAEtC,IAAC;gBAAI,WAAWA,qBAAAA,OAAc;0BAC3BE,MAAM,IAAI,CAAC;oBAAC,QAAQP;gBAAK,GAAG,CAACQ,GAAGC,QAAAA,WAAAA,GAC/B,IAACH,UAAQA;wBAEP,WAAWF,GAAGC,qBAAAA,IAAW,EAAEI,UAAUT,QAAQ,KAAKK,qBAAAA,SAAgB;uBAD7DI;;0BAKX,IAAC;gBAAI,WAAWJ,qBAAAA,MAAa;0BAC3B,kBAACC,UAAQA;oBAAC,WAAWD,qBAAAA,MAAa;;;;;AAM1CP,aAAa,WAAW,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://./home/runner/work/arolariu.ro/arolariu.ro/packages/components/src/components/ui/card-skeleton.module.css","webpack://./src/components/ui/card-skeleton.module.css"],"names":[],"mappings":"AADA;ECEE,kCAAkC;EAClC,kCAAkC;EAClC,sBAAsB;EACtB,0BAA0B;AAC5B;;AAEA;EACE,sBAAsB;EACtB,aAAa;AACf;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,UAAU;EACV,eAAe;AACjB;;AAEA;EACE,UAAU;EACV,eAAe;AACjB;;AAEA;EACE,sBAAsB;EACtB,sBAAsB;EACtB,aAAa;AACf;;AAEA;EACE,WAAW;EACX,eAAe;AACjB;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,yBAAyB;EACzB,aAAa;AACf;;AAEA;EACE,kCAAkC;EAClC,WAAW;EACX,eAAe;AACjB","sourcesContent":[".card{border:1px solid var(--ac-border);border-radius:var(--ac-radius-lg);gap:var(--ac-space-4);padding:var(--ac-space-6)}.card,.header{display:flex;flex-direction:column}.header{gap:var(--ac-space-2)}.title{height:1.25rem;width:60%}.subtitle{height:.875rem;width:40%}.content{display:flex;flex-direction:column;gap:var(--ac-space-2)}.line{height:.875rem;width:100%}.lineShort{width:75%}.footer{display:flex;justify-content:flex-end}.button{border-radius:var(--ac-radius-md);height:2.25rem;width:6rem}",".card {\n border: 1px solid var(--ac-border);\n border-radius: var(--ac-radius-lg);\n gap: var(--ac-space-4);\n padding: var(--ac-space-6);\n}\n\n.card, .header {\n flex-direction: column;\n display: flex;\n}\n\n.header {\n gap: var(--ac-space-2);\n}\n\n.title {\n width: 60%;\n height: 1.25rem;\n}\n\n.subtitle {\n width: 40%;\n height: .875rem;\n}\n\n.content {\n gap: var(--ac-space-2);\n flex-direction: column;\n display: flex;\n}\n\n.line {\n width: 100%;\n height: .875rem;\n}\n\n.lineShort {\n width: 75%;\n}\n\n.footer {\n justify-content: flex-end;\n display: flex;\n}\n\n.button {\n border-radius: var(--ac-radius-md);\n width: 6rem;\n height: 2.25rem;\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://./../../node_modules/@rslib/core/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[1].oneOf[2].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[1].oneOf[2].use[2]!/home/runner/work/arolariu.ro/arolariu.ro/node_modules/@rslib/core/node_modules/@rsbuild/core/compiled/postcss-loader/index.js??ruleSet[1].rules[1].oneOf[2].use[3]!/home/runner/work/arolariu.ro/arolariu.ro/packages/components/src/components/ui/card-skeleton.module.css","webpack://./src/components/ui/card-skeleton.module.css"],"names":[],"mappings":"AAAA;ECCE,kCAAkC;EAClC,kCAAkC;EAClC,sBAAsB;EACtB,0BAA0B;AAC5B;;ADL0H;ECQxH,sBAAsB;EACtB,aAAa;AACf;;ADV2K;ECazK,sBAAsB;AACxB;;ADdyM;ECiBvM,UAAU;EACV,eAAe;AACjB;;ADnByO;ECsBvO,UAAU;EACV,eAAe;AACjB;;ADxB4Q;EC2B1Q,sBAAsB;EACtB,sBAAsB;EACtB,aAAa;AACf;;AD9B8U;ECiC5U,WAAW;EACX,eAAe;AACjB;;ADnC8W;ECsC5W,UAAU;AACZ;;ADvCmY;EC0CjY,yBAAyB;EACzB,aAAa;AACf;;AD5Cib;EC+C/a,kCAAkC;EAClC,WAAW;EACX,eAAe;AACjB","sourcesContent":[".card{border:1px solid var(--ac-border);border-radius:var(--ac-radius-lg);gap:var(--ac-space-4);padding:var(--ac-space-6)}.card,.header{display:flex;flex-direction:column}.header{gap:var(--ac-space-2)}.title{height:1.25rem;width:60%}.subtitle{height:.875rem;width:40%}.content{display:flex;flex-direction:column;gap:var(--ac-space-2)}.line{height:.875rem;width:100%}.lineShort{width:75%}.footer{display:flex;justify-content:flex-end}.button{border-radius:var(--ac-radius-md);height:2.25rem;width:6rem}",".card {\n border: 1px solid var(--ac-border);\n border-radius: var(--ac-radius-lg);\n gap: var(--ac-space-4);\n padding: var(--ac-space-6);\n}\n\n.card, .header {\n flex-direction: column;\n display: flex;\n}\n\n.header {\n gap: var(--ac-space-2);\n}\n\n.title {\n width: 60%;\n height: 1.25rem;\n}\n\n.subtitle {\n width: 40%;\n height: .875rem;\n}\n\n.content {\n gap: var(--ac-space-2);\n flex-direction: column;\n display: flex;\n}\n\n.line {\n width: 100%;\n height: .875rem;\n}\n\n.lineShort {\n width: 75%;\n}\n\n.footer {\n justify-content: flex-end;\n display: flex;\n}\n\n.button {\n border-radius: var(--ac-radius-md);\n width: 6rem;\n height: 2.25rem;\n}\n"],"sourceRoot":""}
@@ -1,44 +1,44 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { forwardRef } from "react";
3
2
  import { cn } from "../../lib/utilities.js";
4
3
  import card_module from "./card.module.js";
5
- const Card = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
4
+ import * as __rspack_external_react from "react";
5
+ const Card = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
6
6
  ref: ref,
7
7
  className: cn(card_module.card, className),
8
8
  ...props
9
9
  }));
10
10
  Card.displayName = "Card";
11
- const CardHeader = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
11
+ const CardHeader = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
12
12
  ref: ref,
13
13
  className: cn(card_module.header, className),
14
14
  ...props
15
15
  }));
16
16
  CardHeader.displayName = "CardHeader";
17
- const CardTitle = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
17
+ const CardTitle = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
18
18
  ref: ref,
19
19
  className: cn(card_module.title, className),
20
20
  ...props
21
21
  }));
22
22
  CardTitle.displayName = "CardTitle";
23
- const CardDescription = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
23
+ const CardDescription = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
24
24
  ref: ref,
25
25
  className: cn(card_module.description, className),
26
26
  ...props
27
27
  }));
28
28
  CardDescription.displayName = "CardDescription";
29
- const CardAction = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
29
+ const CardAction = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
30
30
  ref: ref,
31
31
  className: cn(card_module.action, className),
32
32
  ...props
33
33
  }));
34
34
  CardAction.displayName = "CardAction";
35
- const CardContent = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
35
+ const CardContent = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
36
36
  ref: ref,
37
37
  className: cn(card_module.content, className),
38
38
  ...props
39
39
  }));
40
40
  CardContent.displayName = "CardContent";
41
- const CardFooter = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
41
+ const CardFooter = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
42
42
  ref: ref,
43
43
  className: cn(card_module.footer, className),
44
44
  ...props