@arolariu/components 0.5.0 → 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} +25 -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 +387 -51
  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 +222 -23
  245. package/dist/components/ui/field.d.ts.map +1 -1
  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 -5363
  682. package/dist/index.css.map +1 -1
  683. package/dist/index.d.ts +38 -8
  684. package/dist/index.d.ts.map +1 -1
  685. package/dist/index.js +89 -72
  686. package/dist/lib/utilities.d.ts +5 -4
  687. package/dist/lib/utilities.d.ts.map +1 -1
  688. package/dist/lib/utilities.js +1 -2
  689. package/dist/lib/utilities.js.map +1 -1
  690. package/dist/motion/Collapse.js +19 -0
  691. package/dist/motion/Collapse.js.map +1 -0
  692. package/dist/motion/Collapse.module.js +8 -0
  693. package/dist/motion/Collapse.module.js.map +1 -0
  694. package/dist/motion/Collapse_module.css +25 -0
  695. package/dist/motion/Collapse_module.css.map +1 -0
  696. package/dist/motion/Presence.js +14 -0
  697. package/dist/motion/Presence.js.map +1 -0
  698. package/dist/motion/index.js +5 -0
  699. package/dist/motion/presets.js +117 -0
  700. package/dist/motion/presets.js.map +1 -0
  701. package/dist/motion/tokens.js +41 -0
  702. package/dist/motion/tokens.js.map +1 -0
  703. package/package.json +154 -67
  704. package/src/components/ui/accordion.module.css +70 -0
  705. package/src/components/ui/accordion.tsx +278 -44
  706. package/src/components/ui/alert-dialog.module.css +87 -0
  707. package/src/components/ui/alert-dialog.tsx +474 -99
  708. package/src/components/ui/alert.module.css +57 -0
  709. package/src/components/ui/alert.tsx +136 -43
  710. package/src/components/ui/aspect-ratio.module.css +7 -0
  711. package/src/components/ui/aspect-ratio.tsx +38 -3
  712. package/src/components/ui/async-boundary.tsx +56 -0
  713. package/src/components/ui/avatar.module.css +31 -0
  714. package/src/components/ui/avatar.tsx +146 -36
  715. package/src/components/ui/background-beams.module.css +20 -0
  716. package/src/components/ui/background-beams.tsx +173 -134
  717. package/src/components/ui/badge.module.css +60 -0
  718. package/src/components/ui/badge.tsx +100 -32
  719. package/src/components/ui/breadcrumb.module.css +87 -0
  720. package/src/components/ui/breadcrumb.tsx +256 -74
  721. package/src/components/ui/bubble-background.module.css +97 -0
  722. package/src/components/ui/bubble-background.tsx +92 -52
  723. package/src/components/ui/button-group.module.css +76 -0
  724. package/src/components/ui/button-group.tsx +135 -46
  725. package/src/components/ui/button.module.css +138 -0
  726. package/src/components/ui/button.tsx +159 -41
  727. package/src/components/ui/calendar.module.css +250 -0
  728. package/src/components/ui/calendar.tsx +133 -103
  729. package/src/components/ui/card-skeleton.module.css +50 -0
  730. package/src/components/ui/card-skeleton.tsx +69 -0
  731. package/src/components/ui/card.module.css +41 -0
  732. package/src/components/ui/card.tsx +175 -22
  733. package/src/components/ui/carousel.module.css +80 -0
  734. package/src/components/ui/carousel.tsx +184 -43
  735. package/src/components/ui/chart.module.css +164 -0
  736. package/src/components/ui/chart.tsx +444 -102
  737. package/src/components/ui/checkbox-group.module.css +8 -0
  738. package/src/components/ui/checkbox-group.tsx +54 -0
  739. package/src/components/ui/checkbox.module.css +43 -0
  740. package/src/components/ui/checkbox.tsx +73 -19
  741. package/src/components/ui/collapsible.module.css +24 -0
  742. package/src/components/ui/collapsible.tsx +139 -3
  743. package/src/components/ui/command.module.css +193 -0
  744. package/src/components/ui/command.tsx +877 -114
  745. package/src/components/ui/context-menu.module.css +113 -0
  746. package/src/components/ui/context-menu.tsx +616 -157
  747. package/src/components/ui/copy-button.module.css +34 -0
  748. package/src/components/ui/copy-button.tsx +116 -0
  749. package/src/components/ui/counting-number.module.css +4 -0
  750. package/src/components/ui/counting-number.tsx +69 -31
  751. package/src/components/ui/dialog.module.css +113 -0
  752. package/src/components/ui/dialog.tsx +427 -81
  753. package/src/components/ui/dot-background.module.css +12 -0
  754. package/src/components/ui/dot-background.tsx +134 -126
  755. package/src/components/ui/drawer.module.css +85 -0
  756. package/src/components/ui/drawer.tsx +408 -80
  757. package/src/components/ui/dropdown-menu.module.css +113 -0
  758. package/src/components/ui/dropdown-menu.tsx +616 -159
  759. package/src/components/ui/dropdrawer.module.css +322 -0
  760. package/src/components/ui/dropdrawer.tsx +850 -398
  761. package/src/components/ui/empty.module.css +84 -0
  762. package/src/components/ui/empty.tsx +176 -52
  763. package/src/components/ui/error-boundary.module.css +36 -0
  764. package/src/components/ui/error-boundary.tsx +127 -0
  765. package/src/components/ui/field.module.css +179 -0
  766. package/src/components/ui/field.tsx +345 -139
  767. package/src/components/ui/fireworks-background.module.css +13 -0
  768. package/src/components/ui/fireworks-background.tsx +89 -51
  769. package/src/components/ui/flip-button.module.css +44 -0
  770. package/src/components/ui/flip-button.tsx +59 -28
  771. package/src/components/ui/focus-scope.module.css +3 -0
  772. package/src/components/ui/focus-scope.tsx +160 -0
  773. package/src/components/ui/form-skeleton.module.css +28 -0
  774. package/src/components/ui/form-skeleton.tsx +62 -0
  775. package/src/components/ui/form.module.css +20 -0
  776. package/src/components/ui/form.tsx +244 -33
  777. package/src/components/ui/gradient-background.module.css +6 -0
  778. package/src/components/ui/gradient-background.tsx +27 -5
  779. package/src/components/ui/gradient-text.module.css +23 -0
  780. package/src/components/ui/gradient-text.tsx +36 -9
  781. package/src/components/ui/highlight-text.module.css +14 -0
  782. package/src/components/ui/highlight-text.tsx +37 -15
  783. package/src/components/ui/hole-background.module.css +84 -0
  784. package/src/components/ui/hole-background.tsx +290 -162
  785. package/src/components/ui/hover-card.module.css +21 -0
  786. package/src/components/ui/hover-card.tsx +142 -21
  787. package/src/components/ui/input-group.module.css +148 -0
  788. package/src/components/ui/input-group.tsx +222 -98
  789. package/src/components/ui/input-otp.module.css +92 -0
  790. package/src/components/ui/input-otp.tsx +159 -33
  791. package/src/components/ui/input.module.css +37 -0
  792. package/src/components/ui/input.tsx +56 -14
  793. package/src/components/ui/item.module.css +143 -0
  794. package/src/components/ui/item.tsx +331 -104
  795. package/src/components/ui/kbd.module.css +31 -0
  796. package/src/components/ui/kbd.tsx +60 -17
  797. package/src/components/ui/label.module.css +13 -0
  798. package/src/components/ui/label.tsx +38 -14
  799. package/src/components/ui/list-skeleton.module.css +35 -0
  800. package/src/components/ui/list-skeleton.tsx +70 -0
  801. package/src/components/ui/loading-overlay.module.css +19 -0
  802. package/src/components/ui/loading-overlay.tsx +72 -0
  803. package/src/components/ui/menubar.module.css +144 -0
  804. package/src/components/ui/menubar.tsx +605 -192
  805. package/src/components/ui/meter.module.css +32 -0
  806. package/src/components/ui/meter.tsx +170 -0
  807. package/src/components/ui/navigation-menu.module.css +110 -0
  808. package/src/components/ui/navigation-menu.tsx +375 -101
  809. package/src/components/ui/number-field.module.css +126 -0
  810. package/src/components/ui/number-field.tsx +254 -0
  811. package/src/components/ui/pagination.module.css +64 -0
  812. package/src/components/ui/pagination.tsx +250 -72
  813. package/src/components/ui/popover.module.css +26 -0
  814. package/src/components/ui/popover.tsx +207 -25
  815. package/src/components/ui/progress.module.css +15 -0
  816. package/src/components/ui/progress.tsx +53 -16
  817. package/src/components/ui/radio-group.module.css +41 -0
  818. package/src/components/ui/radio-group.tsx +91 -34
  819. package/src/components/ui/resizable.module.css +67 -0
  820. package/src/components/ui/resizable.tsx +106 -26
  821. package/src/components/ui/ripple-button.module.css +35 -0
  822. package/src/components/ui/ripple-button.tsx +55 -21
  823. package/src/components/ui/scratcher.module.css +9 -0
  824. package/src/components/ui/scratcher.tsx +129 -99
  825. package/src/components/ui/scroll-area.module.css +47 -0
  826. package/src/components/ui/scroll-area.tsx +96 -34
  827. package/src/components/ui/select.module.css +131 -0
  828. package/src/components/ui/select.tsx +435 -124
  829. package/src/components/ui/separator.module.css +14 -0
  830. package/src/components/ui/separator.tsx +59 -18
  831. package/src/components/ui/sheet.module.css +138 -0
  832. package/src/components/ui/sheet.tsx +424 -95
  833. package/src/components/ui/sidebar.module.css +594 -0
  834. package/src/components/ui/sidebar.tsx +899 -425
  835. package/src/components/ui/skeleton.module.css +14 -0
  836. package/src/components/ui/skeleton.tsx +39 -9
  837. package/src/components/ui/slider.module.css +48 -0
  838. package/src/components/ui/slider.tsx +89 -16
  839. package/src/components/ui/sonner.module.css +246 -0
  840. package/src/components/ui/sonner.tsx +769 -25
  841. package/src/components/ui/spinner.module.css +25 -0
  842. package/src/components/ui/spinner.tsx +51 -12
  843. package/src/components/ui/stepper.module.css +72 -0
  844. package/src/components/ui/stepper.tsx +95 -0
  845. package/src/components/ui/switch.module.css +42 -0
  846. package/src/components/ui/switch.tsx +53 -20
  847. package/src/components/ui/table-skeleton.module.css +29 -0
  848. package/src/components/ui/table-skeleton.tsx +79 -0
  849. package/src/components/ui/table.module.css +66 -0
  850. package/src/components/ui/table.tsx +235 -61
  851. package/src/components/ui/tabs.module.css +89 -0
  852. package/src/components/ui/tabs.tsx +192 -45
  853. package/src/components/ui/textarea.module.css +30 -0
  854. package/src/components/ui/textarea.tsx +30 -10
  855. package/src/components/ui/timeline.module.css +43 -0
  856. package/src/components/ui/timeline.tsx +153 -0
  857. package/src/components/ui/toggle-group.module.css +5 -0
  858. package/src/components/ui/toggle-group.tsx +116 -35
  859. package/src/components/ui/toggle.module.css +57 -0
  860. package/src/components/ui/toggle.tsx +89 -33
  861. package/src/components/ui/toolbar.module.css +112 -0
  862. package/src/components/ui/toolbar.tsx +210 -0
  863. package/src/components/ui/tooltip.module.css +39 -0
  864. package/src/components/ui/tooltip.tsx +181 -24
  865. package/src/components/ui/typewriter.module.css +101 -0
  866. package/src/components/ui/typewriter.tsx +130 -128
  867. package/src/components/ui/visually-hidden.module.css +11 -0
  868. package/src/components/ui/visually-hidden.tsx +50 -0
  869. package/src/css-modules.d.ts +9 -0
  870. package/src/hooks/useAnnounce.tsx +73 -0
  871. package/src/hooks/useBreakpoint.tsx +41 -0
  872. package/src/hooks/useColorScheme.tsx +23 -0
  873. package/src/hooks/useFocusManager.tsx +89 -0
  874. package/src/hooks/useFocusVisible.tsx +88 -0
  875. package/src/hooks/useIsMobile.tsx +7 -28
  876. package/src/hooks/useMediaQuery.tsx +34 -0
  877. package/src/hooks/usePrefersContrast.tsx +24 -0
  878. package/src/hooks/useReducedMotion.tsx +20 -0
  879. package/src/index.css +127 -65
  880. package/src/index.ts +196 -18
  881. package/src/lib/utilities.ts +7 -6
  882. package/src/motion/Collapse.module.css +22 -0
  883. package/src/motion/Collapse.tsx +52 -0
  884. package/src/motion/Presence.tsx +44 -0
  885. package/src/motion/index.ts +13 -0
  886. package/src/motion/presets.ts +77 -0
  887. package/src/motion/tokens.ts +37 -0
  888. package/src/hooks/useIsMobile.test.tsx +0 -96
  889. package/src/hooks/useWindowSize.test.tsx +0 -57
  890. package/src/index.test.ts +0 -537
  891. package/src/lib/color-conversion-utilities.test.ts +0 -225
  892. package/src/lib/utilities.test.ts +0 -37
@@ -1,96 +1,442 @@
1
1
  "use client";
2
2
 
3
- import * as DialogPrimitive from "@radix-ui/react-dialog";
4
- import {X} from "lucide-react";
3
+ import {Dialog as BaseDialog} from "@base-ui/react/dialog";
4
+ import {mergeProps} from "@base-ui/react/merge-props";
5
+ import {useRender} from "@base-ui/react/use-render";
5
6
  import * as React from "react";
6
7
 
7
8
  import {cn} from "@/lib/utilities";
9
+ import styles from "./dialog.module.css";
8
10
 
9
- const Dialog = DialogPrimitive.Root;
10
-
11
- const DialogTrigger = DialogPrimitive.Trigger;
12
-
13
- const DialogPortal = DialogPrimitive.Portal;
14
-
15
- const DialogClose = DialogPrimitive.Close;
16
-
17
- const DialogOverlay = React.forwardRef<
18
- React.ComponentRef<typeof DialogPrimitive.Overlay>,
19
- React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>
20
- >(({className, ...props}, ref) => (
21
- <DialogPrimitive.Overlay
22
- ref={ref}
23
- className={cn(
24
- "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",
25
- className,
26
- )}
27
- {...props}
28
- />
29
- ));
30
- DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
31
-
32
- const DialogContent = React.forwardRef<
33
- React.ComponentRef<typeof DialogPrimitive.Content>,
34
- React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>
35
- >(({className, children, ...props}, ref) => (
36
- <DialogPortal>
37
- <DialogOverlay />
38
- <DialogPrimitive.Content
39
- ref={ref}
40
- className={cn(
41
- "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-neutral-200 bg-white p-6 shadow-lg duration-200 sm:rounded-lg dark:border-neutral-800 dark:bg-neutral-950",
42
- className,
43
- )}
44
- {...props}>
11
+ interface DialogProps extends React.ComponentPropsWithRef<typeof BaseDialog.Root> {}
12
+
13
+ interface DialogTriggerProps extends Omit<React.ComponentPropsWithRef<typeof BaseDialog.Trigger>, "className"> {
14
+ /** Additional CSS classes merged with the dialog trigger styles. @default undefined */
15
+ className?: string;
16
+ /** Backward-compatible child-slot API that maps the child element to `render`. @default false @deprecated Prefer Base UI's `render` prop. */
17
+ asChild?: boolean;
18
+ }
19
+
20
+ interface DialogCloseProps extends Omit<React.ComponentPropsWithRef<typeof BaseDialog.Close>, "className"> {
21
+ /** Additional CSS classes merged with the dialog close control styles. @default undefined */
22
+ className?: string;
23
+ }
24
+
25
+ interface DialogOverlayProps extends Omit<React.ComponentPropsWithRef<typeof BaseDialog.Backdrop>, "className"> {
26
+ /** Additional CSS classes merged with the dialog backdrop styles. @default undefined */
27
+ className?: string;
28
+ }
29
+
30
+ interface DialogContentProps extends Omit<React.ComponentPropsWithRef<typeof BaseDialog.Popup>, "className"> {
31
+ /** Additional CSS classes merged with the dialog content styles. @default undefined */
32
+ className?: string;
33
+ }
34
+
35
+ interface DialogHeaderProps extends React.ComponentPropsWithRef<"div"> {
36
+ /** Additional CSS classes merged with the dialog header layout styles. @default undefined */
37
+ className?: string;
38
+ /** Custom element or render callback used to replace the default header container. @default undefined */
39
+ render?: useRender.RenderProp<Record<string, never>>;
40
+ /** Backward-compatible child-slot API that maps the child element to `render`. @default false @deprecated Prefer the `render` prop. */
41
+ asChild?: boolean;
42
+ }
43
+
44
+ interface DialogFooterProps extends React.ComponentPropsWithRef<"div"> {
45
+ /** Additional CSS classes merged with the dialog footer layout styles. @default undefined */
46
+ className?: string;
47
+ /** Custom element or render callback used to replace the default footer container. @default undefined */
48
+ render?: useRender.RenderProp<Record<string, never>>;
49
+ /** Backward-compatible child-slot API that maps the child element to `render`. @default false @deprecated Prefer the `render` prop. */
50
+ asChild?: boolean;
51
+ }
52
+
53
+ interface DialogTitleProps extends Omit<React.ComponentPropsWithRef<typeof BaseDialog.Title>, "className"> {
54
+ /** Additional CSS classes merged with the dialog title styles. @default undefined */
55
+ className?: string;
56
+ }
57
+
58
+ interface DialogDescriptionProps extends Omit<React.ComponentPropsWithRef<typeof BaseDialog.Description>, "className"> {
59
+ /** Additional CSS classes merged with the dialog description styles. @default undefined */
60
+ className?: string;
61
+ }
62
+
63
+ /**
64
+ * Coordinates modal dialog state, focus management, and accessibility semantics.
65
+ *
66
+ * @remarks
67
+ * - Renders no DOM element by default and coordinates descendant dialog parts
68
+ * - Built on {@link https://base-ui.com/react/components/dialog | Base UI Dialog}
69
+ * - Supports composition through descendant `render` props
70
+ * - Styling via CSS Modules with `--ac-*` custom properties
71
+ *
72
+ * @example Basic usage
73
+ * ```tsx
74
+ * <Dialog>
75
+ * <DialogTrigger>Open</DialogTrigger>
76
+ * <DialogContent>
77
+ * <DialogTitle>Details</DialogTitle>
78
+ * </DialogContent>
79
+ * </Dialog>
80
+ * ```
81
+ *
82
+ * @see {@link https://base-ui.com/react/components/dialog | Base UI Documentation}
83
+ */
84
+ function Dialog(props: Readonly<Dialog.Props>): React.ReactElement {
85
+ return <BaseDialog.Root {...props} />;
86
+ }
87
+ Dialog.displayName = "Dialog";
88
+
89
+ /**
90
+ * Opens the dialog from an interactive trigger element.
91
+ *
92
+ * @remarks
93
+ * - Renders a `<button>` element by default
94
+ * - Built on {@link https://base-ui.com/react/components/dialog | Base UI Dialog}
95
+ * - Supports the `render` prop for element composition
96
+ * - Styling via CSS Modules with `--ac-*` custom properties
97
+ *
98
+ * @example Basic usage
99
+ * ```tsx
100
+ * <DialogTrigger>Open</DialogTrigger>
101
+ * ```
102
+ *
103
+ * @see {@link https://base-ui.com/react/components/dialog | Base UI Documentation}
104
+ */
105
+ const DialogTrigger = React.forwardRef<HTMLButtonElement, DialogTrigger.Props>(
106
+ (props: Readonly<DialogTrigger.Props>, ref): React.ReactElement => {
107
+ // eslint-disable-next-line sonarjs/deprecation -- backward-compatible asChild support is part of the public API.
108
+ const {asChild = false, children, className, render, ...otherProps} = props;
109
+ const renderProp = asChild && React.isValidElement(children) ? children : render;
110
+
111
+ return (
112
+ <BaseDialog.Trigger
113
+ ref={ref}
114
+ {...otherProps}
115
+ render={useRender({
116
+ defaultTagName: "button",
117
+ render: renderProp as never,
118
+ props: mergeProps({className}, {}),
119
+ })}>
120
+ {renderProp ? undefined : children}
121
+ </BaseDialog.Trigger>
122
+ );
123
+ },
124
+ );
125
+ DialogTrigger.displayName = "DialogTrigger";
126
+
127
+ /**
128
+ * Portals dialog descendants outside the local DOM hierarchy.
129
+ *
130
+ * @remarks
131
+ * - Renders no DOM element by default and portals descendants into the document body
132
+ * - Built on {@link https://base-ui.com/react/components/dialog | Base UI Dialog}
133
+ * - Does not expose a `render` prop because it only controls mounting context
134
+ * - Styling via CSS Modules with `--ac-*` custom properties through descendant components
135
+ *
136
+ * @example Basic usage
137
+ * ```tsx
138
+ * <DialogPortal>
139
+ * <DialogOverlay />
140
+ * <DialogContent />
141
+ * </DialogPortal>
142
+ * ```
143
+ *
144
+ * @see {@link https://base-ui.com/react/components/dialog | Base UI Documentation}
145
+ */
146
+ const DialogPortal = BaseDialog.Portal;
147
+ DialogPortal.displayName = "DialogPortal";
148
+
149
+ /**
150
+ * Closes the dialog from an interactive control inside the modal.
151
+ *
152
+ * @remarks
153
+ * - Renders a `<button>` element by default
154
+ * - Built on {@link https://base-ui.com/react/components/dialog | Base UI Dialog}
155
+ * - Supports the `render` prop for element composition
156
+ * - Styling via CSS Modules with `--ac-*` custom properties
157
+ *
158
+ * @example Basic usage
159
+ * ```tsx
160
+ * <DialogClose>Dismiss</DialogClose>
161
+ * ```
162
+ *
163
+ * @see {@link https://base-ui.com/react/components/dialog | Base UI Documentation}
164
+ */
165
+ function DialogClose(props: Readonly<DialogClose.Props>): React.ReactElement {
166
+ const {className, children, render, ...otherProps} = props;
167
+
168
+ return (
169
+ <BaseDialog.Close
170
+ {...otherProps}
171
+ render={useRender({
172
+ defaultTagName: "button",
173
+ render: render as never,
174
+ props: mergeProps({className: cn(styles.close, className)}, {}),
175
+ })}>
45
176
  {children}
46
- <DialogPrimitive.Close className='absolute top-4 right-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:ring-2 focus:ring-neutral-950 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-500 dark:ring-offset-neutral-950 dark:focus:ring-neutral-300 dark:data-[state=open]:bg-neutral-800 dark:data-[state=open]:text-neutral-400'>
47
- <X className='h-4 w-4' />
48
- <span className='sr-only'>Close</span>
49
- </DialogPrimitive.Close>
50
- </DialogPrimitive.Content>
51
- </DialogPortal>
52
- ));
53
- DialogContent.displayName = DialogPrimitive.Content.displayName;
54
-
55
- const DialogHeader = ({className, ...props}: React.HTMLAttributes<HTMLDivElement>) => (
56
- <div
57
- className={cn("flex flex-col space-y-1.5 text-center sm:text-left", className)}
58
- {...props}
59
- />
177
+ </BaseDialog.Close>
178
+ );
179
+ }
180
+ DialogClose.displayName = "DialogClose";
181
+
182
+ /**
183
+ * Renders the dimmed backdrop behind dialog content.
184
+ *
185
+ * @remarks
186
+ * - Renders a `<div>` element by default
187
+ * - Built on {@link https://base-ui.com/react/components/dialog | Base UI Dialog}
188
+ * - Supports the `render` prop for element composition
189
+ * - Styling via CSS Modules with `--ac-*` custom properties
190
+ *
191
+ * @example Basic usage
192
+ * ```tsx
193
+ * <DialogOverlay />
194
+ * ```
195
+ *
196
+ * @see {@link https://base-ui.com/react/components/dialog | Base UI Documentation}
197
+ */
198
+ function DialogOverlay(props: Readonly<DialogOverlay.Props>): React.ReactElement {
199
+ const {className, render, ...otherProps} = props;
200
+
201
+ return (
202
+ <BaseDialog.Backdrop
203
+ {...otherProps}
204
+ render={useRender({
205
+ defaultTagName: "div",
206
+ render: render as never,
207
+ props: mergeProps({className: cn(styles.backdrop, className)}, {}),
208
+ })}
209
+ />
210
+ );
211
+ }
212
+ DialogOverlay.displayName = "DialogOverlay";
213
+
214
+ /**
215
+ * Renders the dialog popup inside a portal with its backdrop.
216
+ *
217
+ * @remarks
218
+ * - Renders a `<div>` element by default
219
+ * - Built on {@link https://base-ui.com/react/components/dialog | Base UI Dialog}
220
+ * - Supports the `render` prop for element composition
221
+ * - Styling via CSS Modules with `--ac-*` custom properties
222
+ *
223
+ * @example Basic usage
224
+ * ```tsx
225
+ * <DialogContent>
226
+ * <DialogTitle>Details</DialogTitle>
227
+ * </DialogContent>
228
+ * ```
229
+ *
230
+ * @see {@link https://base-ui.com/react/components/dialog | Base UI Documentation}
231
+ */
232
+ const DialogContent = React.forwardRef<React.ComponentRef<typeof BaseDialog.Popup>, DialogContent.Props>(
233
+ (props: Readonly<DialogContent.Props>, ref): React.ReactElement => {
234
+ const {className, children, render, ...otherProps} = props;
235
+
236
+ return (
237
+ <DialogPortal>
238
+ <DialogOverlay />
239
+ <BaseDialog.Popup
240
+ ref={ref}
241
+ {...otherProps}
242
+ render={useRender({
243
+ defaultTagName: "div",
244
+ render: render as never,
245
+ props: mergeProps({className: cn(styles.popup, className)}, {}),
246
+ })}>
247
+ {children}
248
+ </BaseDialog.Popup>
249
+ </DialogPortal>
250
+ );
251
+ },
60
252
  );
253
+ DialogContent.displayName = "DialogContent";
254
+
255
+ /**
256
+ * Lays out the title and supporting content at the top of a dialog.
257
+ *
258
+ * @remarks
259
+ * - Renders a `<div>` element by default
260
+ * - Built on {@link https://base-ui.com/react/components/dialog | Base UI Dialog}
261
+ * - Supports the `render` prop for element composition
262
+ * - Styling via CSS Modules with `--ac-*` custom properties
263
+ *
264
+ * @example Basic usage
265
+ * ```tsx
266
+ * <DialogHeader>
267
+ * <DialogTitle>Details</DialogTitle>
268
+ * </DialogHeader>
269
+ * ```
270
+ *
271
+ * @see {@link https://base-ui.com/react/components/dialog | Base UI Documentation}
272
+ */
273
+ function DialogHeader(props: Readonly<DialogHeader.Props>): React.ReactElement {
274
+ // eslint-disable-next-line sonarjs/deprecation -- backward-compatible asChild support is part of the public API.
275
+ const {asChild = false, children, className, render, ...otherProps} = props;
276
+ const renderProp = asChild && React.isValidElement(children) ? children : render;
277
+
278
+ return useRender({
279
+ defaultTagName: "div",
280
+ render: renderProp as never,
281
+ props: mergeProps({className: cn(styles.header, className)}, otherProps, {
282
+ children: renderProp ? undefined : children,
283
+ }),
284
+ });
285
+ }
61
286
  DialogHeader.displayName = "DialogHeader";
62
287
 
63
- const DialogFooter = ({className, ...props}: React.HTMLAttributes<HTMLDivElement>) => (
64
- <div
65
- className={cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className)}
66
- {...props}
67
- />
68
- );
288
+ /**
289
+ * Lays out dialog actions and secondary controls at the bottom edge.
290
+ *
291
+ * @remarks
292
+ * - Renders a `<div>` element by default
293
+ * - Built on {@link https://base-ui.com/react/components/dialog | Base UI Dialog}
294
+ * - Supports the `render` prop for element composition
295
+ * - Styling via CSS Modules with `--ac-*` custom properties
296
+ *
297
+ * @example Basic usage
298
+ * ```tsx
299
+ * <DialogFooter>
300
+ * <DialogClose>Close</DialogClose>
301
+ * </DialogFooter>
302
+ * ```
303
+ *
304
+ * @see {@link https://base-ui.com/react/components/dialog | Base UI Documentation}
305
+ */
306
+ function DialogFooter(props: Readonly<DialogFooter.Props>): React.ReactElement {
307
+ // eslint-disable-next-line sonarjs/deprecation -- backward-compatible asChild support is part of the public API.
308
+ const {asChild = false, children, className, render, ...otherProps} = props;
309
+ const renderProp = asChild && React.isValidElement(children) ? children : render;
310
+
311
+ return useRender({
312
+ defaultTagName: "div",
313
+ render: renderProp as never,
314
+ props: mergeProps({className: cn(styles.footer, className)}, otherProps, {
315
+ children: renderProp ? undefined : children,
316
+ }),
317
+ });
318
+ }
69
319
  DialogFooter.displayName = "DialogFooter";
70
320
 
71
- const DialogTitle = React.forwardRef<
72
- React.ComponentRef<typeof DialogPrimitive.Title>,
73
- React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>
74
- >(({className, ...props}, ref) => (
75
- <DialogPrimitive.Title
76
- ref={ref}
77
- className={cn("text-lg leading-none font-semibold tracking-tight", className)}
78
- {...props}
79
- />
80
- ));
81
- DialogTitle.displayName = DialogPrimitive.Title.displayName;
82
-
83
- const DialogDescription = React.forwardRef<
84
- React.ComponentRef<typeof DialogPrimitive.Description>,
85
- React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>
86
- >(({className, ...props}, ref) => (
87
- <DialogPrimitive.Description
88
- ref={ref}
89
- className={cn("text-sm text-neutral-500 dark:text-neutral-400", className)}
90
- {...props}
91
- />
92
- ));
93
- DialogDescription.displayName = DialogPrimitive.Description.displayName;
321
+ /**
322
+ * Renders the accessible heading for dialog content.
323
+ *
324
+ * @remarks
325
+ * - Renders an `<h2>` element by default
326
+ * - Built on {@link https://base-ui.com/react/components/dialog | Base UI Dialog}
327
+ * - Supports the `render` prop for element composition
328
+ * - Styling via CSS Modules with `--ac-*` custom properties
329
+ *
330
+ * @example Basic usage
331
+ * ```tsx
332
+ * <DialogTitle>Details</DialogTitle>
333
+ * ```
334
+ *
335
+ * @see {@link https://base-ui.com/react/components/dialog | Base UI Documentation}
336
+ */
337
+ function DialogTitle(props: Readonly<DialogTitle.Props>): React.ReactElement {
338
+ const {className, children, render, ...otherProps} = props;
339
+
340
+ return (
341
+ <BaseDialog.Title
342
+ {...otherProps}
343
+ render={useRender({
344
+ defaultTagName: "h2",
345
+ render: render as never,
346
+ props: mergeProps({className: cn(styles.title, className)}, {}),
347
+ })}>
348
+ {children}
349
+ </BaseDialog.Title>
350
+ );
351
+ }
352
+ DialogTitle.displayName = "DialogTitle";
353
+
354
+ /**
355
+ * Renders supporting copy beneath the dialog title.
356
+ *
357
+ * @remarks
358
+ * - Renders a `<p>` element by default
359
+ * - Built on {@link https://base-ui.com/react/components/dialog | Base UI Dialog}
360
+ * - Supports the `render` prop for element composition
361
+ * - Styling via CSS Modules with `--ac-*` custom properties
362
+ *
363
+ * @example Basic usage
364
+ * ```tsx
365
+ * <DialogDescription>Review the details before continuing.</DialogDescription>
366
+ * ```
367
+ *
368
+ * @see {@link https://base-ui.com/react/components/dialog | Base UI Documentation}
369
+ */
370
+ function DialogDescription(props: Readonly<DialogDescription.Props>): React.ReactElement {
371
+ const {className, children, render, ...otherProps} = props;
372
+
373
+ return (
374
+ <BaseDialog.Description
375
+ {...otherProps}
376
+ render={useRender({
377
+ defaultTagName: "p",
378
+ render: render as never,
379
+ props: mergeProps({className: cn(styles.description, className)}, {}),
380
+ })}>
381
+ {children}
382
+ </BaseDialog.Description>
383
+ );
384
+ }
385
+ DialogDescription.displayName = "DialogDescription";
386
+
387
+ // eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API
388
+ namespace Dialog {
389
+ export type Props = DialogProps;
390
+ export type State = BaseDialog.Root.State;
391
+ }
392
+
393
+ // eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API
394
+ namespace DialogTrigger {
395
+ export type Props = DialogTriggerProps;
396
+ export type State = BaseDialog.Trigger.State;
397
+ }
398
+
399
+ // eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API
400
+ namespace DialogClose {
401
+ export type Props = DialogCloseProps;
402
+ export type State = BaseDialog.Close.State;
403
+ }
404
+
405
+ // eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API
406
+ namespace DialogOverlay {
407
+ export type Props = DialogOverlayProps;
408
+ export type State = BaseDialog.Backdrop.State;
409
+ }
410
+
411
+ // eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API
412
+ namespace DialogContent {
413
+ export type Props = DialogContentProps;
414
+ export type State = BaseDialog.Popup.State;
415
+ }
416
+
417
+ // eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API
418
+ namespace DialogHeader {
419
+ export type Props = DialogHeaderProps;
420
+ export type State = Record<string, never>;
421
+ }
422
+
423
+ // eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API
424
+ namespace DialogFooter {
425
+ export type Props = DialogFooterProps;
426
+ export type State = Record<string, never>;
427
+ }
428
+
429
+ // eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API
430
+ namespace DialogTitle {
431
+ export type Props = DialogTitleProps;
432
+ export type State = BaseDialog.Title.State;
433
+ }
434
+
435
+ // eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API
436
+ namespace DialogDescription {
437
+ export type Props = DialogDescriptionProps;
438
+ export type State = BaseDialog.Description.State;
439
+ }
94
440
 
95
441
  export {
96
442
  Dialog,
@@ -0,0 +1,12 @@
1
+ .root {
2
+ position: absolute;
3
+ inset: 0;
4
+ width: 100%;
5
+ height: 100%;
6
+ pointer-events: none;
7
+ color: color-mix(in oklch, var(--ac-muted-foreground), transparent 20%);
8
+ }
9
+
10
+ .dot {
11
+ color: inherit;
12
+ }