@arolariu/components 1.1.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 (325) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/components/ui/accordion.js +3 -3
  3. package/dist/components/ui/accordion.js.map +1 -1
  4. package/dist/components/ui/accordion_module.css.map +1 -1
  5. package/dist/components/ui/alert-dialog.js +8 -8
  6. package/dist/components/ui/alert-dialog.js.map +1 -1
  7. package/dist/components/ui/alert-dialog_module.css +1 -1
  8. package/dist/components/ui/alert-dialog_module.css.map +1 -1
  9. package/dist/components/ui/alert.js +4 -4
  10. package/dist/components/ui/alert.js.map +1 -1
  11. package/dist/components/ui/alert_module.css.map +1 -1
  12. package/dist/components/ui/aspect-ratio.js +2 -2
  13. package/dist/components/ui/aspect-ratio.js.map +1 -1
  14. package/dist/components/ui/aspect-ratio_module.css.map +1 -1
  15. package/dist/components/ui/async-boundary.js +2 -2
  16. package/dist/components/ui/async-boundary.js.map +1 -1
  17. package/dist/components/ui/avatar.js +4 -4
  18. package/dist/components/ui/avatar.js.map +1 -1
  19. package/dist/components/ui/avatar_module.css.map +1 -1
  20. package/dist/components/ui/background-beams.js +3 -3
  21. package/dist/components/ui/background-beams.js.map +1 -1
  22. package/dist/components/ui/background-beams_module.css.map +1 -1
  23. package/dist/components/ui/badge.js +2 -2
  24. package/dist/components/ui/badge.js.map +1 -1
  25. package/dist/components/ui/badge_module.css.map +1 -1
  26. package/dist/components/ui/breadcrumb.js +10 -10
  27. package/dist/components/ui/breadcrumb.js.map +1 -1
  28. package/dist/components/ui/breadcrumb_module.css.map +1 -1
  29. package/dist/components/ui/bubble-background.js +5 -5
  30. package/dist/components/ui/bubble-background.js.map +1 -1
  31. package/dist/components/ui/bubble-background_module.css.map +1 -1
  32. package/dist/components/ui/button-group.js +6 -6
  33. package/dist/components/ui/button-group.js.map +1 -1
  34. package/dist/components/ui/button-group_module.css.map +1 -1
  35. package/dist/components/ui/button.js +4 -4
  36. package/dist/components/ui/button.js.map +1 -1
  37. package/dist/components/ui/button_module.css.map +1 -1
  38. package/dist/components/ui/calendar.d.ts +2 -1
  39. package/dist/components/ui/calendar.d.ts.map +1 -1
  40. package/dist/components/ui/calendar.js +4 -4
  41. package/dist/components/ui/calendar.js.map +1 -1
  42. package/dist/components/ui/calendar_module.css.map +1 -1
  43. package/dist/components/ui/card-skeleton.js +2 -2
  44. package/dist/components/ui/card-skeleton.js.map +1 -1
  45. package/dist/components/ui/card-skeleton_module.css.map +1 -1
  46. package/dist/components/ui/card.js +8 -8
  47. package/dist/components/ui/card.js.map +1 -1
  48. package/dist/components/ui/card_module.css.map +1 -1
  49. package/dist/components/ui/carousel.js +16 -16
  50. package/dist/components/ui/carousel.js.map +1 -1
  51. package/dist/components/ui/carousel_module.css +1 -1
  52. package/dist/components/ui/carousel_module.css.map +1 -1
  53. package/dist/components/ui/chart.d.ts +6 -3
  54. package/dist/components/ui/chart.d.ts.map +1 -1
  55. package/dist/components/ui/chart.js +70 -136
  56. package/dist/components/ui/chart.js.map +1 -1
  57. package/dist/components/ui/chart_module.css.map +1 -1
  58. package/dist/components/ui/checkbox-group.js +2 -2
  59. package/dist/components/ui/checkbox-group.js.map +1 -1
  60. package/dist/components/ui/checkbox-group_module.css.map +1 -1
  61. package/dist/components/ui/checkbox.js +2 -2
  62. package/dist/components/ui/checkbox.js.map +1 -1
  63. package/dist/components/ui/checkbox_module.css.map +1 -1
  64. package/dist/components/ui/collapsible.js +4 -4
  65. package/dist/components/ui/collapsible.js.map +1 -1
  66. package/dist/components/ui/collapsible_module.css.map +1 -1
  67. package/dist/components/ui/combobox.js +13 -13
  68. package/dist/components/ui/combobox.js.map +1 -1
  69. package/dist/components/ui/combobox_module.css.map +1 -1
  70. package/dist/components/ui/command.js +40 -40
  71. package/dist/components/ui/command.js.map +1 -1
  72. package/dist/components/ui/command_module.css +1 -1
  73. package/dist/components/ui/command_module.css.map +1 -1
  74. package/dist/components/ui/context-menu.js +6 -6
  75. package/dist/components/ui/context-menu.js.map +1 -1
  76. package/dist/components/ui/context-menu_module.css.map +1 -1
  77. package/dist/components/ui/copy-button.js +6 -6
  78. package/dist/components/ui/copy-button.js.map +1 -1
  79. package/dist/components/ui/copy-button_module.css.map +1 -1
  80. package/dist/components/ui/counting-number.js +6 -6
  81. package/dist/components/ui/counting-number.js.map +1 -1
  82. package/dist/components/ui/counting-number_module.css.map +1 -1
  83. package/dist/components/ui/dialog.js +6 -6
  84. package/dist/components/ui/dialog.js.map +1 -1
  85. package/dist/components/ui/dialog_module.css +1 -1
  86. package/dist/components/ui/dialog_module.css.map +1 -1
  87. package/dist/components/ui/dot-background_module.css.map +1 -1
  88. package/dist/components/ui/drawer.js +5 -5
  89. package/dist/components/ui/drawer.js.map +1 -1
  90. package/dist/components/ui/drawer_module.css.map +1 -1
  91. package/dist/components/ui/dropdown-menu.js +6 -6
  92. package/dist/components/ui/dropdown-menu.js.map +1 -1
  93. package/dist/components/ui/dropdown-menu_module.css.map +1 -1
  94. package/dist/components/ui/dropdrawer.js +52 -52
  95. package/dist/components/ui/dropdrawer.js.map +1 -1
  96. package/dist/components/ui/dropdrawer_module.css.map +1 -1
  97. package/dist/components/ui/empty.js +7 -7
  98. package/dist/components/ui/empty.js.map +1 -1
  99. package/dist/components/ui/empty_module.css.map +1 -1
  100. package/dist/components/ui/error-boundary.js +2 -2
  101. package/dist/components/ui/error-boundary.js.map +1 -1
  102. package/dist/components/ui/error-boundary_module.css.map +1 -1
  103. package/dist/components/ui/field.js +12 -12
  104. package/dist/components/ui/field.js.map +1 -1
  105. package/dist/components/ui/field_module.css.map +1 -1
  106. package/dist/components/ui/fireworks-background.js +6 -6
  107. package/dist/components/ui/fireworks-background.js.map +1 -1
  108. package/dist/components/ui/fireworks-background_module.css.map +1 -1
  109. package/dist/components/ui/flip-button.js +5 -5
  110. package/dist/components/ui/flip-button.js.map +1 -1
  111. package/dist/components/ui/flip-button_module.css.map +1 -1
  112. package/dist/components/ui/focus-scope.js +6 -6
  113. package/dist/components/ui/focus-scope.js.map +1 -1
  114. package/dist/components/ui/focus-scope_module.css.map +1 -1
  115. package/dist/components/ui/form-skeleton.js +2 -2
  116. package/dist/components/ui/form-skeleton.js.map +1 -1
  117. package/dist/components/ui/form-skeleton_module.css.map +1 -1
  118. package/dist/components/ui/form.d.ts +3 -3
  119. package/dist/components/ui/form.d.ts.map +1 -1
  120. package/dist/components/ui/form.js +13 -13
  121. package/dist/components/ui/form.js.map +1 -1
  122. package/dist/components/ui/form_module.css.map +1 -1
  123. package/dist/components/ui/gradient-background.js +2 -2
  124. package/dist/components/ui/gradient-background.js.map +1 -1
  125. package/dist/components/ui/gradient-background_module.css.map +1 -1
  126. package/dist/components/ui/gradient-text.js +2 -2
  127. package/dist/components/ui/gradient-text.js.map +1 -1
  128. package/dist/components/ui/gradient-text_module.css.map +1 -1
  129. package/dist/components/ui/highlight-text.js +4 -4
  130. package/dist/components/ui/highlight-text.js.map +1 -1
  131. package/dist/components/ui/highlight-text_module.css.map +1 -1
  132. package/dist/components/ui/hole-background.js +21 -21
  133. package/dist/components/ui/hole-background.js.map +1 -1
  134. package/dist/components/ui/hole-background_module.css.map +1 -1
  135. package/dist/components/ui/hover-card.js +3 -3
  136. package/dist/components/ui/hover-card.js.map +1 -1
  137. package/dist/components/ui/hover-card_module.css.map +1 -1
  138. package/dist/components/ui/input-group.js +7 -7
  139. package/dist/components/ui/input-group.js.map +1 -1
  140. package/dist/components/ui/input-group_module.css.map +1 -1
  141. package/dist/components/ui/input-otp.d.ts +3 -3
  142. package/dist/components/ui/input-otp.d.ts.map +1 -1
  143. package/dist/components/ui/input-otp.js +6 -6
  144. package/dist/components/ui/input-otp.js.map +1 -1
  145. package/dist/components/ui/input-otp_module.css.map +1 -1
  146. package/dist/components/ui/input.js +2 -2
  147. package/dist/components/ui/input.js.map +1 -1
  148. package/dist/components/ui/input_module.css.map +1 -1
  149. package/dist/components/ui/item.js +13 -13
  150. package/dist/components/ui/item.js.map +1 -1
  151. package/dist/components/ui/item_module.css.map +1 -1
  152. package/dist/components/ui/kbd.js +3 -3
  153. package/dist/components/ui/kbd.js.map +1 -1
  154. package/dist/components/ui/kbd_module.css.map +1 -1
  155. package/dist/components/ui/label.js +2 -2
  156. package/dist/components/ui/label.js.map +1 -1
  157. package/dist/components/ui/label_module.css.map +1 -1
  158. package/dist/components/ui/list-skeleton.js +2 -2
  159. package/dist/components/ui/list-skeleton.js.map +1 -1
  160. package/dist/components/ui/list-skeleton_module.css.map +1 -1
  161. package/dist/components/ui/loading-overlay.js +2 -2
  162. package/dist/components/ui/loading-overlay.js.map +1 -1
  163. package/dist/components/ui/loading-overlay_module.css.map +1 -1
  164. package/dist/components/ui/menubar.js +4 -4
  165. package/dist/components/ui/menubar.js.map +1 -1
  166. package/dist/components/ui/menubar_module.css.map +1 -1
  167. package/dist/components/ui/meter.js +5 -5
  168. package/dist/components/ui/meter.js.map +1 -1
  169. package/dist/components/ui/meter_module.css.map +1 -1
  170. package/dist/components/ui/navigation-menu.js +5 -5
  171. package/dist/components/ui/navigation-menu.js.map +1 -1
  172. package/dist/components/ui/navigation-menu_module.css +1 -1
  173. package/dist/components/ui/navigation-menu_module.css.map +1 -1
  174. package/dist/components/ui/number-field.js +3 -3
  175. package/dist/components/ui/number-field.js.map +1 -1
  176. package/dist/components/ui/number-field_module.css.map +1 -1
  177. package/dist/components/ui/pagination.js +8 -8
  178. package/dist/components/ui/pagination.js.map +1 -1
  179. package/dist/components/ui/pagination_module.css.map +1 -1
  180. package/dist/components/ui/popover.js +5 -5
  181. package/dist/components/ui/popover.js.map +1 -1
  182. package/dist/components/ui/popover_module.css.map +1 -1
  183. package/dist/components/ui/progress.js +2 -2
  184. package/dist/components/ui/progress.js.map +1 -1
  185. package/dist/components/ui/progress_module.css.map +1 -1
  186. package/dist/components/ui/radio-group.js +3 -3
  187. package/dist/components/ui/radio-group.js.map +1 -1
  188. package/dist/components/ui/radio-group_module.css.map +1 -1
  189. package/dist/components/ui/resizable.d.ts +13 -29
  190. package/dist/components/ui/resizable.d.ts.map +1 -1
  191. package/dist/components/ui/resizable.js +8 -7
  192. package/dist/components/ui/resizable.js.map +1 -1
  193. package/dist/components/ui/resizable_module.css.map +1 -1
  194. package/dist/components/ui/ripple-button.js +9 -9
  195. package/dist/components/ui/ripple-button.js.map +1 -1
  196. package/dist/components/ui/ripple-button_module.css.map +1 -1
  197. package/dist/components/ui/scratcher_module.css.map +1 -1
  198. package/dist/components/ui/scroll-area.js +2 -2
  199. package/dist/components/ui/scroll-area.js.map +1 -1
  200. package/dist/components/ui/scroll-area_module.css.map +1 -1
  201. package/dist/components/ui/select.js +4 -4
  202. package/dist/components/ui/select.js.map +1 -1
  203. package/dist/components/ui/select_module.css.map +1 -1
  204. package/dist/components/ui/separator.js +2 -2
  205. package/dist/components/ui/separator.js.map +1 -1
  206. package/dist/components/ui/separator_module.css.map +1 -1
  207. package/dist/components/ui/sheet.js +6 -6
  208. package/dist/components/ui/sheet.js.map +1 -1
  209. package/dist/components/ui/sheet_module.css.map +1 -1
  210. package/dist/components/ui/sidebar.js +36 -36
  211. package/dist/components/ui/sidebar.js.map +1 -1
  212. package/dist/components/ui/sidebar_module.css.map +1 -1
  213. package/dist/components/ui/skeleton.js +2 -2
  214. package/dist/components/ui/skeleton.js.map +1 -1
  215. package/dist/components/ui/skeleton_module.css.map +1 -1
  216. package/dist/components/ui/slider.js +2 -2
  217. package/dist/components/ui/slider.js.map +1 -1
  218. package/dist/components/ui/slider_module.css.map +1 -1
  219. package/dist/components/ui/spinner.js +2 -2
  220. package/dist/components/ui/spinner.js.map +1 -1
  221. package/dist/components/ui/spinner_module.css.map +1 -1
  222. package/dist/components/ui/stepper.js +2 -2
  223. package/dist/components/ui/stepper.js.map +1 -1
  224. package/dist/components/ui/stepper_module.css.map +1 -1
  225. package/dist/components/ui/switch.js +2 -2
  226. package/dist/components/ui/switch.js.map +1 -1
  227. package/dist/components/ui/switch_module.css.map +1 -1
  228. package/dist/components/ui/table-skeleton.js +2 -2
  229. package/dist/components/ui/table-skeleton.js.map +1 -1
  230. package/dist/components/ui/table-skeleton_module.css.map +1 -1
  231. package/dist/components/ui/table.js +9 -9
  232. package/dist/components/ui/table.js.map +1 -1
  233. package/dist/components/ui/table_module.css.map +1 -1
  234. package/dist/components/ui/tabs.js +3 -3
  235. package/dist/components/ui/tabs.js.map +1 -1
  236. package/dist/components/ui/tabs_module.css.map +1 -1
  237. package/dist/components/ui/textarea.js +2 -2
  238. package/dist/components/ui/textarea.js.map +1 -1
  239. package/dist/components/ui/textarea_module.css.map +1 -1
  240. package/dist/components/ui/timeline.js +5 -5
  241. package/dist/components/ui/timeline.js.map +1 -1
  242. package/dist/components/ui/timeline_module.css.map +1 -1
  243. package/dist/components/ui/{sonner.d.ts → toast.d.ts} +10 -2
  244. package/dist/components/ui/toast.d.ts.map +1 -0
  245. package/dist/components/ui/{sonner.js → toast.js} +40 -40
  246. package/dist/components/ui/toast.js.map +1 -0
  247. package/dist/components/ui/toast.module.js +34 -0
  248. package/dist/components/ui/toast.module.js.map +1 -0
  249. package/dist/components/ui/{sonner_module.css → toast_module.css} +35 -35
  250. package/dist/components/ui/toast_module.css.map +1 -0
  251. package/dist/components/ui/toggle-group.js +5 -5
  252. package/dist/components/ui/toggle-group.js.map +1 -1
  253. package/dist/components/ui/toggle-group_module.css.map +1 -1
  254. package/dist/components/ui/toggle.js +2 -2
  255. package/dist/components/ui/toggle.js.map +1 -1
  256. package/dist/components/ui/toggle_module.css.map +1 -1
  257. package/dist/components/ui/toolbar.js +6 -6
  258. package/dist/components/ui/toolbar.js.map +1 -1
  259. package/dist/components/ui/toolbar_module.css.map +1 -1
  260. package/dist/components/ui/tooltip.js +4 -4
  261. package/dist/components/ui/tooltip.js.map +1 -1
  262. package/dist/components/ui/tooltip_module.css.map +1 -1
  263. package/dist/components/ui/typewriter.js +4 -4
  264. package/dist/components/ui/typewriter.js.map +1 -1
  265. package/dist/components/ui/typewriter_module.css.map +1 -1
  266. package/dist/components/ui/visually-hidden.js +2 -2
  267. package/dist/components/ui/visually-hidden.js.map +1 -1
  268. package/dist/components/ui/visually-hidden_module.css.map +1 -1
  269. package/dist/hooks/useAnnounce.js +5 -5
  270. package/dist/hooks/useAnnounce.js.map +1 -1
  271. package/dist/hooks/useClipboard.js +6 -6
  272. package/dist/hooks/useClipboard.js.map +1 -1
  273. package/dist/hooks/useControllableState.js +3 -3
  274. package/dist/hooks/useControllableState.js.map +1 -1
  275. package/dist/hooks/useDebounce.js +3 -3
  276. package/dist/hooks/useDebounce.js.map +1 -1
  277. package/dist/hooks/useEventCallback.js +4 -4
  278. package/dist/hooks/useEventCallback.js.map +1 -1
  279. package/dist/hooks/useFocusManager.js +6 -6
  280. package/dist/hooks/useFocusManager.js.map +1 -1
  281. package/dist/hooks/useFocusVisible.js +5 -5
  282. package/dist/hooks/useFocusVisible.js.map +1 -1
  283. package/dist/hooks/useId.js +4 -4
  284. package/dist/hooks/useId.js.map +1 -1
  285. package/dist/hooks/useIntersectionObserver.js +3 -3
  286. package/dist/hooks/useIntersectionObserver.js.map +1 -1
  287. package/dist/hooks/useInterval.js +4 -4
  288. package/dist/hooks/useInterval.js.map +1 -1
  289. package/dist/hooks/useLocalStorage.js +4 -4
  290. package/dist/hooks/useLocalStorage.js.map +1 -1
  291. package/dist/hooks/useMediaQuery.js +3 -3
  292. package/dist/hooks/useMediaQuery.js.map +1 -1
  293. package/dist/hooks/useMergedRefs.js +2 -2
  294. package/dist/hooks/useMergedRefs.js.map +1 -1
  295. package/dist/hooks/useOnClickOutside.js +2 -2
  296. package/dist/hooks/useOnClickOutside.js.map +1 -1
  297. package/dist/hooks/usePrevious.js +3 -3
  298. package/dist/hooks/usePrevious.js.map +1 -1
  299. package/dist/hooks/useThrottle.js +7 -7
  300. package/dist/hooks/useThrottle.js.map +1 -1
  301. package/dist/hooks/useTimeout.js +4 -4
  302. package/dist/hooks/useTimeout.js.map +1 -1
  303. package/dist/index.css.map +1 -1
  304. package/dist/index.d.ts +3 -3
  305. package/dist/index.d.ts.map +1 -1
  306. package/dist/index.js +1 -1
  307. package/dist/motion/Collapse.js +2 -2
  308. package/dist/motion/Collapse.js.map +1 -1
  309. package/dist/motion/Collapse_module.css.map +1 -1
  310. package/package.json +7 -8
  311. package/src/components/ui/calendar.tsx +2 -1
  312. package/src/components/ui/chart.tsx +2 -2
  313. package/src/components/ui/form.tsx +28 -3
  314. package/src/components/ui/input-otp.tsx +3 -3
  315. package/src/components/ui/resizable.tsx +15 -18
  316. package/src/components/ui/{sonner.module.css → toast.module.css} +1 -1
  317. package/src/components/ui/{sonner.tsx → toast.tsx} +2 -2
  318. package/src/index.ts +4 -4
  319. package/dist/components/ui/sonner.d.ts.map +0 -1
  320. package/dist/components/ui/sonner.js.map +0 -1
  321. package/dist/components/ui/sonner.module.js +0 -34
  322. package/dist/components/ui/sonner.module.js.map +0 -1
  323. package/dist/components/ui/sonner_module.css.map +0 -1
  324. package/dist/rslib-runtime.js +0 -39
  325. package/dist/rslib-runtime.js.map +0 -1
@@ -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
  /**
@@ -34,7 +35,7 @@ type CalendarProps = React.ComponentProps<typeof DayPicker> & {
34
35
  * @see {@link https://daypicker.dev | React Day Picker Docs}
35
36
  */
36
37
  declare const Calendar: React.ForwardRefExoticComponent<CalendarProps & React.RefAttributes<HTMLDivElement>>;
37
- export type { DateRange, DayPickerProps, Matcher } from "react-day-picker";
38
+ export type { DateRange, DayPickerProps, Matcher };
38
39
  export { Calendar };
39
40
  export type { CalendarProps };
40
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,QAAA,MAAM,QAAQ,sFAmGZ,CAAC;AAuCH,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 { forwardRef, 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,7 +15,7 @@ const calendarButtonVariantStyles = {
15
15
  outline: button_module.outline,
16
16
  secondary: button_module.secondary
17
17
  };
18
- const calendar_Calendar = /*#__PURE__*/ forwardRef(function({ className, classNames, showOutsideDays = true, captionLayout = "label", buttonVariant = "ghost", formatters, components, ...props }, forwardedRef) {
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),
@@ -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
@@ -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\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} from \"react-day-picker\";\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
+ {"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
@@ -1 +1 @@
1
- {"version":3,"file":"components/ui/card.js","sources":["../../../src/components/ui/card.tsx"],"sourcesContent":["import * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./card.module.css\";\r\n\r\n/**\r\n * Represents the shared styling props supported by the Card root container.\r\n *\r\n * @remarks\r\n * Extends native `<div>` attributes so cards can participate in semantic layouts,\r\n * landmarks, and custom event handling while exposing a documented class override.\r\n */\r\ninterface CardProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /**\r\n * Additional CSS classes merged with the default card surface styles.\r\n */\r\n className?: string;\r\n}\r\n\r\n/**\r\n * Represents the shared styling props supported by card layout sections.\r\n *\r\n * @remarks\r\n * Use these props for presentational card regions such as headers, content blocks,\r\n * action rows, and footers. All standard `<div>` attributes continue to work.\r\n */\r\ninterface CardSectionProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /**\r\n * Additional CSS classes merged with the section's default spacing styles.\r\n */\r\n className?: string;\r\n}\r\n\r\n/**\r\n * A card container for grouping related content into a bordered surface.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Server- and client-compatible presentational component.\r\n *\r\n * Renders a styled `<div>` with the library's card border, background, and shadow.\r\n * Compose it with {@link CardHeader}, {@link CardContent}, and {@link CardFooter}\r\n * to create structured panels without depending on a Base UI primitive.\r\n *\r\n * @example\r\n * ```tsx\r\n * <Card>\r\n * <CardHeader>\r\n * <CardTitle>Team activity</CardTitle>\r\n * <CardDescription>Latest changes across your workspace.</CardDescription>\r\n * </CardHeader>\r\n * <CardContent>{children}</CardContent>\r\n * <CardFooter>Updated 2 minutes ago</CardFooter>\r\n * </Card>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/overview Base UI documentation}\r\n */\r\nconst Card = React.forwardRef<HTMLDivElement, CardProps>(({className, ...props}, ref) => (\r\n <div\r\n ref={ref}\r\n className={cn(styles.card, className)}\r\n {...props}\r\n />\r\n));\r\nCard.displayName = \"Card\";\r\n\r\n/**\r\n * A header region for card titles, descriptions, and top-level actions.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Server- and client-compatible presentational component.\r\n *\r\n * Renders a `<div>` with vertical spacing tuned for leading card content.\r\n * Place {@link CardTitle}, {@link CardDescription}, and optional controls inside it.\r\n *\r\n * @example\r\n * ```tsx\r\n * <CardHeader>\r\n * <CardTitle>Revenue</CardTitle>\r\n * <CardDescription>Monthly recurring revenue overview.</CardDescription>\r\n * </CardHeader>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/overview Base UI documentation}\r\n */\r\nconst CardHeader = React.forwardRef<HTMLDivElement, CardSectionProps>(({className, ...props}, ref) => (\r\n <div\r\n ref={ref}\r\n className={cn(styles.header, className)}\r\n {...props}\r\n />\r\n));\r\nCardHeader.displayName = \"CardHeader\";\r\n\r\n/**\r\n * A prominent title slot for the primary heading inside a card.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Server- and client-compatible presentational component.\r\n *\r\n * Renders a styled `<div>` for visual hierarchy. Provide semantic heading elements\r\n * inside it when the surrounding document outline requires explicit heading levels.\r\n *\r\n * @example\r\n * ```tsx\r\n * <CardTitle>Security overview</CardTitle>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/overview Base UI documentation}\r\n */\r\nconst CardTitle = React.forwardRef<HTMLDivElement, CardSectionProps>(({className, ...props}, ref) => (\r\n <div\r\n ref={ref}\r\n className={cn(styles.title, className)}\r\n {...props}\r\n />\r\n));\r\nCardTitle.displayName = \"CardTitle\";\r\n\r\n/**\r\n * A muted text block for supporting information beneath a card title.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Server- and client-compatible presentational component.\r\n *\r\n * Renders a styled `<div>` intended for secondary copy, helper messaging, or status\r\n * summaries that contextualize the main card heading.\r\n *\r\n * @example\r\n * ```tsx\r\n * <CardDescription>Track response times and alert volume in one place.</CardDescription>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/overview Base UI documentation}\r\n */\r\nconst CardDescription = React.forwardRef<HTMLDivElement, CardSectionProps>(({className, ...props}, ref) => (\r\n <div\r\n ref={ref}\r\n className={cn(styles.description, className)}\r\n {...props}\r\n />\r\n));\r\nCardDescription.displayName = \"CardDescription\";\r\n\r\n/**\r\n * A compact action slot aligned alongside card header content.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Server- and client-compatible presentational component.\r\n *\r\n * Renders a `<div>` positioned for buttons, menus, or status badges that should sit\r\n * at the top edge of the card without disturbing header spacing.\r\n *\r\n * @example\r\n * ```tsx\r\n * <CardAction>\r\n * <Button size=\"sm\">Manage</Button>\r\n * </CardAction>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/overview Base UI documentation}\r\n */\r\nconst CardAction = React.forwardRef<HTMLDivElement, CardSectionProps>(({className, ...props}, ref) => (\r\n <div\r\n ref={ref}\r\n className={cn(styles.action, className)}\r\n {...props}\r\n />\r\n));\r\nCardAction.displayName = \"CardAction\";\r\n\r\n/**\r\n * The main content region for card body content.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Server- and client-compatible presentational component.\r\n *\r\n * Renders a `<div>` with interior spacing optimized for text, forms, charts, or any\r\n * other primary card content placed between the header and footer.\r\n *\r\n * @example\r\n * ```tsx\r\n * <CardContent>\r\n * <p>Your subscription renews on March 31.</p>\r\n * </CardContent>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/overview Base UI documentation}\r\n */\r\nconst CardContent = React.forwardRef<HTMLDivElement, CardSectionProps>(({className, ...props}, ref) => (\r\n <div\r\n ref={ref}\r\n className={cn(styles.content, className)}\r\n {...props}\r\n />\r\n));\r\nCardContent.displayName = \"CardContent\";\r\n\r\n/**\r\n * A footer region for actions, summaries, or secondary metadata.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Server- and client-compatible presentational component.\r\n *\r\n * Renders a flex-enabled `<div>` that sits at the bottom of the card and is commonly\r\n * used for buttons, timestamps, totals, or other closing UI elements.\r\n *\r\n * @example\r\n * ```tsx\r\n * <CardFooter>\r\n * <Button>Save changes</Button>\r\n * </CardFooter>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/overview Base UI documentation}\r\n */\r\nconst CardFooter = React.forwardRef<HTMLDivElement, CardSectionProps>(({className, ...props}, ref) => (\r\n <div\r\n ref={ref}\r\n className={cn(styles.footer, className)}\r\n {...props}\r\n />\r\n));\r\nCardFooter.displayName = \"CardFooter\";\r\n\r\nexport {Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle};\r\n"],"names":["Card","React","className","props","ref","cn","styles","CardHeader","CardTitle","CardDescription","CardAction","CardContent","CardFooter"],"mappings":";;;;AAyDA,MAAMA,OAAO,WAAHA,GAAGC,WAA4C,CAAC,EAACC,SAAS,EAAE,GAAGC,OAAM,EAAEC,MAAAA,WAAAA,GAC/E,IAAC;QACC,KAAKA;QACL,WAAWC,GAAGC,YAAAA,IAAW,EAAEJ;QAC1B,GAAGC,KAAK;;AAGbH,KAAK,WAAW,GAAG;AAqBnB,MAAMO,aAAa,WAAHA,GAAGN,WAAmD,CAAC,EAACC,SAAS,EAAE,GAAGC,OAAM,EAAEC,MAAAA,WAAAA,GAC5F,IAAC;QACC,KAAKA;QACL,WAAWC,GAAGC,YAAAA,MAAa,EAAEJ;QAC5B,GAAGC,KAAK;;AAGbI,WAAW,WAAW,GAAG;AAkBzB,MAAMC,YAAY,WAAHA,GAAGP,WAAmD,CAAC,EAACC,SAAS,EAAE,GAAGC,OAAM,EAAEC,MAAAA,WAAAA,GAC3F,IAAC;QACC,KAAKA;QACL,WAAWC,GAAGC,YAAAA,KAAY,EAAEJ;QAC3B,GAAGC,KAAK;;AAGbK,UAAU,WAAW,GAAG;AAkBxB,MAAMC,kBAAkB,WAAHA,GAAGR,WAAmD,CAAC,EAACC,SAAS,EAAE,GAAGC,OAAM,EAAEC,MAAAA,WAAAA,GACjG,IAAC;QACC,KAAKA;QACL,WAAWC,GAAGC,YAAAA,WAAkB,EAAEJ;QACjC,GAAGC,KAAK;;AAGbM,gBAAgB,WAAW,GAAG;AAoB9B,MAAMC,aAAa,WAAHA,GAAGT,WAAmD,CAAC,EAACC,SAAS,EAAE,GAAGC,OAAM,EAAEC,MAAAA,WAAAA,GAC5F,IAAC;QACC,KAAKA;QACL,WAAWC,GAAGC,YAAAA,MAAa,EAAEJ;QAC5B,GAAGC,KAAK;;AAGbO,WAAW,WAAW,GAAG;AAoBzB,MAAMC,cAAc,WAAHA,GAAGV,WAAmD,CAAC,EAACC,SAAS,EAAE,GAAGC,OAAM,EAAEC,MAAAA,WAAAA,GAC7F,IAAC;QACC,KAAKA;QACL,WAAWC,GAAGC,YAAAA,OAAc,EAAEJ;QAC7B,GAAGC,KAAK;;AAGbQ,YAAY,WAAW,GAAG;AAoB1B,MAAMC,aAAa,WAAHA,GAAGX,WAAmD,CAAC,EAACC,SAAS,EAAE,GAAGC,OAAM,EAAEC,MAAAA,WAAAA,GAC5F,IAAC;QACC,KAAKA;QACL,WAAWC,GAAGC,YAAAA,MAAa,EAAEJ;QAC5B,GAAGC,KAAK;;AAGbS,WAAW,WAAW,GAAG"}
1
+ {"version":3,"file":"components/ui/card.js","sources":["../../../src/components/ui/card.tsx"],"sourcesContent":["import * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./card.module.css\";\r\n\r\n/**\r\n * Represents the shared styling props supported by the Card root container.\r\n *\r\n * @remarks\r\n * Extends native `<div>` attributes so cards can participate in semantic layouts,\r\n * landmarks, and custom event handling while exposing a documented class override.\r\n */\r\ninterface CardProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /**\r\n * Additional CSS classes merged with the default card surface styles.\r\n */\r\n className?: string;\r\n}\r\n\r\n/**\r\n * Represents the shared styling props supported by card layout sections.\r\n *\r\n * @remarks\r\n * Use these props for presentational card regions such as headers, content blocks,\r\n * action rows, and footers. All standard `<div>` attributes continue to work.\r\n */\r\ninterface CardSectionProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /**\r\n * Additional CSS classes merged with the section's default spacing styles.\r\n */\r\n className?: string;\r\n}\r\n\r\n/**\r\n * A card container for grouping related content into a bordered surface.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Server- and client-compatible presentational component.\r\n *\r\n * Renders a styled `<div>` with the library's card border, background, and shadow.\r\n * Compose it with {@link CardHeader}, {@link CardContent}, and {@link CardFooter}\r\n * to create structured panels without depending on a Base UI primitive.\r\n *\r\n * @example\r\n * ```tsx\r\n * <Card>\r\n * <CardHeader>\r\n * <CardTitle>Team activity</CardTitle>\r\n * <CardDescription>Latest changes across your workspace.</CardDescription>\r\n * </CardHeader>\r\n * <CardContent>{children}</CardContent>\r\n * <CardFooter>Updated 2 minutes ago</CardFooter>\r\n * </Card>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/overview Base UI documentation}\r\n */\r\nconst Card = React.forwardRef<HTMLDivElement, CardProps>(({className, ...props}, ref) => (\r\n <div\r\n ref={ref}\r\n className={cn(styles.card, className)}\r\n {...props}\r\n />\r\n));\r\nCard.displayName = \"Card\";\r\n\r\n/**\r\n * A header region for card titles, descriptions, and top-level actions.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Server- and client-compatible presentational component.\r\n *\r\n * Renders a `<div>` with vertical spacing tuned for leading card content.\r\n * Place {@link CardTitle}, {@link CardDescription}, and optional controls inside it.\r\n *\r\n * @example\r\n * ```tsx\r\n * <CardHeader>\r\n * <CardTitle>Revenue</CardTitle>\r\n * <CardDescription>Monthly recurring revenue overview.</CardDescription>\r\n * </CardHeader>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/overview Base UI documentation}\r\n */\r\nconst CardHeader = React.forwardRef<HTMLDivElement, CardSectionProps>(({className, ...props}, ref) => (\r\n <div\r\n ref={ref}\r\n className={cn(styles.header, className)}\r\n {...props}\r\n />\r\n));\r\nCardHeader.displayName = \"CardHeader\";\r\n\r\n/**\r\n * A prominent title slot for the primary heading inside a card.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Server- and client-compatible presentational component.\r\n *\r\n * Renders a styled `<div>` for visual hierarchy. Provide semantic heading elements\r\n * inside it when the surrounding document outline requires explicit heading levels.\r\n *\r\n * @example\r\n * ```tsx\r\n * <CardTitle>Security overview</CardTitle>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/overview Base UI documentation}\r\n */\r\nconst CardTitle = React.forwardRef<HTMLDivElement, CardSectionProps>(({className, ...props}, ref) => (\r\n <div\r\n ref={ref}\r\n className={cn(styles.title, className)}\r\n {...props}\r\n />\r\n));\r\nCardTitle.displayName = \"CardTitle\";\r\n\r\n/**\r\n * A muted text block for supporting information beneath a card title.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Server- and client-compatible presentational component.\r\n *\r\n * Renders a styled `<div>` intended for secondary copy, helper messaging, or status\r\n * summaries that contextualize the main card heading.\r\n *\r\n * @example\r\n * ```tsx\r\n * <CardDescription>Track response times and alert volume in one place.</CardDescription>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/overview Base UI documentation}\r\n */\r\nconst CardDescription = React.forwardRef<HTMLDivElement, CardSectionProps>(({className, ...props}, ref) => (\r\n <div\r\n ref={ref}\r\n className={cn(styles.description, className)}\r\n {...props}\r\n />\r\n));\r\nCardDescription.displayName = \"CardDescription\";\r\n\r\n/**\r\n * A compact action slot aligned alongside card header content.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Server- and client-compatible presentational component.\r\n *\r\n * Renders a `<div>` positioned for buttons, menus, or status badges that should sit\r\n * at the top edge of the card without disturbing header spacing.\r\n *\r\n * @example\r\n * ```tsx\r\n * <CardAction>\r\n * <Button size=\"sm\">Manage</Button>\r\n * </CardAction>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/overview Base UI documentation}\r\n */\r\nconst CardAction = React.forwardRef<HTMLDivElement, CardSectionProps>(({className, ...props}, ref) => (\r\n <div\r\n ref={ref}\r\n className={cn(styles.action, className)}\r\n {...props}\r\n />\r\n));\r\nCardAction.displayName = \"CardAction\";\r\n\r\n/**\r\n * The main content region for card body content.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Server- and client-compatible presentational component.\r\n *\r\n * Renders a `<div>` with interior spacing optimized for text, forms, charts, or any\r\n * other primary card content placed between the header and footer.\r\n *\r\n * @example\r\n * ```tsx\r\n * <CardContent>\r\n * <p>Your subscription renews on March 31.</p>\r\n * </CardContent>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/overview Base UI documentation}\r\n */\r\nconst CardContent = React.forwardRef<HTMLDivElement, CardSectionProps>(({className, ...props}, ref) => (\r\n <div\r\n ref={ref}\r\n className={cn(styles.content, className)}\r\n {...props}\r\n />\r\n));\r\nCardContent.displayName = \"CardContent\";\r\n\r\n/**\r\n * A footer region for actions, summaries, or secondary metadata.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Server- and client-compatible presentational component.\r\n *\r\n * Renders a flex-enabled `<div>` that sits at the bottom of the card and is commonly\r\n * used for buttons, timestamps, totals, or other closing UI elements.\r\n *\r\n * @example\r\n * ```tsx\r\n * <CardFooter>\r\n * <Button>Save changes</Button>\r\n * </CardFooter>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/overview Base UI documentation}\r\n */\r\nconst CardFooter = React.forwardRef<HTMLDivElement, CardSectionProps>(({className, ...props}, ref) => (\r\n <div\r\n ref={ref}\r\n className={cn(styles.footer, className)}\r\n {...props}\r\n />\r\n));\r\nCardFooter.displayName = \"CardFooter\";\r\n\r\nexport {Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle};\r\n"],"names":["Card","React","className","props","ref","cn","styles","CardHeader","CardTitle","CardDescription","CardAction","CardContent","CardFooter"],"mappings":";;;;AAyDA,MAAMA,OAAO,WAAHA,GAAGC,wBAAAA,UAAgB,CAA4B,CAAC,EAACC,SAAS,EAAE,GAAGC,OAAM,EAAEC,MAAAA,WAAAA,GAC/E,IAAC;QACC,KAAKA;QACL,WAAWC,GAAGC,YAAAA,IAAW,EAAEJ;QAC1B,GAAGC,KAAK;;AAGbH,KAAK,WAAW,GAAG;AAqBnB,MAAMO,aAAa,WAAHA,GAAGN,wBAAAA,UAAgB,CAAmC,CAAC,EAACC,SAAS,EAAE,GAAGC,OAAM,EAAEC,MAAAA,WAAAA,GAC5F,IAAC;QACC,KAAKA;QACL,WAAWC,GAAGC,YAAAA,MAAa,EAAEJ;QAC5B,GAAGC,KAAK;;AAGbI,WAAW,WAAW,GAAG;AAkBzB,MAAMC,YAAY,WAAHA,GAAGP,wBAAAA,UAAgB,CAAmC,CAAC,EAACC,SAAS,EAAE,GAAGC,OAAM,EAAEC,MAAAA,WAAAA,GAC3F,IAAC;QACC,KAAKA;QACL,WAAWC,GAAGC,YAAAA,KAAY,EAAEJ;QAC3B,GAAGC,KAAK;;AAGbK,UAAU,WAAW,GAAG;AAkBxB,MAAMC,kBAAkB,WAAHA,GAAGR,wBAAAA,UAAgB,CAAmC,CAAC,EAACC,SAAS,EAAE,GAAGC,OAAM,EAAEC,MAAAA,WAAAA,GACjG,IAAC;QACC,KAAKA;QACL,WAAWC,GAAGC,YAAAA,WAAkB,EAAEJ;QACjC,GAAGC,KAAK;;AAGbM,gBAAgB,WAAW,GAAG;AAoB9B,MAAMC,aAAa,WAAHA,GAAGT,wBAAAA,UAAgB,CAAmC,CAAC,EAACC,SAAS,EAAE,GAAGC,OAAM,EAAEC,MAAAA,WAAAA,GAC5F,IAAC;QACC,KAAKA;QACL,WAAWC,GAAGC,YAAAA,MAAa,EAAEJ;QAC5B,GAAGC,KAAK;;AAGbO,WAAW,WAAW,GAAG;AAoBzB,MAAMC,cAAc,WAAHA,GAAGV,wBAAAA,UAAgB,CAAmC,CAAC,EAACC,SAAS,EAAE,GAAGC,OAAM,EAAEC,MAAAA,WAAAA,GAC7F,IAAC;QACC,KAAKA;QACL,WAAWC,GAAGC,YAAAA,OAAc,EAAEJ;QAC7B,GAAGC,KAAK;;AAGbQ,YAAY,WAAW,GAAG;AAoB1B,MAAMC,aAAa,WAAHA,GAAGX,wBAAAA,UAAgB,CAAmC,CAAC,EAACC,SAAS,EAAE,GAAGC,OAAM,EAAEC,MAAAA,WAAAA,GAC5F,IAAC;QACC,KAAKA;QACL,WAAWC,GAAGC,YAAAA,MAAa,EAAEJ;QAC5B,GAAGC,KAAK;;AAGbS,WAAW,WAAW,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://./home/runner/work/arolariu.ro/arolariu.ro/packages/components/src/components/ui/card.module.css","webpack://./src/components/ui/card.module.css"],"names":[],"mappings":"AADA;ECEE,gCAAgC;EAChC,kCAAkC;EAClC,kCAAkC;EAClC,gCAAgC;EAChC,+BAA+B;AACjC;;AAEA;EACE,sBAAsB;EACtB,0BAA0B;EAC1B,sBAAsB;EACtB,aAAa;AACf;;AAEA;EACE,4BAA4B;EAC5B,sBAAsB;EACtB,gBAAgB;EAChB,cAAc;AAChB;;AAEA;EACE,iCAAiC;EACjC,4BAA4B;AAC9B;;AAEA;EACE,sBAAsB;EACtB,iBAAiB;AACnB;;AAEA;EACE,8CAA8C;AAChD;;AAEA;EACE,mBAAmB;EACnB,aAAa;AACf","sourcesContent":[".card{background-color:var(--ac-card);border:1px solid var(--ac-border);border-radius:var(--ac-radius-lg);box-shadow:0 1px 3px 0 rgba(0,0,0,.05);color:var(--ac-card-foreground)}.header{display:flex;flex-direction:column;gap:var(--ac-space-1);padding:var(--ac-space-6)}.title{font-size:var(--ac-text-lg);font-weight:600;letter-spacing:-.01em;line-height:1}.description{color:var(--ac-muted-foreground);font-size:var(--ac-text-sm)}.action{align-self:flex-start;margin-left:auto}.content,.footer{padding:0 var(--ac-space-6) var(--ac-space-6)}.footer{align-items:center;display:flex}",".card {\n background-color: var(--ac-card);\n border: 1px solid var(--ac-border);\n border-radius: var(--ac-radius-lg);\n color: var(--ac-card-foreground);\n box-shadow: 0 1px 3px #0000000d;\n}\n\n.header {\n gap: var(--ac-space-1);\n padding: var(--ac-space-6);\n flex-direction: column;\n display: flex;\n}\n\n.title {\n font-size: var(--ac-text-lg);\n letter-spacing: -.01em;\n font-weight: 600;\n line-height: 1;\n}\n\n.description {\n color: var(--ac-muted-foreground);\n font-size: var(--ac-text-sm);\n}\n\n.action {\n align-self: flex-start;\n margin-left: auto;\n}\n\n.content, .footer {\n padding: 0 var(--ac-space-6) var(--ac-space-6);\n}\n\n.footer {\n align-items: center;\n display: flex;\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.module.css","webpack://./src/components/ui/card.module.css"],"names":[],"mappings":"AAAA;ECCE,gCAAgC;EAChC,kCAAkC;EAClC,kCAAkC;EAClC,gCAAgC;EAChC,+BAA+B;AACjC;;ADNiL;ECS/K,sBAAsB;EACtB,0BAA0B;EAC1B,sBAAsB;EACtB,aAAa;AACf;;ADb4Q;ECgB1Q,4BAA4B;EAC5B,sBAAsB;EACtB,gBAAgB;EAChB,cAAc;AAChB;;ADpBmW;ECuBjW,iCAAiC;EACjC,4BAA4B;AAC9B;;ADzB6a;EC4B3a,sBAAsB;EACtB,iBAAiB;AACnB;;AD9B4d;ECiC1d,8CAA8C;AAChD;;ADlC2hB;ECqCzhB,mBAAmB;EACnB,aAAa;AACf","sourcesContent":[".card{background-color:var(--ac-card);border:1px solid var(--ac-border);border-radius:var(--ac-radius-lg);box-shadow:0 1px 3px 0 rgba(0,0,0,.05);color:var(--ac-card-foreground)}.header{display:flex;flex-direction:column;gap:var(--ac-space-1);padding:var(--ac-space-6)}.title{font-size:var(--ac-text-lg);font-weight:600;letter-spacing:-.01em;line-height:1}.description{color:var(--ac-muted-foreground);font-size:var(--ac-text-sm)}.action{align-self:flex-start;margin-left:auto}.content,.footer{padding:0 var(--ac-space-6) var(--ac-space-6)}.footer{align-items:center;display:flex}",".card {\n background-color: var(--ac-card);\n border: 1px solid var(--ac-border);\n border-radius: var(--ac-radius-lg);\n color: var(--ac-card-foreground);\n box-shadow: 0 1px 3px #0000000d;\n}\n\n.header {\n gap: var(--ac-space-1);\n padding: var(--ac-space-6);\n flex-direction: column;\n display: flex;\n}\n\n.title {\n font-size: var(--ac-text-lg);\n letter-spacing: -.01em;\n font-weight: 600;\n line-height: 1;\n}\n\n.description {\n color: var(--ac-muted-foreground);\n font-size: var(--ac-text-sm);\n}\n\n.action {\n align-self: flex-start;\n margin-left: auto;\n}\n\n.content, .footer {\n padding: 0 var(--ac-space-6) var(--ac-space-6);\n}\n\n.footer {\n align-items: center;\n display: flex;\n}\n"],"sourceRoot":""}
@@ -3,41 +3,41 @@ import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { mergeProps } from "@base-ui/react/merge-props";
4
4
  import embla_carousel_react from "embla-carousel-react";
5
5
  import { ArrowLeft, ArrowRight } from "lucide-react";
6
- import { createContext, forwardRef, useCallback, useContext, useEffect, useState } from "react";
7
6
  import { Button } from "./button.js";
8
7
  import { cn } from "../../lib/utilities.js";
9
8
  import carousel_module from "./carousel.module.js";
10
- const CarouselContext = /*#__PURE__*/ createContext(null);
9
+ import * as __rspack_external_react from "react";
10
+ const CarouselContext = /*#__PURE__*/ __rspack_external_react.createContext(null);
11
11
  function useCarousel() {
12
- const context = useContext(CarouselContext);
12
+ const context = __rspack_external_react.useContext(CarouselContext);
13
13
  if (!context) throw new Error("useCarousel must be used within a <Carousel />");
14
14
  return context;
15
15
  }
16
- const Carousel = /*#__PURE__*/ forwardRef(({ orientation, opts, setApi, plugins, className, children, ...props }, ref)=>{
16
+ const Carousel = /*#__PURE__*/ __rspack_external_react.forwardRef(({ orientation, opts, setApi, plugins, className, children, ...props }, ref)=>{
17
17
  const resolvedOrientation = orientation ?? (opts?.axis === "y" ? "vertical" : "horizontal");
18
18
  const resolvedAxis = "vertical" === resolvedOrientation ? "y" : "x";
19
19
  const [carouselRef, api] = embla_carousel_react({
20
20
  ...opts,
21
21
  axis: resolvedAxis
22
22
  }, plugins);
23
- const [canScrollPrev, setCanScrollPrev] = useState(false);
24
- const [canScrollNext, setCanScrollNext] = useState(false);
25
- const onSelect = useCallback((emblaApi)=>{
23
+ const [canScrollPrev, setCanScrollPrev] = __rspack_external_react.useState(false);
24
+ const [canScrollNext, setCanScrollNext] = __rspack_external_react.useState(false);
25
+ const onSelect = __rspack_external_react.useCallback((emblaApi)=>{
26
26
  if (!emblaApi) return;
27
27
  setCanScrollPrev(emblaApi.canScrollPrev());
28
28
  setCanScrollNext(emblaApi.canScrollNext());
29
29
  }, []);
30
- const scrollPrev = useCallback(()=>{
30
+ const scrollPrev = __rspack_external_react.useCallback(()=>{
31
31
  api?.scrollPrev();
32
32
  }, [
33
33
  api
34
34
  ]);
35
- const scrollNext = useCallback(()=>{
35
+ const scrollNext = __rspack_external_react.useCallback(()=>{
36
36
  api?.scrollNext();
37
37
  }, [
38
38
  api
39
39
  ]);
40
- const handleKeyDown = useCallback((event)=>{
40
+ const handleKeyDown = __rspack_external_react.useCallback((event)=>{
41
41
  if ("horizontal" === orientation) {
42
42
  if ("ArrowLeft" === event.key) {
43
43
  event.preventDefault();
@@ -60,14 +60,14 @@ const Carousel = /*#__PURE__*/ forwardRef(({ orientation, opts, setApi, plugins,
60
60
  scrollNext,
61
61
  scrollPrev
62
62
  ]);
63
- useEffect(()=>{
63
+ __rspack_external_react.useEffect(()=>{
64
64
  if (!api || !setApi) return;
65
65
  setApi(api);
66
66
  }, [
67
67
  api,
68
68
  setApi
69
69
  ]);
70
- useEffect(()=>{
70
+ __rspack_external_react.useEffect(()=>{
71
71
  if (!api) return;
72
72
  onSelect(api);
73
73
  api.on("reInit", onSelect);
@@ -106,7 +106,7 @@ const Carousel = /*#__PURE__*/ forwardRef(({ orientation, opts, setApi, plugins,
106
106
  });
107
107
  });
108
108
  Carousel.displayName = "Carousel";
109
- const CarouselContent = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>{
109
+ const CarouselContent = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>{
110
110
  const { carouselRef, orientation } = useCarousel();
111
111
  return /*#__PURE__*/ jsx("div", {
112
112
  ref: carouselRef,
@@ -120,7 +120,7 @@ const CarouselContent = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=
120
120
  });
121
121
  });
122
122
  CarouselContent.displayName = "CarouselContent";
123
- const CarouselItem = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>{
123
+ const CarouselItem = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>{
124
124
  const { orientation } = useCarousel();
125
125
  return /*#__PURE__*/ jsx("div", {
126
126
  ref: ref,
@@ -132,7 +132,7 @@ const CarouselItem = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>{
132
132
  });
133
133
  });
134
134
  CarouselItem.displayName = "CarouselItem";
135
- const CarouselPrevious = /*#__PURE__*/ forwardRef(({ children, className, variant = "outline", size = "icon", ...props }, ref)=>{
135
+ const CarouselPrevious = /*#__PURE__*/ __rspack_external_react.forwardRef(({ children, className, variant = "outline", size = "icon", ...props }, ref)=>{
136
136
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
137
137
  const mergedProps = mergeProps({
138
138
  onClick: scrollPrev,
@@ -157,7 +157,7 @@ const CarouselPrevious = /*#__PURE__*/ forwardRef(({ children, className, varian
157
157
  });
158
158
  });
159
159
  CarouselPrevious.displayName = "CarouselPrevious";
160
- const CarouselNext = /*#__PURE__*/ forwardRef(({ children, className, variant = "outline", size = "icon", ...props }, ref)=>{
160
+ const CarouselNext = /*#__PURE__*/ __rspack_external_react.forwardRef(({ children, className, variant = "outline", size = "icon", ...props }, ref)=>{
161
161
  const { orientation, scrollNext, canScrollNext } = useCarousel();
162
162
  const mergedProps = mergeProps({
163
163
  onClick: scrollNext,