@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
@@ -1,170 +1,629 @@
1
1
  "use client";
2
2
 
3
- import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
3
+ import {ContextMenu as BaseContextMenu} from "@base-ui/react/context-menu";
4
+ import {mergeProps} from "@base-ui/react/merge-props";
5
+ import {useRender} from "@base-ui/react/use-render";
4
6
  import {Check, ChevronRight, Circle} from "lucide-react";
5
7
  import * as React from "react";
6
8
 
7
9
  import {cn} from "@/lib/utilities";
10
+ import styles from "./context-menu.module.css";
11
+
12
+ interface ContextMenuProps extends React.ComponentPropsWithRef<typeof BaseContextMenu.Root> {}
13
+
14
+ interface ContextMenuTriggerProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.Trigger>, "className"> {
15
+ /**
16
+ * Applies additional CSS classes to the component root element.
17
+ * @default undefined
18
+ */
19
+ className?: string;
20
+ /**
21
+ * Enables child element composition instead of rendering the default wrapper.
22
+ * @default false
23
+ * @deprecated Prefer Base UI's `render` prop.
24
+ */
25
+ asChild?: boolean;
26
+ }
27
+
28
+ interface ContextMenuSubTriggerProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.SubmenuTrigger>, "className"> {
29
+ /**
30
+ * Applies additional CSS classes to the component root element.
31
+ * @default undefined
32
+ */
33
+ className?: string;
34
+ /**
35
+ * Applies inset spacing to align nested content.
36
+ * @default false
37
+ */
38
+ inset?: boolean;
39
+ }
40
+
41
+ interface ContextMenuContentProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.Positioner>, "className"> {
42
+ /**
43
+ * Applies additional CSS classes to the component root element.
44
+ * @default undefined
45
+ */
46
+ className?: string;
47
+ }
48
+
49
+ interface ContextMenuItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.Item>, "className"> {
50
+ /**
51
+ * Applies additional CSS classes to the component root element.
52
+ * @default undefined
53
+ */
54
+ className?: string;
55
+ /**
56
+ * Applies inset spacing to align nested content.
57
+ * @default false
58
+ */
59
+ inset?: boolean;
60
+ /**
61
+ * Enables child element composition instead of rendering the default wrapper.
62
+ * @default false
63
+ * @deprecated Prefer Base UI's `render` prop.
64
+ */
65
+ asChild?: boolean;
66
+ }
67
+
68
+ interface ContextMenuCheckboxItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.CheckboxItem>, "className"> {
69
+ /**
70
+ * Applies additional CSS classes to the component root element.
71
+ * @default undefined
72
+ */
73
+ className?: string;
74
+ }
75
+
76
+ interface ContextMenuRadioItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.RadioItem>, "className"> {
77
+ /**
78
+ * Applies additional CSS classes to the component root element.
79
+ * @default undefined
80
+ */
81
+ className?: string;
82
+ }
83
+
84
+ interface ContextMenuLabelProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.GroupLabel>, "className"> {
85
+ /**
86
+ * Applies additional CSS classes to the component root element.
87
+ * @default undefined
88
+ */
89
+ className?: string;
90
+ /**
91
+ * Applies inset spacing to align nested content.
92
+ * @default false
93
+ */
94
+ inset?: boolean;
95
+ }
96
+
97
+ interface ContextMenuSeparatorProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.Separator>, "className"> {
98
+ /**
99
+ * Applies additional CSS classes to the component root element.
100
+ * @default undefined
101
+ */
102
+ className?: string;
103
+ }
104
+
105
+ interface ContextMenuShortcutProps extends React.ComponentPropsWithRef<"span"> {
106
+ /**
107
+ * Applies additional CSS classes to the component root element.
108
+ * @default undefined
109
+ */
110
+ className?: string;
111
+ /**
112
+ * Overrides the default rendered element while preserving component behavior.
113
+ * @default undefined
114
+ */
115
+ render?: useRender.RenderProp<Record<string, never>>;
116
+ /**
117
+ * Enables child element composition instead of rendering the default wrapper.
118
+ * @default false
119
+ * @deprecated Prefer Base UI's `render` prop.
120
+ */
121
+ asChild?: boolean;
122
+ }
123
+
124
+ /**
125
+ * Coordinates context menu state and accessibility behavior.
126
+ *
127
+ * @remarks
128
+ * - Delegates structure and state to the underlying Base UI primitive
129
+ * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}
130
+ * - Preserves the underlying primitive API for advanced composition
131
+ *
132
+ * @example
133
+ * ```tsx
134
+ * <ContextMenu>Content</ContextMenu>
135
+ * ```
136
+ *
137
+ * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}
138
+ */
139
+ function ContextMenu(props: Readonly<ContextMenu.Props>): React.ReactElement {
140
+ return <BaseContextMenu.Root {...props} />;
141
+ }
142
+
143
+ /**
144
+ * Renders the context menu group.
145
+ *
146
+ * @remarks
147
+ * - Delegates structure and state to the underlying Base UI primitive
148
+ * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}
149
+ * - Preserves the underlying primitive API for advanced composition
150
+ *
151
+ * @example
152
+ * ```tsx
153
+ * <ContextMenuGroup>Content</ContextMenuGroup>
154
+ * ```
155
+ *
156
+ * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}
157
+ */
158
+ const ContextMenuGroup = BaseContextMenu.Group;
159
+ /**
160
+ * Provides the context menu portal container.
161
+ *
162
+ * @remarks
163
+ * - Delegates structure and state to the underlying Base UI primitive
164
+ * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}
165
+ * - Preserves the underlying primitive API for advanced composition
166
+ *
167
+ * @example
168
+ * ```tsx
169
+ * <ContextMenuPortal>Content</ContextMenuPortal>
170
+ * ```
171
+ *
172
+ * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}
173
+ */
174
+ const ContextMenuPortal = BaseContextMenu.Portal;
175
+ /**
176
+ * Coordinates the context menu radio group.
177
+ *
178
+ * @remarks
179
+ * - Delegates structure and state to the underlying Base UI primitive
180
+ * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}
181
+ * - Preserves the underlying primitive API for advanced composition
182
+ *
183
+ * @example
184
+ * ```tsx
185
+ * <ContextMenuRadioGroup>Content</ContextMenuRadioGroup>
186
+ * ```
187
+ *
188
+ * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}
189
+ */
190
+ const ContextMenuRadioGroup = BaseContextMenu.RadioGroup;
191
+ /**
192
+ * Coordinates the context menu sub.
193
+ *
194
+ * @remarks
195
+ * - Delegates structure and state to the underlying Base UI primitive
196
+ * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}
197
+ * - Preserves the underlying primitive API for advanced composition
198
+ *
199
+ * @example
200
+ * ```tsx
201
+ * <ContextMenuSub>Content</ContextMenuSub>
202
+ * ```
203
+ *
204
+ * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}
205
+ */
206
+ const ContextMenuSub: typeof BaseContextMenu.SubmenuRoot & {displayName?: string} = BaseContextMenu.SubmenuRoot;
207
+
208
+ /**
209
+ * Renders the context menu trigger.
210
+ *
211
+ * @remarks
212
+ * - Renders a `<div>` element by default
213
+ * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}
214
+ * - Supports the `render` prop for element composition
215
+ *
216
+ * @example
217
+ * ```tsx
218
+ * <ContextMenuTrigger>Content</ContextMenuTrigger>
219
+ * ```
220
+ *
221
+ * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}
222
+ */
223
+ const ContextMenuTrigger = React.forwardRef<React.ComponentRef<typeof BaseContextMenu.Trigger>, ContextMenuTrigger.Props>(
224
+ (props: Readonly<ContextMenuTrigger.Props>, ref): React.ReactElement => {
225
+ const {asChild = false, children, className, render, ...otherProps} = props;
226
+ const renderProp = asChild && React.isValidElement(children) ? children : render;
227
+
228
+ return (
229
+ <BaseContextMenu.Trigger
230
+ ref={ref}
231
+ {...otherProps}
232
+ render={useRender({
233
+ defaultTagName: "div",
234
+ render: renderProp as never,
235
+ props: mergeProps({className}, {}),
236
+ })}>
237
+ {renderProp ? undefined : children}
238
+ </BaseContextMenu.Trigger>
239
+ );
240
+ },
241
+ );
242
+
243
+ /**
244
+ * Renders the context menu sub trigger.
245
+ *
246
+ * @remarks
247
+ * - Renders a `<div>` element by default
248
+ * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}
249
+ * - Supports the `render` prop for element composition
250
+ *
251
+ * @example
252
+ * ```tsx
253
+ * <ContextMenuSubTrigger>Content</ContextMenuSubTrigger>
254
+ * ```
255
+ *
256
+ * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}
257
+ */
258
+ function ContextMenuSubTrigger(props: Readonly<ContextMenuSubTrigger.Props>): React.ReactElement {
259
+ const {className, children, inset = false, render, ...otherProps} = props;
260
+
261
+ return (
262
+ <BaseContextMenu.SubmenuTrigger
263
+ {...otherProps}
264
+ render={useRender({
265
+ defaultTagName: "div",
266
+ render: render as never,
267
+ props: mergeProps({className: cn(styles.item, styles.subTrigger, inset && styles.inset, className)}, {}),
268
+ })}>
269
+ {children}
270
+ <ChevronRight className={styles.subTriggerIcon} />
271
+ </BaseContextMenu.SubmenuTrigger>
272
+ );
273
+ }
274
+
275
+ /**
276
+ * Renders the context menu sub content.
277
+ *
278
+ * @remarks
279
+ * - Renders a `<div>` element by default
280
+ * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}
281
+ * - Supports the `render` prop for element composition
282
+ *
283
+ * @example
284
+ * ```tsx
285
+ * <ContextMenuSubContent>Content</ContextMenuSubContent>
286
+ * ```
287
+ *
288
+ * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}
289
+ */
290
+ function ContextMenuSubContent(props: Readonly<ContextMenuContent.Props>): React.ReactElement {
291
+ const {className, children, render, ...otherProps} = props;
292
+
293
+ return (
294
+ <BaseContextMenu.Positioner
295
+ {...otherProps}
296
+ render={useRender({
297
+ defaultTagName: "div",
298
+ props: mergeProps({className: styles.positioner}, {}),
299
+ })}>
300
+ <BaseContextMenu.Popup
301
+ render={useRender({
302
+ defaultTagName: "div",
303
+ render: render as never,
304
+ props: mergeProps({className: cn(styles.content, className)}, {}),
305
+ })}>
306
+ {children}
307
+ </BaseContextMenu.Popup>
308
+ </BaseContextMenu.Positioner>
309
+ );
310
+ }
311
+
312
+ /**
313
+ * Renders the context menu content.
314
+ *
315
+ * @remarks
316
+ * - Renders a `<div>` element by default
317
+ * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}
318
+ * - Supports the `render` prop for element composition
319
+ *
320
+ * @example
321
+ * ```tsx
322
+ * <ContextMenuContent>Content</ContextMenuContent>
323
+ * ```
324
+ *
325
+ * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}
326
+ */
327
+ const ContextMenuContent = React.forwardRef<React.ComponentRef<typeof BaseContextMenu.Popup>, ContextMenuContent.Props>(
328
+ (props: Readonly<ContextMenuContent.Props>, ref): React.ReactElement => {
329
+ const {className, children, render, ...otherProps} = props;
330
+
331
+ return (
332
+ <ContextMenuPortal>
333
+ <BaseContextMenu.Positioner
334
+ {...otherProps}
335
+ render={useRender({
336
+ defaultTagName: "div",
337
+ props: mergeProps({className: styles.positioner}, {}),
338
+ })}>
339
+ <BaseContextMenu.Popup
340
+ ref={ref}
341
+ render={useRender({
342
+ defaultTagName: "div",
343
+ render: render as never,
344
+ props: mergeProps({className: cn(styles.content, className)}, {}),
345
+ })}>
346
+ {children}
347
+ </BaseContextMenu.Popup>
348
+ </BaseContextMenu.Positioner>
349
+ </ContextMenuPortal>
350
+ );
351
+ },
352
+ );
353
+
354
+ /**
355
+ * Renders the context menu item.
356
+ *
357
+ * @remarks
358
+ * - Renders a `<div>` element by default
359
+ * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}
360
+ * - Supports the `render` prop for element composition
361
+ *
362
+ * @example
363
+ * ```tsx
364
+ * <ContextMenuItem>Content</ContextMenuItem>
365
+ * ```
366
+ *
367
+ * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}
368
+ */
369
+ function ContextMenuItem(props: Readonly<ContextMenuItem.Props>): React.ReactElement {
370
+ const {asChild = false, children, className, inset = false, render, ...otherProps} = props;
371
+ const renderProp = asChild && React.isValidElement(children) ? children : render;
8
372
 
9
- const ContextMenu = ContextMenuPrimitive.Root;
10
-
11
- const ContextMenuTrigger = ContextMenuPrimitive.Trigger;
12
-
13
- const ContextMenuGroup = ContextMenuPrimitive.Group;
14
-
15
- const ContextMenuPortal = ContextMenuPrimitive.Portal;
16
-
17
- const ContextMenuSub = ContextMenuPrimitive.Sub;
18
-
19
- const ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
20
-
21
- const ContextMenuSubTrigger = React.forwardRef<
22
- React.ComponentRef<typeof ContextMenuPrimitive.SubTrigger>,
23
- React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubTrigger> & {
24
- inset?: boolean;
25
- }
26
- >(({className, inset, children, ...props}, ref) => (
27
- <ContextMenuPrimitive.SubTrigger
28
- ref={ref}
29
- className={cn(
30
- "flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none focus:bg-neutral-100 focus:text-neutral-900 data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-900 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[state=open]:bg-neutral-800 dark:data-[state=open]:text-neutral-50",
31
- inset && "pl-8",
32
- className,
33
- )}
34
- {...props}>
35
- {children}
36
- <ChevronRight className='ml-auto h-4 w-4' />
37
- </ContextMenuPrimitive.SubTrigger>
38
- ));
39
- ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
40
-
41
- const ContextMenuSubContent = React.forwardRef<
42
- React.ComponentRef<typeof ContextMenuPrimitive.SubContent>,
43
- React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubContent>
44
- >(({className, ...props}, ref) => (
45
- <ContextMenuPrimitive.SubContent
46
- ref={ref}
47
- className={cn(
48
- "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-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-[--radix-context-menu-content-transform-origin] overflow-hidden rounded-md border border-neutral-200 bg-white p-1 text-neutral-950 shadow-lg dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50",
49
- className,
50
- )}
51
- {...props}
52
- />
53
- ));
54
- ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
55
-
56
- const ContextMenuContent = React.forwardRef<
57
- React.ComponentRef<typeof ContextMenuPrimitive.Content>,
58
- React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content>
59
- >(({className, ...props}, ref) => (
60
- <ContextMenuPrimitive.Portal>
61
- <ContextMenuPrimitive.Content
62
- ref={ref}
63
- className={cn(
64
- "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-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-[--radix-context-menu-content-available-height] min-w-[8rem] origin-[--radix-context-menu-content-transform-origin] overflow-x-hidden overflow-y-auto rounded-md border border-neutral-200 bg-white p-1 text-neutral-950 shadow-md dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50",
65
- className,
66
- )}
67
- {...props}
68
- />
69
- </ContextMenuPrimitive.Portal>
70
- ));
71
- ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
72
-
73
- const ContextMenuItem = React.forwardRef<
74
- React.ComponentRef<typeof ContextMenuPrimitive.Item>,
75
- React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Item> & {
76
- inset?: boolean;
77
- }
78
- >(({className, inset, ...props}, ref) => (
79
- <ContextMenuPrimitive.Item
80
- ref={ref}
81
- className={cn(
82
- "relative flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none focus:bg-neutral-100 focus:text-neutral-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-neutral-800 dark:focus:text-neutral-50",
83
- inset && "pl-8",
84
- className,
85
- )}
86
- {...props}
87
- />
88
- ));
89
- ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
90
-
91
- const ContextMenuCheckboxItem = React.forwardRef<
92
- React.ComponentRef<typeof ContextMenuPrimitive.CheckboxItem>,
93
- React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.CheckboxItem>
94
- >(({className, children, checked, ...props}, ref) => (
95
- <ContextMenuPrimitive.CheckboxItem
96
- ref={ref}
97
- className={cn(
98
- "relative flex cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none select-none focus:bg-neutral-100 focus:text-neutral-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-neutral-800 dark:focus:text-neutral-50",
99
- className,
100
- )}
101
- checked={checked}
102
- {...props}>
103
- <span className='absolute left-2 flex h-3.5 w-3.5 items-center justify-center'>
104
- <ContextMenuPrimitive.ItemIndicator>
105
- <Check className='h-4 w-4' />
106
- </ContextMenuPrimitive.ItemIndicator>
107
- </span>
108
- {children}
109
- </ContextMenuPrimitive.CheckboxItem>
110
- ));
111
- ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
112
-
113
- const ContextMenuRadioItem = React.forwardRef<
114
- React.ComponentRef<typeof ContextMenuPrimitive.RadioItem>,
115
- React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.RadioItem>
116
- >(({className, children, ...props}, ref) => (
117
- <ContextMenuPrimitive.RadioItem
118
- ref={ref}
119
- className={cn(
120
- "relative flex cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none select-none focus:bg-neutral-100 focus:text-neutral-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-neutral-800 dark:focus:text-neutral-50",
121
- className,
122
- )}
123
- {...props}>
124
- <span className='absolute left-2 flex h-3.5 w-3.5 items-center justify-center'>
125
- <ContextMenuPrimitive.ItemIndicator>
126
- <Circle className='h-4 w-4 fill-current' />
127
- </ContextMenuPrimitive.ItemIndicator>
128
- </span>
129
- {children}
130
- </ContextMenuPrimitive.RadioItem>
131
- ));
132
- ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
133
-
134
- const ContextMenuLabel = React.forwardRef<
135
- React.ComponentRef<typeof ContextMenuPrimitive.Label>,
136
- React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Label> & {
137
- inset?: boolean;
138
- }
139
- >(({className, inset, ...props}, ref) => (
140
- <ContextMenuPrimitive.Label
141
- ref={ref}
142
- className={cn("px-2 py-1.5 text-sm font-semibold text-neutral-950 dark:text-neutral-50", inset && "pl-8", className)}
143
- {...props}
144
- />
145
- ));
146
- ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
147
-
148
- const ContextMenuSeparator = React.forwardRef<
149
- React.ComponentRef<typeof ContextMenuPrimitive.Separator>,
150
- React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Separator>
151
- >(({className, ...props}, ref) => (
152
- <ContextMenuPrimitive.Separator
153
- ref={ref}
154
- className={cn("-mx-1 my-1 h-px bg-neutral-200 dark:bg-neutral-800", className)}
155
- {...props}
156
- />
157
- ));
158
- ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
159
-
160
- const ContextMenuShortcut = ({className, ...props}: React.HTMLAttributes<HTMLSpanElement>) => {
161
373
  return (
162
- <span
163
- className={cn("ml-auto text-xs tracking-widest text-neutral-500 dark:text-neutral-400", className)}
164
- {...props}
374
+ <BaseContextMenu.Item
375
+ {...otherProps}
376
+ render={useRender({
377
+ defaultTagName: "div",
378
+ render: renderProp as never,
379
+ props: mergeProps({className: cn(styles.item, inset && styles.inset, className)}, {}),
380
+ })}>
381
+ {renderProp ? undefined : children}
382
+ </BaseContextMenu.Item>
383
+ );
384
+ }
385
+
386
+ /**
387
+ * Renders the context menu checkbox item.
388
+ *
389
+ * @remarks
390
+ * - Renders a `<div>` element by default
391
+ * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}
392
+ * - Supports the `render` prop for element composition
393
+ *
394
+ * @example
395
+ * ```tsx
396
+ * <ContextMenuCheckboxItem>Content</ContextMenuCheckboxItem>
397
+ * ```
398
+ *
399
+ * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}
400
+ */
401
+ function ContextMenuCheckboxItem(props: Readonly<ContextMenuCheckboxItem.Props>): React.ReactElement {
402
+ const {className, children, render, ...otherProps} = props;
403
+
404
+ return (
405
+ <BaseContextMenu.CheckboxItem
406
+ {...otherProps}
407
+ render={useRender({
408
+ defaultTagName: "div",
409
+ render: render as never,
410
+ props: mergeProps({className: cn(styles.item, styles.indicatorItem, className)}, {}),
411
+ })}>
412
+ <span className={styles.indicatorSlot}>
413
+ <BaseContextMenu.CheckboxItemIndicator>
414
+ <Check className={styles.indicatorIcon} />
415
+ </BaseContextMenu.CheckboxItemIndicator>
416
+ </span>
417
+ {children}
418
+ </BaseContextMenu.CheckboxItem>
419
+ );
420
+ }
421
+
422
+ /**
423
+ * Renders the context menu radio item.
424
+ *
425
+ * @remarks
426
+ * - Renders a `<div>` element by default
427
+ * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}
428
+ * - Supports the `render` prop for element composition
429
+ *
430
+ * @example
431
+ * ```tsx
432
+ * <ContextMenuRadioItem>Content</ContextMenuRadioItem>
433
+ * ```
434
+ *
435
+ * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}
436
+ */
437
+ function ContextMenuRadioItem(props: Readonly<ContextMenuRadioItem.Props>): React.ReactElement {
438
+ const {className, children, render, ...otherProps} = props;
439
+
440
+ return (
441
+ <BaseContextMenu.RadioItem
442
+ {...otherProps}
443
+ render={useRender({
444
+ defaultTagName: "div",
445
+ render: render as never,
446
+ props: mergeProps({className: cn(styles.item, styles.indicatorItem, className)}, {}),
447
+ })}>
448
+ <span className={styles.indicatorSlot}>
449
+ <BaseContextMenu.RadioItemIndicator>
450
+ <Circle className={styles.radioIndicatorIcon} />
451
+ </BaseContextMenu.RadioItemIndicator>
452
+ </span>
453
+ {children}
454
+ </BaseContextMenu.RadioItem>
455
+ );
456
+ }
457
+
458
+ /**
459
+ * Renders the context menu label.
460
+ *
461
+ * @remarks
462
+ * - Renders a `<div>` element by default
463
+ * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}
464
+ * - Supports the `render` prop for element composition
465
+ *
466
+ * @example
467
+ * ```tsx
468
+ * <ContextMenuLabel>Content</ContextMenuLabel>
469
+ * ```
470
+ *
471
+ * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}
472
+ */
473
+ function ContextMenuLabel(props: Readonly<ContextMenuLabel.Props>): React.ReactElement {
474
+ const {className, children, inset = false, render, ...otherProps} = props;
475
+
476
+ return (
477
+ <BaseContextMenu.GroupLabel
478
+ {...otherProps}
479
+ render={useRender({
480
+ defaultTagName: "div",
481
+ render: render as never,
482
+ props: mergeProps({className: cn(styles.label, inset && styles.inset, className)}, {}),
483
+ })}>
484
+ {children}
485
+ </BaseContextMenu.GroupLabel>
486
+ );
487
+ }
488
+
489
+ /**
490
+ * Renders the context menu separator.
491
+ *
492
+ * @remarks
493
+ * - Renders a `<div>` element by default
494
+ * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}
495
+ * - Supports the `render` prop for element composition
496
+ *
497
+ * @example
498
+ * ```tsx
499
+ * <ContextMenuSeparator>Content</ContextMenuSeparator>
500
+ * ```
501
+ *
502
+ * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}
503
+ */
504
+ function ContextMenuSeparator(props: Readonly<ContextMenuSeparator.Props>): React.ReactElement {
505
+ const {className, render, ...otherProps} = props;
506
+
507
+ return (
508
+ <BaseContextMenu.Separator
509
+ {...otherProps}
510
+ render={useRender({
511
+ defaultTagName: "div",
512
+ render: render as never,
513
+ props: mergeProps({className: cn(styles.separator, className)}, {}),
514
+ })}
165
515
  />
166
516
  );
167
- };
517
+ }
518
+
519
+ /**
520
+ * Renders the context menu shortcut.
521
+ *
522
+ * @remarks
523
+ * - Renders a `<span>` element by default
524
+ * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}
525
+ * - Supports the `render` prop for element composition
526
+ *
527
+ * @example
528
+ * ```tsx
529
+ * <ContextMenuShortcut>Content</ContextMenuShortcut>
530
+ * ```
531
+ *
532
+ * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}
533
+ */
534
+ function ContextMenuShortcut(props: Readonly<ContextMenuShortcut.Props>): React.ReactElement {
535
+ const {asChild = false, children, className, render, ...otherProps} = props;
536
+ const renderProp = asChild && React.isValidElement(children) ? children : render;
537
+
538
+ return useRender({
539
+ defaultTagName: "span",
540
+ render: renderProp as never,
541
+ props: mergeProps({className: cn(styles.shortcut, className)}, otherProps, {
542
+ children: renderProp ? undefined : children,
543
+ }),
544
+ });
545
+ }
546
+
547
+ // eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API
548
+ namespace ContextMenu {
549
+ export type Props = ContextMenuProps;
550
+ export type State = BaseContextMenu.Root.State;
551
+ }
552
+
553
+ // eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API
554
+ namespace ContextMenuTrigger {
555
+ export type Props = ContextMenuTriggerProps;
556
+ export type State = BaseContextMenu.Trigger.State;
557
+ }
558
+
559
+ // eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API
560
+ namespace ContextMenuSubTrigger {
561
+ export type Props = ContextMenuSubTriggerProps;
562
+ export type State = BaseContextMenu.SubmenuTrigger.State;
563
+ }
564
+
565
+ // eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API
566
+ namespace ContextMenuContent {
567
+ export type Props = ContextMenuContentProps;
568
+ export type State = BaseContextMenu.Popup.State;
569
+ }
570
+
571
+ // eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API
572
+ namespace ContextMenuSubContent {
573
+ export type Props = ContextMenuContentProps;
574
+ export type State = BaseContextMenu.Popup.State;
575
+ }
576
+
577
+ // eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API
578
+ namespace ContextMenuItem {
579
+ export type Props = ContextMenuItemProps;
580
+ export type State = BaseContextMenu.Item.State;
581
+ }
582
+
583
+ // eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API
584
+ namespace ContextMenuCheckboxItem {
585
+ export type Props = ContextMenuCheckboxItemProps;
586
+ export type State = BaseContextMenu.CheckboxItem.State;
587
+ }
588
+
589
+ // eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API
590
+ namespace ContextMenuRadioItem {
591
+ export type Props = ContextMenuRadioItemProps;
592
+ export type State = BaseContextMenu.RadioItem.State;
593
+ }
594
+
595
+ // eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API
596
+ namespace ContextMenuLabel {
597
+ export type Props = ContextMenuLabelProps;
598
+ export type State = BaseContextMenu.GroupLabel.State;
599
+ }
600
+
601
+ // eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API
602
+ namespace ContextMenuSeparator {
603
+ export type Props = ContextMenuSeparatorProps;
604
+ export type State = BaseContextMenu.Separator.State;
605
+ }
606
+
607
+ // eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API
608
+ namespace ContextMenuShortcut {
609
+ export type Props = ContextMenuShortcutProps;
610
+ export type State = Record<string, never>;
611
+ }
612
+
613
+ ContextMenu.displayName = "ContextMenu";
614
+ ContextMenuGroup.displayName = "ContextMenuGroup";
615
+ ContextMenuPortal.displayName = "ContextMenuPortal";
616
+ ContextMenuRadioGroup.displayName = "ContextMenuRadioGroup";
617
+ ContextMenuSub.displayName = "ContextMenuSub";
618
+ ContextMenuTrigger.displayName = "ContextMenuTrigger";
619
+ ContextMenuSubTrigger.displayName = "ContextMenuSubTrigger";
620
+ ContextMenuSubContent.displayName = "ContextMenuSubContent";
621
+ ContextMenuContent.displayName = "ContextMenuContent";
622
+ ContextMenuItem.displayName = "ContextMenuItem";
623
+ ContextMenuCheckboxItem.displayName = "ContextMenuCheckboxItem";
624
+ ContextMenuRadioItem.displayName = "ContextMenuRadioItem";
625
+ ContextMenuLabel.displayName = "ContextMenuLabel";
626
+ ContextMenuSeparator.displayName = "ContextMenuSeparator";
168
627
  ContextMenuShortcut.displayName = "ContextMenuShortcut";
169
628
 
170
629
  export {