@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,99 +1,221 @@
1
1
  "use client";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
- import { CheckboxItem, Content, Group, Item, ItemIndicator, Label, Portal, RadioGroup, RadioItem, Root, Separator, Sub, SubContent, SubTrigger, Trigger } from "@radix-ui/react-context-menu";
3
+ import { ContextMenu } 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
- import { forwardRef } from "react";
7
+ import { forwardRef, isValidElement } from "react";
6
8
  import { cn } from "../../lib/utilities.js";
7
- const ContextMenu = Root;
8
- const ContextMenuTrigger = Trigger;
9
- const ContextMenuGroup = Group;
10
- const ContextMenuPortal = Portal;
11
- const ContextMenuSub = Sub;
12
- const ContextMenuRadioGroup = RadioGroup;
13
- const ContextMenuSubTrigger = /*#__PURE__*/ forwardRef(({ className, inset, children, ...props }, ref)=>/*#__PURE__*/ jsxs(SubTrigger, {
9
+ import context_menu_module from "./context-menu.module.js";
10
+ function context_menu_ContextMenu(props) {
11
+ return /*#__PURE__*/ jsx(ContextMenu.Root, {
12
+ ...props
13
+ });
14
+ }
15
+ const ContextMenuGroup = ContextMenu.Group;
16
+ const ContextMenuPortal = ContextMenu.Portal;
17
+ const ContextMenuRadioGroup = ContextMenu.RadioGroup;
18
+ const ContextMenuSub = ContextMenu.SubmenuRoot;
19
+ const ContextMenuTrigger = /*#__PURE__*/ forwardRef((props, ref)=>{
20
+ const { asChild = false, children, className, render, ...otherProps } = props;
21
+ const renderProp = asChild && /*#__PURE__*/ isValidElement(children) ? children : render;
22
+ return /*#__PURE__*/ jsx(ContextMenu.Trigger, {
14
23
  ref: ref,
15
- className: cn("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", inset && "pl-8", className),
16
- ...props,
24
+ ...otherProps,
25
+ render: useRender({
26
+ defaultTagName: "div",
27
+ render: renderProp,
28
+ props: mergeProps({
29
+ className
30
+ }, {})
31
+ }),
32
+ children: renderProp ? void 0 : children
33
+ });
34
+ });
35
+ function ContextMenuSubTrigger(props) {
36
+ const { className, children, inset = false, render, ...otherProps } = props;
37
+ return /*#__PURE__*/ jsxs(ContextMenu.SubmenuTrigger, {
38
+ ...otherProps,
39
+ render: useRender({
40
+ defaultTagName: "div",
41
+ render: render,
42
+ props: mergeProps({
43
+ className: cn(context_menu_module.item, context_menu_module.subTrigger, inset && context_menu_module.inset, className)
44
+ }, {})
45
+ }),
17
46
  children: [
18
47
  children,
19
48
  /*#__PURE__*/ jsx(ChevronRight, {
20
- className: "ml-auto h-4 w-4"
49
+ className: context_menu_module.subTriggerIcon
21
50
  })
22
51
  ]
23
- }));
24
- ContextMenuSubTrigger.displayName = SubTrigger.displayName;
25
- const ContextMenuSubContent = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx(SubContent, {
26
- ref: ref,
27
- className: cn("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", className),
28
- ...props
29
- }));
30
- ContextMenuSubContent.displayName = SubContent.displayName;
31
- const ContextMenuContent = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx(Portal, {
32
- children: /*#__PURE__*/ jsx(Content, {
33
- ref: ref,
34
- className: cn("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", className),
35
- ...props
52
+ });
53
+ }
54
+ function ContextMenuSubContent(props) {
55
+ const { className, children, render, ...otherProps } = props;
56
+ return /*#__PURE__*/ jsx(ContextMenu.Positioner, {
57
+ ...otherProps,
58
+ render: useRender({
59
+ defaultTagName: "div",
60
+ props: mergeProps({
61
+ className: context_menu_module.positioner
62
+ }, {})
63
+ }),
64
+ children: /*#__PURE__*/ jsx(ContextMenu.Popup, {
65
+ render: useRender({
66
+ defaultTagName: "div",
67
+ render: render,
68
+ props: mergeProps({
69
+ className: cn(context_menu_module.content, className)
70
+ }, {})
71
+ }),
72
+ children: children
36
73
  })
37
- }));
38
- ContextMenuContent.displayName = Content.displayName;
39
- const ContextMenuItem = /*#__PURE__*/ forwardRef(({ className, inset, ...props }, ref)=>/*#__PURE__*/ jsx(Item, {
40
- ref: ref,
41
- className: cn("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", inset && "pl-8", className),
42
- ...props
43
- }));
44
- ContextMenuItem.displayName = Item.displayName;
45
- const ContextMenuCheckboxItem = /*#__PURE__*/ forwardRef(({ className, children, checked, ...props }, ref)=>/*#__PURE__*/ jsxs(CheckboxItem, {
46
- ref: ref,
47
- className: cn("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", className),
48
- checked: checked,
49
- ...props,
74
+ });
75
+ }
76
+ const ContextMenuContent = /*#__PURE__*/ forwardRef((props, ref)=>{
77
+ const { className, children, render, ...otherProps } = props;
78
+ return /*#__PURE__*/ jsx(ContextMenuPortal, {
79
+ children: /*#__PURE__*/ jsx(ContextMenu.Positioner, {
80
+ ...otherProps,
81
+ render: useRender({
82
+ defaultTagName: "div",
83
+ props: mergeProps({
84
+ className: context_menu_module.positioner
85
+ }, {})
86
+ }),
87
+ children: /*#__PURE__*/ jsx(ContextMenu.Popup, {
88
+ ref: ref,
89
+ render: useRender({
90
+ defaultTagName: "div",
91
+ render: render,
92
+ props: mergeProps({
93
+ className: cn(context_menu_module.content, className)
94
+ }, {})
95
+ }),
96
+ children: children
97
+ })
98
+ })
99
+ });
100
+ });
101
+ function ContextMenuItem(props) {
102
+ const { asChild = false, children, className, inset = false, render, ...otherProps } = props;
103
+ const renderProp = asChild && /*#__PURE__*/ isValidElement(children) ? children : render;
104
+ return /*#__PURE__*/ jsx(ContextMenu.Item, {
105
+ ...otherProps,
106
+ render: useRender({
107
+ defaultTagName: "div",
108
+ render: renderProp,
109
+ props: mergeProps({
110
+ className: cn(context_menu_module.item, inset && context_menu_module.inset, className)
111
+ }, {})
112
+ }),
113
+ children: renderProp ? void 0 : children
114
+ });
115
+ }
116
+ function ContextMenuCheckboxItem(props) {
117
+ const { className, children, render, ...otherProps } = props;
118
+ return /*#__PURE__*/ jsxs(ContextMenu.CheckboxItem, {
119
+ ...otherProps,
120
+ render: useRender({
121
+ defaultTagName: "div",
122
+ render: render,
123
+ props: mergeProps({
124
+ className: cn(context_menu_module.item, context_menu_module.indicatorItem, className)
125
+ }, {})
126
+ }),
50
127
  children: [
51
128
  /*#__PURE__*/ jsx("span", {
52
- className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
53
- children: /*#__PURE__*/ jsx(ItemIndicator, {
129
+ className: context_menu_module.indicatorSlot,
130
+ children: /*#__PURE__*/ jsx(ContextMenu.CheckboxItemIndicator, {
54
131
  children: /*#__PURE__*/ jsx(Check, {
55
- className: "h-4 w-4"
132
+ className: context_menu_module.indicatorIcon
56
133
  })
57
134
  })
58
135
  }),
59
136
  children
60
137
  ]
61
- }));
62
- ContextMenuCheckboxItem.displayName = CheckboxItem.displayName;
63
- const ContextMenuRadioItem = /*#__PURE__*/ forwardRef(({ className, children, ...props }, ref)=>/*#__PURE__*/ jsxs(RadioItem, {
64
- ref: ref,
65
- className: cn("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", className),
66
- ...props,
138
+ });
139
+ }
140
+ function ContextMenuRadioItem(props) {
141
+ const { className, children, render, ...otherProps } = props;
142
+ return /*#__PURE__*/ jsxs(ContextMenu.RadioItem, {
143
+ ...otherProps,
144
+ render: useRender({
145
+ defaultTagName: "div",
146
+ render: render,
147
+ props: mergeProps({
148
+ className: cn(context_menu_module.item, context_menu_module.indicatorItem, className)
149
+ }, {})
150
+ }),
67
151
  children: [
68
152
  /*#__PURE__*/ jsx("span", {
69
- className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
70
- children: /*#__PURE__*/ jsx(ItemIndicator, {
153
+ className: context_menu_module.indicatorSlot,
154
+ children: /*#__PURE__*/ jsx(ContextMenu.RadioItemIndicator, {
71
155
  children: /*#__PURE__*/ jsx(Circle, {
72
- className: "h-4 w-4 fill-current"
156
+ className: context_menu_module.radioIndicatorIcon
73
157
  })
74
158
  })
75
159
  }),
76
160
  children
77
161
  ]
78
- }));
79
- ContextMenuRadioItem.displayName = RadioItem.displayName;
80
- const ContextMenuLabel = /*#__PURE__*/ forwardRef(({ className, inset, ...props }, ref)=>/*#__PURE__*/ jsx(Label, {
81
- ref: ref,
82
- className: cn("px-2 py-1.5 text-sm font-semibold text-neutral-950 dark:text-neutral-50", inset && "pl-8", className),
83
- ...props
84
- }));
85
- ContextMenuLabel.displayName = Label.displayName;
86
- const ContextMenuSeparator = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx(Separator, {
87
- ref: ref,
88
- className: cn("-mx-1 my-1 h-px bg-neutral-200 dark:bg-neutral-800", className),
89
- ...props
90
- }));
91
- ContextMenuSeparator.displayName = Separator.displayName;
92
- const ContextMenuShortcut = ({ className, ...props })=>/*#__PURE__*/ jsx("span", {
93
- className: cn("ml-auto text-xs tracking-widest text-neutral-500 dark:text-neutral-400", className),
94
- ...props
95
162
  });
163
+ }
164
+ function ContextMenuLabel(props) {
165
+ const { className, children, inset = false, render, ...otherProps } = props;
166
+ return /*#__PURE__*/ jsx(ContextMenu.GroupLabel, {
167
+ ...otherProps,
168
+ render: useRender({
169
+ defaultTagName: "div",
170
+ render: render,
171
+ props: mergeProps({
172
+ className: cn(context_menu_module.label, inset && context_menu_module.inset, className)
173
+ }, {})
174
+ }),
175
+ children: children
176
+ });
177
+ }
178
+ function ContextMenuSeparator(props) {
179
+ const { className, render, ...otherProps } = props;
180
+ return /*#__PURE__*/ jsx(ContextMenu.Separator, {
181
+ ...otherProps,
182
+ render: useRender({
183
+ defaultTagName: "div",
184
+ render: render,
185
+ props: mergeProps({
186
+ className: cn(context_menu_module.separator, className)
187
+ }, {})
188
+ })
189
+ });
190
+ }
191
+ function ContextMenuShortcut(props) {
192
+ const { asChild = false, children, className, render, ...otherProps } = props;
193
+ const renderProp = asChild && /*#__PURE__*/ isValidElement(children) ? children : render;
194
+ return useRender({
195
+ defaultTagName: "span",
196
+ render: renderProp,
197
+ props: mergeProps({
198
+ className: cn(context_menu_module.shortcut, className)
199
+ }, otherProps, {
200
+ children: renderProp ? void 0 : children
201
+ })
202
+ });
203
+ }
204
+ context_menu_ContextMenu.displayName = "ContextMenu";
205
+ ContextMenuGroup.displayName = "ContextMenuGroup";
206
+ ContextMenuPortal.displayName = "ContextMenuPortal";
207
+ ContextMenuRadioGroup.displayName = "ContextMenuRadioGroup";
208
+ ContextMenuSub.displayName = "ContextMenuSub";
209
+ ContextMenuTrigger.displayName = "ContextMenuTrigger";
210
+ ContextMenuSubTrigger.displayName = "ContextMenuSubTrigger";
211
+ ContextMenuSubContent.displayName = "ContextMenuSubContent";
212
+ ContextMenuContent.displayName = "ContextMenuContent";
213
+ ContextMenuItem.displayName = "ContextMenuItem";
214
+ ContextMenuCheckboxItem.displayName = "ContextMenuCheckboxItem";
215
+ ContextMenuRadioItem.displayName = "ContextMenuRadioItem";
216
+ ContextMenuLabel.displayName = "ContextMenuLabel";
217
+ ContextMenuSeparator.displayName = "ContextMenuSeparator";
96
218
  ContextMenuShortcut.displayName = "ContextMenuShortcut";
97
- export { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger };
219
+ export { ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, context_menu_ContextMenu as ContextMenu };
98
220
 
99
221
  //# sourceMappingURL=context-menu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components/ui/context-menu.js","sources":["../../../src/components/ui/context-menu.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as ContextMenuPrimitive from \"@radix-ui/react-context-menu\";\r\nimport {Check, ChevronRight, Circle} from \"lucide-react\";\r\nimport * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nconst ContextMenu = ContextMenuPrimitive.Root;\r\n\r\nconst ContextMenuTrigger = ContextMenuPrimitive.Trigger;\r\n\r\nconst ContextMenuGroup = ContextMenuPrimitive.Group;\r\n\r\nconst ContextMenuPortal = ContextMenuPrimitive.Portal;\r\n\r\nconst ContextMenuSub = ContextMenuPrimitive.Sub;\r\n\r\nconst ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;\r\n\r\nconst ContextMenuSubTrigger = React.forwardRef<\r\n React.ComponentRef<typeof ContextMenuPrimitive.SubTrigger>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubTrigger> & {\r\n inset?: boolean;\r\n }\r\n>(({className, inset, children, ...props}, ref) => (\r\n <ContextMenuPrimitive.SubTrigger\r\n ref={ref}\r\n className={cn(\r\n \"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\",\r\n inset && \"pl-8\",\r\n className,\r\n )}\r\n {...props}>\r\n {children}\r\n <ChevronRight className='ml-auto h-4 w-4' />\r\n </ContextMenuPrimitive.SubTrigger>\r\n));\r\nContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;\r\n\r\nconst ContextMenuSubContent = React.forwardRef<\r\n React.ComponentRef<typeof ContextMenuPrimitive.SubContent>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubContent>\r\n>(({className, ...props}, ref) => (\r\n <ContextMenuPrimitive.SubContent\r\n ref={ref}\r\n className={cn(\r\n \"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\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n));\r\nContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;\r\n\r\nconst ContextMenuContent = React.forwardRef<\r\n React.ComponentRef<typeof ContextMenuPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content>\r\n>(({className, ...props}, ref) => (\r\n <ContextMenuPrimitive.Portal>\r\n <ContextMenuPrimitive.Content\r\n ref={ref}\r\n className={cn(\r\n \"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\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n </ContextMenuPrimitive.Portal>\r\n));\r\nContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;\r\n\r\nconst ContextMenuItem = React.forwardRef<\r\n React.ComponentRef<typeof ContextMenuPrimitive.Item>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Item> & {\r\n inset?: boolean;\r\n }\r\n>(({className, inset, ...props}, ref) => (\r\n <ContextMenuPrimitive.Item\r\n ref={ref}\r\n className={cn(\r\n \"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\",\r\n inset && \"pl-8\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n));\r\nContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;\r\n\r\nconst ContextMenuCheckboxItem = React.forwardRef<\r\n React.ComponentRef<typeof ContextMenuPrimitive.CheckboxItem>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.CheckboxItem>\r\n>(({className, children, checked, ...props}, ref) => (\r\n <ContextMenuPrimitive.CheckboxItem\r\n ref={ref}\r\n className={cn(\r\n \"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\",\r\n className,\r\n )}\r\n checked={checked}\r\n {...props}>\r\n <span className='absolute left-2 flex h-3.5 w-3.5 items-center justify-center'>\r\n <ContextMenuPrimitive.ItemIndicator>\r\n <Check className='h-4 w-4' />\r\n </ContextMenuPrimitive.ItemIndicator>\r\n </span>\r\n {children}\r\n </ContextMenuPrimitive.CheckboxItem>\r\n));\r\nContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;\r\n\r\nconst ContextMenuRadioItem = React.forwardRef<\r\n React.ComponentRef<typeof ContextMenuPrimitive.RadioItem>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.RadioItem>\r\n>(({className, children, ...props}, ref) => (\r\n <ContextMenuPrimitive.RadioItem\r\n ref={ref}\r\n className={cn(\r\n \"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\",\r\n className,\r\n )}\r\n {...props}>\r\n <span className='absolute left-2 flex h-3.5 w-3.5 items-center justify-center'>\r\n <ContextMenuPrimitive.ItemIndicator>\r\n <Circle className='h-4 w-4 fill-current' />\r\n </ContextMenuPrimitive.ItemIndicator>\r\n </span>\r\n {children}\r\n </ContextMenuPrimitive.RadioItem>\r\n));\r\nContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;\r\n\r\nconst ContextMenuLabel = React.forwardRef<\r\n React.ComponentRef<typeof ContextMenuPrimitive.Label>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Label> & {\r\n inset?: boolean;\r\n }\r\n>(({className, inset, ...props}, ref) => (\r\n <ContextMenuPrimitive.Label\r\n ref={ref}\r\n className={cn(\"px-2 py-1.5 text-sm font-semibold text-neutral-950 dark:text-neutral-50\", inset && \"pl-8\", className)}\r\n {...props}\r\n />\r\n));\r\nContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;\r\n\r\nconst ContextMenuSeparator = React.forwardRef<\r\n React.ComponentRef<typeof ContextMenuPrimitive.Separator>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Separator>\r\n>(({className, ...props}, ref) => (\r\n <ContextMenuPrimitive.Separator\r\n ref={ref}\r\n className={cn(\"-mx-1 my-1 h-px bg-neutral-200 dark:bg-neutral-800\", className)}\r\n {...props}\r\n />\r\n));\r\nContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;\r\n\r\nconst ContextMenuShortcut = ({className, ...props}: React.HTMLAttributes<HTMLSpanElement>) => {\r\n return (\r\n <span\r\n className={cn(\"ml-auto text-xs tracking-widest text-neutral-500 dark:text-neutral-400\", className)}\r\n {...props}\r\n />\r\n );\r\n};\r\nContextMenuShortcut.displayName = \"ContextMenuShortcut\";\r\n\r\nexport {\r\n ContextMenu,\r\n ContextMenuCheckboxItem,\r\n ContextMenuContent,\r\n ContextMenuGroup,\r\n ContextMenuItem,\r\n ContextMenuLabel,\r\n ContextMenuPortal,\r\n ContextMenuRadioGroup,\r\n ContextMenuRadioItem,\r\n ContextMenuSeparator,\r\n ContextMenuShortcut,\r\n ContextMenuSub,\r\n ContextMenuSubContent,\r\n ContextMenuSubTrigger,\r\n ContextMenuTrigger,\r\n};\r\n"],"names":["ContextMenu","ContextMenuPrimitive","ContextMenuTrigger","ContextMenuGroup","ContextMenuPortal","ContextMenuSub","ContextMenuRadioGroup","ContextMenuSubTrigger","React","className","inset","children","props","ref","cn","ChevronRight","ContextMenuSubContent","ContextMenuContent","ContextMenuItem","ContextMenuCheckboxItem","checked","Check","ContextMenuRadioItem","Circle","ContextMenuLabel","ContextMenuSeparator","ContextMenuShortcut"],"mappings":"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"}
1
+ {"version":3,"file":"components/ui/context-menu.js","sources":["../../../src/components/ui/context-menu.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport {ContextMenu as BaseContextMenu} from \"@base-ui/react/context-menu\";\r\nimport {mergeProps} from \"@base-ui/react/merge-props\";\r\nimport {useRender} from \"@base-ui/react/use-render\";\r\nimport {Check, ChevronRight, Circle} from \"lucide-react\";\r\nimport * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./context-menu.module.css\";\r\n\r\ninterface ContextMenuProps extends React.ComponentPropsWithRef<typeof BaseContextMenu.Root> {}\r\n\r\ninterface ContextMenuTriggerProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.Trigger>, \"className\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n /**\r\n * Enables child element composition instead of rendering the default wrapper.\r\n * @default false\r\n * @deprecated Prefer Base UI's `render` prop.\r\n */\r\n asChild?: boolean;\r\n}\r\n\r\ninterface ContextMenuSubTriggerProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.SubmenuTrigger>, \"className\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n /**\r\n * Applies inset spacing to align nested content.\r\n * @default false\r\n */\r\n inset?: boolean;\r\n}\r\n\r\ninterface ContextMenuContentProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.Positioner>, \"className\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n}\r\n\r\ninterface ContextMenuItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.Item>, \"className\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n /**\r\n * Applies inset spacing to align nested content.\r\n * @default false\r\n */\r\n inset?: boolean;\r\n /**\r\n * Enables child element composition instead of rendering the default wrapper.\r\n * @default false\r\n * @deprecated Prefer Base UI's `render` prop.\r\n */\r\n asChild?: boolean;\r\n}\r\n\r\ninterface ContextMenuCheckboxItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.CheckboxItem>, \"className\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n}\r\n\r\ninterface ContextMenuRadioItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.RadioItem>, \"className\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n}\r\n\r\ninterface ContextMenuLabelProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.GroupLabel>, \"className\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n /**\r\n * Applies inset spacing to align nested content.\r\n * @default false\r\n */\r\n inset?: boolean;\r\n}\r\n\r\ninterface ContextMenuSeparatorProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.Separator>, \"className\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n}\r\n\r\ninterface ContextMenuShortcutProps extends React.ComponentPropsWithRef<\"span\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n /**\r\n * Overrides the default rendered element while preserving component behavior.\r\n * @default undefined\r\n */\r\n render?: useRender.RenderProp<Record<string, never>>;\r\n /**\r\n * Enables child element composition instead of rendering the default wrapper.\r\n * @default false\r\n * @deprecated Prefer Base UI's `render` prop.\r\n */\r\n asChild?: boolean;\r\n}\r\n\r\n/**\r\n * Coordinates context menu state and accessibility behavior.\r\n *\r\n * @remarks\r\n * - Delegates structure and state to the underlying Base UI primitive\r\n * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <ContextMenu>Content</ContextMenu>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}\r\n */\r\nfunction ContextMenu(props: Readonly<ContextMenu.Props>): React.ReactElement {\r\n return <BaseContextMenu.Root {...props} />;\r\n}\r\n\r\n/**\r\n * Renders the context menu group.\r\n *\r\n * @remarks\r\n * - Delegates structure and state to the underlying Base UI primitive\r\n * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <ContextMenuGroup>Content</ContextMenuGroup>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}\r\n */\r\nconst ContextMenuGroup = BaseContextMenu.Group;\r\n/**\r\n * Provides the context menu portal container.\r\n *\r\n * @remarks\r\n * - Delegates structure and state to the underlying Base UI primitive\r\n * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <ContextMenuPortal>Content</ContextMenuPortal>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}\r\n */\r\nconst ContextMenuPortal = BaseContextMenu.Portal;\r\n/**\r\n * Coordinates the context menu radio group.\r\n *\r\n * @remarks\r\n * - Delegates structure and state to the underlying Base UI primitive\r\n * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <ContextMenuRadioGroup>Content</ContextMenuRadioGroup>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}\r\n */\r\nconst ContextMenuRadioGroup = BaseContextMenu.RadioGroup;\r\n/**\r\n * Coordinates the context menu sub.\r\n *\r\n * @remarks\r\n * - Delegates structure and state to the underlying Base UI primitive\r\n * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <ContextMenuSub>Content</ContextMenuSub>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}\r\n */\r\nconst ContextMenuSub: typeof BaseContextMenu.SubmenuRoot & {displayName?: string} = BaseContextMenu.SubmenuRoot;\r\n\r\n/**\r\n * Renders the context menu trigger.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <ContextMenuTrigger>Content</ContextMenuTrigger>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}\r\n */\r\nconst ContextMenuTrigger = React.forwardRef<React.ComponentRef<typeof BaseContextMenu.Trigger>, ContextMenuTrigger.Props>(\r\n (props: Readonly<ContextMenuTrigger.Props>, ref): React.ReactElement => {\r\n const {asChild = false, children, className, render, ...otherProps} = props;\r\n const renderProp = asChild && React.isValidElement(children) ? children : render;\r\n\r\n return (\r\n <BaseContextMenu.Trigger\r\n ref={ref}\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: renderProp as never,\r\n props: mergeProps({className}, {}),\r\n })}>\r\n {renderProp ? undefined : children}\r\n </BaseContextMenu.Trigger>\r\n );\r\n },\r\n);\r\n\r\n/**\r\n * Renders the context menu sub trigger.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <ContextMenuSubTrigger>Content</ContextMenuSubTrigger>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}\r\n */\r\nfunction ContextMenuSubTrigger(props: Readonly<ContextMenuSubTrigger.Props>): React.ReactElement {\r\n const {className, children, inset = false, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseContextMenu.SubmenuTrigger\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.item, styles.subTrigger, inset && styles.inset, className)}, {}),\r\n })}>\r\n {children}\r\n <ChevronRight className={styles.subTriggerIcon} />\r\n </BaseContextMenu.SubmenuTrigger>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the context menu sub content.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <ContextMenuSubContent>Content</ContextMenuSubContent>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}\r\n */\r\nfunction ContextMenuSubContent(props: Readonly<ContextMenuContent.Props>): React.ReactElement {\r\n const {className, children, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseContextMenu.Positioner\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n props: mergeProps({className: styles.positioner}, {}),\r\n })}>\r\n <BaseContextMenu.Popup\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.content, className)}, {}),\r\n })}>\r\n {children}\r\n </BaseContextMenu.Popup>\r\n </BaseContextMenu.Positioner>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the context menu content.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <ContextMenuContent>Content</ContextMenuContent>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}\r\n */\r\nconst ContextMenuContent = React.forwardRef<React.ComponentRef<typeof BaseContextMenu.Popup>, ContextMenuContent.Props>(\r\n (props: Readonly<ContextMenuContent.Props>, ref): React.ReactElement => {\r\n const {className, children, render, ...otherProps} = props;\r\n\r\n return (\r\n <ContextMenuPortal>\r\n <BaseContextMenu.Positioner\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n props: mergeProps({className: styles.positioner}, {}),\r\n })}>\r\n <BaseContextMenu.Popup\r\n ref={ref}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.content, className)}, {}),\r\n })}>\r\n {children}\r\n </BaseContextMenu.Popup>\r\n </BaseContextMenu.Positioner>\r\n </ContextMenuPortal>\r\n );\r\n },\r\n);\r\n\r\n/**\r\n * Renders the context menu item.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <ContextMenuItem>Content</ContextMenuItem>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}\r\n */\r\nfunction ContextMenuItem(props: Readonly<ContextMenuItem.Props>): React.ReactElement {\r\n const {asChild = false, children, className, inset = false, render, ...otherProps} = props;\r\n const renderProp = asChild && React.isValidElement(children) ? children : render;\r\n\r\n return (\r\n <BaseContextMenu.Item\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: renderProp as never,\r\n props: mergeProps({className: cn(styles.item, inset && styles.inset, className)}, {}),\r\n })}>\r\n {renderProp ? undefined : children}\r\n </BaseContextMenu.Item>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the context menu checkbox item.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <ContextMenuCheckboxItem>Content</ContextMenuCheckboxItem>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}\r\n */\r\nfunction ContextMenuCheckboxItem(props: Readonly<ContextMenuCheckboxItem.Props>): React.ReactElement {\r\n const {className, children, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseContextMenu.CheckboxItem\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.item, styles.indicatorItem, className)}, {}),\r\n })}>\r\n <span className={styles.indicatorSlot}>\r\n <BaseContextMenu.CheckboxItemIndicator>\r\n <Check className={styles.indicatorIcon} />\r\n </BaseContextMenu.CheckboxItemIndicator>\r\n </span>\r\n {children}\r\n </BaseContextMenu.CheckboxItem>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the context menu radio item.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <ContextMenuRadioItem>Content</ContextMenuRadioItem>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}\r\n */\r\nfunction ContextMenuRadioItem(props: Readonly<ContextMenuRadioItem.Props>): React.ReactElement {\r\n const {className, children, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseContextMenu.RadioItem\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.item, styles.indicatorItem, className)}, {}),\r\n })}>\r\n <span className={styles.indicatorSlot}>\r\n <BaseContextMenu.RadioItemIndicator>\r\n <Circle className={styles.radioIndicatorIcon} />\r\n </BaseContextMenu.RadioItemIndicator>\r\n </span>\r\n {children}\r\n </BaseContextMenu.RadioItem>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the context menu label.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <ContextMenuLabel>Content</ContextMenuLabel>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}\r\n */\r\nfunction ContextMenuLabel(props: Readonly<ContextMenuLabel.Props>): React.ReactElement {\r\n const {className, children, inset = false, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseContextMenu.GroupLabel\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.label, inset && styles.inset, className)}, {}),\r\n })}>\r\n {children}\r\n </BaseContextMenu.GroupLabel>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the context menu separator.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <ContextMenuSeparator>Content</ContextMenuSeparator>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}\r\n */\r\nfunction ContextMenuSeparator(props: Readonly<ContextMenuSeparator.Props>): React.ReactElement {\r\n const {className, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseContextMenu.Separator\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.separator, className)}, {}),\r\n })}\r\n />\r\n );\r\n}\r\n\r\n/**\r\n * Renders the context menu shortcut.\r\n *\r\n * @remarks\r\n * - Renders a `<span>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <ContextMenuShortcut>Content</ContextMenuShortcut>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation}\r\n */\r\nfunction ContextMenuShortcut(props: Readonly<ContextMenuShortcut.Props>): React.ReactElement {\r\n const {asChild = false, children, className, render, ...otherProps} = props;\r\n const renderProp = asChild && React.isValidElement(children) ? children : render;\r\n\r\n return useRender({\r\n defaultTagName: \"span\",\r\n render: renderProp as never,\r\n props: mergeProps({className: cn(styles.shortcut, className)}, otherProps, {\r\n children: renderProp ? undefined : children,\r\n }),\r\n });\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace ContextMenu {\r\n export type Props = ContextMenuProps;\r\n export type State = BaseContextMenu.Root.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace ContextMenuTrigger {\r\n export type Props = ContextMenuTriggerProps;\r\n export type State = BaseContextMenu.Trigger.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace ContextMenuSubTrigger {\r\n export type Props = ContextMenuSubTriggerProps;\r\n export type State = BaseContextMenu.SubmenuTrigger.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace ContextMenuContent {\r\n export type Props = ContextMenuContentProps;\r\n export type State = BaseContextMenu.Popup.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace ContextMenuSubContent {\r\n export type Props = ContextMenuContentProps;\r\n export type State = BaseContextMenu.Popup.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace ContextMenuItem {\r\n export type Props = ContextMenuItemProps;\r\n export type State = BaseContextMenu.Item.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace ContextMenuCheckboxItem {\r\n export type Props = ContextMenuCheckboxItemProps;\r\n export type State = BaseContextMenu.CheckboxItem.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace ContextMenuRadioItem {\r\n export type Props = ContextMenuRadioItemProps;\r\n export type State = BaseContextMenu.RadioItem.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace ContextMenuLabel {\r\n export type Props = ContextMenuLabelProps;\r\n export type State = BaseContextMenu.GroupLabel.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace ContextMenuSeparator {\r\n export type Props = ContextMenuSeparatorProps;\r\n export type State = BaseContextMenu.Separator.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace ContextMenuShortcut {\r\n export type Props = ContextMenuShortcutProps;\r\n export type State = Record<string, never>;\r\n}\r\n\r\nContextMenu.displayName = \"ContextMenu\";\r\nContextMenuGroup.displayName = \"ContextMenuGroup\";\r\nContextMenuPortal.displayName = \"ContextMenuPortal\";\r\nContextMenuRadioGroup.displayName = \"ContextMenuRadioGroup\";\r\nContextMenuSub.displayName = \"ContextMenuSub\";\r\nContextMenuTrigger.displayName = \"ContextMenuTrigger\";\r\nContextMenuSubTrigger.displayName = \"ContextMenuSubTrigger\";\r\nContextMenuSubContent.displayName = \"ContextMenuSubContent\";\r\nContextMenuContent.displayName = \"ContextMenuContent\";\r\nContextMenuItem.displayName = \"ContextMenuItem\";\r\nContextMenuCheckboxItem.displayName = \"ContextMenuCheckboxItem\";\r\nContextMenuRadioItem.displayName = \"ContextMenuRadioItem\";\r\nContextMenuLabel.displayName = \"ContextMenuLabel\";\r\nContextMenuSeparator.displayName = \"ContextMenuSeparator\";\r\nContextMenuShortcut.displayName = \"ContextMenuShortcut\";\r\n\r\nexport {\r\n ContextMenu,\r\n ContextMenuCheckboxItem,\r\n ContextMenuContent,\r\n ContextMenuGroup,\r\n ContextMenuItem,\r\n ContextMenuLabel,\r\n ContextMenuPortal,\r\n ContextMenuRadioGroup,\r\n ContextMenuRadioItem,\r\n ContextMenuSeparator,\r\n ContextMenuShortcut,\r\n ContextMenuSub,\r\n ContextMenuSubContent,\r\n ContextMenuSubTrigger,\r\n ContextMenuTrigger,\r\n};\r\n"],"names":["ContextMenu","props","BaseContextMenu","ContextMenuGroup","ContextMenuPortal","ContextMenuRadioGroup","ContextMenuSub","ContextMenuTrigger","React","ref","asChild","children","className","render","otherProps","renderProp","useRender","mergeProps","undefined","ContextMenuSubTrigger","inset","cn","styles","ChevronRight","ContextMenuSubContent","ContextMenuContent","ContextMenuItem","ContextMenuCheckboxItem","Check","ContextMenuRadioItem","Circle","ContextMenuLabel","ContextMenuSeparator","ContextMenuShortcut"],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import "./context-menu_module.css";
2
+ const context_menu_module = {
3
+ positioner: "positioner-GLlaSA",
4
+ content: "content-WvhVkl",
5
+ item: "item-EeGYFT",
6
+ subTrigger: "subTrigger-wNjaS0",
7
+ subTriggerIcon: "subTriggerIcon-EgeexC",
8
+ indicatorItem: "indicatorItem-CYAe9M",
9
+ indicatorSlot: "indicatorSlot-H8tRoh",
10
+ indicatorIcon: "indicatorIcon-CenGUD",
11
+ radioIndicatorIcon: "radioIndicatorIcon-QRYuU_",
12
+ label: "label-Gga1Bo",
13
+ inset: "inset-ch0bTy",
14
+ separator: "separator-SNyihB",
15
+ shortcut: "shortcut-Cd0FUZ"
16
+ };
17
+ export default context_menu_module;
18
+
19
+ //# sourceMappingURL=context-menu.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components/ui/context-menu.module.js","sources":["../../../src/components/ui/context-menu.module.css"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./context-menu_module.css\"\nexport default {\"positioner\":\"positioner-GLlaSA\",\"content\":\"content-WvhVkl\",\"item\":\"item-EeGYFT\",\"subTrigger\":\"subTrigger-wNjaS0\",\"subTriggerIcon\":\"subTriggerIcon-EgeexC\",\"indicatorItem\":\"indicatorItem-CYAe9M\",\"indicatorSlot\":\"indicatorSlot-H8tRoh\",\"indicatorIcon\":\"indicatorIcon-CenGUD\",\"radioIndicatorIcon\":\"radioIndicatorIcon-QRYuU_\",\"label\":\"label-Gga1Bo\",\"inset\":\"inset-ch0bTy\",\"separator\":\"separator-SNyihB\",\"shortcut\":\"shortcut-Cd0FUZ\"};"],"names":[],"mappings":";AAEA,4BAAe;IAAC,YAAa;IAAoB,SAAU;IAAiB,MAAO;IAAc,YAAa;IAAoB,gBAAiB;IAAwB,eAAgB;IAAuB,eAAgB;IAAuB,eAAgB;IAAuB,oBAAqB;IAA4B,OAAQ;IAAe,OAAQ;IAAe,WAAY;IAAmB,UAAW;AAAiB"}
@@ -0,0 +1,114 @@
1
+ .positioner-GLlaSA {
2
+ z-index: 50;
3
+ }
4
+
5
+ .content-WvhVkl {
6
+ background-color: var(--ac-popover);
7
+ border: 1px solid var(--ac-border);
8
+ border-radius: var(--ac-radius-md);
9
+ color: var(--ac-popover-foreground);
10
+ max-height: var(--available-height);
11
+ min-width: 12rem;
12
+ padding: var(--ac-space-1);
13
+ transform-origin: var(--transform-origin);
14
+ transition: opacity var(--ac-transition-normal),transform var(--ac-transition-normal);
15
+ overflow: hidden auto;
16
+ box-shadow: 0 16px 40px -16px #00000059;
17
+ }
18
+
19
+ .content-WvhVkl[data-ending-style], .content-WvhVkl[data-starting-style] {
20
+ opacity: 0;
21
+ transform: scale(.96);
22
+ }
23
+
24
+ .item-EeGYFT {
25
+ border-radius: var(--ac-radius-sm);
26
+ color: inherit;
27
+ cursor: default;
28
+ font-size: var(--ac-text-sm);
29
+ align-items: center;
30
+ gap: var(--ac-space-2);
31
+ min-height: var(--ac-size-default);
32
+ padding: var(--ac-space-1) var(--ac-space-2);
33
+ -webkit-user-select: none;
34
+ user-select: none;
35
+ outline: none;
36
+ width: 100%;
37
+ display: flex;
38
+ }
39
+
40
+ .item-EeGYFT[data-highlighted] {
41
+ background-color: var(--ac-accent);
42
+ color: var(--ac-accent-foreground);
43
+ }
44
+
45
+ .item-EeGYFT[data-disabled] {
46
+ opacity: .5;
47
+ pointer-events: none;
48
+ }
49
+
50
+ .subTrigger-wNjaS0 {
51
+ padding-right: var(--ac-space-3);
52
+ }
53
+
54
+ .subTrigger-wNjaS0[data-popup-open] {
55
+ background-color: var(--ac-accent);
56
+ color: var(--ac-accent-foreground);
57
+ }
58
+
59
+ .subTriggerIcon-EgeexC {
60
+ flex-shrink: 0;
61
+ width: 1rem;
62
+ height: 1rem;
63
+ margin-left: auto;
64
+ }
65
+
66
+ .indicatorItem-CYAe9M {
67
+ padding-left: calc(var(--ac-space-2) + 1.25rem);
68
+ }
69
+
70
+ .indicatorSlot-H8tRoh {
71
+ height: 1rem;
72
+ left: var(--ac-space-2);
73
+ justify-content: center;
74
+ align-items: center;
75
+ width: 1rem;
76
+ display: inline-flex;
77
+ position: absolute;
78
+ }
79
+
80
+ .indicatorIcon-CenGUD, .radioIndicatorIcon-QRYuU_ {
81
+ width: .875rem;
82
+ height: .875rem;
83
+ }
84
+
85
+ .radioIndicatorIcon-QRYuU_ {
86
+ fill: currentColor;
87
+ }
88
+
89
+ .label-Gga1Bo {
90
+ color: var(--ac-foreground);
91
+ font-size: var(--ac-text-sm);
92
+ padding: var(--ac-space-1) var(--ac-space-2);
93
+ font-weight: 600;
94
+ }
95
+
96
+ .inset-ch0bTy {
97
+ padding-left: calc(var(--ac-space-2) + 1.25rem);
98
+ }
99
+
100
+ .separator-SNyihB {
101
+ background-color: var(--ac-border);
102
+ height: 1px;
103
+ margin: var(--ac-space-1) calc(var(--ac-space-1)*-1);
104
+ }
105
+
106
+ .shortcut-Cd0FUZ {
107
+ color: var(--ac-muted-foreground);
108
+ font-size: var(--ac-text-xs);
109
+ letter-spacing: .08em;
110
+ margin-left: auto;
111
+ }
112
+
113
+
114
+ /*# sourceMappingURL=context-menu_module.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack://./home/runner/work/arolariu.ro/arolariu.ro/packages/components/src/components/ui/context-menu.module.css","webpack://./src/components/ui/context-menu.module.css"],"names":[],"mappings":"AADA;ECEE,WAAW;AACb;;AAEA;EACE,mCAAmC;EACnC,kCAAkC;EAClC,kCAAkC;EAClC,mCAAmC;EACnC,mCAAmC;EACnC,gBAAgB;EAChB,0BAA0B;EAC1B,yCAAyC;EACzC,qFAAqF;EACrF,qBAAqB;EACrB,uCAAuC;AACzC;;AAEA;EACE,UAAU;EACV,qBAAqB;AACvB;;AAEA;EACE,kCAAkC;EAClC,cAAc;EACd,eAAe;EACf,4BAA4B;EAC5B,mBAAmB;EACnB,sBAAsB;EACtB,kCAAkC;EAClC,4CAA4C;EAC5C,yBAAyB;EACzB,iBAAiB;EACjB,aAAa;EACb,WAAW;EACX,aAAa;AACf;;AAEA;EACE,kCAAkC;EAClC,kCAAkC;AACpC;;AAEA;EACE,WAAW;EACX,oBAAoB;AACtB;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,kCAAkC;EAClC,kCAAkC;AACpC;;AAEA;EACE,cAAc;EACd,WAAW;EACX,YAAY;EACZ,iBAAiB;AACnB;;AAEA;EACE,+CAA+C;AACjD;;AAEA;EACE,YAAY;EACZ,uBAAuB;EACvB,uBAAuB;EACvB,mBAAmB;EACnB,WAAW;EACX,oBAAoB;EACpB,kBAAkB;AACpB;;AAEA;EACE,cAAc;EACd,eAAe;AACjB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,2BAA2B;EAC3B,4BAA4B;EAC5B,4CAA4C;EAC5C,gBAAgB;AAClB;;AAEA;EACE,+CAA+C;AACjD;;AAEA;EACE,kCAAkC;EAClC,WAAW;EACX,oDAAoD;AACtD;;AAEA;EACE,iCAAiC;EACjC,4BAA4B;EAC5B,qBAAqB;EACrB,iBAAiB;AACnB","sourcesContent":[".positioner{z-index:50}.content{background-color:var(--ac-popover);border:1px solid var(--ac-border);border-radius:var(--ac-radius-md);box-shadow:0 16px 40px -16px rgba(0,0,0,.35);color:var(--ac-popover-foreground);max-height:var(--available-height);min-width:12rem;overflow-x:hidden;overflow-y:auto;padding:var(--ac-space-1);transform-origin:var(--transform-origin);transition:opacity var(--ac-transition-normal),transform var(--ac-transition-normal)}.content[data-ending-style],.content[data-starting-style]{opacity:0;transform:scale(.96)}.item{align-items:center;border-radius:var(--ac-radius-sm);color:inherit;cursor:default;display:flex;font-size:var(--ac-text-sm);gap:var(--ac-space-2);min-height:var(--ac-size-default);outline:none;padding:var(--ac-space-1) var(--ac-space-2);user-select:none;width:100%}.item[data-highlighted]{background-color:var(--ac-accent);color:var(--ac-accent-foreground)}.item[data-disabled]{opacity:.5;pointer-events:none}.subTrigger{padding-right:var(--ac-space-3)}.subTrigger[data-popup-open]{background-color:var(--ac-accent);color:var(--ac-accent-foreground)}.subTriggerIcon{flex-shrink:0;height:1rem;margin-left:auto;width:1rem}.indicatorItem{padding-left:calc(var(--ac-space-2) + 1.25rem)}.indicatorSlot{align-items:center;display:inline-flex;height:1rem;justify-content:center;left:var(--ac-space-2);position:absolute;width:1rem}.indicatorIcon,.radioIndicatorIcon{height:.875rem;width:.875rem}.radioIndicatorIcon{fill:currentcolor}.label{color:var(--ac-foreground);font-size:var(--ac-text-sm);font-weight:600;padding:var(--ac-space-1) var(--ac-space-2)}.inset{padding-left:calc(var(--ac-space-2) + 1.25rem)}.separator{background-color:var(--ac-border);height:1px;margin:var(--ac-space-1) calc(var(--ac-space-1)*-1)}.shortcut{color:var(--ac-muted-foreground);font-size:var(--ac-text-xs);letter-spacing:.08em;margin-left:auto}",".positioner {\n z-index: 50;\n}\n\n.content {\n background-color: var(--ac-popover);\n border: 1px solid var(--ac-border);\n border-radius: var(--ac-radius-md);\n color: var(--ac-popover-foreground);\n max-height: var(--available-height);\n min-width: 12rem;\n padding: var(--ac-space-1);\n transform-origin: var(--transform-origin);\n transition: opacity var(--ac-transition-normal),transform var(--ac-transition-normal);\n overflow: hidden auto;\n box-shadow: 0 16px 40px -16px #00000059;\n}\n\n.content[data-ending-style], .content[data-starting-style] {\n opacity: 0;\n transform: scale(.96);\n}\n\n.item {\n border-radius: var(--ac-radius-sm);\n color: inherit;\n cursor: default;\n font-size: var(--ac-text-sm);\n align-items: center;\n gap: var(--ac-space-2);\n min-height: var(--ac-size-default);\n padding: var(--ac-space-1) var(--ac-space-2);\n -webkit-user-select: none;\n user-select: none;\n outline: none;\n width: 100%;\n display: flex;\n}\n\n.item[data-highlighted] {\n background-color: var(--ac-accent);\n color: var(--ac-accent-foreground);\n}\n\n.item[data-disabled] {\n opacity: .5;\n pointer-events: none;\n}\n\n.subTrigger {\n padding-right: var(--ac-space-3);\n}\n\n.subTrigger[data-popup-open] {\n background-color: var(--ac-accent);\n color: var(--ac-accent-foreground);\n}\n\n.subTriggerIcon {\n flex-shrink: 0;\n width: 1rem;\n height: 1rem;\n margin-left: auto;\n}\n\n.indicatorItem {\n padding-left: calc(var(--ac-space-2) + 1.25rem);\n}\n\n.indicatorSlot {\n height: 1rem;\n left: var(--ac-space-2);\n justify-content: center;\n align-items: center;\n width: 1rem;\n display: inline-flex;\n position: absolute;\n}\n\n.indicatorIcon, .radioIndicatorIcon {\n width: .875rem;\n height: .875rem;\n}\n\n.radioIndicatorIcon {\n fill: currentColor;\n}\n\n.label {\n color: var(--ac-foreground);\n font-size: var(--ac-text-sm);\n padding: var(--ac-space-1) var(--ac-space-2);\n font-weight: 600;\n}\n\n.inset {\n padding-left: calc(var(--ac-space-2) + 1.25rem);\n}\n\n.separator {\n background-color: var(--ac-border);\n height: 1px;\n margin: var(--ac-space-1) calc(var(--ac-space-1)*-1);\n}\n\n.shortcut {\n color: var(--ac-muted-foreground);\n font-size: var(--ac-text-xs);\n letter-spacing: .08em;\n margin-left: auto;\n}\n"],"sourceRoot":""}
@@ -0,0 +1,41 @@
1
+ import * as React from "react";
2
+ /**
3
+ * Represents the configurable props for the {@link CopyButton} component.
4
+ *
5
+ * @remarks
6
+ * Extends native `<button>` attributes while reserving `children` for the internal icon
7
+ * swap and exposing a required clipboard value.
8
+ */
9
+ interface CopyButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "children"> {
10
+ /**
11
+ * The text value copied to the clipboard when the button is activated.
12
+ */
13
+ value: string;
14
+ /**
15
+ * Duration in milliseconds to show the success state before restoring the copy icon.
16
+ *
17
+ * @default 2000
18
+ */
19
+ timeout?: number;
20
+ }
21
+ /**
22
+ * A compact icon button that copies text to the clipboard.
23
+ *
24
+ * @remarks
25
+ * **Rendering Context**: Client component.
26
+ *
27
+ * Uses `navigator.clipboard.writeText` when available and swaps from a copy icon to a
28
+ * confirmation icon for a configurable duration after a successful copy. If clipboard
29
+ * access fails, the button remains interactive without throwing to the UI.
30
+ *
31
+ * @example
32
+ * ```tsx
33
+ * <CopyButton value="npm install @arolariu/components" />
34
+ * ```
35
+ *
36
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Clipboard/writeText | MDN Clipboard.writeText}
37
+ */
38
+ declare const CopyButton: React.ForwardRefExoticComponent<CopyButtonProps & React.RefAttributes<HTMLButtonElement>>;
39
+ export { CopyButton };
40
+ export type { CopyButtonProps };
41
+ //# sourceMappingURL=copy-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-button.d.ts","sourceRoot":"","sources":["../../../src/components/ui/copy-button.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B;;;;;;GAMG;AACH,UAAU,eAAgB,SAAQ,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/F;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,QAAA,MAAM,UAAU,2FAkEf,CAAC;AAGF,OAAO,EAAC,UAAU,EAAC,CAAC;AACpB,YAAY,EAAC,eAAe,EAAC,CAAC"}
@@ -0,0 +1,51 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { Check, Copy } from "lucide-react";
4
+ import { forwardRef, useCallback, useEffect, useRef, useState } from "react";
5
+ import { cn } from "../../lib/utilities.js";
6
+ import copy_button_module from "./copy-button.module.js";
7
+ const CopyButton = /*#__PURE__*/ forwardRef(({ value, timeout = 2000, className, onClick, disabled, ...props }, ref)=>{
8
+ const [copied, setCopied] = useState(false);
9
+ const timeoutRef = useRef(null);
10
+ useEffect(()=>()=>{
11
+ if (null !== timeoutRef.current) globalThis.clearTimeout(timeoutRef.current);
12
+ }, []);
13
+ const handleCopy = useCallback(async (event)=>{
14
+ onClick?.(event);
15
+ const { clipboard } = globalThis.navigator;
16
+ if (event.defaultPrevented || disabled || !clipboard?.writeText) return;
17
+ try {
18
+ await clipboard.writeText(value);
19
+ setCopied(true);
20
+ if (null !== timeoutRef.current) globalThis.clearTimeout(timeoutRef.current);
21
+ timeoutRef.current = globalThis.setTimeout(()=>{
22
+ setCopied(false);
23
+ }, timeout);
24
+ } catch {}
25
+ }, [
26
+ disabled,
27
+ onClick,
28
+ timeout,
29
+ value
30
+ ]);
31
+ return /*#__PURE__*/ jsx("button", {
32
+ ref: ref,
33
+ type: "button",
34
+ "aria-label": copied ? "Copied" : "Copy to clipboard",
35
+ className: cn(copy_button_module.copyButton, className),
36
+ disabled: disabled,
37
+ onClick: handleCopy,
38
+ ...props,
39
+ children: copied ? /*#__PURE__*/ jsx(Check, {
40
+ "aria-hidden": "true",
41
+ className: copy_button_module.icon
42
+ }) : /*#__PURE__*/ jsx(Copy, {
43
+ "aria-hidden": "true",
44
+ className: copy_button_module.icon
45
+ })
46
+ });
47
+ });
48
+ CopyButton.displayName = "CopyButton";
49
+ export { CopyButton };
50
+
51
+ //# sourceMappingURL=copy-button.js.map