@arolariu/components 0.4.2 → 1.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 (892) hide show
  1. package/{changelog.md → CHANGELOG.md} +36 -0
  2. package/CONTRIBUTING.md +344 -265
  3. package/DEBUGGING.md +185 -103
  4. package/EXAMPLES.md +470 -345
  5. package/{readme.md → README.md} +306 -203
  6. package/dist/components/ui/accordion.d.ts +157 -5
  7. package/dist/components/ui/accordion.d.ts.map +1 -1
  8. package/dist/components/ui/accordion.js +100 -22
  9. package/dist/components/ui/accordion.js.map +1 -1
  10. package/dist/components/ui/accordion.module.js +12 -0
  11. package/dist/components/ui/accordion.module.js.map +1 -0
  12. package/dist/components/ui/accordion_module.css +72 -0
  13. package/dist/components/ui/accordion_module.css.map +1 -0
  14. package/dist/components/ui/alert-dialog.d.ts +321 -18
  15. package/dist/components/ui/alert-dialog.d.ts.map +1 -1
  16. package/dist/components/ui/alert-dialog.js +145 -52
  17. package/dist/components/ui/alert-dialog.js.map +1 -1
  18. package/dist/components/ui/alert-dialog.module.js +13 -0
  19. package/dist/components/ui/alert-dialog.module.js.map +1 -0
  20. package/dist/components/ui/alert-dialog_module.css +89 -0
  21. package/dist/components/ui/alert-dialog_module.css.map +1 -0
  22. package/dist/components/ui/alert.d.ts +109 -6
  23. package/dist/components/ui/alert.d.ts.map +1 -1
  24. package/dist/components/ui/alert.js +12 -21
  25. package/dist/components/ui/alert.js.map +1 -1
  26. package/dist/components/ui/alert.module.js +11 -0
  27. package/dist/components/ui/alert.module.js.map +1 -0
  28. package/dist/components/ui/alert_module.css +59 -0
  29. package/dist/components/ui/alert_module.css.map +1 -0
  30. package/dist/components/ui/aspect-ratio.d.ts +24 -2
  31. package/dist/components/ui/aspect-ratio.d.ts.map +1 -1
  32. package/dist/components/ui/aspect-ratio.js +14 -3
  33. package/dist/components/ui/aspect-ratio.js.map +1 -1
  34. package/dist/components/ui/aspect-ratio.module.js +7 -0
  35. package/dist/components/ui/aspect-ratio.module.js.map +1 -0
  36. package/dist/components/ui/aspect-ratio_module.css +10 -0
  37. package/dist/components/ui/aspect-ratio_module.css.map +1 -0
  38. package/dist/components/ui/async-boundary.js +17 -0
  39. package/dist/components/ui/async-boundary.js.map +1 -0
  40. package/dist/components/ui/avatar.d.ts +97 -4
  41. package/dist/components/ui/avatar.d.ts.map +1 -1
  42. package/dist/components/ui/avatar.js +50 -21
  43. package/dist/components/ui/avatar.js.map +1 -1
  44. package/dist/components/ui/avatar.module.js +9 -0
  45. package/dist/components/ui/avatar.module.js.map +1 -0
  46. package/dist/components/ui/avatar_module.css +35 -0
  47. package/dist/components/ui/avatar_module.css.map +1 -0
  48. package/dist/components/ui/background-beams.d.ts +21 -3
  49. package/dist/components/ui/background-beams.d.ts.map +1 -1
  50. package/dist/components/ui/background-beams.js +22 -11
  51. package/dist/components/ui/background-beams.js.map +1 -1
  52. package/dist/components/ui/background-beams.module.js +8 -0
  53. package/dist/components/ui/background-beams.module.js.map +1 -0
  54. package/dist/components/ui/background-beams_module.css +22 -0
  55. package/dist/components/ui/background-beams_module.css.map +1 -0
  56. package/dist/components/ui/badge.d.ts +79 -6
  57. package/dist/components/ui/badge.d.ts.map +1 -1
  58. package/dist/components/ui/badge.js +19 -23
  59. package/dist/components/ui/badge.js.map +1 -1
  60. package/dist/components/ui/badge.module.js +11 -0
  61. package/dist/components/ui/badge.module.js.map +1 -0
  62. package/dist/components/ui/badge_module.css +63 -0
  63. package/dist/components/ui/badge_module.css.map +1 -0
  64. package/dist/components/ui/breadcrumb.d.ts +158 -13
  65. package/dist/components/ui/breadcrumb.d.ts.map +1 -1
  66. package/dist/components/ui/breadcrumb.js +39 -30
  67. package/dist/components/ui/breadcrumb.js.map +1 -1
  68. package/dist/components/ui/breadcrumb.module.js +14 -0
  69. package/dist/components/ui/breadcrumb.module.js.map +1 -0
  70. package/dist/components/ui/breadcrumb_module.css +90 -0
  71. package/dist/components/ui/breadcrumb_module.css.map +1 -0
  72. package/dist/components/ui/bubble-background.d.ts +38 -10
  73. package/dist/components/ui/bubble-background.d.ts.map +1 -1
  74. package/dist/components/ui/bubble-background.js +33 -35
  75. package/dist/components/ui/bubble-background.js.map +1 -1
  76. package/dist/components/ui/bubble-background.module.js +20 -0
  77. package/dist/components/ui/bubble-background.module.js.map +1 -0
  78. package/dist/components/ui/bubble-background_module.css +99 -0
  79. package/dist/components/ui/bubble-background_module.css.map +1 -0
  80. package/dist/components/ui/button-group.d.ts +88 -8
  81. package/dist/components/ui/button-group.d.ts.map +1 -1
  82. package/dist/components/ui/button-group.js +35 -32
  83. package/dist/components/ui/button-group.js.map +1 -1
  84. package/dist/components/ui/button-group.module.js +11 -0
  85. package/dist/components/ui/button-group.module.js.map +1 -0
  86. package/dist/components/ui/button-group_module.css +79 -0
  87. package/dist/components/ui/button-group_module.css.map +1 -0
  88. package/dist/components/ui/button.d.ts +82 -7
  89. package/dist/components/ui/button.d.ts.map +1 -1
  90. package/dist/components/ui/button.js +69 -34
  91. package/dist/components/ui/button.js.map +1 -1
  92. package/dist/components/ui/button.module.js +17 -0
  93. package/dist/components/ui/button.module.js.map +1 -0
  94. package/dist/components/ui/button_module.css +137 -0
  95. package/dist/components/ui/button_module.css.map +1 -0
  96. package/dist/components/ui/calendar.d.ts +39 -5
  97. package/dist/components/ui/calendar.d.ts.map +1 -1
  98. package/dist/components/ui/calendar.js +72 -61
  99. package/dist/components/ui/calendar.js.map +1 -1
  100. package/dist/components/ui/calendar.module.js +35 -0
  101. package/dist/components/ui/calendar.module.js.map +1 -0
  102. package/dist/components/ui/calendar_module.css +245 -0
  103. package/dist/components/ui/calendar_module.css.map +1 -0
  104. package/dist/components/ui/card-skeleton.js +41 -0
  105. package/dist/components/ui/card-skeleton.js.map +1 -0
  106. package/dist/components/ui/card-skeleton.module.js +15 -0
  107. package/dist/components/ui/card-skeleton.module.js.map +1 -0
  108. package/dist/components/ui/card-skeleton_module.css +54 -0
  109. package/dist/components/ui/card-skeleton_module.css.map +1 -0
  110. package/dist/components/ui/card.d.ts +162 -7
  111. package/dist/components/ui/card.d.ts.map +1 -1
  112. package/dist/components/ui/card.js +13 -13
  113. package/dist/components/ui/card.js.map +1 -1
  114. package/dist/components/ui/card.module.js +13 -0
  115. package/dist/components/ui/card.module.js.map +1 -0
  116. package/dist/components/ui/card_module.css +43 -0
  117. package/dist/components/ui/card_module.css.map +1 -0
  118. package/dist/components/ui/carousel.d.ts +127 -3
  119. package/dist/components/ui/carousel.d.ts.map +1 -1
  120. package/dist/components/ui/carousel.js +63 -36
  121. package/dist/components/ui/carousel.js.map +1 -1
  122. package/dist/components/ui/carousel.module.js +17 -0
  123. package/dist/components/ui/carousel.module.js.map +1 -0
  124. package/dist/components/ui/carousel_module.css +82 -0
  125. package/dist/components/ui/carousel_module.css.map +1 -0
  126. package/dist/components/ui/chart.d.ts +323 -13
  127. package/dist/components/ui/chart.d.ts.map +1 -1
  128. package/dist/components/ui/chart.js +158 -53
  129. package/dist/components/ui/chart.js.map +1 -1
  130. package/dist/components/ui/chart.module.js +27 -0
  131. package/dist/components/ui/chart.module.js.map +1 -0
  132. package/dist/components/ui/chart_module.css +159 -0
  133. package/dist/components/ui/chart_module.css.map +1 -0
  134. package/dist/components/ui/checkbox-group.d.ts +31 -0
  135. package/dist/components/ui/checkbox-group.d.ts.map +1 -0
  136. package/dist/components/ui/checkbox-group.js +25 -0
  137. package/dist/components/ui/checkbox-group.js.map +1 -0
  138. package/dist/components/ui/checkbox-group.module.js +7 -0
  139. package/dist/components/ui/checkbox-group.module.js.map +1 -0
  140. package/dist/components/ui/checkbox-group_module.css +11 -0
  141. package/dist/components/ui/checkbox-group_module.css.map +1 -0
  142. package/dist/components/ui/checkbox.d.ts +33 -2
  143. package/dist/components/ui/checkbox.d.ts.map +1 -1
  144. package/dist/components/ui/checkbox.js +37 -12
  145. package/dist/components/ui/checkbox.js.map +1 -1
  146. package/dist/components/ui/checkbox.module.js +8 -0
  147. package/dist/components/ui/checkbox.module.js.map +1 -0
  148. package/dist/components/ui/checkbox_module.css +45 -0
  149. package/dist/components/ui/checkbox_module.css.map +1 -0
  150. package/dist/components/ui/collapsible.d.ts +87 -3
  151. package/dist/components/ui/collapsible.d.ts.map +1 -1
  152. package/dist/components/ui/collapsible.js +46 -32
  153. package/dist/components/ui/collapsible.js.map +1 -1
  154. package/dist/components/ui/collapsible.module.js +8 -0
  155. package/dist/components/ui/collapsible.module.js.map +1 -0
  156. package/dist/components/ui/collapsible_module.css +26 -0
  157. package/dist/components/ui/collapsible_module.css.map +1 -0
  158. package/dist/components/ui/command.d.ts +284 -51
  159. package/dist/components/ui/command.d.ts.map +1 -1
  160. package/dist/components/ui/command.js +391 -50
  161. package/dist/components/ui/command.js.map +1 -1
  162. package/dist/components/ui/command.module.js +20 -0
  163. package/dist/components/ui/command.module.js.map +1 -0
  164. package/dist/components/ui/command_module.css +194 -0
  165. package/dist/components/ui/command_module.css.map +1 -0
  166. package/dist/components/ui/context-menu.d.ts +414 -21
  167. package/dist/components/ui/context-menu.d.ts.map +1 -1
  168. package/dist/components/ui/context-menu.js +190 -68
  169. package/dist/components/ui/context-menu.js.map +1 -1
  170. package/dist/components/ui/context-menu.module.js +19 -0
  171. package/dist/components/ui/context-menu.module.js.map +1 -0
  172. package/dist/components/ui/context-menu_module.css +114 -0
  173. package/dist/components/ui/context-menu_module.css.map +1 -0
  174. package/dist/components/ui/copy-button.d.ts +41 -0
  175. package/dist/components/ui/copy-button.d.ts.map +1 -0
  176. package/dist/components/ui/copy-button.js +51 -0
  177. package/dist/components/ui/copy-button.js.map +1 -0
  178. package/dist/components/ui/copy-button.module.js +8 -0
  179. package/dist/components/ui/copy-button.module.js.map +1 -0
  180. package/dist/components/ui/copy-button_module.css +37 -0
  181. package/dist/components/ui/copy-button_module.css.map +1 -0
  182. package/dist/components/ui/counting-number.d.ts +28 -2
  183. package/dist/components/ui/counting-number.d.ts.map +1 -1
  184. package/dist/components/ui/counting-number.js +31 -27
  185. package/dist/components/ui/counting-number.js.map +1 -1
  186. package/dist/components/ui/counting-number.module.js +7 -0
  187. package/dist/components/ui/counting-number.module.js.map +1 -0
  188. package/dist/components/ui/counting-number_module.css +7 -0
  189. package/dist/components/ui/counting-number_module.css.map +1 -0
  190. package/dist/components/ui/dialog.d.ts +287 -17
  191. package/dist/components/ui/dialog.d.ts.map +1 -1
  192. package/dist/components/ui/dialog.js +129 -52
  193. package/dist/components/ui/dialog.js.map +1 -1
  194. package/dist/components/ui/dialog.module.js +13 -0
  195. package/dist/components/ui/dialog.module.js.map +1 -0
  196. package/dist/components/ui/dialog_module.css +114 -0
  197. package/dist/components/ui/dialog_module.css.map +1 -0
  198. package/dist/components/ui/dot-background.d.ts +25 -35
  199. package/dist/components/ui/dot-background.d.ts.map +1 -1
  200. package/dist/components/ui/dot-background.js +31 -22
  201. package/dist/components/ui/dot-background.js.map +1 -1
  202. package/dist/components/ui/dot-background.module.js +8 -0
  203. package/dist/components/ui/dot-background.module.js.map +1 -0
  204. package/dist/components/ui/dot-background_module.css +15 -0
  205. package/dist/components/ui/dot-background_module.css.map +1 -0
  206. package/dist/components/ui/drawer.d.ts +287 -18
  207. package/dist/components/ui/drawer.d.ts.map +1 -1
  208. package/dist/components/ui/drawer.js +117 -40
  209. package/dist/components/ui/drawer.js.map +1 -1
  210. package/dist/components/ui/drawer.module.js +14 -0
  211. package/dist/components/ui/drawer.module.js.map +1 -0
  212. package/dist/components/ui/drawer_module.css +86 -0
  213. package/dist/components/ui/drawer_module.css.map +1 -0
  214. package/dist/components/ui/dropdown-menu.d.ts +414 -21
  215. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  216. package/dist/components/ui/dropdown-menu.js +189 -68
  217. package/dist/components/ui/dropdown-menu.js.map +1 -1
  218. package/dist/components/ui/dropdown-menu.module.js +19 -0
  219. package/dist/components/ui/dropdown-menu.module.js.map +1 -0
  220. package/dist/components/ui/dropdown-menu_module.css +114 -0
  221. package/dist/components/ui/dropdown-menu_module.css.map +1 -0
  222. package/dist/components/ui/dropdrawer.d.ts +313 -17
  223. package/dist/components/ui/dropdrawer.d.ts.map +1 -1
  224. package/dist/components/ui/dropdrawer.js +423 -159
  225. package/dist/components/ui/dropdrawer.js.map +1 -1
  226. package/dist/components/ui/dropdrawer.module.js +43 -0
  227. package/dist/components/ui/dropdrawer.module.js.map +1 -0
  228. package/dist/components/ui/dropdrawer_module.css +307 -0
  229. package/dist/components/ui/dropdrawer_module.css.map +1 -0
  230. package/dist/components/ui/empty.d.ts +129 -10
  231. package/dist/components/ui/empty.d.ts.map +1 -1
  232. package/dist/components/ui/empty.js +32 -47
  233. package/dist/components/ui/empty.js.map +1 -1
  234. package/dist/components/ui/empty.module.js +13 -0
  235. package/dist/components/ui/empty.module.js.map +1 -0
  236. package/dist/components/ui/empty_module.css +85 -0
  237. package/dist/components/ui/empty_module.css.map +1 -0
  238. package/dist/components/ui/error-boundary.js +61 -0
  239. package/dist/components/ui/error-boundary.js.map +1 -0
  240. package/dist/components/ui/error-boundary.module.js +10 -0
  241. package/dist/components/ui/error-boundary.module.js.map +1 -0
  242. package/dist/components/ui/error-boundary_module.css +41 -0
  243. package/dist/components/ui/error-boundary_module.css.map +1 -0
  244. package/dist/components/ui/field.d.ts +225 -0
  245. package/dist/components/ui/field.d.ts.map +1 -0
  246. package/dist/components/ui/field.js +76 -86
  247. package/dist/components/ui/field.js.map +1 -1
  248. package/dist/components/ui/field.module.js +24 -0
  249. package/dist/components/ui/field.module.js.map +1 -0
  250. package/dist/components/ui/field_module.css +185 -0
  251. package/dist/components/ui/field_module.css.map +1 -0
  252. package/dist/components/ui/fireworks-background.d.ts +27 -3
  253. package/dist/components/ui/fireworks-background.d.ts.map +1 -1
  254. package/dist/components/ui/fireworks-background.js +36 -35
  255. package/dist/components/ui/fireworks-background.js.map +1 -1
  256. package/dist/components/ui/fireworks-background.module.js +8 -0
  257. package/dist/components/ui/fireworks-background.module.js.map +1 -0
  258. package/dist/components/ui/fireworks-background_module.css +17 -0
  259. package/dist/components/ui/fireworks-background_module.css.map +1 -0
  260. package/dist/components/ui/flip-button.d.ts +27 -3
  261. package/dist/components/ui/flip-button.d.ts.map +1 -1
  262. package/dist/components/ui/flip-button.js +27 -17
  263. package/dist/components/ui/flip-button.js.map +1 -1
  264. package/dist/components/ui/flip-button.module.js +11 -0
  265. package/dist/components/ui/flip-button.module.js.map +1 -0
  266. package/dist/components/ui/flip-button_module.css +47 -0
  267. package/dist/components/ui/flip-button_module.css.map +1 -0
  268. package/dist/components/ui/focus-scope.js +70 -0
  269. package/dist/components/ui/focus-scope.js.map +1 -0
  270. package/dist/components/ui/focus-scope.module.js +7 -0
  271. package/dist/components/ui/focus-scope.module.js.map +1 -0
  272. package/dist/components/ui/focus-scope_module.css +6 -0
  273. package/dist/components/ui/focus-scope_module.css.map +1 -0
  274. package/dist/components/ui/form-skeleton.js +32 -0
  275. package/dist/components/ui/form-skeleton.js.map +1 -0
  276. package/dist/components/ui/form-skeleton.module.js +11 -0
  277. package/dist/components/ui/form-skeleton.module.js.map +1 -0
  278. package/dist/components/ui/form-skeleton_module.css +30 -0
  279. package/dist/components/ui/form-skeleton_module.css.map +1 -0
  280. package/dist/components/ui/form.d.ts +143 -13
  281. package/dist/components/ui/form.d.ts.map +1 -1
  282. package/dist/components/ui/form.js +55 -21
  283. package/dist/components/ui/form.js.map +1 -1
  284. package/dist/components/ui/form.module.js +10 -0
  285. package/dist/components/ui/form.module.js.map +1 -0
  286. package/dist/components/ui/form_module.css +22 -0
  287. package/dist/components/ui/form_module.css.map +1 -0
  288. package/dist/components/ui/gradient-background.d.ts +21 -3
  289. package/dist/components/ui/gradient-background.d.ts.map +1 -1
  290. package/dist/components/ui/gradient-background.js +8 -4
  291. package/dist/components/ui/gradient-background.js.map +1 -1
  292. package/dist/components/ui/gradient-background.module.js +7 -0
  293. package/dist/components/ui/gradient-background.module.js.map +1 -0
  294. package/dist/components/ui/gradient-background_module.css +9 -0
  295. package/dist/components/ui/gradient-background_module.css.map +1 -0
  296. package/dist/components/ui/gradient-text.d.ts +23 -2
  297. package/dist/components/ui/gradient-text.d.ts.map +1 -1
  298. package/dist/components/ui/gradient-text.js +8 -6
  299. package/dist/components/ui/gradient-text.js.map +1 -1
  300. package/dist/components/ui/gradient-text.module.js +9 -0
  301. package/dist/components/ui/gradient-text.module.js.map +1 -0
  302. package/dist/components/ui/gradient-text_module.css +24 -0
  303. package/dist/components/ui/gradient-text_module.css.map +1 -0
  304. package/dist/components/ui/highlight-text.d.ts +24 -2
  305. package/dist/components/ui/highlight-text.d.ts.map +1 -1
  306. package/dist/components/ui/highlight-text.js +7 -10
  307. package/dist/components/ui/highlight-text.js.map +1 -1
  308. package/dist/components/ui/highlight-text.module.js +7 -0
  309. package/dist/components/ui/highlight-text.module.js.map +1 -0
  310. package/dist/components/ui/highlight-text_module.css +16 -0
  311. package/dist/components/ui/highlight-text_module.css.map +1 -0
  312. package/dist/components/ui/hole-background.d.ts +23 -2
  313. package/dist/components/ui/hole-background.d.ts.map +1 -1
  314. package/dist/components/ui/hole-background.js +155 -118
  315. package/dist/components/ui/hole-background.js.map +1 -1
  316. package/dist/components/ui/hole-background.module.js +10 -0
  317. package/dist/components/ui/hole-background.module.js.map +1 -0
  318. package/dist/components/ui/hole-background_module.css +85 -0
  319. package/dist/components/ui/hole-background_module.css.map +1 -0
  320. package/dist/components/ui/hover-card.d.ts +85 -4
  321. package/dist/components/ui/hover-card.d.ts.map +1 -1
  322. package/dist/components/ui/hover-card.js +52 -10
  323. package/dist/components/ui/hover-card.js.map +1 -1
  324. package/dist/components/ui/hover-card.module.js +8 -0
  325. package/dist/components/ui/hover-card.module.js.map +1 -0
  326. package/dist/components/ui/hover-card_module.css +23 -0
  327. package/dist/components/ui/hover-card_module.css.map +1 -0
  328. package/dist/components/ui/input-group.d.ts +132 -13
  329. package/dist/components/ui/input-group.d.ts.map +1 -1
  330. package/dist/components/ui/input-group.js +62 -66
  331. package/dist/components/ui/input-group.js.map +1 -1
  332. package/dist/components/ui/input-group.module.js +20 -0
  333. package/dist/components/ui/input-group.module.js.map +1 -0
  334. package/dist/components/ui/input-group_module.css +150 -0
  335. package/dist/components/ui/input-group_module.css.map +1 -0
  336. package/dist/components/ui/input-otp.d.ts +110 -30
  337. package/dist/components/ui/input-otp.d.ts.map +1 -1
  338. package/dist/components/ui/input-otp.js +24 -15
  339. package/dist/components/ui/input-otp.js.map +1 -1
  340. package/dist/components/ui/input-otp.module.js +17 -0
  341. package/dist/components/ui/input-otp.module.js.map +1 -0
  342. package/dist/components/ui/input-otp_module.css +89 -0
  343. package/dist/components/ui/input-otp_module.css.map +1 -0
  344. package/dist/components/ui/input.d.ts +31 -1
  345. package/dist/components/ui/input.d.ts.map +1 -1
  346. package/dist/components/ui/input.js +21 -8
  347. package/dist/components/ui/input.js.map +1 -1
  348. package/dist/components/ui/input.module.js +7 -0
  349. package/dist/components/ui/input.module.js.map +1 -0
  350. package/dist/components/ui/input_module.css +40 -0
  351. package/dist/components/ui/input_module.css.map +1 -0
  352. package/dist/components/ui/item.d.ts +221 -19
  353. package/dist/components/ui/item.d.ts.map +1 -1
  354. package/dist/components/ui/item.js +66 -90
  355. package/dist/components/ui/item.js.map +1 -1
  356. package/dist/components/ui/item.module.js +22 -0
  357. package/dist/components/ui/item.module.js.map +1 -0
  358. package/dist/components/ui/item_module.css +143 -0
  359. package/dist/components/ui/item_module.css.map +1 -0
  360. package/dist/components/ui/kbd.d.ts +43 -2
  361. package/dist/components/ui/kbd.d.ts.map +1 -1
  362. package/dist/components/ui/kbd.js +12 -12
  363. package/dist/components/ui/kbd.js.map +1 -1
  364. package/dist/components/ui/kbd.module.js +8 -0
  365. package/dist/components/ui/kbd.module.js.map +1 -0
  366. package/dist/components/ui/kbd_module.css +35 -0
  367. package/dist/components/ui/kbd_module.css.map +1 -0
  368. package/dist/components/ui/label.d.ts +30 -3
  369. package/dist/components/ui/label.d.ts.map +1 -1
  370. package/dist/components/ui/label.js +7 -8
  371. package/dist/components/ui/label.js.map +1 -1
  372. package/dist/components/ui/label.module.js +7 -0
  373. package/dist/components/ui/label.module.js.map +1 -0
  374. package/dist/components/ui/label_module.css +17 -0
  375. package/dist/components/ui/label_module.css.map +1 -0
  376. package/dist/components/ui/list-skeleton.js +35 -0
  377. package/dist/components/ui/list-skeleton.js.map +1 -0
  378. package/dist/components/ui/list-skeleton.module.js +12 -0
  379. package/dist/components/ui/list-skeleton.module.js.map +1 -0
  380. package/dist/components/ui/list-skeleton_module.css +39 -0
  381. package/dist/components/ui/list-skeleton_module.css.map +1 -0
  382. package/dist/components/ui/loading-overlay.js +21 -0
  383. package/dist/components/ui/loading-overlay.js.map +1 -0
  384. package/dist/components/ui/loading-overlay.module.js +9 -0
  385. package/dist/components/ui/loading-overlay.module.js.map +1 -0
  386. package/dist/components/ui/loading-overlay_module.css +22 -0
  387. package/dist/components/ui/loading-overlay_module.css.map +1 -0
  388. package/dist/components/ui/menubar.d.ts +422 -22
  389. package/dist/components/ui/menubar.d.ts.map +1 -1
  390. package/dist/components/ui/menubar.js +199 -100
  391. package/dist/components/ui/menubar.js.map +1 -1
  392. package/dist/components/ui/menubar.module.js +21 -0
  393. package/dist/components/ui/menubar.module.js.map +1 -0
  394. package/dist/components/ui/menubar_module.css +145 -0
  395. package/dist/components/ui/menubar_module.css.map +1 -0
  396. package/dist/components/ui/meter.d.ts +101 -0
  397. package/dist/components/ui/meter.d.ts.map +1 -0
  398. package/dist/components/ui/meter.js +71 -0
  399. package/dist/components/ui/meter.js.map +1 -0
  400. package/dist/components/ui/meter.module.js +10 -0
  401. package/dist/components/ui/meter.module.js.map +1 -0
  402. package/dist/components/ui/meter_module.css +31 -0
  403. package/dist/components/ui/meter_module.css.map +1 -0
  404. package/dist/components/ui/navigation-menu.d.ts +242 -11
  405. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  406. package/dist/components/ui/navigation-menu.js +135 -49
  407. package/dist/components/ui/navigation-menu.js.map +1 -1
  408. package/dist/components/ui/navigation-menu.module.js +18 -0
  409. package/dist/components/ui/navigation-menu.module.js.map +1 -0
  410. package/dist/components/ui/navigation-menu_module.css +112 -0
  411. package/dist/components/ui/navigation-menu_module.css.map +1 -0
  412. package/dist/components/ui/number-field.d.ts +144 -0
  413. package/dist/components/ui/number-field.d.ts.map +1 -0
  414. package/dist/components/ui/number-field.js +111 -0
  415. package/dist/components/ui/number-field.js.map +1 -0
  416. package/dist/components/ui/number-field.module.js +15 -0
  417. package/dist/components/ui/number-field.module.js.map +1 -0
  418. package/dist/components/ui/number-field_module.css +125 -0
  419. package/dist/components/ui/number-field_module.css.map +1 -0
  420. package/dist/components/ui/pagination.d.ts +150 -24
  421. package/dist/components/ui/pagination.d.ts.map +1 -1
  422. package/dist/components/ui/pagination.js +41 -38
  423. package/dist/components/ui/pagination.js.map +1 -1
  424. package/dist/components/ui/pagination.module.js +14 -0
  425. package/dist/components/ui/pagination.module.js.map +1 -0
  426. package/dist/components/ui/pagination_module.css +66 -0
  427. package/dist/components/ui/pagination_module.css.map +1 -0
  428. package/dist/components/ui/popover.d.ts +133 -5
  429. package/dist/components/ui/popover.d.ts.map +1 -1
  430. package/dist/components/ui/popover.js +68 -14
  431. package/dist/components/ui/popover.js.map +1 -1
  432. package/dist/components/ui/popover.module.js +9 -0
  433. package/dist/components/ui/popover.module.js.map +1 -0
  434. package/dist/components/ui/popover_module.css +28 -0
  435. package/dist/components/ui/popover_module.css.map +1 -0
  436. package/dist/components/ui/progress.d.ts +34 -2
  437. package/dist/components/ui/progress.d.ts.map +1 -1
  438. package/dist/components/ui/progress.js +22 -14
  439. package/dist/components/ui/progress.js.map +1 -1
  440. package/dist/components/ui/progress.module.js +8 -0
  441. package/dist/components/ui/progress.module.js.map +1 -0
  442. package/dist/components/ui/progress_module.css +20 -0
  443. package/dist/components/ui/progress_module.css.map +1 -0
  444. package/dist/components/ui/radio-group.d.ts +44 -3
  445. package/dist/components/ui/radio-group.d.ts.map +1 -1
  446. package/dist/components/ui/radio-group.js +38 -16
  447. package/dist/components/ui/radio-group.js.map +1 -1
  448. package/dist/components/ui/radio-group.module.js +10 -0
  449. package/dist/components/ui/radio-group.module.js.map +1 -0
  450. package/dist/components/ui/radio-group_module.css +44 -0
  451. package/dist/components/ui/radio-group_module.css.map +1 -0
  452. package/dist/components/ui/resizable.d.ts +79 -6
  453. package/dist/components/ui/resizable.d.ts.map +1 -1
  454. package/dist/components/ui/resizable.js +23 -13
  455. package/dist/components/ui/resizable.js.map +1 -1
  456. package/dist/components/ui/resizable.module.js +10 -0
  457. package/dist/components/ui/resizable.module.js.map +1 -0
  458. package/dist/components/ui/resizable_module.css +70 -0
  459. package/dist/components/ui/resizable_module.css.map +1 -0
  460. package/dist/components/ui/ripple-button.d.ts +23 -2
  461. package/dist/components/ui/ripple-button.d.ts.map +1 -1
  462. package/dist/components/ui/ripple-button.js +26 -11
  463. package/dist/components/ui/ripple-button.js.map +1 -1
  464. package/dist/components/ui/ripple-button.module.js +9 -0
  465. package/dist/components/ui/ripple-button.module.js.map +1 -0
  466. package/dist/components/ui/ripple-button_module.css +38 -0
  467. package/dist/components/ui/ripple-button_module.css.map +1 -0
  468. package/dist/components/ui/scratcher.d.ts +25 -2
  469. package/dist/components/ui/scratcher.d.ts.map +1 -1
  470. package/dist/components/ui/scratcher.js +85 -87
  471. package/dist/components/ui/scratcher.js.map +1 -1
  472. package/dist/components/ui/scratcher.module.js +8 -0
  473. package/dist/components/ui/scratcher.module.js.map +1 -0
  474. package/dist/components/ui/scratcher_module.css +13 -0
  475. package/dist/components/ui/scratcher_module.css.map +1 -0
  476. package/dist/components/ui/scroll-area.d.ts +46 -3
  477. package/dist/components/ui/scroll-area.d.ts.map +1 -1
  478. package/dist/components/ui/scroll-area.js +44 -19
  479. package/dist/components/ui/scroll-area.js.map +1 -1
  480. package/dist/components/ui/scroll-area.module.js +14 -0
  481. package/dist/components/ui/scroll-area.module.js.map +1 -0
  482. package/dist/components/ui/scroll-area_module.css +51 -0
  483. package/dist/components/ui/scroll-area_module.css.map +1 -0
  484. package/dist/components/ui/select.d.ts +269 -11
  485. package/dist/components/ui/select.d.ts.map +1 -1
  486. package/dist/components/ui/select.js +152 -67
  487. package/dist/components/ui/select.js.map +1 -1
  488. package/dist/components/ui/select.module.js +20 -0
  489. package/dist/components/ui/select.module.js.map +1 -0
  490. package/dist/components/ui/select_module.css +134 -0
  491. package/dist/components/ui/select_module.css.map +1 -0
  492. package/dist/components/ui/separator.d.ts +36 -2
  493. package/dist/components/ui/separator.d.ts.map +1 -1
  494. package/dist/components/ui/separator.js +20 -10
  495. package/dist/components/ui/separator.js.map +1 -1
  496. package/dist/components/ui/separator.module.js +9 -0
  497. package/dist/components/ui/separator.module.js.map +1 -0
  498. package/dist/components/ui/separator_module.css +17 -0
  499. package/dist/components/ui/separator_module.css.map +1 -0
  500. package/dist/components/ui/sheet.d.ts +297 -23
  501. package/dist/components/ui/sheet.d.ts.map +1 -1
  502. package/dist/components/ui/sheet.js +121 -63
  503. package/dist/components/ui/sheet.js.map +1 -1
  504. package/dist/components/ui/sheet.module.js +18 -0
  505. package/dist/components/ui/sheet.module.js.map +1 -0
  506. package/dist/components/ui/sheet_module.css +136 -0
  507. package/dist/components/ui/sheet_module.css.map +1 -0
  508. package/dist/components/ui/sidebar.d.ts +491 -23
  509. package/dist/components/ui/sidebar.d.ts.map +1 -1
  510. package/dist/components/ui/sidebar.js +214 -143
  511. package/dist/components/ui/sidebar.js.map +1 -1
  512. package/dist/components/ui/sidebar.module.js +50 -0
  513. package/dist/components/ui/sidebar.module.js.map +1 -0
  514. package/dist/components/ui/sidebar_module.css +569 -0
  515. package/dist/components/ui/sidebar_module.css.map +1 -0
  516. package/dist/components/ui/skeleton.d.ts +30 -1
  517. package/dist/components/ui/skeleton.d.ts.map +1 -1
  518. package/dist/components/ui/skeleton.js +7 -7
  519. package/dist/components/ui/skeleton.js.map +1 -1
  520. package/dist/components/ui/skeleton.module.js +8 -0
  521. package/dist/components/ui/skeleton.module.js.map +1 -0
  522. package/dist/components/ui/skeleton_module.css +18 -0
  523. package/dist/components/ui/skeleton_module.css.map +1 -0
  524. package/dist/components/ui/slider.d.ts +48 -2
  525. package/dist/components/ui/slider.d.ts.map +1 -1
  526. package/dist/components/ui/slider.js +44 -17
  527. package/dist/components/ui/slider.js.map +1 -1
  528. package/dist/components/ui/slider.module.js +11 -0
  529. package/dist/components/ui/slider.module.js.map +1 -0
  530. package/dist/components/ui/slider_module.css +55 -0
  531. package/dist/components/ui/slider_module.css.map +1 -0
  532. package/dist/components/ui/sonner.d.ts +137 -4
  533. package/dist/components/ui/sonner.d.ts.map +1 -1
  534. package/dist/components/ui/sonner.js +450 -18
  535. package/dist/components/ui/sonner.js.map +1 -1
  536. package/dist/components/ui/sonner.module.js +34 -0
  537. package/dist/components/ui/sonner.module.js.map +1 -0
  538. package/dist/components/ui/sonner_module.css +233 -0
  539. package/dist/components/ui/sonner_module.css.map +1 -0
  540. package/dist/components/ui/spinner.d.ts +20 -1
  541. package/dist/components/ui/spinner.d.ts.map +1 -1
  542. package/dist/components/ui/spinner.js +29 -11
  543. package/dist/components/ui/spinner.js.map +1 -1
  544. package/dist/components/ui/spinner.module.js +10 -0
  545. package/dist/components/ui/spinner.module.js.map +1 -0
  546. package/dist/components/ui/spinner_module.css +28 -0
  547. package/dist/components/ui/spinner_module.css.map +1 -0
  548. package/dist/components/ui/stepper.d.ts +48 -0
  549. package/dist/components/ui/stepper.d.ts.map +1 -0
  550. package/dist/components/ui/stepper.js +41 -0
  551. package/dist/components/ui/stepper.js.map +1 -0
  552. package/dist/components/ui/stepper.module.js +12 -0
  553. package/dist/components/ui/stepper.module.js.map +1 -0
  554. package/dist/components/ui/stepper_module.css +75 -0
  555. package/dist/components/ui/stepper_module.css.map +1 -0
  556. package/dist/components/ui/switch.d.ts +29 -2
  557. package/dist/components/ui/switch.d.ts.map +1 -1
  558. package/dist/components/ui/switch.js +21 -9
  559. package/dist/components/ui/switch.js.map +1 -1
  560. package/dist/components/ui/switch.module.js +8 -0
  561. package/dist/components/ui/switch.module.js.map +1 -0
  562. package/dist/components/ui/switch_module.css +45 -0
  563. package/dist/components/ui/switch_module.css.map +1 -0
  564. package/dist/components/ui/table-skeleton.js +34 -0
  565. package/dist/components/ui/table-skeleton.js.map +1 -0
  566. package/dist/components/ui/table-skeleton.module.js +11 -0
  567. package/dist/components/ui/table-skeleton.module.js.map +1 -0
  568. package/dist/components/ui/table-skeleton_module.css +32 -0
  569. package/dist/components/ui/table-skeleton_module.css.map +1 -0
  570. package/dist/components/ui/table.d.ts +170 -8
  571. package/dist/components/ui/table.d.ts.map +1 -1
  572. package/dist/components/ui/table.js +17 -17
  573. package/dist/components/ui/table.js.map +1 -1
  574. package/dist/components/ui/table.module.js +15 -0
  575. package/dist/components/ui/table.module.js.map +1 -0
  576. package/dist/components/ui/table_module.css +71 -0
  577. package/dist/components/ui/table_module.css.map +1 -0
  578. package/dist/components/ui/tabs.d.ts +114 -5
  579. package/dist/components/ui/tabs.d.ts.map +1 -1
  580. package/dist/components/ui/tabs.js +71 -20
  581. package/dist/components/ui/tabs.js.map +1 -1
  582. package/dist/components/ui/tabs.module.js +10 -0
  583. package/dist/components/ui/tabs.module.js.map +1 -0
  584. package/dist/components/ui/tabs_module.css +89 -0
  585. package/dist/components/ui/tabs_module.css.map +1 -0
  586. package/dist/components/ui/textarea.d.ts +24 -1
  587. package/dist/components/ui/textarea.d.ts.map +1 -1
  588. package/dist/components/ui/textarea.js +2 -2
  589. package/dist/components/ui/textarea.js.map +1 -1
  590. package/dist/components/ui/textarea.module.js +7 -0
  591. package/dist/components/ui/textarea.module.js.map +1 -0
  592. package/dist/components/ui/textarea_module.css +33 -0
  593. package/dist/components/ui/textarea_module.css.map +1 -0
  594. package/dist/components/ui/timeline.d.ts +111 -0
  595. package/dist/components/ui/timeline.d.ts.map +1 -0
  596. package/dist/components/ui/timeline.js +34 -0
  597. package/dist/components/ui/timeline.js.map +1 -0
  598. package/dist/components/ui/timeline.module.js +10 -0
  599. package/dist/components/ui/timeline.module.js.map +1 -0
  600. package/dist/components/ui/timeline_module.css +47 -0
  601. package/dist/components/ui/timeline_module.css.map +1 -0
  602. package/dist/components/ui/toggle-group.d.ts +81 -10
  603. package/dist/components/ui/toggle-group.d.ts.map +1 -1
  604. package/dist/components/ui/toggle-group.js +32 -23
  605. package/dist/components/ui/toggle-group.js.map +1 -1
  606. package/dist/components/ui/toggle-group.module.js +7 -0
  607. package/dist/components/ui/toggle-group.module.js.map +1 -0
  608. package/dist/components/ui/toggle-group_module.css +8 -0
  609. package/dist/components/ui/toggle-group_module.css.map +1 -0
  610. package/dist/components/ui/toggle.d.ts +60 -11
  611. package/dist/components/ui/toggle.d.ts.map +1 -1
  612. package/dist/components/ui/toggle.js +29 -29
  613. package/dist/components/ui/toggle.js.map +1 -1
  614. package/dist/components/ui/toggle.module.js +12 -0
  615. package/dist/components/ui/toggle.module.js.map +1 -0
  616. package/dist/components/ui/toggle_module.css +62 -0
  617. package/dist/components/ui/toggle_module.css.map +1 -0
  618. package/dist/components/ui/toolbar.d.ts +127 -0
  619. package/dist/components/ui/toolbar.d.ts.map +1 -0
  620. package/dist/components/ui/toolbar.js +85 -0
  621. package/dist/components/ui/toolbar.js.map +1 -0
  622. package/dist/components/ui/toolbar.module.js +12 -0
  623. package/dist/components/ui/toolbar.module.js.map +1 -0
  624. package/dist/components/ui/toolbar_module.css +115 -0
  625. package/dist/components/ui/toolbar_module.css.map +1 -0
  626. package/dist/components/ui/tooltip.d.ts +119 -5
  627. package/dist/components/ui/tooltip.d.ts.map +1 -1
  628. package/dist/components/ui/tooltip.js +48 -13
  629. package/dist/components/ui/tooltip.js.map +1 -1
  630. package/dist/components/ui/tooltip.module.js +9 -0
  631. package/dist/components/ui/tooltip.module.js.map +1 -0
  632. package/dist/components/ui/tooltip_module.css +35 -0
  633. package/dist/components/ui/tooltip_module.css.map +1 -0
  634. package/dist/components/ui/typewriter.d.ts +48 -13
  635. package/dist/components/ui/typewriter.d.ts.map +1 -1
  636. package/dist/components/ui/typewriter.js +46 -49
  637. package/dist/components/ui/typewriter.js.map +1 -1
  638. package/dist/components/ui/typewriter.module.js +16 -0
  639. package/dist/components/ui/typewriter.module.js.map +1 -0
  640. package/dist/components/ui/typewriter_module.css +102 -0
  641. package/dist/components/ui/typewriter_module.css.map +1 -0
  642. package/dist/components/ui/visually-hidden.d.ts +38 -0
  643. package/dist/components/ui/visually-hidden.d.ts.map +1 -0
  644. package/dist/components/ui/visually-hidden.js +13 -0
  645. package/dist/components/ui/visually-hidden.js.map +1 -0
  646. package/dist/components/ui/visually-hidden.module.js +7 -0
  647. package/dist/components/ui/visually-hidden.module.js.map +1 -0
  648. package/dist/components/ui/visually-hidden_module.css +14 -0
  649. package/dist/components/ui/visually-hidden_module.css.map +1 -0
  650. package/dist/hooks/useAnnounce.js +46 -0
  651. package/dist/hooks/useAnnounce.js.map +1 -0
  652. package/dist/hooks/useBreakpoint.d.ts +17 -0
  653. package/dist/hooks/useBreakpoint.d.ts.map +1 -0
  654. package/dist/hooks/useBreakpoint.js +16 -0
  655. package/dist/hooks/useBreakpoint.js.map +1 -0
  656. package/dist/hooks/useColorScheme.d.ts +14 -0
  657. package/dist/hooks/useColorScheme.d.ts.map +1 -0
  658. package/dist/hooks/useColorScheme.js +9 -0
  659. package/dist/hooks/useColorScheme.js.map +1 -0
  660. package/dist/hooks/useFocusManager.js +51 -0
  661. package/dist/hooks/useFocusManager.js.map +1 -0
  662. package/dist/hooks/useFocusVisible.d.ts +50 -0
  663. package/dist/hooks/useFocusVisible.d.ts.map +1 -0
  664. package/dist/hooks/useFocusVisible.js +35 -0
  665. package/dist/hooks/useFocusVisible.js.map +1 -0
  666. package/dist/hooks/useIsMobile.d.ts +5 -11
  667. package/dist/hooks/useIsMobile.d.ts.map +1 -1
  668. package/dist/hooks/useIsMobile.js +2 -13
  669. package/dist/hooks/useIsMobile.js.map +1 -1
  670. package/dist/hooks/useMediaQuery.d.ts +14 -0
  671. package/dist/hooks/useMediaQuery.d.ts.map +1 -0
  672. package/dist/hooks/useMediaQuery.js +20 -0
  673. package/dist/hooks/useMediaQuery.js.map +1 -0
  674. package/dist/hooks/usePrefersContrast.d.ts +19 -0
  675. package/dist/hooks/usePrefersContrast.d.ts.map +1 -0
  676. package/dist/hooks/usePrefersContrast.js +8 -0
  677. package/dist/hooks/usePrefersContrast.js.map +1 -0
  678. package/dist/hooks/useReducedMotion.d.ts +19 -0
  679. package/dist/hooks/useReducedMotion.d.ts.map +1 -0
  680. package/dist/hooks/useReducedMotion.js +2 -0
  681. package/dist/index.css +104 -5355
  682. package/dist/index.css.map +1 -1
  683. package/dist/index.d.ts +40 -8
  684. package/dist/index.d.ts.map +1 -1
  685. package/dist/index.js +89 -70
  686. package/dist/lib/color-conversion-utilities.d.ts +82 -0
  687. package/dist/lib/color-conversion-utilities.d.ts.map +1 -0
  688. package/dist/lib/color-conversion-utilities.js +94 -0
  689. package/dist/lib/color-conversion-utilities.js.map +1 -0
  690. package/dist/lib/utilities.d.ts +5 -4
  691. package/dist/lib/utilities.d.ts.map +1 -1
  692. package/dist/lib/utilities.js +1 -2
  693. package/dist/lib/utilities.js.map +1 -1
  694. package/dist/motion/Collapse.js +19 -0
  695. package/dist/motion/Collapse.js.map +1 -0
  696. package/dist/motion/Collapse.module.js +8 -0
  697. package/dist/motion/Collapse.module.js.map +1 -0
  698. package/dist/motion/Collapse_module.css +25 -0
  699. package/dist/motion/Collapse_module.css.map +1 -0
  700. package/dist/motion/Presence.js +14 -0
  701. package/dist/motion/Presence.js.map +1 -0
  702. package/dist/motion/index.js +5 -0
  703. package/dist/motion/presets.js +117 -0
  704. package/dist/motion/presets.js.map +1 -0
  705. package/dist/motion/tokens.js +41 -0
  706. package/dist/motion/tokens.js.map +1 -0
  707. package/package.json +159 -65
  708. package/src/components/ui/accordion.module.css +70 -0
  709. package/src/components/ui/accordion.tsx +278 -44
  710. package/src/components/ui/alert-dialog.module.css +87 -0
  711. package/src/components/ui/alert-dialog.tsx +474 -99
  712. package/src/components/ui/alert.module.css +57 -0
  713. package/src/components/ui/alert.tsx +136 -43
  714. package/src/components/ui/aspect-ratio.module.css +7 -0
  715. package/src/components/ui/aspect-ratio.tsx +38 -3
  716. package/src/components/ui/async-boundary.tsx +56 -0
  717. package/src/components/ui/avatar.module.css +31 -0
  718. package/src/components/ui/avatar.tsx +146 -36
  719. package/src/components/ui/background-beams.module.css +20 -0
  720. package/src/components/ui/background-beams.tsx +173 -134
  721. package/src/components/ui/badge.module.css +60 -0
  722. package/src/components/ui/badge.tsx +100 -32
  723. package/src/components/ui/breadcrumb.module.css +87 -0
  724. package/src/components/ui/breadcrumb.tsx +256 -74
  725. package/src/components/ui/bubble-background.module.css +97 -0
  726. package/src/components/ui/bubble-background.tsx +92 -52
  727. package/src/components/ui/button-group.module.css +76 -0
  728. package/src/components/ui/button-group.tsx +135 -46
  729. package/src/components/ui/button.module.css +138 -0
  730. package/src/components/ui/button.tsx +159 -41
  731. package/src/components/ui/calendar.module.css +250 -0
  732. package/src/components/ui/calendar.tsx +133 -103
  733. package/src/components/ui/card-skeleton.module.css +50 -0
  734. package/src/components/ui/card-skeleton.tsx +69 -0
  735. package/src/components/ui/card.module.css +41 -0
  736. package/src/components/ui/card.tsx +175 -22
  737. package/src/components/ui/carousel.module.css +80 -0
  738. package/src/components/ui/carousel.tsx +184 -43
  739. package/src/components/ui/chart.module.css +164 -0
  740. package/src/components/ui/chart.tsx +444 -102
  741. package/src/components/ui/checkbox-group.module.css +8 -0
  742. package/src/components/ui/checkbox-group.tsx +54 -0
  743. package/src/components/ui/checkbox.module.css +43 -0
  744. package/src/components/ui/checkbox.tsx +73 -19
  745. package/src/components/ui/collapsible.module.css +24 -0
  746. package/src/components/ui/collapsible.tsx +139 -3
  747. package/src/components/ui/command.module.css +193 -0
  748. package/src/components/ui/command.tsx +877 -113
  749. package/src/components/ui/context-menu.module.css +113 -0
  750. package/src/components/ui/context-menu.tsx +616 -157
  751. package/src/components/ui/copy-button.module.css +34 -0
  752. package/src/components/ui/copy-button.tsx +116 -0
  753. package/src/components/ui/counting-number.module.css +4 -0
  754. package/src/components/ui/counting-number.tsx +69 -31
  755. package/src/components/ui/dialog.module.css +113 -0
  756. package/src/components/ui/dialog.tsx +427 -81
  757. package/src/components/ui/dot-background.module.css +12 -0
  758. package/src/components/ui/dot-background.tsx +134 -126
  759. package/src/components/ui/drawer.module.css +85 -0
  760. package/src/components/ui/drawer.tsx +408 -80
  761. package/src/components/ui/dropdown-menu.module.css +113 -0
  762. package/src/components/ui/dropdown-menu.tsx +616 -159
  763. package/src/components/ui/dropdrawer.module.css +322 -0
  764. package/src/components/ui/dropdrawer.tsx +850 -398
  765. package/src/components/ui/empty.module.css +84 -0
  766. package/src/components/ui/empty.tsx +176 -52
  767. package/src/components/ui/error-boundary.module.css +36 -0
  768. package/src/components/ui/error-boundary.tsx +127 -0
  769. package/src/components/ui/field.module.css +179 -0
  770. package/src/components/ui/field.tsx +345 -139
  771. package/src/components/ui/fireworks-background.module.css +13 -0
  772. package/src/components/ui/fireworks-background.tsx +89 -51
  773. package/src/components/ui/flip-button.module.css +44 -0
  774. package/src/components/ui/flip-button.tsx +59 -28
  775. package/src/components/ui/focus-scope.module.css +3 -0
  776. package/src/components/ui/focus-scope.tsx +160 -0
  777. package/src/components/ui/form-skeleton.module.css +28 -0
  778. package/src/components/ui/form-skeleton.tsx +62 -0
  779. package/src/components/ui/form.module.css +20 -0
  780. package/src/components/ui/form.tsx +244 -33
  781. package/src/components/ui/gradient-background.module.css +6 -0
  782. package/src/components/ui/gradient-background.tsx +27 -5
  783. package/src/components/ui/gradient-text.module.css +23 -0
  784. package/src/components/ui/gradient-text.tsx +36 -9
  785. package/src/components/ui/highlight-text.module.css +14 -0
  786. package/src/components/ui/highlight-text.tsx +37 -15
  787. package/src/components/ui/hole-background.module.css +84 -0
  788. package/src/components/ui/hole-background.tsx +290 -162
  789. package/src/components/ui/hover-card.module.css +21 -0
  790. package/src/components/ui/hover-card.tsx +142 -21
  791. package/src/components/ui/input-group.module.css +148 -0
  792. package/src/components/ui/input-group.tsx +222 -98
  793. package/src/components/ui/input-otp.module.css +92 -0
  794. package/src/components/ui/input-otp.tsx +159 -33
  795. package/src/components/ui/input.module.css +37 -0
  796. package/src/components/ui/input.tsx +56 -14
  797. package/src/components/ui/item.module.css +143 -0
  798. package/src/components/ui/item.tsx +331 -104
  799. package/src/components/ui/kbd.module.css +31 -0
  800. package/src/components/ui/kbd.tsx +60 -17
  801. package/src/components/ui/label.module.css +13 -0
  802. package/src/components/ui/label.tsx +38 -14
  803. package/src/components/ui/list-skeleton.module.css +35 -0
  804. package/src/components/ui/list-skeleton.tsx +70 -0
  805. package/src/components/ui/loading-overlay.module.css +19 -0
  806. package/src/components/ui/loading-overlay.tsx +72 -0
  807. package/src/components/ui/menubar.module.css +144 -0
  808. package/src/components/ui/menubar.tsx +605 -192
  809. package/src/components/ui/meter.module.css +32 -0
  810. package/src/components/ui/meter.tsx +170 -0
  811. package/src/components/ui/navigation-menu.module.css +110 -0
  812. package/src/components/ui/navigation-menu.tsx +375 -101
  813. package/src/components/ui/number-field.module.css +126 -0
  814. package/src/components/ui/number-field.tsx +254 -0
  815. package/src/components/ui/pagination.module.css +64 -0
  816. package/src/components/ui/pagination.tsx +250 -72
  817. package/src/components/ui/popover.module.css +26 -0
  818. package/src/components/ui/popover.tsx +207 -25
  819. package/src/components/ui/progress.module.css +15 -0
  820. package/src/components/ui/progress.tsx +53 -16
  821. package/src/components/ui/radio-group.module.css +41 -0
  822. package/src/components/ui/radio-group.tsx +91 -34
  823. package/src/components/ui/resizable.module.css +67 -0
  824. package/src/components/ui/resizable.tsx +106 -26
  825. package/src/components/ui/ripple-button.module.css +35 -0
  826. package/src/components/ui/ripple-button.tsx +55 -21
  827. package/src/components/ui/scratcher.module.css +9 -0
  828. package/src/components/ui/scratcher.tsx +129 -99
  829. package/src/components/ui/scroll-area.module.css +47 -0
  830. package/src/components/ui/scroll-area.tsx +96 -34
  831. package/src/components/ui/select.module.css +131 -0
  832. package/src/components/ui/select.tsx +435 -124
  833. package/src/components/ui/separator.module.css +14 -0
  834. package/src/components/ui/separator.tsx +59 -18
  835. package/src/components/ui/sheet.module.css +138 -0
  836. package/src/components/ui/sheet.tsx +424 -95
  837. package/src/components/ui/sidebar.module.css +594 -0
  838. package/src/components/ui/sidebar.tsx +899 -425
  839. package/src/components/ui/skeleton.module.css +14 -0
  840. package/src/components/ui/skeleton.tsx +39 -9
  841. package/src/components/ui/slider.module.css +48 -0
  842. package/src/components/ui/slider.tsx +89 -16
  843. package/src/components/ui/sonner.module.css +246 -0
  844. package/src/components/ui/sonner.tsx +769 -25
  845. package/src/components/ui/spinner.module.css +25 -0
  846. package/src/components/ui/spinner.tsx +51 -12
  847. package/src/components/ui/stepper.module.css +72 -0
  848. package/src/components/ui/stepper.tsx +95 -0
  849. package/src/components/ui/switch.module.css +42 -0
  850. package/src/components/ui/switch.tsx +53 -20
  851. package/src/components/ui/table-skeleton.module.css +29 -0
  852. package/src/components/ui/table-skeleton.tsx +79 -0
  853. package/src/components/ui/table.module.css +66 -0
  854. package/src/components/ui/table.tsx +235 -61
  855. package/src/components/ui/tabs.module.css +89 -0
  856. package/src/components/ui/tabs.tsx +192 -45
  857. package/src/components/ui/textarea.module.css +30 -0
  858. package/src/components/ui/textarea.tsx +30 -10
  859. package/src/components/ui/timeline.module.css +43 -0
  860. package/src/components/ui/timeline.tsx +153 -0
  861. package/src/components/ui/toggle-group.module.css +5 -0
  862. package/src/components/ui/toggle-group.tsx +116 -35
  863. package/src/components/ui/toggle.module.css +57 -0
  864. package/src/components/ui/toggle.tsx +89 -33
  865. package/src/components/ui/toolbar.module.css +112 -0
  866. package/src/components/ui/toolbar.tsx +210 -0
  867. package/src/components/ui/tooltip.module.css +39 -0
  868. package/src/components/ui/tooltip.tsx +181 -24
  869. package/src/components/ui/typewriter.module.css +101 -0
  870. package/src/components/ui/typewriter.tsx +130 -128
  871. package/src/components/ui/visually-hidden.module.css +11 -0
  872. package/src/components/ui/visually-hidden.tsx +50 -0
  873. package/src/css-modules.d.ts +9 -0
  874. package/src/hooks/useAnnounce.tsx +73 -0
  875. package/src/hooks/useBreakpoint.tsx +41 -0
  876. package/src/hooks/useColorScheme.tsx +23 -0
  877. package/src/hooks/useFocusManager.tsx +89 -0
  878. package/src/hooks/useFocusVisible.tsx +88 -0
  879. package/src/hooks/useIsMobile.tsx +7 -28
  880. package/src/hooks/useMediaQuery.tsx +34 -0
  881. package/src/hooks/usePrefersContrast.tsx +24 -0
  882. package/src/hooks/useReducedMotion.tsx +20 -0
  883. package/src/index.css +127 -65
  884. package/src/index.ts +223 -16
  885. package/src/lib/color-conversion-utilities.ts +165 -0
  886. package/src/lib/utilities.ts +7 -6
  887. package/src/motion/Collapse.module.css +22 -0
  888. package/src/motion/Collapse.tsx +52 -0
  889. package/src/motion/Presence.tsx +44 -0
  890. package/src/motion/index.ts +13 -0
  891. package/src/motion/presets.ts +77 -0
  892. package/src/motion/tokens.ts +37 -0
@@ -3,6 +3,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { motion, useMotionValue, useSpring } from "motion/react";
4
4
  import { forwardRef, useEffect, useImperativeHandle, useRef } from "react";
5
5
  import { cn } from "../../lib/utilities.js";
6
+ import bubble_background_module from "./bubble-background.module.js";
6
7
  const BubbleBackground = /*#__PURE__*/ forwardRef(({ className, children, interactive = false, transition = {
7
8
  stiffness: 100,
8
9
  damping: 20
@@ -15,7 +16,7 @@ const BubbleBackground = /*#__PURE__*/ forwardRef(({ className, children, intera
15
16
  sixth: "140,100,255"
16
17
  }, ...props }, ref)=>{
17
18
  const containerRef = useRef(null);
18
- useImperativeHandle(ref, ()=>containerRef.current);
19
+ useImperativeHandle(ref, ()=>containerRef.current, []);
19
20
  const mouseX = useMotionValue(0);
20
21
  const mouseY = useMotionValue(0);
21
22
  const springX = useSpring(mouseX, transition);
@@ -24,40 +25,40 @@ const BubbleBackground = /*#__PURE__*/ forwardRef(({ className, children, intera
24
25
  if (!interactive) return;
25
26
  const currentContainer = containerRef.current;
26
27
  if (!currentContainer) return;
27
- const handleMouseMove = (e)=>{
28
+ const handleMouseMove = (event)=>{
28
29
  const rect = currentContainer.getBoundingClientRect();
29
30
  const centerX = rect.left + rect.width / 2;
30
31
  const centerY = rect.top + rect.height / 2;
31
- mouseX.set(e.clientX - centerX);
32
- mouseY.set(e.clientY - centerY);
32
+ mouseX.set(event.clientX - centerX);
33
+ mouseY.set(event.clientY - centerY);
34
+ };
35
+ currentContainer.addEventListener("mousemove", handleMouseMove);
36
+ return ()=>{
37
+ currentContainer.removeEventListener("mousemove", handleMouseMove);
33
38
  };
34
- currentContainer?.addEventListener("mousemove", handleMouseMove);
35
- return ()=>currentContainer?.removeEventListener("mousemove", handleMouseMove);
36
39
  }, [
37
40
  interactive,
38
41
  mouseX,
39
42
  mouseY
40
43
  ]);
44
+ const style = {
45
+ "--ac-bubble-first-color": colors.first,
46
+ "--ac-bubble-second-color": colors.second,
47
+ "--ac-bubble-third-color": colors.third,
48
+ "--ac-bubble-fourth-color": colors.fourth,
49
+ "--ac-bubble-fifth-color": colors.fifth,
50
+ "--ac-bubble-sixth-color": colors.sixth
51
+ };
41
52
  return /*#__PURE__*/ jsxs("div", {
42
53
  ref: containerRef,
43
- className: cn("relative size-full overflow-hidden bg-gradient-to-br from-violet-900 to-blue-900", className),
54
+ className: cn(bubble_background_module.root, className),
55
+ style: style,
44
56
  ...props,
45
57
  children: [
46
- /*#__PURE__*/ jsx("style", {
47
- children: `
48
- :root {
49
- --first-color: ${colors.first};
50
- --second-color: ${colors.second};
51
- --third-color: ${colors.third};
52
- --fourth-color: ${colors.fourth};
53
- --fifth-color: ${colors.fifth};
54
- --sixth-color: ${colors.sixth};
55
- }
56
- `
57
- }),
58
58
  /*#__PURE__*/ jsx("svg", {
59
59
  xmlns: "http://www.w3.org/2000/svg",
60
- className: "absolute top-0 left-0 h-0 w-0",
60
+ className: bubble_background_module.hiddenSvg,
61
+ "aria-hidden": "true",
61
62
  children: /*#__PURE__*/ jsx("defs", {
62
63
  children: /*#__PURE__*/ jsxs("filter", {
63
64
  id: "goo",
@@ -82,13 +83,10 @@ const BubbleBackground = /*#__PURE__*/ forwardRef(({ className, children, intera
82
83
  })
83
84
  }),
84
85
  /*#__PURE__*/ jsxs("div", {
85
- className: "absolute inset-0",
86
- style: {
87
- filter: "url(#goo) blur(40px)"
88
- },
86
+ className: bubble_background_module.filterLayer,
89
87
  children: [
90
88
  /*#__PURE__*/ jsx(motion.div, {
91
- className: "absolute top-[10%] left-[10%] size-[80%] rounded-full bg-[radial-gradient(circle_at_center,rgba(var(--first-color),0.8)_0%,rgba(var(--first-color),0)_50%)] mix-blend-hard-light",
89
+ className: cn(bubble_background_module.bubble, bubble_background_module.bubbleFirst),
92
90
  animate: {
93
91
  y: [
94
92
  -50,
@@ -103,7 +101,7 @@ const BubbleBackground = /*#__PURE__*/ forwardRef(({ className, children, intera
103
101
  }
104
102
  }),
105
103
  /*#__PURE__*/ jsx(motion.div, {
106
- className: "absolute inset-0 flex origin-[calc(50%-400px)] items-center justify-center",
104
+ className: cn(bubble_background_module.rotator, bubble_background_module.rotatorSecond),
107
105
  animate: {
108
106
  rotate: 360
109
107
  },
@@ -114,11 +112,11 @@ const BubbleBackground = /*#__PURE__*/ forwardRef(({ className, children, intera
114
112
  repeatType: "reverse"
115
113
  },
116
114
  children: /*#__PURE__*/ jsx("div", {
117
- className: "top-[10%] left-[10%] size-[80%] rounded-full bg-[radial-gradient(circle_at_center,rgba(var(--second-color),0.8)_0%,rgba(var(--second-color),0)_50%)] mix-blend-hard-light"
115
+ className: cn(bubble_background_module.bubble, bubble_background_module.bubbleSecond)
118
116
  })
119
117
  }),
120
118
  /*#__PURE__*/ jsx(motion.div, {
121
- className: "absolute inset-0 flex origin-[calc(50%+400px)] items-center justify-center",
119
+ className: cn(bubble_background_module.rotator, bubble_background_module.rotatorThird),
122
120
  animate: {
123
121
  rotate: 360
124
122
  },
@@ -128,11 +126,11 @@ const BubbleBackground = /*#__PURE__*/ forwardRef(({ className, children, intera
128
126
  repeat: 1 / 0
129
127
  },
130
128
  children: /*#__PURE__*/ jsx("div", {
131
- className: "absolute top-[calc(50%+200px)] left-[calc(50%-500px)] size-[80%] rounded-full bg-[radial-gradient(circle_at_center,rgba(var(--third-color),0.8)_0%,rgba(var(--third-color),0)_50%)] mix-blend-hard-light"
129
+ className: cn(bubble_background_module.bubble, bubble_background_module.bubbleThird)
132
130
  })
133
131
  }),
134
132
  /*#__PURE__*/ jsx(motion.div, {
135
- className: "absolute top-[10%] left-[10%] size-[80%] rounded-full bg-[radial-gradient(circle_at_center,rgba(var(--fourth-color),0.8)_0%,rgba(var(--fourth-color),0)_50%)] opacity-70 mix-blend-hard-light",
133
+ className: cn(bubble_background_module.bubble, bubble_background_module.bubbleFourth),
136
134
  animate: {
137
135
  x: [
138
136
  -50,
@@ -147,7 +145,7 @@ const BubbleBackground = /*#__PURE__*/ forwardRef(({ className, children, intera
147
145
  }
148
146
  }),
149
147
  /*#__PURE__*/ jsx(motion.div, {
150
- className: "absolute inset-0 flex origin-[calc(50%_-_800px)_calc(50%_+_200px)] items-center justify-center",
148
+ className: cn(bubble_background_module.rotator, bubble_background_module.rotatorFifth),
151
149
  animate: {
152
150
  rotate: 360
153
151
  },
@@ -157,16 +155,16 @@ const BubbleBackground = /*#__PURE__*/ forwardRef(({ className, children, intera
157
155
  repeat: 1 / 0
158
156
  },
159
157
  children: /*#__PURE__*/ jsx("div", {
160
- className: "absolute top-[calc(50%-80%)] left-[calc(50%-80%)] size-[160%] rounded-full bg-[radial-gradient(circle_at_center,rgba(var(--fifth-color),0.8)_0%,rgba(var(--fifth-color),0)_50%)] mix-blend-hard-light"
158
+ className: cn(bubble_background_module.bubble, bubble_background_module.bubbleFifth)
161
159
  })
162
160
  }),
163
- Boolean(interactive) && /*#__PURE__*/ jsx(motion.div, {
164
- className: "absolute size-full rounded-full bg-[radial-gradient(circle_at_center,rgba(var(--sixth-color),0.8)_0%,rgba(var(--sixth-color),0)_50%)] opacity-70 mix-blend-hard-light",
161
+ interactive ? /*#__PURE__*/ jsx(motion.div, {
162
+ className: cn(bubble_background_module.bubble, bubble_background_module.bubbleInteractive),
165
163
  style: {
166
164
  x: springX,
167
165
  y: springY
168
166
  }
169
- })
167
+ }) : null
170
168
  ]
171
169
  }),
172
170
  children
@@ -1 +1 @@
1
- {"version":3,"file":"components/ui/bubble-background.js","sources":["../../../src/components/ui/bubble-background.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport {motion, type SpringOptions, Transition, useMotionValue, useSpring} from \"motion/react\";\r\nimport * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\ninterface BubbleBackgroundProps extends React.HTMLAttributes<HTMLDivElement> {\r\n interactive?: boolean;\r\n transition?: SpringOptions;\r\n colors?: {\r\n first: string;\r\n second: string;\r\n third: string;\r\n fourth: string;\r\n fifth: string;\r\n sixth: string;\r\n };\r\n}\r\n\r\nconst BubbleBackground = React.forwardRef<HTMLDivElement, BubbleBackgroundProps>(\r\n (\r\n {\r\n className,\r\n children,\r\n interactive = false,\r\n transition = {stiffness: 100, damping: 20},\r\n colors = {\r\n first: \"18,113,255\",\r\n second: \"221,74,255\",\r\n third: \"0,220,255\",\r\n fourth: \"200,50,50\",\r\n fifth: \"180,180,50\",\r\n sixth: \"140,100,255\",\r\n },\r\n ...props\r\n },\r\n ref,\r\n ) => {\r\n const containerRef = React.useRef<HTMLDivElement>(null);\r\n React.useImperativeHandle(ref, () => containerRef.current as HTMLDivElement);\r\n\r\n const mouseX = useMotionValue(0);\r\n const mouseY = useMotionValue(0);\r\n const springX = useSpring(mouseX, transition);\r\n const springY = useSpring(mouseY, transition);\r\n\r\n React.useEffect(() => {\r\n if (!interactive) return;\r\n\r\n const currentContainer = containerRef.current;\r\n if (!currentContainer) return;\r\n\r\n const handleMouseMove = (e: MouseEvent) => {\r\n const rect = currentContainer.getBoundingClientRect();\r\n const centerX = rect.left + rect.width / 2;\r\n const centerY = rect.top + rect.height / 2;\r\n mouseX.set(e.clientX - centerX);\r\n mouseY.set(e.clientY - centerY);\r\n };\r\n\r\n currentContainer?.addEventListener(\"mousemove\", handleMouseMove);\r\n return () => currentContainer?.removeEventListener(\"mousemove\", handleMouseMove);\r\n }, [interactive, mouseX, mouseY]);\r\n\r\n return (\r\n <div\r\n ref={containerRef}\r\n className={cn(\"relative size-full overflow-hidden bg-gradient-to-br from-violet-900 to-blue-900\", className)}\r\n {...props}>\r\n <style>\r\n {`\r\n :root {\r\n --first-color: ${colors.first};\r\n --second-color: ${colors.second};\r\n --third-color: ${colors.third};\r\n --fourth-color: ${colors.fourth};\r\n --fifth-color: ${colors.fifth};\r\n --sixth-color: ${colors.sixth};\r\n }\r\n `}\r\n </style>\r\n\r\n <svg\r\n xmlns='http://www.w3.org/2000/svg'\r\n className='absolute top-0 left-0 h-0 w-0'>\r\n <defs>\r\n <filter id='goo'>\r\n <feGaussianBlur\r\n in='SourceGraphic'\r\n stdDeviation='10'\r\n result='blur'\r\n />\r\n <feColorMatrix\r\n in='blur'\r\n mode='matrix'\r\n values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -8'\r\n result='goo'\r\n />\r\n <feBlend\r\n in='SourceGraphic'\r\n in2='goo'\r\n />\r\n </filter>\r\n </defs>\r\n </svg>\r\n\r\n <div\r\n className='absolute inset-0'\r\n style={{filter: \"url(#goo) blur(40px)\"}}>\r\n <motion.div\r\n className='absolute top-[10%] left-[10%] size-[80%] rounded-full bg-[radial-gradient(circle_at_center,rgba(var(--first-color),0.8)_0%,rgba(var(--first-color),0)_50%)] mix-blend-hard-light'\r\n animate={{y: [-50, 50, -50]}}\r\n transition={{duration: 30, ease: \"easeInOut\", repeat: Infinity}}\r\n />\r\n\r\n <motion.div\r\n className='absolute inset-0 flex origin-[calc(50%-400px)] items-center justify-center'\r\n animate={{rotate: 360}}\r\n transition={\r\n {\r\n duration: 20,\r\n ease: \"linear\",\r\n repeat: Infinity,\r\n repeatType: \"reverse\",\r\n } satisfies Transition\r\n }>\r\n <div className='top-[10%] left-[10%] size-[80%] rounded-full bg-[radial-gradient(circle_at_center,rgba(var(--second-color),0.8)_0%,rgba(var(--second-color),0)_50%)] mix-blend-hard-light' />\r\n </motion.div>\r\n\r\n <motion.div\r\n className='absolute inset-0 flex origin-[calc(50%+400px)] items-center justify-center'\r\n animate={{rotate: 360}}\r\n transition={{duration: 40, ease: \"linear\", repeat: Infinity}}>\r\n <div className='absolute top-[calc(50%+200px)] left-[calc(50%-500px)] size-[80%] rounded-full bg-[radial-gradient(circle_at_center,rgba(var(--third-color),0.8)_0%,rgba(var(--third-color),0)_50%)] mix-blend-hard-light' />\r\n </motion.div>\r\n\r\n <motion.div\r\n className='absolute top-[10%] left-[10%] size-[80%] rounded-full bg-[radial-gradient(circle_at_center,rgba(var(--fourth-color),0.8)_0%,rgba(var(--fourth-color),0)_50%)] opacity-70 mix-blend-hard-light'\r\n animate={{x: [-50, 50, -50]}}\r\n transition={{duration: 40, ease: \"easeInOut\", repeat: Infinity}}\r\n />\r\n\r\n <motion.div\r\n className='absolute inset-0 flex origin-[calc(50%_-_800px)_calc(50%_+_200px)] items-center justify-center'\r\n animate={{rotate: 360}}\r\n transition={{duration: 20, ease: \"linear\", repeat: Infinity}}>\r\n <div className='absolute top-[calc(50%-80%)] left-[calc(50%-80%)] size-[160%] rounded-full bg-[radial-gradient(circle_at_center,rgba(var(--fifth-color),0.8)_0%,rgba(var(--fifth-color),0)_50%)] mix-blend-hard-light' />\r\n </motion.div>\r\n\r\n {Boolean(interactive) && (\r\n <motion.div\r\n className='absolute size-full rounded-full bg-[radial-gradient(circle_at_center,rgba(var(--sixth-color),0.8)_0%,rgba(var(--sixth-color),0)_50%)] opacity-70 mix-blend-hard-light'\r\n style={{\r\n x: springX,\r\n y: springY,\r\n }}\r\n />\r\n )}\r\n </div>\r\n\r\n {children}\r\n </div>\r\n );\r\n },\r\n);\r\n\r\nBubbleBackground.displayName = \"BubbleBackground\";\r\n\r\nexport {BubbleBackground, type BubbleBackgroundProps};\r\n"],"names":["BubbleBackground","React","className","children","interactive","transition","colors","props","ref","containerRef","mouseX","useMotionValue","mouseY","springX","useSpring","springY","currentContainer","handleMouseMove","e","rect","centerX","centerY","cn","motion","Infinity","Boolean"],"mappings":";;;;;AAoBA,MAAMA,mBAAmB,WAAnBA,GAAmBC,WACvB,CACE,EACEC,SAAS,EACTC,QAAQ,EACRC,cAAc,KAAK,EACnBC,aAAa;IAAC,WAAW;IAAK,SAAS;AAAE,CAAC,EAC1CC,SAAS;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;AACT,CAAC,EACD,GAAGC,OACJ,EACDC;IAEA,MAAMC,eAAeR,OAA6B;IAClDA,oBAA0BO,KAAK,IAAMC,aAAa,OAAO;IAEzD,MAAMC,SAASC,eAAe;IAC9B,MAAMC,SAASD,eAAe;IAC9B,MAAME,UAAUC,UAAUJ,QAAQL;IAClC,MAAMU,UAAUD,UAAUF,QAAQP;IAElCJ,UAAgB;QACd,IAAI,CAACG,aAAa;QAElB,MAAMY,mBAAmBP,aAAa,OAAO;QAC7C,IAAI,CAACO,kBAAkB;QAEvB,MAAMC,kBAAkB,CAACC;YACvB,MAAMC,OAAOH,iBAAiB,qBAAqB;YACnD,MAAMI,UAAUD,KAAK,IAAI,GAAGA,KAAK,KAAK,GAAG;YACzC,MAAME,UAAUF,KAAK,GAAG,GAAGA,KAAK,MAAM,GAAG;YACzCT,OAAO,GAAG,CAACQ,EAAE,OAAO,GAAGE;YACvBR,OAAO,GAAG,CAACM,EAAE,OAAO,GAAGG;QACzB;QAEAL,kBAAkB,iBAAiB,aAAaC;QAChD,OAAO,IAAMD,kBAAkB,oBAAoB,aAAaC;IAClE,GAAG;QAACb;QAAaM;QAAQE;KAAO;IAEhC,OAAO,WAAP,GACE,KAAC;QACC,KAAKH;QACL,WAAWa,GAAG,oFAAoFpB;QACjG,GAAGK,KAAK;;0BACT,IAAC;0BACE,CAAC;;6BAEiB,EAAED,OAAO,KAAK,CAAC;8BACd,EAAEA,OAAO,MAAM,CAAC;6BACjB,EAAEA,OAAO,KAAK,CAAC;8BACd,EAAEA,OAAO,MAAM,CAAC;6BACjB,EAAEA,OAAO,KAAK,CAAC;6BACf,EAAEA,OAAO,KAAK,CAAC;;UAElC,CAAC;;0BAGH,IAAC;gBACC,OAAM;gBACN,WAAU;0BACV,kBAAC;8BACC,mBAAC;wBAAO,IAAG;;0CACT,IAAC;gCACC,IAAG;gCACH,cAAa;gCACb,QAAO;;0CAET,IAAC;gCACC,IAAG;gCACH,MAAK;gCACL,QAAO;gCACP,QAAO;;0CAET,IAAC;gCACC,IAAG;gCACH,KAAI;;;;;;0BAMZ,KAAC;gBACC,WAAU;gBACV,OAAO;oBAAC,QAAQ;gBAAsB;;kCACtC,IAACiB,OAAO,GAAG;wBACT,WAAU;wBACV,SAAS;4BAAC,GAAG;gCAAC;gCAAK;gCAAI;6BAAI;wBAAA;wBAC3B,YAAY;4BAAC,UAAU;4BAAI,MAAM;4BAAa,QAAQC;wBAAQ;;kCAGhE,IAACD,OAAO,GAAG;wBACT,WAAU;wBACV,SAAS;4BAAC,QAAQ;wBAAG;wBACrB,YACE;4BACE,UAAU;4BACV,MAAM;4BACN,QAAQC;4BACR,YAAY;wBACd;kCAEF,kBAAC;4BAAI,WAAU;;;kCAGjB,IAACD,OAAO,GAAG;wBACT,WAAU;wBACV,SAAS;4BAAC,QAAQ;wBAAG;wBACrB,YAAY;4BAAC,UAAU;4BAAI,MAAM;4BAAU,QAAQC;wBAAQ;kCAC3D,kBAAC;4BAAI,WAAU;;;kCAGjB,IAACD,OAAO,GAAG;wBACT,WAAU;wBACV,SAAS;4BAAC,GAAG;gCAAC;gCAAK;gCAAI;6BAAI;wBAAA;wBAC3B,YAAY;4BAAC,UAAU;4BAAI,MAAM;4BAAa,QAAQC;wBAAQ;;kCAGhE,IAACD,OAAO,GAAG;wBACT,WAAU;wBACV,SAAS;4BAAC,QAAQ;wBAAG;wBACrB,YAAY;4BAAC,UAAU;4BAAI,MAAM;4BAAU,QAAQC;wBAAQ;kCAC3D,kBAAC;4BAAI,WAAU;;;oBAGhBC,QAAQrB,gBAAgB,WAAhBA,GACP,IAACmB,OAAO,GAAG;wBACT,WAAU;wBACV,OAAO;4BACL,GAAGV;4BACH,GAAGE;wBACL;;;;YAKLZ;;;AAGP;AAGFH,iBAAiB,WAAW,GAAG"}
1
+ {"version":3,"file":"components/ui/bubble-background.js","sources":["../../../src/components/ui/bubble-background.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport {motion, type SpringOptions, type Transition, useMotionValue, useSpring} from \"motion/react\";\r\nimport * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./bubble-background.module.css\";\r\n\r\n/** Configurable bubble color channels consumed by the CSS module. */\r\nexport interface BubbleBackgroundColors {\r\n /** Primary bubble RGB triplet. @default \"18,113,255\" */\r\n first: string;\r\n /** Secondary bubble RGB triplet. @default \"221,74,255\" */\r\n second: string;\r\n /** Tertiary bubble RGB triplet. @default \"0,220,255\" */\r\n third: string;\r\n /** Fourth bubble RGB triplet. @default \"200,50,50\" */\r\n fourth: string;\r\n /** Fifth bubble RGB triplet. @default \"180,180,50\" */\r\n fifth: string;\r\n /** Sixth bubble RGB triplet used by the interactive layer. @default \"140,100,255\" */\r\n sixth: string;\r\n}\r\n\r\n/** Props accepted by {@link BubbleBackground}. */\r\nexport interface BubbleBackgroundProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /** Enables mouse-following motion for the interactive bubble layer. @default false */\r\n interactive?: boolean;\r\n /** Spring configuration applied to the interactive bubble motion. @default {stiffness: 100, damping: 20} */\r\n transition?: SpringOptions;\r\n /** Overrides the CSS custom property color palette for the bubbles. @default {first: \"18,113,255\", second: \"221,74,255\", third: \"0,220,255\", fourth: \"200,50,50\", fifth: \"180,180,50\", sixth: \"140,100,255\"} */\r\n colors?: BubbleBackgroundColors;\r\n}\r\n\r\ntype BubbleStyleProperties = React.CSSProperties & {\r\n \"--ac-bubble-first-color\": string;\r\n \"--ac-bubble-second-color\": string;\r\n \"--ac-bubble-third-color\": string;\r\n \"--ac-bubble-fourth-color\": string;\r\n \"--ac-bubble-fifth-color\": string;\r\n \"--ac-bubble-sixth-color\": string;\r\n};\r\n\r\n/**\r\n * Renders drifting gradient bubbles with an optional interactive cursor follower.\r\n *\r\n * @remarks\r\n * - Animated component using the `motion` library\r\n * - Renders a `<div>` element\r\n * - Styling via CSS Modules with `--ac-*` custom properties\r\n * - Client-side only (`\"use client\"` directive)\r\n *\r\n * @example\r\n * ```tsx\r\n * <BubbleBackground interactive />\r\n * ```\r\n *\r\n * @see {@link BubbleBackgroundProps} for available props\r\n */\r\nconst BubbleBackground = React.forwardRef<HTMLDivElement, BubbleBackgroundProps>(\r\n (\r\n {\r\n className,\r\n children,\r\n interactive = false,\r\n transition = {stiffness: 100, damping: 20},\r\n colors = {\r\n first: \"18,113,255\",\r\n second: \"221,74,255\",\r\n third: \"0,220,255\",\r\n fourth: \"200,50,50\",\r\n fifth: \"180,180,50\",\r\n sixth: \"140,100,255\",\r\n },\r\n ...props\r\n },\r\n ref,\r\n ) => {\r\n const containerRef = React.useRef<HTMLDivElement>(null);\r\n\r\n React.useImperativeHandle(ref, () => containerRef.current!, []);\r\n\r\n const mouseX = useMotionValue(0);\r\n const mouseY = useMotionValue(0);\r\n const springX = useSpring(mouseX, transition);\r\n const springY = useSpring(mouseY, transition);\r\n\r\n React.useEffect(() => {\r\n if (!interactive) {\r\n return;\r\n }\r\n\r\n const currentContainer = containerRef.current;\r\n if (!currentContainer) {\r\n return;\r\n }\r\n\r\n const handleMouseMove = (event: MouseEvent): void => {\r\n const rect = currentContainer.getBoundingClientRect();\r\n const centerX = rect.left + rect.width / 2;\r\n const centerY = rect.top + rect.height / 2;\r\n mouseX.set(event.clientX - centerX);\r\n mouseY.set(event.clientY - centerY);\r\n };\r\n\r\n currentContainer.addEventListener(\"mousemove\", handleMouseMove);\r\n\r\n return () => {\r\n currentContainer.removeEventListener(\"mousemove\", handleMouseMove);\r\n };\r\n }, [interactive, mouseX, mouseY]);\r\n\r\n const style: BubbleStyleProperties = {\r\n \"--ac-bubble-first-color\": colors.first,\r\n \"--ac-bubble-second-color\": colors.second,\r\n \"--ac-bubble-third-color\": colors.third,\r\n \"--ac-bubble-fourth-color\": colors.fourth,\r\n \"--ac-bubble-fifth-color\": colors.fifth,\r\n \"--ac-bubble-sixth-color\": colors.sixth,\r\n };\r\n\r\n return (\r\n <div\r\n ref={containerRef}\r\n className={cn(styles.root, className)}\r\n style={style}\r\n {...props}>\r\n <svg\r\n xmlns='http://www.w3.org/2000/svg'\r\n className={styles.hiddenSvg}\r\n aria-hidden='true'>\r\n <defs>\r\n <filter id='goo'>\r\n <feGaussianBlur\r\n in='SourceGraphic'\r\n stdDeviation='10'\r\n result='blur'\r\n />\r\n <feColorMatrix\r\n in='blur'\r\n mode='matrix'\r\n values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -8'\r\n result='goo'\r\n />\r\n <feBlend\r\n in='SourceGraphic'\r\n in2='goo'\r\n />\r\n </filter>\r\n </defs>\r\n </svg>\r\n\r\n <div className={styles.filterLayer}>\r\n <motion.div\r\n className={cn(styles.bubble, styles.bubbleFirst)}\r\n animate={{y: [-50, 50, -50]}}\r\n transition={{duration: 30, ease: \"easeInOut\", repeat: Infinity}}\r\n />\r\n\r\n <motion.div\r\n className={cn(styles.rotator, styles.rotatorSecond)}\r\n animate={{rotate: 360}}\r\n transition={\r\n {\r\n duration: 20,\r\n ease: \"linear\",\r\n repeat: Infinity,\r\n repeatType: \"reverse\",\r\n } satisfies Transition\r\n }>\r\n <div className={cn(styles.bubble, styles.bubbleSecond)} />\r\n </motion.div>\r\n\r\n <motion.div\r\n className={cn(styles.rotator, styles.rotatorThird)}\r\n animate={{rotate: 360}}\r\n transition={{duration: 40, ease: \"linear\", repeat: Infinity}}>\r\n <div className={cn(styles.bubble, styles.bubbleThird)} />\r\n </motion.div>\r\n\r\n <motion.div\r\n className={cn(styles.bubble, styles.bubbleFourth)}\r\n animate={{x: [-50, 50, -50]}}\r\n transition={{duration: 40, ease: \"easeInOut\", repeat: Infinity}}\r\n />\r\n\r\n <motion.div\r\n className={cn(styles.rotator, styles.rotatorFifth)}\r\n animate={{rotate: 360}}\r\n transition={{duration: 20, ease: \"linear\", repeat: Infinity}}>\r\n <div className={cn(styles.bubble, styles.bubbleFifth)} />\r\n </motion.div>\r\n\r\n {interactive ? (\r\n <motion.div\r\n className={cn(styles.bubble, styles.bubbleInteractive)}\r\n style={{x: springX, y: springY}}\r\n />\r\n ) : null}\r\n </div>\r\n\r\n {children}\r\n </div>\r\n );\r\n },\r\n);\r\n\r\nBubbleBackground.displayName = \"BubbleBackground\";\r\n\r\nexport {BubbleBackground};\r\n"],"names":["BubbleBackground","React","className","children","interactive","transition","colors","props","ref","containerRef","mouseX","useMotionValue","mouseY","springX","useSpring","springY","currentContainer","handleMouseMove","event","rect","centerX","centerY","style","cn","styles","motion","Infinity"],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import "./bubble-background_module.css";
2
+ const bubble_background_module = {
3
+ root: "root-J8xptl",
4
+ hiddenSvg: "hiddenSvg-eHjXf_",
5
+ filterLayer: "filterLayer-9CIW2r",
6
+ bubble: "bubble-aokqGt",
7
+ bubbleFirst: "bubbleFirst-gPpCTk",
8
+ bubbleFourth: "bubbleFourth-JIcMNJ",
9
+ rotator: "rotator-zoYRBc",
10
+ rotatorSecond: "rotatorSecond-qNszdb",
11
+ bubbleSecond: "bubbleSecond-CC10ks",
12
+ rotatorThird: "rotatorThird-obzzF3",
13
+ bubbleThird: "bubbleThird-hOtab1",
14
+ rotatorFifth: "rotatorFifth-TckMdN",
15
+ bubbleFifth: "bubbleFifth-zchqfe",
16
+ bubbleInteractive: "bubbleInteractive-XwtaGk"
17
+ };
18
+ export default bubble_background_module;
19
+
20
+ //# sourceMappingURL=bubble-background.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components/ui/bubble-background.module.js","sources":["../../../src/components/ui/bubble-background.module.css"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./bubble-background_module.css\"\nexport default {\"root\":\"root-J8xptl\",\"hiddenSvg\":\"hiddenSvg-eHjXf_\",\"filterLayer\":\"filterLayer-9CIW2r\",\"bubble\":\"bubble-aokqGt\",\"bubbleFirst\":\"bubbleFirst-gPpCTk\",\"bubbleFourth\":\"bubbleFourth-JIcMNJ\",\"rotator\":\"rotator-zoYRBc\",\"rotatorSecond\":\"rotatorSecond-qNszdb\",\"bubbleSecond\":\"bubbleSecond-CC10ks\",\"rotatorThird\":\"rotatorThird-obzzF3\",\"bubbleThird\":\"bubbleThird-hOtab1\",\"rotatorFifth\":\"rotatorFifth-TckMdN\",\"bubbleFifth\":\"bubbleFifth-zchqfe\",\"bubbleInteractive\":\"bubbleInteractive-XwtaGk\"};"],"names":[],"mappings":";AAEA,iCAAe;IAAC,MAAO;IAAc,WAAY;IAAmB,aAAc;IAAqB,QAAS;IAAgB,aAAc;IAAqB,cAAe;IAAsB,SAAU;IAAiB,eAAgB;IAAuB,cAAe;IAAsB,cAAe;IAAsB,aAAc;IAAqB,cAAe;IAAsB,aAAc;IAAqB,mBAAoB;AAA0B"}
@@ -0,0 +1,99 @@
1
+ .root-J8xptl {
2
+ background: linear-gradient(135deg, #2e1065, #1d4ed8);
3
+ width: 100%;
4
+ height: 100%;
5
+ position: relative;
6
+ overflow: hidden;
7
+ }
8
+
9
+ .hiddenSvg-eHjXf_ {
10
+ width: 0;
11
+ height: 0;
12
+ position: absolute;
13
+ top: 0;
14
+ left: 0;
15
+ }
16
+
17
+ .filterLayer-9CIW2r {
18
+ filter: url("#goo") blur(40px);
19
+ position: absolute;
20
+ inset: 0;
21
+ }
22
+
23
+ .bubble-aokqGt {
24
+ mix-blend-mode: hard-light;
25
+ border-radius: 9999px;
26
+ position: absolute;
27
+ }
28
+
29
+ .bubbleFirst-gPpCTk, .bubbleFourth-JIcMNJ {
30
+ width: 80%;
31
+ height: 80%;
32
+ top: 10%;
33
+ left: 10%;
34
+ }
35
+
36
+ .bubbleFirst-gPpCTk {
37
+ background: radial-gradient(circle at center,rgb(var(--ac-bubble-first-color)/.8) 0,rgb(var(--ac-bubble-first-color)/0) 50%);
38
+ }
39
+
40
+ .rotator-zoYRBc {
41
+ justify-content: center;
42
+ align-items: center;
43
+ display: flex;
44
+ position: absolute;
45
+ inset: 0;
46
+ }
47
+
48
+ .rotatorSecond-qNszdb {
49
+ transform-origin: calc(50% - 400px);
50
+ }
51
+
52
+ .bubbleSecond-CC10ks {
53
+ background: radial-gradient(circle at center,rgb(var(--ac-bubble-second-color)/.8) 0,rgb(var(--ac-bubble-second-color)/0) 50%);
54
+ width: 80%;
55
+ height: 80%;
56
+ top: 10%;
57
+ left: 10%;
58
+ }
59
+
60
+ .rotatorThird-obzzF3 {
61
+ transform-origin: calc(50% + 400px);
62
+ }
63
+
64
+ .bubbleThird-hOtab1 {
65
+ background: radial-gradient(circle at center,rgb(var(--ac-bubble-third-color)/.8) 0,rgb(var(--ac-bubble-third-color)/0) 50%);
66
+ width: 80%;
67
+ height: 80%;
68
+ position: absolute;
69
+ top: calc(50% + 200px);
70
+ left: calc(50% - 500px);
71
+ }
72
+
73
+ .bubbleFourth-JIcMNJ {
74
+ background: radial-gradient(circle at center,rgb(var(--ac-bubble-fourth-color)/.8) 0,rgb(var(--ac-bubble-fourth-color)/0) 50%);
75
+ opacity: .7;
76
+ }
77
+
78
+ .rotatorFifth-TckMdN {
79
+ transform-origin: calc(50% - 800px) calc(50% + 200px);
80
+ }
81
+
82
+ .bubbleFifth-zchqfe {
83
+ background: radial-gradient(circle at center,rgb(var(--ac-bubble-fifth-color)/.8) 0,rgb(var(--ac-bubble-fifth-color)/0) 50%);
84
+ width: 160%;
85
+ height: 160%;
86
+ position: absolute;
87
+ top: -30%;
88
+ left: -30%;
89
+ }
90
+
91
+ .bubbleInteractive-XwtaGk {
92
+ background: radial-gradient(circle at center,rgb(var(--ac-bubble-sixth-color)/.8) 0,rgb(var(--ac-bubble-sixth-color)/0) 50%);
93
+ opacity: .7;
94
+ width: 100%;
95
+ height: 100%;
96
+ }
97
+
98
+
99
+ /*# sourceMappingURL=bubble-background_module.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack://./home/runner/work/arolariu.ro/arolariu.ro/packages/components/src/components/ui/bubble-background.module.css","webpack://./src/components/ui/bubble-background.module.css"],"names":[],"mappings":"AADA;ECEE,qDAAqD;EACrD,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,gBAAgB;AAClB;;AAEA;EACE,QAAQ;EACR,SAAS;EACT,kBAAkB;EAClB,MAAM;EACN,OAAO;AACT;;AAEA;EACE,8BAA8B;EAC9B,kBAAkB;EAClB,QAAQ;AACV;;AAEA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,kBAAkB;AACpB;;AAEA;EACE,UAAU;EACV,WAAW;EACX,QAAQ;EACR,SAAS;AACX;;AAEA;EACE,4HAA4H;AAC9H;;AAEA;EACE,uBAAuB;EACvB,mBAAmB;EACnB,aAAa;EACb,kBAAkB;EAClB,QAAQ;AACV;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,8HAA8H;EAC9H,UAAU;EACV,WAAW;EACX,QAAQ;EACR,SAAS;AACX;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,4HAA4H;EAC5H,UAAU;EACV,WAAW;EACX,kBAAkB;EAClB,sBAAsB;EACtB,uBAAuB;AACzB;;AAEA;EACE,8HAA8H;EAC9H,WAAW;AACb;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,4HAA4H;EAC5H,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,SAAS;EACT,UAAU;AACZ;;AAEA;EACE,4HAA4H;EAC5H,WAAW;EACX,WAAW;EACX,YAAY;AACd","sourcesContent":[".root{background:linear-gradient(135deg,#2e1065,#1d4ed8);height:100%;overflow:hidden;position:relative;width:100%}.hiddenSvg{height:0;left:0;position:absolute;top:0;width:0}.filterLayer{filter:url(#goo) blur(40px);inset:0;position:absolute}.bubble{border-radius:9999px;mix-blend-mode:hard-light;position:absolute}.bubbleFirst,.bubbleFourth{height:80%;left:10%;top:10%;width:80%}.bubbleFirst{background:radial-gradient(circle at center,rgb(var(--ac-bubble-first-color)/.8) 0,rgb(var(--ac-bubble-first-color)/0) 50%)}.rotator{align-items:center;display:flex;inset:0;justify-content:center;position:absolute}.rotatorSecond{transform-origin:calc(50% - 400px) 50%}.bubbleSecond{background:radial-gradient(circle at center,rgb(var(--ac-bubble-second-color)/.8) 0,rgb(var(--ac-bubble-second-color)/0) 50%);height:80%;left:10%;top:10%;width:80%}.rotatorThird{transform-origin:calc(50% + 400px) 50%}.bubbleThird{background:radial-gradient(circle at center,rgb(var(--ac-bubble-third-color)/.8) 0,rgb(var(--ac-bubble-third-color)/0) 50%);height:80%;left:calc(50% - 500px);position:absolute;top:calc(50% + 200px);width:80%}.bubbleFourth{background:radial-gradient(circle at center,rgb(var(--ac-bubble-fourth-color)/.8) 0,rgb(var(--ac-bubble-fourth-color)/0) 50%);opacity:.7}.rotatorFifth{transform-origin:calc(50% - 800px) calc(50% + 200px)}.bubbleFifth{background:radial-gradient(circle at center,rgb(var(--ac-bubble-fifth-color)/.8) 0,rgb(var(--ac-bubble-fifth-color)/0) 50%);height:160%;left:-30%;position:absolute;top:-30%;width:160%}.bubbleInteractive{background:radial-gradient(circle at center,rgb(var(--ac-bubble-sixth-color)/.8) 0,rgb(var(--ac-bubble-sixth-color)/0) 50%);height:100%;opacity:.7;width:100%}",".root {\n background: linear-gradient(135deg, #2e1065, #1d4ed8);\n width: 100%;\n height: 100%;\n position: relative;\n overflow: hidden;\n}\n\n.hiddenSvg {\n width: 0;\n height: 0;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.filterLayer {\n filter: url(\"#goo\") blur(40px);\n position: absolute;\n inset: 0;\n}\n\n.bubble {\n mix-blend-mode: hard-light;\n border-radius: 9999px;\n position: absolute;\n}\n\n.bubbleFirst, .bubbleFourth {\n width: 80%;\n height: 80%;\n top: 10%;\n left: 10%;\n}\n\n.bubbleFirst {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-first-color)/.8) 0,rgb(var(--ac-bubble-first-color)/0) 50%);\n}\n\n.rotator {\n justify-content: center;\n align-items: center;\n display: flex;\n position: absolute;\n inset: 0;\n}\n\n.rotatorSecond {\n transform-origin: calc(50% - 400px);\n}\n\n.bubbleSecond {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-second-color)/.8) 0,rgb(var(--ac-bubble-second-color)/0) 50%);\n width: 80%;\n height: 80%;\n top: 10%;\n left: 10%;\n}\n\n.rotatorThird {\n transform-origin: calc(50% + 400px);\n}\n\n.bubbleThird {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-third-color)/.8) 0,rgb(var(--ac-bubble-third-color)/0) 50%);\n width: 80%;\n height: 80%;\n position: absolute;\n top: calc(50% + 200px);\n left: calc(50% - 500px);\n}\n\n.bubbleFourth {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-fourth-color)/.8) 0,rgb(var(--ac-bubble-fourth-color)/0) 50%);\n opacity: .7;\n}\n\n.rotatorFifth {\n transform-origin: calc(50% - 800px) calc(50% + 200px);\n}\n\n.bubbleFifth {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-fifth-color)/.8) 0,rgb(var(--ac-bubble-fifth-color)/0) 50%);\n width: 160%;\n height: 160%;\n position: absolute;\n top: -30%;\n left: -30%;\n}\n\n.bubbleInteractive {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-sixth-color)/.8) 0,rgb(var(--ac-bubble-sixth-color)/0) 50%);\n opacity: .7;\n width: 100%;\n height: 100%;\n}\n"],"sourceRoot":""}
@@ -1,13 +1,93 @@
1
- import { type VariantProps } from "class-variance-authority";
2
1
  import * as React from "react";
3
2
  import { Separator } from "./separator";
4
- declare const buttonGroupVariants: (props?: {
5
- orientation?: "horizontal" | "vertical";
6
- } & import("class-variance-authority/types").ClassProp) => string;
7
- declare function ButtonGroup({ className, orientation, ...props }: React.ComponentProps<"div"> & VariantProps<typeof buttonGroupVariants>): import("react/jsx-runtime").JSX.Element;
8
- declare function ButtonGroupText({ className, asChild, ...props }: React.ComponentProps<"div"> & {
3
+ /** Supported layout directions for {@link ButtonGroup}. */
4
+ export type ButtonGroupOrientation = "horizontal" | "vertical";
5
+ interface ButtonGroupVariantOptions {
6
+ /** Orientation used to resolve the root style classes. @default "horizontal" */
7
+ orientation?: ButtonGroupOrientation;
8
+ /** Additional classes merged into the generated variant string. @default undefined */
9
+ className?: string;
10
+ }
11
+ /**
12
+ * Props for the {@link ButtonGroup} component.
13
+ */
14
+ export interface ButtonGroupProps extends React.ComponentPropsWithoutRef<"div"> {
15
+ /** Arrangement of grouped controls. @default "horizontal" */
16
+ orientation?: ButtonGroupOrientation;
17
+ }
18
+ /**
19
+ * Props for the {@link ButtonGroupText} component.
20
+ */
21
+ export interface ButtonGroupTextProps extends React.ComponentPropsWithoutRef<"div"> {
22
+ /** Enables rendering an existing div-compatible child element. @default false */
9
23
  asChild?: boolean;
10
- }): import("react/jsx-runtime").JSX.Element;
11
- declare function ButtonGroupSeparator({ className, orientation, ...props }: React.ComponentProps<typeof Separator>): import("react/jsx-runtime").JSX.Element;
24
+ }
25
+ /**
26
+ * Props for the {@link ButtonGroupSeparator} component.
27
+ */
28
+ export type ButtonGroupSeparatorProps = React.ComponentPropsWithoutRef<typeof Separator>;
29
+ /**
30
+ * Returns the CSS class list for a button group root.
31
+ *
32
+ * @param options - Variant options used to derive the generated class string.
33
+ * @returns The merged class name string for the requested orientation.
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * const className = buttonGroupVariants({orientation: "vertical"});
38
+ * ```
39
+ */
40
+ declare function buttonGroupVariants({ orientation, className }?: Readonly<ButtonGroupVariantOptions>): string;
41
+ /**
42
+ * Aligns related buttons into a single visual control group.
43
+ *
44
+ * @remarks
45
+ * - Pure CSS component (no Base UI primitive)
46
+ * - Renders a `<div>` element
47
+ * - Styling via CSS Modules with `--ac-*` custom properties
48
+ *
49
+ * @example
50
+ * ```tsx
51
+ * <ButtonGroup>
52
+ * <button type='button'>Left</button>
53
+ * <button type='button'>Right</button>
54
+ * </ButtonGroup>
55
+ * ```
56
+ *
57
+ * @see {@link ButtonGroupProps} for available props
58
+ */
59
+ declare const ButtonGroup: React.ForwardRefExoticComponent<ButtonGroupProps & React.RefAttributes<HTMLDivElement>>;
60
+ /**
61
+ * Adds descriptive text content within a button group layout.
62
+ *
63
+ * @remarks
64
+ * - Pure CSS component (no Base UI primitive)
65
+ * - Renders a `<div>` element by default
66
+ * - Styling via CSS Modules with `--ac-*` custom properties
67
+ *
68
+ * @example
69
+ * ```tsx
70
+ * <ButtonGroupText>Actions</ButtonGroupText>
71
+ * ```
72
+ *
73
+ * @see {@link ButtonGroupTextProps} for available props
74
+ */
75
+ declare const ButtonGroupText: React.ForwardRefExoticComponent<ButtonGroupTextProps & React.RefAttributes<HTMLDivElement>>;
76
+ /**
77
+ * Inserts a separator between grouped controls.
78
+ *
79
+ * @remarks
80
+ * - Pure CSS component (no Base UI primitive)
81
+ * - Renders a wrapped `Separator` component
82
+ * - Styling via CSS Modules with `--ac-*` custom properties
83
+ *
84
+ * @example
85
+ * ```tsx
86
+ * <ButtonGroupSeparator orientation='vertical' />
87
+ * ```
88
+ *
89
+ * @see {@link ButtonGroupSeparatorProps} for available props
90
+ */
91
+ declare const ButtonGroupSeparator: React.ForwardRefExoticComponent<Omit<Readonly<import("./separator").SeparatorProps>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
92
  export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants };
13
93
  //# sourceMappingURL=button-group.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-group.d.ts","sourceRoot":"","sources":["../../../src/components/ui/button-group.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAM,KAAK,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAC;AAGpD,QAAA,MAAM,mBAAmB;;iEAcxB,CAAC;AAEF,iBAAS,WAAW,CAAC,EAAC,SAAS,EAAE,WAAW,EAAE,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,mBAAmB,CAAC,2CAU9H;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,OAAe,EACf,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,2CAYA;AAED,iBAAS,oBAAoB,CAAC,EAAC,SAAS,EAAE,WAAwB,EAAE,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,2CASpH;AAED,OAAO,EAAC,WAAW,EAAE,oBAAoB,EAAE,eAAe,EAAE,mBAAmB,EAAC,CAAC"}
1
+ {"version":3,"file":"button-group.d.ts","sourceRoot":"","sources":["../../../src/components/ui/button-group.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAC;AAIpD,2DAA2D;AAC3D,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,UAAU,CAAC;AAE/D,UAAU,yBAAyB;IACjC,gFAAgF;IAChF,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,sFAAsF;IACtF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IAC7E,6DAA6D;IAC7D,WAAW,CAAC,EAAE,sBAAsB,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACjF,iFAAiF;IACjF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,SAAS,CAAC,CAAC;AAEzF;;;;;;;;;;GAUG;AACH,iBAAS,mBAAmB,CAAC,EAAC,WAA0B,EAAE,SAAS,EAAC,GAAE,QAAQ,CAAC,yBAAyB,CAAM,GAAG,MAAM,CAEtH;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,QAAA,MAAM,WAAW,yFAWhB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,eAAe,6FAwBpB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,oBAAoB,kJAUzB,CAAC;AAMF,OAAO,EAAC,WAAW,EAAE,oBAAoB,EAAE,eAAe,EAAE,mBAAmB,EAAC,CAAC"}
@@ -1,47 +1,50 @@
1
1
  "use client";
2
2
  import { jsx } from "react/jsx-runtime";
3
- import { Slot } from "@radix-ui/react-slot";
4
- import { cva } from "class-variance-authority";
5
- import "react";
3
+ import { cloneElement, forwardRef, isValidElement } from "react";
6
4
  import { Separator } from "./separator.js";
7
5
  import { cn } from "../../lib/utilities.js";
8
- const buttonGroupVariants = cva("flex w-fit items-stretch has-[>[data-slot=button-group]]:gap-2 [&>*]:focus-visible:relative [&>*]:focus-visible:z-10 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1", {
9
- variants: {
10
- orientation: {
11
- horizontal: "[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none",
12
- vertical: "flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none"
13
- }
14
- },
15
- defaultVariants: {
16
- orientation: "horizontal"
17
- }
18
- });
19
- function ButtonGroup({ className, orientation, ...props }) {
20
- return /*#__PURE__*/ jsx("div", {
6
+ import button_group_module from "./button-group.module.js";
7
+ function buttonGroupVariants({ orientation = "horizontal", className } = {}) {
8
+ return cn(button_group_module.root, "vertical" === orientation ? button_group_module.vertical : button_group_module.horizontal, className);
9
+ }
10
+ const ButtonGroup = /*#__PURE__*/ forwardRef(({ className, orientation = "horizontal", ...props }, ref)=>/*#__PURE__*/ jsx("div", {
11
+ ref: ref,
21
12
  role: "group",
22
13
  "data-slot": "button-group",
23
14
  "data-orientation": orientation,
24
- className: cn(buttonGroupVariants({
25
- orientation
26
- }), className),
27
- ...props
28
- });
29
- }
30
- function ButtonGroupText({ className, asChild = false, ...props }) {
31
- const Comp = asChild ? Slot : "div";
32
- return /*#__PURE__*/ jsx(Comp, {
33
- className: cn("flex items-center gap-2 rounded-md border border-neutral-200 bg-neutral-100 px-4 text-sm font-medium shadow-xs dark:border-neutral-800 dark:bg-neutral-800 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4", className),
15
+ className: buttonGroupVariants({
16
+ orientation,
17
+ className
18
+ }),
34
19
  ...props
20
+ }));
21
+ const ButtonGroupText = /*#__PURE__*/ forwardRef(({ className, asChild = false, children, ...props }, ref)=>{
22
+ const mergedClassName = cn(button_group_module.text, className);
23
+ if (asChild && /*#__PURE__*/ isValidElement(children)) {
24
+ const child = children;
25
+ return /*#__PURE__*/ cloneElement(child, {
26
+ ...props,
27
+ ref,
28
+ className: cn(mergedClassName, child.props.className)
29
+ });
30
+ }
31
+ return /*#__PURE__*/ jsx("div", {
32
+ ref: ref,
33
+ className: mergedClassName,
34
+ ...props,
35
+ children: children
35
36
  });
36
- }
37
- function ButtonGroupSeparator({ className, orientation = "vertical", ...props }) {
38
- return /*#__PURE__*/ jsx(Separator, {
37
+ });
38
+ const ButtonGroupSeparator = /*#__PURE__*/ forwardRef(({ className, orientation = "vertical", ...props }, ref)=>/*#__PURE__*/ jsx(Separator, {
39
+ ref: ref,
39
40
  "data-slot": "button-group-separator",
40
41
  orientation: orientation,
41
- className: cn("relative !m-0 self-stretch bg-neutral-200 data-[orientation=vertical]:h-auto dark:bg-neutral-800", className),
42
+ className: cn(button_group_module.separator, className),
42
43
  ...props
43
- });
44
- }
44
+ }));
45
+ ButtonGroup.displayName = "ButtonGroup";
46
+ ButtonGroupText.displayName = "ButtonGroupText";
47
+ ButtonGroupSeparator.displayName = "ButtonGroupSeparator";
45
48
  export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants };
46
49
 
47
50
  //# sourceMappingURL=button-group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components/ui/button-group.js","sources":["../../../src/components/ui/button-group.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport {Slot} from \"@radix-ui/react-slot\";\r\nimport {cva, type VariantProps} from \"class-variance-authority\";\r\nimport * as React from \"react\";\r\n\r\nimport {Separator} from \"@/components/ui/separator\";\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nconst buttonGroupVariants = cva(\r\n \"flex w-fit items-stretch has-[>[data-slot=button-group]]:gap-2 [&>*]:focus-visible:relative [&>*]:focus-visible:z-10 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1\",\r\n {\r\n variants: {\r\n orientation: {\r\n horizontal: \"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none\",\r\n vertical:\r\n \"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none\",\r\n },\r\n },\r\n defaultVariants: {\r\n orientation: \"horizontal\",\r\n },\r\n },\r\n);\r\n\r\nfunction ButtonGroup({className, orientation, ...props}: React.ComponentProps<\"div\"> & VariantProps<typeof buttonGroupVariants>) {\r\n return (\r\n <div\r\n role='group'\r\n data-slot='button-group'\r\n data-orientation={orientation}\r\n className={cn(buttonGroupVariants({orientation}), className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction ButtonGroupText({\r\n className,\r\n asChild = false,\r\n ...props\r\n}: React.ComponentProps<\"div\"> & {\r\n asChild?: boolean;\r\n}) {\r\n const Comp = asChild ? Slot : \"div\";\r\n\r\n return (\r\n <Comp\r\n className={cn(\r\n \"flex items-center gap-2 rounded-md border border-neutral-200 bg-neutral-100 px-4 text-sm font-medium shadow-xs dark:border-neutral-800 dark:bg-neutral-800 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction ButtonGroupSeparator({className, orientation = \"vertical\", ...props}: React.ComponentProps<typeof Separator>) {\r\n return (\r\n <Separator\r\n data-slot='button-group-separator'\r\n orientation={orientation}\r\n className={cn(\"relative !m-0 self-stretch bg-neutral-200 data-[orientation=vertical]:h-auto dark:bg-neutral-800\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport {ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants};\r\n"],"names":["buttonGroupVariants","cva","ButtonGroup","className","orientation","props","cn","ButtonGroupText","asChild","Comp","Slot","ButtonGroupSeparator","Separator"],"mappings":";;;;;;;AASA,MAAMA,sBAAsBC,IAC1B,oSACA;IACE,UAAU;QACR,aAAa;YACX,YAAY;YACZ,UACE;QACJ;IACF;IACA,iBAAiB;QACf,aAAa;IACf;AACF;AAGF,SAASC,YAAY,EAACC,SAAS,EAAEC,WAAW,EAAE,GAAGC,OAA8E;IAC7H,OAAO,WAAP,GACE,IAAC;QACC,MAAK;QACL,aAAU;QACV,oBAAkBD;QAClB,WAAWE,GAAGN,oBAAoB;YAACI;QAAW,IAAID;QACjD,GAAGE,KAAK;;AAGf;AAEA,SAASE,gBAAgB,EACvBJ,SAAS,EACTK,UAAU,KAAK,EACf,GAAGH,OAGJ;IACC,MAAMI,OAAOD,UAAUE,OAAO;IAE9B,OAAO,WAAP,GACE,IAACD,MAAAA;QACC,WAAWH,GACT,+NACAH;QAED,GAAGE,KAAK;;AAGf;AAEA,SAASM,qBAAqB,EAACR,SAAS,EAAEC,cAAc,UAAU,EAAE,GAAGC,OAA8C;IACnH,OAAO,WAAP,GACE,IAACO,WAASA;QACR,aAAU;QACV,aAAaR;QACb,WAAWE,GAAG,oGAAoGH;QACjH,GAAGE,KAAK;;AAGf"}
1
+ {"version":3,"file":"components/ui/button-group.js","sources":["../../../src/components/ui/button-group.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\n\r\nimport {Separator} from \"@/components/ui/separator\";\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./button-group.module.css\";\r\n\r\n/** Supported layout directions for {@link ButtonGroup}. */\r\nexport type ButtonGroupOrientation = \"horizontal\" | \"vertical\";\r\n\r\ninterface ButtonGroupVariantOptions {\r\n /** Orientation used to resolve the root style classes. @default \"horizontal\" */\r\n orientation?: ButtonGroupOrientation;\r\n /** Additional classes merged into the generated variant string. @default undefined */\r\n className?: string;\r\n}\r\n\r\n/**\r\n * Props for the {@link ButtonGroup} component.\r\n */\r\nexport interface ButtonGroupProps extends React.ComponentPropsWithoutRef<\"div\"> {\r\n /** Arrangement of grouped controls. @default \"horizontal\" */\r\n orientation?: ButtonGroupOrientation;\r\n}\r\n\r\n/**\r\n * Props for the {@link ButtonGroupText} component.\r\n */\r\nexport interface ButtonGroupTextProps extends React.ComponentPropsWithoutRef<\"div\"> {\r\n /** Enables rendering an existing div-compatible child element. @default false */\r\n asChild?: boolean;\r\n}\r\n\r\n/**\r\n * Props for the {@link ButtonGroupSeparator} component.\r\n */\r\nexport type ButtonGroupSeparatorProps = React.ComponentPropsWithoutRef<typeof Separator>;\r\n\r\n/**\r\n * Returns the CSS class list for a button group root.\r\n *\r\n * @param options - Variant options used to derive the generated class string.\r\n * @returns The merged class name string for the requested orientation.\r\n *\r\n * @example\r\n * ```tsx\r\n * const className = buttonGroupVariants({orientation: \"vertical\"});\r\n * ```\r\n */\r\nfunction buttonGroupVariants({orientation = \"horizontal\", className}: Readonly<ButtonGroupVariantOptions> = {}): string {\r\n return cn(styles.root, orientation === \"vertical\" ? styles.vertical : styles.horizontal, className);\r\n}\r\n\r\n/**\r\n * Aligns related buttons into a single visual control group.\r\n *\r\n * @remarks\r\n * - Pure CSS component (no Base UI primitive)\r\n * - Renders a `<div>` element\r\n * - Styling via CSS Modules with `--ac-*` custom properties\r\n *\r\n * @example\r\n * ```tsx\r\n * <ButtonGroup>\r\n * <button type='button'>Left</button>\r\n * <button type='button'>Right</button>\r\n * </ButtonGroup>\r\n * ```\r\n *\r\n * @see {@link ButtonGroupProps} for available props\r\n */\r\nconst ButtonGroup = React.forwardRef<HTMLDivElement, ButtonGroupProps>(\r\n ({className, orientation = \"horizontal\", ...props}: Readonly<ButtonGroupProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n role='group'\r\n data-slot='button-group'\r\n data-orientation={orientation}\r\n className={buttonGroupVariants({orientation, className})}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\n/**\r\n * Adds descriptive text content within a button group layout.\r\n *\r\n * @remarks\r\n * - Pure CSS component (no Base UI primitive)\r\n * - Renders a `<div>` element by default\r\n * - Styling via CSS Modules with `--ac-*` custom properties\r\n *\r\n * @example\r\n * ```tsx\r\n * <ButtonGroupText>Actions</ButtonGroupText>\r\n * ```\r\n *\r\n * @see {@link ButtonGroupTextProps} for available props\r\n */\r\nconst ButtonGroupText = React.forwardRef<HTMLDivElement, ButtonGroupTextProps>(\r\n ({className, asChild = false, children, ...props}: Readonly<ButtonGroupTextProps>, ref): React.JSX.Element => {\r\n const mergedClassName = cn(styles.text, className);\r\n\r\n if (asChild && React.isValidElement(children)) {\r\n const child = children as React.ReactElement<React.ComponentPropsWithoutRef<\"div\"> & {ref?: React.Ref<HTMLDivElement>}>;\r\n\r\n // eslint-disable-next-line react-x/no-clone-element -- replaces Radix Slot while preserving asChild prop merging\r\n return React.cloneElement(child, {\r\n ...props,\r\n ref,\r\n className: cn(mergedClassName, child.props.className),\r\n });\r\n }\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n className={mergedClassName}\r\n {...props}>\r\n {children}\r\n </div>\r\n );\r\n },\r\n);\r\n\r\n/**\r\n * Inserts a separator between grouped controls.\r\n *\r\n * @remarks\r\n * - Pure CSS component (no Base UI primitive)\r\n * - Renders a wrapped `Separator` component\r\n * - Styling via CSS Modules with `--ac-*` custom properties\r\n *\r\n * @example\r\n * ```tsx\r\n * <ButtonGroupSeparator orientation='vertical' />\r\n * ```\r\n *\r\n * @see {@link ButtonGroupSeparatorProps} for available props\r\n */\r\nconst ButtonGroupSeparator = React.forwardRef<HTMLDivElement, ButtonGroupSeparatorProps>(\r\n ({className, orientation = \"vertical\", ...props}: Readonly<ButtonGroupSeparatorProps>, ref): React.JSX.Element => (\r\n <Separator\r\n ref={ref}\r\n data-slot='button-group-separator'\r\n orientation={orientation}\r\n className={cn(styles.separator, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\nButtonGroup.displayName = \"ButtonGroup\";\r\nButtonGroupText.displayName = \"ButtonGroupText\";\r\nButtonGroupSeparator.displayName = \"ButtonGroupSeparator\";\r\n\r\nexport {ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants};\r\n"],"names":["buttonGroupVariants","orientation","className","cn","styles","ButtonGroup","React","props","ref","ButtonGroupText","asChild","children","mergedClassName","child","ButtonGroupSeparator","Separator"],"mappings":";;;;;;AAkDA,SAASA,oBAAoB,EAACC,cAAc,YAAY,EAAEC,SAAS,EAAsC,GAAG,CAAC,CAAC;IAC5G,OAAOC,GAAGC,oBAAAA,IAAW,EAAEH,AAAgB,eAAhBA,cAA6BG,oBAAAA,QAAe,GAAGA,oBAAAA,UAAiB,EAAEF;AAC3F;AAoBA,MAAMG,cAAc,WAAHA,GAAGC,WAClB,CAAC,EAACJ,SAAS,EAAED,cAAc,YAAY,EAAE,GAAGM,OAAkC,EAAEC,MAAAA,WAAAA,GAC9E,IAAC;QACC,KAAKA;QACL,MAAK;QACL,aAAU;QACV,oBAAkBP;QAClB,WAAWD,oBAAoB;YAACC;YAAaC;QAAS;QACrD,GAAGK,KAAK;;AAoBf,MAAME,kBAAkB,WAAHA,GAAGH,WACtB,CAAC,EAACJ,SAAS,EAAEQ,UAAU,KAAK,EAAEC,QAAQ,EAAE,GAAGJ,OAAsC,EAAEC;IACjF,MAAMI,kBAAkBT,GAAGC,oBAAAA,IAAW,EAAEF;IAExC,IAAIQ,WAAW,WAAXA,GAAWJ,eAAqBK,WAAW;QAC7C,MAAME,QAAQF;QAGd,OAAO,WAAP,GAAOL,aAAmBO,OAAO;YAC/B,GAAGN,KAAK;YACRC;YACA,WAAWL,GAAGS,iBAAiBC,MAAM,KAAK,CAAC,SAAS;QACtD;IACF;IAEA,OAAO,WAAP,GACE,IAAC;QACC,KAAKL;QACL,WAAWI;QACV,GAAGL,KAAK;kBACRI;;AAGP;AAkBF,MAAMG,uBAAuB,WAAHA,GAAGR,WAC3B,CAAC,EAACJ,SAAS,EAAED,cAAc,UAAU,EAAE,GAAGM,OAA2C,EAAEC,MAAAA,WAAAA,GACrF,IAACO,WAASA;QACR,KAAKP;QACL,aAAU;QACV,aAAaP;QACb,WAAWE,GAAGC,oBAAAA,SAAgB,EAAEF;QAC/B,GAAGK,KAAK;;AAKfF,YAAY,WAAW,GAAG;AAC1BI,gBAAgB,WAAW,GAAG;AAC9BK,qBAAqB,WAAW,GAAG"}
@@ -0,0 +1,11 @@
1
+ import "./button-group_module.css";
2
+ const button_group_module = {
3
+ root: "root-Z5pCsu",
4
+ horizontal: "horizontal-kveVYa",
5
+ vertical: "vertical-L4G4Ah",
6
+ text: "text-VDSn9t",
7
+ separator: "separator-yqxF4d"
8
+ };
9
+ export default button_group_module;
10
+
11
+ //# sourceMappingURL=button-group.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components/ui/button-group.module.js","sources":["../../../src/components/ui/button-group.module.css"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./button-group_module.css\"\nexport default {\"root\":\"root-Z5pCsu\",\"horizontal\":\"horizontal-kveVYa\",\"vertical\":\"vertical-L4G4Ah\",\"text\":\"text-VDSn9t\",\"separator\":\"separator-yqxF4d\"};"],"names":[],"mappings":";AAEA,4BAAe;IAAC,MAAO;IAAc,YAAa;IAAoB,UAAW;IAAkB,MAAO;IAAc,WAAY;AAAkB"}