@arolariu/components 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. package/CHANGELOG.md +89 -0
  2. package/EXAMPLES.md +2510 -0
  3. package/dist/components/ui/accordion.js +3 -3
  4. package/dist/components/ui/accordion.js.map +1 -1
  5. package/dist/components/ui/accordion_module.css.map +1 -1
  6. package/dist/components/ui/alert-dialog.d.ts +4 -16
  7. package/dist/components/ui/alert-dialog.d.ts.map +1 -1
  8. package/dist/components/ui/alert-dialog.js +21 -17
  9. package/dist/components/ui/alert-dialog.js.map +1 -1
  10. package/dist/components/ui/alert-dialog_module.css +1 -1
  11. package/dist/components/ui/alert-dialog_module.css.map +1 -1
  12. package/dist/components/ui/alert.js +4 -4
  13. package/dist/components/ui/alert.js.map +1 -1
  14. package/dist/components/ui/alert_module.css.map +1 -1
  15. package/dist/components/ui/aspect-ratio.js +2 -2
  16. package/dist/components/ui/aspect-ratio.js.map +1 -1
  17. package/dist/components/ui/aspect-ratio_module.css.map +1 -1
  18. package/dist/components/ui/async-boundary.js +2 -2
  19. package/dist/components/ui/async-boundary.js.map +1 -1
  20. package/dist/components/ui/avatar.d.ts +3 -12
  21. package/dist/components/ui/avatar.d.ts.map +1 -1
  22. package/dist/components/ui/avatar.js +18 -15
  23. package/dist/components/ui/avatar.js.map +1 -1
  24. package/dist/components/ui/avatar_module.css.map +1 -1
  25. package/dist/components/ui/background-beams.js +3 -3
  26. package/dist/components/ui/background-beams.js.map +1 -1
  27. package/dist/components/ui/background-beams_module.css.map +1 -1
  28. package/dist/components/ui/badge.js +2 -2
  29. package/dist/components/ui/badge.js.map +1 -1
  30. package/dist/components/ui/badge_module.css.map +1 -1
  31. package/dist/components/ui/breadcrumb.js +10 -10
  32. package/dist/components/ui/breadcrumb.js.map +1 -1
  33. package/dist/components/ui/breadcrumb_module.css.map +1 -1
  34. package/dist/components/ui/bubble-background.js +5 -5
  35. package/dist/components/ui/bubble-background.js.map +1 -1
  36. package/dist/components/ui/bubble-background_module.css.map +1 -1
  37. package/dist/components/ui/button-group.d.ts +1 -1
  38. package/dist/components/ui/button-group.d.ts.map +1 -1
  39. package/dist/components/ui/button-group.js +6 -6
  40. package/dist/components/ui/button-group.js.map +1 -1
  41. package/dist/components/ui/button-group_module.css.map +1 -1
  42. package/dist/components/ui/button.js +4 -4
  43. package/dist/components/ui/button.js.map +1 -1
  44. package/dist/components/ui/button_module.css.map +1 -1
  45. package/dist/components/ui/calendar.d.ts +3 -5
  46. package/dist/components/ui/calendar.d.ts.map +1 -1
  47. package/dist/components/ui/calendar.js +9 -9
  48. package/dist/components/ui/calendar.js.map +1 -1
  49. package/dist/components/ui/calendar_module.css.map +1 -1
  50. package/dist/components/ui/card-skeleton.js +2 -2
  51. package/dist/components/ui/card-skeleton.js.map +1 -1
  52. package/dist/components/ui/card-skeleton_module.css.map +1 -1
  53. package/dist/components/ui/card.js +8 -8
  54. package/dist/components/ui/card.js.map +1 -1
  55. package/dist/components/ui/card_module.css.map +1 -1
  56. package/dist/components/ui/carousel.d.ts.map +1 -1
  57. package/dist/components/ui/carousel.js +16 -16
  58. package/dist/components/ui/carousel.js.map +1 -1
  59. package/dist/components/ui/carousel_module.css +1 -1
  60. package/dist/components/ui/carousel_module.css.map +1 -1
  61. package/dist/components/ui/chart.d.ts +6 -3
  62. package/dist/components/ui/chart.d.ts.map +1 -1
  63. package/dist/components/ui/chart.js +70 -70
  64. package/dist/components/ui/chart.js.map +1 -1
  65. package/dist/components/ui/chart_module.css.map +1 -1
  66. package/dist/components/ui/checkbox-group.d.ts +2 -6
  67. package/dist/components/ui/checkbox-group.d.ts.map +1 -1
  68. package/dist/components/ui/checkbox-group.js +8 -7
  69. package/dist/components/ui/checkbox-group.js.map +1 -1
  70. package/dist/components/ui/checkbox-group_module.css.map +1 -1
  71. package/dist/components/ui/checkbox.d.ts +3 -1
  72. package/dist/components/ui/checkbox.d.ts.map +1 -1
  73. package/dist/components/ui/checkbox.js +6 -3
  74. package/dist/components/ui/checkbox.js.map +1 -1
  75. package/dist/components/ui/checkbox_module.css.map +1 -1
  76. package/dist/components/ui/collapsible.d.ts.map +1 -1
  77. package/dist/components/ui/collapsible.js +4 -4
  78. package/dist/components/ui/collapsible.js.map +1 -1
  79. package/dist/components/ui/collapsible_module.css.map +1 -1
  80. package/dist/components/ui/combobox.d.ts +335 -0
  81. package/dist/components/ui/combobox.d.ts.map +1 -0
  82. package/dist/components/ui/combobox.js +206 -0
  83. package/dist/components/ui/combobox.js.map +1 -0
  84. package/dist/components/ui/combobox.module.js +23 -0
  85. package/dist/components/ui/combobox.module.js.map +1 -0
  86. package/dist/components/ui/combobox_module.css +142 -0
  87. package/dist/components/ui/combobox_module.css.map +1 -0
  88. package/dist/components/ui/command.d.ts.map +1 -1
  89. package/dist/components/ui/command.js +62 -53
  90. package/dist/components/ui/command.js.map +1 -1
  91. package/dist/components/ui/command_module.css +1 -1
  92. package/dist/components/ui/command_module.css.map +1 -1
  93. package/dist/components/ui/context-menu.d.ts.map +1 -1
  94. package/dist/components/ui/context-menu.js +6 -6
  95. package/dist/components/ui/context-menu.js.map +1 -1
  96. package/dist/components/ui/context-menu_module.css.map +1 -1
  97. package/dist/components/ui/copy-button.js +6 -6
  98. package/dist/components/ui/copy-button.js.map +1 -1
  99. package/dist/components/ui/copy-button_module.css.map +1 -1
  100. package/dist/components/ui/counting-number.js +6 -6
  101. package/dist/components/ui/counting-number.js.map +1 -1
  102. package/dist/components/ui/counting-number_module.css.map +1 -1
  103. package/dist/components/ui/dialog.js +6 -6
  104. package/dist/components/ui/dialog.js.map +1 -1
  105. package/dist/components/ui/dialog_module.css +1 -1
  106. package/dist/components/ui/dialog_module.css.map +1 -1
  107. package/dist/components/ui/dot-background_module.css.map +1 -1
  108. package/dist/components/ui/drawer.d.ts.map +1 -1
  109. package/dist/components/ui/drawer.js +5 -5
  110. package/dist/components/ui/drawer.js.map +1 -1
  111. package/dist/components/ui/drawer_module.css.map +1 -1
  112. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  113. package/dist/components/ui/dropdown-menu.js +6 -6
  114. package/dist/components/ui/dropdown-menu.js.map +1 -1
  115. package/dist/components/ui/dropdown-menu_module.css.map +1 -1
  116. package/dist/components/ui/dropdrawer.d.ts +10 -16
  117. package/dist/components/ui/dropdrawer.d.ts.map +1 -1
  118. package/dist/components/ui/dropdrawer.js +73 -65
  119. package/dist/components/ui/dropdrawer.js.map +1 -1
  120. package/dist/components/ui/dropdrawer_module.css.map +1 -1
  121. package/dist/components/ui/empty.js +7 -7
  122. package/dist/components/ui/empty.js.map +1 -1
  123. package/dist/components/ui/empty_module.css.map +1 -1
  124. package/dist/components/ui/error-boundary.js +2 -2
  125. package/dist/components/ui/error-boundary.js.map +1 -1
  126. package/dist/components/ui/error-boundary_module.css.map +1 -1
  127. package/dist/components/ui/field.js +12 -12
  128. package/dist/components/ui/field.js.map +1 -1
  129. package/dist/components/ui/field_module.css.map +1 -1
  130. package/dist/components/ui/fireworks-background.js +6 -6
  131. package/dist/components/ui/fireworks-background.js.map +1 -1
  132. package/dist/components/ui/fireworks-background_module.css.map +1 -1
  133. package/dist/components/ui/flip-button.js +5 -5
  134. package/dist/components/ui/flip-button.js.map +1 -1
  135. package/dist/components/ui/flip-button_module.css.map +1 -1
  136. package/dist/components/ui/focus-scope.js +6 -6
  137. package/dist/components/ui/focus-scope.js.map +1 -1
  138. package/dist/components/ui/focus-scope_module.css.map +1 -1
  139. package/dist/components/ui/form-skeleton.js +2 -2
  140. package/dist/components/ui/form-skeleton.js.map +1 -1
  141. package/dist/components/ui/form-skeleton_module.css.map +1 -1
  142. package/dist/components/ui/form.d.ts +3 -3
  143. package/dist/components/ui/form.d.ts.map +1 -1
  144. package/dist/components/ui/form.js +13 -13
  145. package/dist/components/ui/form.js.map +1 -1
  146. package/dist/components/ui/form_module.css.map +1 -1
  147. package/dist/components/ui/gradient-background.js +2 -2
  148. package/dist/components/ui/gradient-background.js.map +1 -1
  149. package/dist/components/ui/gradient-background_module.css.map +1 -1
  150. package/dist/components/ui/gradient-text.js +2 -2
  151. package/dist/components/ui/gradient-text.js.map +1 -1
  152. package/dist/components/ui/gradient-text_module.css.map +1 -1
  153. package/dist/components/ui/highlight-text.js +4 -4
  154. package/dist/components/ui/highlight-text.js.map +1 -1
  155. package/dist/components/ui/highlight-text_module.css.map +1 -1
  156. package/dist/components/ui/hole-background.js +21 -21
  157. package/dist/components/ui/hole-background.js.map +1 -1
  158. package/dist/components/ui/hole-background_module.css.map +1 -1
  159. package/dist/components/ui/hover-card.js +3 -3
  160. package/dist/components/ui/hover-card.js.map +1 -1
  161. package/dist/components/ui/hover-card_module.css.map +1 -1
  162. package/dist/components/ui/input-group.js +7 -7
  163. package/dist/components/ui/input-group.js.map +1 -1
  164. package/dist/components/ui/input-group_module.css.map +1 -1
  165. package/dist/components/ui/input-otp.d.ts +3 -3
  166. package/dist/components/ui/input-otp.d.ts.map +1 -1
  167. package/dist/components/ui/input-otp.js +6 -6
  168. package/dist/components/ui/input-otp.js.map +1 -1
  169. package/dist/components/ui/input-otp_module.css.map +1 -1
  170. package/dist/components/ui/input.js +2 -2
  171. package/dist/components/ui/input.js.map +1 -1
  172. package/dist/components/ui/input_module.css.map +1 -1
  173. package/dist/components/ui/item.d.ts +1 -1
  174. package/dist/components/ui/item.d.ts.map +1 -1
  175. package/dist/components/ui/item.js +13 -13
  176. package/dist/components/ui/item.js.map +1 -1
  177. package/dist/components/ui/item_module.css.map +1 -1
  178. package/dist/components/ui/kbd.js +3 -3
  179. package/dist/components/ui/kbd.js.map +1 -1
  180. package/dist/components/ui/kbd_module.css.map +1 -1
  181. package/dist/components/ui/label.js +2 -2
  182. package/dist/components/ui/label.js.map +1 -1
  183. package/dist/components/ui/label_module.css.map +1 -1
  184. package/dist/components/ui/list-skeleton.js +2 -2
  185. package/dist/components/ui/list-skeleton.js.map +1 -1
  186. package/dist/components/ui/list-skeleton_module.css.map +1 -1
  187. package/dist/components/ui/loading-overlay.js +2 -2
  188. package/dist/components/ui/loading-overlay.js.map +1 -1
  189. package/dist/components/ui/loading-overlay_module.css.map +1 -1
  190. package/dist/components/ui/menubar.d.ts +11 -13
  191. package/dist/components/ui/menubar.d.ts.map +1 -1
  192. package/dist/components/ui/menubar.js +4 -4
  193. package/dist/components/ui/menubar.js.map +1 -1
  194. package/dist/components/ui/menubar_module.css.map +1 -1
  195. package/dist/components/ui/meter.d.ts +8 -24
  196. package/dist/components/ui/meter.d.ts.map +1 -1
  197. package/dist/components/ui/meter.js +23 -19
  198. package/dist/components/ui/meter.js.map +1 -1
  199. package/dist/components/ui/meter_module.css.map +1 -1
  200. package/dist/components/ui/navigation-menu.d.ts +3 -12
  201. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  202. package/dist/components/ui/navigation-menu.js +15 -12
  203. package/dist/components/ui/navigation-menu.js.map +1 -1
  204. package/dist/components/ui/navigation-menu_module.css +1 -1
  205. package/dist/components/ui/navigation-menu_module.css.map +1 -1
  206. package/dist/components/ui/number-field.d.ts +6 -12
  207. package/dist/components/ui/number-field.d.ts.map +1 -1
  208. package/dist/components/ui/number-field.js +3 -3
  209. package/dist/components/ui/number-field.js.map +1 -1
  210. package/dist/components/ui/number-field_module.css.map +1 -1
  211. package/dist/components/ui/pagination.js +8 -8
  212. package/dist/components/ui/pagination.js.map +1 -1
  213. package/dist/components/ui/pagination_module.css.map +1 -1
  214. package/dist/components/ui/popover.js +5 -5
  215. package/dist/components/ui/popover.js.map +1 -1
  216. package/dist/components/ui/popover_module.css.map +1 -1
  217. package/dist/components/ui/progress.d.ts +1 -4
  218. package/dist/components/ui/progress.d.ts.map +1 -1
  219. package/dist/components/ui/progress.js +10 -9
  220. package/dist/components/ui/progress.js.map +1 -1
  221. package/dist/components/ui/progress_module.css.map +1 -1
  222. package/dist/components/ui/radio-group.d.ts +2 -4
  223. package/dist/components/ui/radio-group.d.ts.map +1 -1
  224. package/dist/components/ui/radio-group.js +3 -3
  225. package/dist/components/ui/radio-group.js.map +1 -1
  226. package/dist/components/ui/radio-group_module.css.map +1 -1
  227. package/dist/components/ui/resizable.d.ts +13 -29
  228. package/dist/components/ui/resizable.d.ts.map +1 -1
  229. package/dist/components/ui/resizable.js +8 -7
  230. package/dist/components/ui/resizable.js.map +1 -1
  231. package/dist/components/ui/resizable_module.css.map +1 -1
  232. package/dist/components/ui/ripple-button.js +9 -9
  233. package/dist/components/ui/ripple-button.js.map +1 -1
  234. package/dist/components/ui/ripple-button_module.css.map +1 -1
  235. package/dist/components/ui/scratcher.d.ts +1 -1
  236. package/dist/components/ui/scratcher.d.ts.map +1 -1
  237. package/dist/components/ui/scratcher.js +5 -4
  238. package/dist/components/ui/scratcher.js.map +1 -1
  239. package/dist/components/ui/scratcher_module.css.map +1 -1
  240. package/dist/components/ui/scroll-area.d.ts +2 -4
  241. package/dist/components/ui/scroll-area.d.ts.map +1 -1
  242. package/dist/components/ui/scroll-area.js +2 -2
  243. package/dist/components/ui/scroll-area.js.map +1 -1
  244. package/dist/components/ui/scroll-area_module.css.map +1 -1
  245. package/dist/components/ui/select.js +4 -4
  246. package/dist/components/ui/select.js.map +1 -1
  247. package/dist/components/ui/select_module.css.map +1 -1
  248. package/dist/components/ui/separator.d.ts +1 -4
  249. package/dist/components/ui/separator.d.ts.map +1 -1
  250. package/dist/components/ui/separator.js +9 -8
  251. package/dist/components/ui/separator.js.map +1 -1
  252. package/dist/components/ui/separator_module.css.map +1 -1
  253. package/dist/components/ui/sheet.d.ts.map +1 -1
  254. package/dist/components/ui/sheet.js +6 -6
  255. package/dist/components/ui/sheet.js.map +1 -1
  256. package/dist/components/ui/sheet_module.css.map +1 -1
  257. package/dist/components/ui/sidebar.d.ts +1 -1
  258. package/dist/components/ui/sidebar.d.ts.map +1 -1
  259. package/dist/components/ui/sidebar.js +36 -36
  260. package/dist/components/ui/sidebar.js.map +1 -1
  261. package/dist/components/ui/sidebar_module.css.map +1 -1
  262. package/dist/components/ui/skeleton.js +2 -2
  263. package/dist/components/ui/skeleton.js.map +1 -1
  264. package/dist/components/ui/skeleton_module.css.map +1 -1
  265. package/dist/components/ui/slider.js +2 -2
  266. package/dist/components/ui/slider.js.map +1 -1
  267. package/dist/components/ui/slider_module.css.map +1 -1
  268. package/dist/components/ui/spinner.js +2 -2
  269. package/dist/components/ui/spinner.js.map +1 -1
  270. package/dist/components/ui/spinner_module.css.map +1 -1
  271. package/dist/components/ui/stepper.js +2 -2
  272. package/dist/components/ui/stepper.js.map +1 -1
  273. package/dist/components/ui/stepper_module.css.map +1 -1
  274. package/dist/components/ui/switch.js +2 -2
  275. package/dist/components/ui/switch.js.map +1 -1
  276. package/dist/components/ui/switch_module.css.map +1 -1
  277. package/dist/components/ui/table-skeleton.js +2 -2
  278. package/dist/components/ui/table-skeleton.js.map +1 -1
  279. package/dist/components/ui/table-skeleton_module.css.map +1 -1
  280. package/dist/components/ui/table.js +9 -9
  281. package/dist/components/ui/table.js.map +1 -1
  282. package/dist/components/ui/table_module.css.map +1 -1
  283. package/dist/components/ui/tabs.js +3 -3
  284. package/dist/components/ui/tabs.js.map +1 -1
  285. package/dist/components/ui/tabs_module.css.map +1 -1
  286. package/dist/components/ui/textarea.js +2 -2
  287. package/dist/components/ui/textarea.js.map +1 -1
  288. package/dist/components/ui/textarea_module.css.map +1 -1
  289. package/dist/components/ui/timeline.js +5 -5
  290. package/dist/components/ui/timeline.js.map +1 -1
  291. package/dist/components/ui/timeline_module.css.map +1 -1
  292. package/dist/components/ui/{sonner.d.ts → toast.d.ts} +15 -6
  293. package/dist/components/ui/toast.d.ts.map +1 -0
  294. package/dist/components/ui/{sonner.js → toast.js} +43 -42
  295. package/dist/components/ui/toast.js.map +1 -0
  296. package/dist/components/ui/toast.module.js +34 -0
  297. package/dist/components/ui/toast.module.js.map +1 -0
  298. package/dist/components/ui/{sonner_module.css → toast_module.css} +35 -35
  299. package/dist/components/ui/toast_module.css.map +1 -0
  300. package/dist/components/ui/toggle-group.d.ts +2 -8
  301. package/dist/components/ui/toggle-group.d.ts.map +1 -1
  302. package/dist/components/ui/toggle-group.js +14 -12
  303. package/dist/components/ui/toggle-group.js.map +1 -1
  304. package/dist/components/ui/toggle-group_module.css.map +1 -1
  305. package/dist/components/ui/toggle.js +2 -2
  306. package/dist/components/ui/toggle.js.map +1 -1
  307. package/dist/components/ui/toggle_module.css.map +1 -1
  308. package/dist/components/ui/toolbar.d.ts +10 -30
  309. package/dist/components/ui/toolbar.d.ts.map +1 -1
  310. package/dist/components/ui/toolbar.js +28 -23
  311. package/dist/components/ui/toolbar.js.map +1 -1
  312. package/dist/components/ui/toolbar_module.css.map +1 -1
  313. package/dist/components/ui/tooltip.js +4 -4
  314. package/dist/components/ui/tooltip.js.map +1 -1
  315. package/dist/components/ui/tooltip_module.css.map +1 -1
  316. package/dist/components/ui/typewriter.js +4 -4
  317. package/dist/components/ui/typewriter.js.map +1 -1
  318. package/dist/components/ui/typewriter_module.css.map +1 -1
  319. package/dist/components/ui/visually-hidden.js +2 -2
  320. package/dist/components/ui/visually-hidden.js.map +1 -1
  321. package/dist/components/ui/visually-hidden_module.css.map +1 -1
  322. package/dist/hooks/useAnnounce.js +5 -5
  323. package/dist/hooks/useAnnounce.js.map +1 -1
  324. package/dist/hooks/useClipboard.d.ts +77 -0
  325. package/dist/hooks/useClipboard.d.ts.map +1 -0
  326. package/dist/hooks/useClipboard.js +42 -0
  327. package/dist/hooks/useClipboard.js.map +1 -0
  328. package/dist/hooks/useControllableState.d.ts +54 -0
  329. package/dist/hooks/useControllableState.d.ts.map +1 -0
  330. package/dist/hooks/useControllableState.js +29 -0
  331. package/dist/hooks/useControllableState.js.map +1 -0
  332. package/dist/hooks/useDebounce.d.ts +33 -0
  333. package/dist/hooks/useDebounce.d.ts.map +1 -0
  334. package/dist/hooks/useDebounce.js +20 -0
  335. package/dist/hooks/useDebounce.js.map +1 -0
  336. package/dist/hooks/useEventCallback.d.ts +34 -0
  337. package/dist/hooks/useEventCallback.d.ts.map +1 -0
  338. package/dist/hooks/useEventCallback.js +12 -0
  339. package/dist/hooks/useEventCallback.js.map +1 -0
  340. package/dist/hooks/useFocusManager.js +6 -6
  341. package/dist/hooks/useFocusManager.js.map +1 -1
  342. package/dist/hooks/useFocusVisible.js +5 -5
  343. package/dist/hooks/useFocusVisible.js.map +1 -1
  344. package/dist/hooks/useId.d.ts +30 -0
  345. package/dist/hooks/useId.d.ts.map +1 -0
  346. package/dist/hooks/useId.js +9 -0
  347. package/dist/hooks/useId.js.map +1 -0
  348. package/dist/hooks/useIntersectionObserver.d.ts +51 -0
  349. package/dist/hooks/useIntersectionObserver.d.ts.map +1 -0
  350. package/dist/hooks/useIntersectionObserver.js +25 -0
  351. package/dist/hooks/useIntersectionObserver.js.map +1 -0
  352. package/dist/hooks/useInterval.d.ts +55 -0
  353. package/dist/hooks/useInterval.d.ts.map +1 -0
  354. package/dist/hooks/useInterval.js +24 -0
  355. package/dist/hooks/useInterval.js.map +1 -0
  356. package/dist/hooks/useLocalStorage.d.ts +43 -0
  357. package/dist/hooks/useLocalStorage.d.ts.map +1 -0
  358. package/dist/hooks/useLocalStorage.js +53 -0
  359. package/dist/hooks/useLocalStorage.js.map +1 -0
  360. package/dist/hooks/useMediaQuery.js +3 -3
  361. package/dist/hooks/useMediaQuery.js.map +1 -1
  362. package/dist/hooks/useMergedRefs.d.ts +27 -0
  363. package/dist/hooks/useMergedRefs.d.ts.map +1 -0
  364. package/dist/hooks/useMergedRefs.js +11 -0
  365. package/dist/hooks/useMergedRefs.js.map +1 -0
  366. package/dist/hooks/useOnClickOutside.d.ts +32 -0
  367. package/dist/hooks/useOnClickOutside.d.ts.map +1 -0
  368. package/dist/hooks/useOnClickOutside.js +23 -0
  369. package/dist/hooks/useOnClickOutside.js.map +1 -0
  370. package/dist/hooks/usePrevious.d.ts +33 -0
  371. package/dist/hooks/usePrevious.d.ts.map +1 -0
  372. package/dist/hooks/usePrevious.js +14 -0
  373. package/dist/hooks/usePrevious.js.map +1 -0
  374. package/dist/hooks/useThrottle.d.ts +37 -0
  375. package/dist/hooks/useThrottle.d.ts.map +1 -0
  376. package/dist/hooks/useThrottle.js +34 -0
  377. package/dist/hooks/useThrottle.js.map +1 -0
  378. package/dist/hooks/useTimeout.d.ts +28 -0
  379. package/dist/hooks/useTimeout.d.ts.map +1 -0
  380. package/dist/hooks/useTimeout.js +24 -0
  381. package/dist/hooks/useTimeout.js.map +1 -0
  382. package/dist/index.css.map +1 -1
  383. package/dist/index.d.ts +17 -3
  384. package/dist/index.d.ts.map +1 -1
  385. package/dist/index.js +15 -1
  386. package/dist/lib/utilities.d.ts +2 -3
  387. package/dist/lib/utilities.d.ts.map +1 -1
  388. package/dist/lib/utilities.js.map +1 -1
  389. package/dist/motion/Collapse.js +2 -2
  390. package/dist/motion/Collapse.js.map +1 -1
  391. package/dist/motion/Collapse_module.css.map +1 -1
  392. package/dist/motion/tokens.js +5 -5
  393. package/dist/motion/tokens.js.map +1 -1
  394. package/package.json +88 -10
  395. package/src/components/ui/alert-dialog.tsx +15 -8
  396. package/src/components/ui/avatar.tsx +9 -6
  397. package/src/components/ui/calendar.tsx +9 -14
  398. package/src/components/ui/carousel.tsx +2 -0
  399. package/src/components/ui/chart.tsx +65 -62
  400. package/src/components/ui/checkbox-group.tsx +4 -5
  401. package/src/components/ui/checkbox.tsx +10 -2
  402. package/src/components/ui/collapsible.tsx +1 -0
  403. package/src/components/ui/combobox.module.css +158 -0
  404. package/src/components/ui/combobox.tsx +569 -0
  405. package/src/components/ui/command.tsx +31 -15
  406. package/src/components/ui/context-menu.tsx +3 -0
  407. package/src/components/ui/drawer.tsx +2 -0
  408. package/src/components/ui/dropdown-menu.tsx +3 -0
  409. package/src/components/ui/dropdrawer.tsx +80 -62
  410. package/src/components/ui/form.tsx +28 -3
  411. package/src/components/ui/input-otp.tsx +3 -3
  412. package/src/components/ui/menubar.tsx +9 -10
  413. package/src/components/ui/meter.tsx +16 -17
  414. package/src/components/ui/navigation-menu.tsx +41 -33
  415. package/src/components/ui/number-field.tsx +6 -13
  416. package/src/components/ui/progress.tsx +3 -2
  417. package/src/components/ui/radio-group.tsx +2 -5
  418. package/src/components/ui/resizable.tsx +15 -18
  419. package/src/components/ui/scratcher.tsx +6 -10
  420. package/src/components/ui/scroll-area.tsx +2 -5
  421. package/src/components/ui/separator.tsx +4 -3
  422. package/src/components/ui/sheet.tsx +3 -0
  423. package/src/components/ui/sidebar.tsx +1 -0
  424. package/src/components/ui/{sonner.module.css → toast.module.css} +1 -1
  425. package/src/components/ui/{sonner.tsx → toast.tsx} +22 -14
  426. package/src/components/ui/toggle-group.tsx +6 -4
  427. package/src/components/ui/toolbar.tsx +20 -21
  428. package/src/hooks/useClipboard.tsx +137 -0
  429. package/src/hooks/useControllableState.tsx +81 -0
  430. package/src/hooks/useDebounce.tsx +50 -0
  431. package/src/hooks/useEventCallback.tsx +47 -0
  432. package/src/hooks/useId.tsx +36 -0
  433. package/src/hooks/useIntersectionObserver.tsx +81 -0
  434. package/src/hooks/useInterval.tsx +80 -0
  435. package/src/hooks/useLocalStorage.tsx +111 -0
  436. package/src/hooks/useMergedRefs.tsx +48 -0
  437. package/src/hooks/useOnClickOutside.tsx +55 -0
  438. package/src/hooks/usePrevious.tsx +44 -0
  439. package/src/hooks/useThrottle.tsx +78 -0
  440. package/src/hooks/useTimeout.tsx +51 -0
  441. package/src/index.ts +27 -4
  442. package/src/lib/utilities.ts +4 -4
  443. package/src/motion/tokens.ts +4 -4
  444. package/src/stories/DesignPrinciples.mdx +48 -0
  445. package/src/stories/GettingStarted.mdx +92 -0
  446. package/src/stories/Welcome.mdx +44 -0
  447. package/dist/components/ui/sonner.d.ts.map +0 -1
  448. package/dist/components/ui/sonner.js.map +0 -1
  449. package/dist/components/ui/sonner.module.js +0 -34
  450. package/dist/components/ui/sonner.module.js.map +0 -1
  451. package/dist/components/ui/sonner_module.css.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"components/ui/dropdown-menu.js","sources":["../../../src/components/ui/dropdown-menu.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport {Menu as BaseMenu} from \"@base-ui/react/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 \"./dropdown-menu.module.css\";\r\n\r\ninterface DropdownMenuProps extends React.ComponentPropsWithRef<typeof BaseMenu.Root> {}\r\n\r\ninterface DropdownMenuTriggerProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.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 DropdownMenuSubTriggerProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.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 DropdownMenuContentProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.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 DropdownMenuItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.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 DropdownMenuCheckboxItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.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 DropdownMenuRadioItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.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 DropdownMenuLabelProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.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 DropdownMenuSeparatorProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.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 DropdownMenuShortcutProps 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 dropdown 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/menu | Base UI Menu}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenu>Content</DropdownMenu>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nfunction DropdownMenu(props: Readonly<DropdownMenu.Props>): React.ReactElement {\r\n return <BaseMenu.Root {...props} />;\r\n}\r\n\r\n/**\r\n * Renders the dropdown 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/menu | Base UI Menu}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuGroup>Content</DropdownMenuGroup>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nconst DropdownMenuGroup = BaseMenu.Group;\r\n/**\r\n * Provides the dropdown 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/menu | Base UI Menu}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuPortal>Content</DropdownMenuPortal>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nconst DropdownMenuPortal = BaseMenu.Portal;\r\n/**\r\n * Coordinates the dropdown 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/menu | Base UI Menu}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuRadioGroup>Content</DropdownMenuRadioGroup>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nconst DropdownMenuRadioGroup = BaseMenu.RadioGroup;\r\n/**\r\n * Coordinates the dropdown 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/menu | Base UI Menu}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuSub>Content</DropdownMenuSub>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nconst DropdownMenuSub: typeof BaseMenu.SubmenuRoot & {displayName?: string} = BaseMenu.SubmenuRoot;\r\n\r\n/**\r\n * Renders the dropdown menu trigger.\r\n *\r\n * @remarks\r\n * - Renders a `<button>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menu | Base UI Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuTrigger>Content</DropdownMenuTrigger>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nconst DropdownMenuTrigger = React.forwardRef<HTMLButtonElement, DropdownMenuTrigger.Props>(\r\n (props: Readonly<DropdownMenuTrigger.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 <BaseMenu.Trigger\r\n ref={ref}\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"button\",\r\n render: renderProp as never,\r\n props: mergeProps({className}, {}),\r\n })}>\r\n {renderProp ? undefined : children}\r\n </BaseMenu.Trigger>\r\n );\r\n },\r\n);\r\n\r\n/**\r\n * Renders the dropdown 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/menu | Base UI Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuSubTrigger>Content</DropdownMenuSubTrigger>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nfunction DropdownMenuSubTrigger(props: Readonly<DropdownMenuSubTrigger.Props>): React.ReactElement {\r\n const {className, children, inset = false, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.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 </BaseMenu.SubmenuTrigger>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the dropdown 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/menu | Base UI Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuSubContent>Content</DropdownMenuSubContent>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nfunction DropdownMenuSubContent(props: Readonly<DropdownMenuContent.Props>): React.ReactElement {\r\n const {className, children, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.Positioner\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n props: mergeProps({className: styles.positioner}, {}),\r\n })}>\r\n <BaseMenu.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 </BaseMenu.Popup>\r\n </BaseMenu.Positioner>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the dropdown 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/menu | Base UI Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuContent>Content</DropdownMenuContent>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nconst DropdownMenuContent = React.forwardRef<React.ComponentRef<typeof BaseMenu.Popup>, DropdownMenuContent.Props>(\r\n (props: Readonly<DropdownMenuContent.Props>, ref): React.ReactElement => {\r\n const {className, children, render, ...otherProps} = props;\r\n\r\n return (\r\n <DropdownMenuPortal>\r\n <BaseMenu.Positioner\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n props: mergeProps({className: styles.positioner}, {}),\r\n })}>\r\n <BaseMenu.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 </BaseMenu.Popup>\r\n </BaseMenu.Positioner>\r\n </DropdownMenuPortal>\r\n );\r\n },\r\n);\r\n\r\n/**\r\n * Renders the dropdown 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/menu | Base UI Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuItem>Content</DropdownMenuItem>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nfunction DropdownMenuItem(props: Readonly<DropdownMenuItem.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 <BaseMenu.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 </BaseMenu.Item>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the dropdown 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/menu | Base UI Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuCheckboxItem>Content</DropdownMenuCheckboxItem>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nfunction DropdownMenuCheckboxItem(props: Readonly<DropdownMenuCheckboxItem.Props>): React.ReactElement {\r\n const {className, children, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.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 <BaseMenu.CheckboxItemIndicator>\r\n <Check className={styles.indicatorIcon} />\r\n </BaseMenu.CheckboxItemIndicator>\r\n </span>\r\n {children}\r\n </BaseMenu.CheckboxItem>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the dropdown 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/menu | Base UI Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuRadioItem>Content</DropdownMenuRadioItem>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nfunction DropdownMenuRadioItem(props: Readonly<DropdownMenuRadioItem.Props>): React.ReactElement {\r\n const {className, children, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.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 <BaseMenu.RadioItemIndicator>\r\n <Circle className={styles.radioIndicatorIcon} />\r\n </BaseMenu.RadioItemIndicator>\r\n </span>\r\n {children}\r\n </BaseMenu.RadioItem>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the dropdown 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/menu | Base UI Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuLabel>Content</DropdownMenuLabel>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nfunction DropdownMenuLabel(props: Readonly<DropdownMenuLabel.Props>): React.ReactElement {\r\n const {className, children, inset = false, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.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 </BaseMenu.GroupLabel>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the dropdown 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/menu | Base UI Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuSeparator>Content</DropdownMenuSeparator>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nfunction DropdownMenuSeparator(props: Readonly<DropdownMenuSeparator.Props>): React.ReactElement {\r\n const {className, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.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 dropdown 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/menu | Base UI Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuShortcut>Content</DropdownMenuShortcut>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nfunction DropdownMenuShortcut(props: Readonly<DropdownMenuShortcut.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 DropdownMenu {\r\n export type Props = DropdownMenuProps;\r\n export type State = BaseMenu.Root.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace DropdownMenuTrigger {\r\n export type Props = DropdownMenuTriggerProps;\r\n export type State = BaseMenu.Trigger.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace DropdownMenuSubTrigger {\r\n export type Props = DropdownMenuSubTriggerProps;\r\n export type State = BaseMenu.SubmenuTrigger.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace DropdownMenuContent {\r\n export type Props = DropdownMenuContentProps;\r\n export type State = BaseMenu.Popup.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace DropdownMenuSubContent {\r\n export type Props = DropdownMenuContentProps;\r\n export type State = BaseMenu.Popup.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace DropdownMenuItem {\r\n export type Props = DropdownMenuItemProps;\r\n export type State = BaseMenu.Item.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace DropdownMenuCheckboxItem {\r\n export type Props = DropdownMenuCheckboxItemProps;\r\n export type State = BaseMenu.CheckboxItem.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace DropdownMenuRadioItem {\r\n export type Props = DropdownMenuRadioItemProps;\r\n export type State = BaseMenu.RadioItem.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace DropdownMenuLabel {\r\n export type Props = DropdownMenuLabelProps;\r\n export type State = BaseMenu.GroupLabel.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace DropdownMenuSeparator {\r\n export type Props = DropdownMenuSeparatorProps;\r\n export type State = BaseMenu.Separator.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace DropdownMenuShortcut {\r\n export type Props = DropdownMenuShortcutProps;\r\n export type State = Record<string, never>;\r\n}\r\n\r\nDropdownMenu.displayName = \"DropdownMenu\";\r\nDropdownMenuGroup.displayName = \"DropdownMenuGroup\";\r\nDropdownMenuPortal.displayName = \"DropdownMenuPortal\";\r\nDropdownMenuRadioGroup.displayName = \"DropdownMenuRadioGroup\";\r\nDropdownMenuSub.displayName = \"DropdownMenuSub\";\r\nDropdownMenuTrigger.displayName = \"DropdownMenuTrigger\";\r\nDropdownMenuSubTrigger.displayName = \"DropdownMenuSubTrigger\";\r\nDropdownMenuSubContent.displayName = \"DropdownMenuSubContent\";\r\nDropdownMenuContent.displayName = \"DropdownMenuContent\";\r\nDropdownMenuItem.displayName = \"DropdownMenuItem\";\r\nDropdownMenuCheckboxItem.displayName = \"DropdownMenuCheckboxItem\";\r\nDropdownMenuRadioItem.displayName = \"DropdownMenuRadioItem\";\r\nDropdownMenuLabel.displayName = \"DropdownMenuLabel\";\r\nDropdownMenuSeparator.displayName = \"DropdownMenuSeparator\";\r\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\r\n\r\nexport {\r\n DropdownMenu,\r\n DropdownMenuCheckboxItem,\r\n DropdownMenuContent,\r\n DropdownMenuGroup,\r\n DropdownMenuItem,\r\n DropdownMenuLabel,\r\n DropdownMenuPortal,\r\n DropdownMenuRadioGroup,\r\n DropdownMenuRadioItem,\r\n DropdownMenuSeparator,\r\n DropdownMenuShortcut,\r\n DropdownMenuSub,\r\n DropdownMenuSubContent,\r\n DropdownMenuSubTrigger,\r\n DropdownMenuTrigger,\r\n};\r\n"],"names":["DropdownMenu","props","BaseMenu","DropdownMenuGroup","DropdownMenuPortal","DropdownMenuRadioGroup","DropdownMenuSub","DropdownMenuTrigger","React","ref","asChild","children","className","render","otherProps","renderProp","useRender","mergeProps","undefined","DropdownMenuSubTrigger","inset","cn","styles","ChevronRight","DropdownMenuSubContent","DropdownMenuContent","DropdownMenuItem","DropdownMenuCheckboxItem","Check","DropdownMenuRadioItem","Circle","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuShortcut"],"mappings":"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"}
1
+ {"version":3,"file":"components/ui/dropdown-menu.js","sources":["../../../src/components/ui/dropdown-menu.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport {Menu as BaseMenu} from \"@base-ui/react/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 \"./dropdown-menu.module.css\";\r\n\r\ninterface DropdownMenuProps extends React.ComponentPropsWithRef<typeof BaseMenu.Root> {}\r\n\r\ninterface DropdownMenuTriggerProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.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 DropdownMenuSubTriggerProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.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 DropdownMenuContentProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.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 DropdownMenuItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.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 DropdownMenuCheckboxItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.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 DropdownMenuRadioItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.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 DropdownMenuLabelProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.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 DropdownMenuSeparatorProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.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 DropdownMenuShortcutProps 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 dropdown 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/menu | Base UI Menu}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenu>Content</DropdownMenu>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nfunction DropdownMenu(props: Readonly<DropdownMenu.Props>): React.ReactElement {\r\n return <BaseMenu.Root {...props} />;\r\n}\r\n\r\n/**\r\n * Renders the dropdown 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/menu | Base UI Menu}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuGroup>Content</DropdownMenuGroup>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nconst DropdownMenuGroup = BaseMenu.Group;\r\n/**\r\n * Provides the dropdown 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/menu | Base UI Menu}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuPortal>Content</DropdownMenuPortal>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nconst DropdownMenuPortal = BaseMenu.Portal;\r\n/**\r\n * Coordinates the dropdown 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/menu | Base UI Menu}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuRadioGroup>Content</DropdownMenuRadioGroup>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nconst DropdownMenuRadioGroup = BaseMenu.RadioGroup;\r\n/**\r\n * Coordinates the dropdown 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/menu | Base UI Menu}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuSub>Content</DropdownMenuSub>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nconst DropdownMenuSub: typeof BaseMenu.SubmenuRoot & {displayName?: string} = BaseMenu.SubmenuRoot;\r\n\r\n/**\r\n * Renders the dropdown menu trigger.\r\n *\r\n * @remarks\r\n * - Renders a `<button>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menu | Base UI Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuTrigger>Content</DropdownMenuTrigger>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nconst DropdownMenuTrigger = React.forwardRef<HTMLButtonElement, DropdownMenuTrigger.Props>(\r\n (props: Readonly<DropdownMenuTrigger.Props>, ref): React.ReactElement => {\r\n // eslint-disable-next-line sonarjs/deprecation -- backward-compatible asChild API\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 <BaseMenu.Trigger\r\n ref={ref}\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"button\",\r\n render: renderProp as never,\r\n props: mergeProps({className}, {}),\r\n })}>\r\n {renderProp ? undefined : children}\r\n </BaseMenu.Trigger>\r\n );\r\n },\r\n);\r\n\r\n/**\r\n * Renders the dropdown 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/menu | Base UI Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuSubTrigger>Content</DropdownMenuSubTrigger>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nfunction DropdownMenuSubTrigger(props: Readonly<DropdownMenuSubTrigger.Props>): React.ReactElement {\r\n const {className, children, inset = false, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.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 </BaseMenu.SubmenuTrigger>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the dropdown 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/menu | Base UI Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuSubContent>Content</DropdownMenuSubContent>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nfunction DropdownMenuSubContent(props: Readonly<DropdownMenuContent.Props>): React.ReactElement {\r\n const {className, children, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.Positioner\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n props: mergeProps({className: styles.positioner}, {}),\r\n })}>\r\n <BaseMenu.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 </BaseMenu.Popup>\r\n </BaseMenu.Positioner>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the dropdown 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/menu | Base UI Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuContent>Content</DropdownMenuContent>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nconst DropdownMenuContent = React.forwardRef<React.ComponentRef<typeof BaseMenu.Popup>, DropdownMenuContent.Props>(\r\n (props: Readonly<DropdownMenuContent.Props>, ref): React.ReactElement => {\r\n const {className, children, render, ...otherProps} = props;\r\n\r\n return (\r\n <DropdownMenuPortal>\r\n <BaseMenu.Positioner\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n props: mergeProps({className: styles.positioner}, {}),\r\n })}>\r\n <BaseMenu.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 </BaseMenu.Popup>\r\n </BaseMenu.Positioner>\r\n </DropdownMenuPortal>\r\n );\r\n },\r\n);\r\n\r\n/**\r\n * Renders the dropdown 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/menu | Base UI Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuItem>Content</DropdownMenuItem>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nfunction DropdownMenuItem(props: Readonly<DropdownMenuItem.Props>): React.ReactElement {\r\n // eslint-disable-next-line sonarjs/deprecation -- backward-compatible asChild API\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 <BaseMenu.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 </BaseMenu.Item>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the dropdown 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/menu | Base UI Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuCheckboxItem>Content</DropdownMenuCheckboxItem>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nfunction DropdownMenuCheckboxItem(props: Readonly<DropdownMenuCheckboxItem.Props>): React.ReactElement {\r\n const {className, children, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.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 <BaseMenu.CheckboxItemIndicator>\r\n <Check className={styles.indicatorIcon} />\r\n </BaseMenu.CheckboxItemIndicator>\r\n </span>\r\n {children}\r\n </BaseMenu.CheckboxItem>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the dropdown 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/menu | Base UI Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuRadioItem>Content</DropdownMenuRadioItem>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nfunction DropdownMenuRadioItem(props: Readonly<DropdownMenuRadioItem.Props>): React.ReactElement {\r\n const {className, children, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.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 <BaseMenu.RadioItemIndicator>\r\n <Circle className={styles.radioIndicatorIcon} />\r\n </BaseMenu.RadioItemIndicator>\r\n </span>\r\n {children}\r\n </BaseMenu.RadioItem>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the dropdown 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/menu | Base UI Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuLabel>Content</DropdownMenuLabel>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nfunction DropdownMenuLabel(props: Readonly<DropdownMenuLabel.Props>): React.ReactElement {\r\n const {className, children, inset = false, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.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 </BaseMenu.GroupLabel>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the dropdown 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/menu | Base UI Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuSeparator>Content</DropdownMenuSeparator>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nfunction DropdownMenuSeparator(props: Readonly<DropdownMenuSeparator.Props>): React.ReactElement {\r\n const {className, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.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 dropdown 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/menu | Base UI Menu}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <DropdownMenuShortcut>Content</DropdownMenuShortcut>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}\r\n */\r\nfunction DropdownMenuShortcut(props: Readonly<DropdownMenuShortcut.Props>): React.ReactElement {\r\n // eslint-disable-next-line sonarjs/deprecation -- backward-compatible asChild API\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 DropdownMenu {\r\n export type Props = DropdownMenuProps;\r\n export type State = BaseMenu.Root.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace DropdownMenuTrigger {\r\n export type Props = DropdownMenuTriggerProps;\r\n export type State = BaseMenu.Trigger.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace DropdownMenuSubTrigger {\r\n export type Props = DropdownMenuSubTriggerProps;\r\n export type State = BaseMenu.SubmenuTrigger.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace DropdownMenuContent {\r\n export type Props = DropdownMenuContentProps;\r\n export type State = BaseMenu.Popup.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace DropdownMenuSubContent {\r\n export type Props = DropdownMenuContentProps;\r\n export type State = BaseMenu.Popup.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace DropdownMenuItem {\r\n export type Props = DropdownMenuItemProps;\r\n export type State = BaseMenu.Item.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace DropdownMenuCheckboxItem {\r\n export type Props = DropdownMenuCheckboxItemProps;\r\n export type State = BaseMenu.CheckboxItem.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace DropdownMenuRadioItem {\r\n export type Props = DropdownMenuRadioItemProps;\r\n export type State = BaseMenu.RadioItem.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace DropdownMenuLabel {\r\n export type Props = DropdownMenuLabelProps;\r\n export type State = BaseMenu.GroupLabel.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace DropdownMenuSeparator {\r\n export type Props = DropdownMenuSeparatorProps;\r\n export type State = BaseMenu.Separator.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace DropdownMenuShortcut {\r\n export type Props = DropdownMenuShortcutProps;\r\n export type State = Record<string, never>;\r\n}\r\n\r\nDropdownMenu.displayName = \"DropdownMenu\";\r\nDropdownMenuGroup.displayName = \"DropdownMenuGroup\";\r\nDropdownMenuPortal.displayName = \"DropdownMenuPortal\";\r\nDropdownMenuRadioGroup.displayName = \"DropdownMenuRadioGroup\";\r\nDropdownMenuSub.displayName = \"DropdownMenuSub\";\r\nDropdownMenuTrigger.displayName = \"DropdownMenuTrigger\";\r\nDropdownMenuSubTrigger.displayName = \"DropdownMenuSubTrigger\";\r\nDropdownMenuSubContent.displayName = \"DropdownMenuSubContent\";\r\nDropdownMenuContent.displayName = \"DropdownMenuContent\";\r\nDropdownMenuItem.displayName = \"DropdownMenuItem\";\r\nDropdownMenuCheckboxItem.displayName = \"DropdownMenuCheckboxItem\";\r\nDropdownMenuRadioItem.displayName = \"DropdownMenuRadioItem\";\r\nDropdownMenuLabel.displayName = \"DropdownMenuLabel\";\r\nDropdownMenuSeparator.displayName = \"DropdownMenuSeparator\";\r\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\r\n\r\nexport {\r\n DropdownMenu,\r\n DropdownMenuCheckboxItem,\r\n DropdownMenuContent,\r\n DropdownMenuGroup,\r\n DropdownMenuItem,\r\n DropdownMenuLabel,\r\n DropdownMenuPortal,\r\n DropdownMenuRadioGroup,\r\n DropdownMenuRadioItem,\r\n DropdownMenuSeparator,\r\n DropdownMenuShortcut,\r\n DropdownMenuSub,\r\n DropdownMenuSubContent,\r\n DropdownMenuSubTrigger,\r\n DropdownMenuTrigger,\r\n};\r\n"],"names":["DropdownMenu","props","BaseMenu","DropdownMenuGroup","DropdownMenuPortal","DropdownMenuRadioGroup","DropdownMenuSub","DropdownMenuTrigger","React","ref","asChild","children","className","render","otherProps","renderProp","useRender","mergeProps","undefined","DropdownMenuSubTrigger","inset","cn","styles","ChevronRight","DropdownMenuSubContent","DropdownMenuContent","DropdownMenuItem","DropdownMenuCheckboxItem","Check","DropdownMenuRadioItem","Circle","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuShortcut"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://./home/runner/work/arolariu.ro/arolariu.ro/packages/components/src/components/ui/dropdown-menu.module.css","webpack://./src/components/ui/dropdown-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;EACb,kBAAkB;AACpB;;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,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);position:relative;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{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 position: relative;\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 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":""}
1
+ {"version":3,"sources":["webpack://./../../node_modules/@rslib/core/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[1].oneOf[2].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[1].oneOf[2].use[2]!/home/runner/work/arolariu.ro/arolariu.ro/node_modules/@rslib/core/node_modules/@rsbuild/core/compiled/postcss-loader/index.js??ruleSet[1].rules[1].oneOf[2].use[3]!/home/runner/work/arolariu.ro/arolariu.ro/packages/components/src/components/ui/dropdown-menu.module.css","webpack://./src/components/ui/dropdown-menu.module.css"],"names":[],"mappings":"AAAA;ECCE,WAAW;AACb;;ADFuB;ECKrB,mCAAmC;EACnC,kCAAkC;EAClC,kCAAkC;EAClC,mCAAmC;EACnC,mCAAmC;EACnC,gBAAgB;EAChB,0BAA0B;EAC1B,yCAAyC;EACzC,qFAAqF;EACrF,qBAAqB;EACrB,uCAAuC;AACzC;;ADhBoc;ECmBlc,UAAU;EACV,qBAAqB;AACvB;;ADrB6hB;ECwB3hB,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;EACb,kBAAkB;AACpB;;ADtC6zB;ECyC3zB,kCAAkC;EAClC,kCAAkC;AACpC;;AD3Cy5B;EC8Cv5B,WAAW;EACX,oBAAoB;AACtB;;ADhD68B;ECmD38B,gCAAgC;AAClC;;ADpDy/B;ECuDv/B,kCAAkC;EAClC,kCAAkC;AACpC;;ADzD0lC;EC4DxlC,cAAc;EACd,WAAW;EACX,YAAY;EACZ,iBAAiB;AACnB;;ADhEgqC;ECmE9pC,+CAA+C;AACjD;;ADpE8tC;ECuE5tC,YAAY;EACZ,uBAAuB;EACvB,uBAAuB;EACvB,mBAAmB;EACnB,WAAW;EACX,oBAAoB;EACpB,kBAAkB;AACpB;;AD9E22C;ECiFz2C,cAAc;EACd,eAAe;AACjB;;ADnF26C;ECsFz6C,kBAAkB;AACpB;;ADvFi9C;EC0F/8C,4BAA4B;EAC5B,4CAA4C;EAC5C,gBAAgB;AAClB;;AD7FgjD;ECgG9iD,+CAA+C;AACjD;;ADjGsmD;ECoGpmD,kCAAkC;EAClC,WAAW;EACX,oDAAoD;AACtD;;ADvGktD;EC0GhtD,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);position:relative;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{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 position: relative;\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 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":""}
@@ -3,24 +3,24 @@ import { Menu as BaseMenu } from "@base-ui/react/menu";
3
3
  import { useRender } from "@base-ui/react/use-render";
4
4
  import * as React from "react";
5
5
  declare const Drawer: typeof BaseDrawer.Root;
6
- declare function DrawerTrigger(props: Readonly<React.ComponentPropsWithRef<typeof BaseDrawer.Trigger> & {
6
+ declare const DrawerTrigger: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").DrawerTriggerProps<unknown> & React.RefAttributes<HTMLElement> & {
7
7
  asChild?: boolean;
8
- }>): React.ReactElement;
9
- declare function DrawerContent(props: Readonly<React.ComponentPropsWithRef<typeof BaseDrawer.Popup> & {
8
+ }, "ref"> & React.RefAttributes<HTMLButtonElement>>;
9
+ declare const DrawerContent: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").DrawerPopupProps, "ref"> & React.RefAttributes<HTMLDivElement> & {
10
10
  children?: React.ReactNode;
11
- }>): React.ReactElement;
11
+ }, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
12
  declare function DrawerFooter(props: Readonly<React.ComponentPropsWithRef<"div"> & {
13
13
  render?: useRender.RenderProp<Record<string, never>>;
14
14
  }>): React.ReactElement;
15
15
  declare function DrawerTitle(props: Readonly<React.ComponentPropsWithRef<typeof BaseDrawer.Title>>): React.ReactElement;
16
16
  declare const DropdownMenu: <Payload>(props: BaseMenu.Root.Props<Payload>) => import("react/jsx-runtime").JSX.Element;
17
17
  declare const DropdownMenuSub: typeof BaseMenu.SubmenuRoot;
18
- declare function DropdownMenuTrigger(props: Readonly<React.ComponentPropsWithRef<typeof BaseMenu.Trigger> & {
18
+ declare const DropdownMenuTrigger: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").MenuTriggerProps<unknown> & React.RefAttributes<HTMLElement> & {
19
19
  asChild?: boolean;
20
- }>): React.ReactElement;
21
- declare function DropdownMenuContent(props: Readonly<React.ComponentPropsWithRef<typeof BaseMenu.Positioner> & {
20
+ }, "ref"> & React.RefAttributes<HTMLButtonElement>>;
21
+ declare const DropdownMenuContent: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").ContextMenuPositionerProps, "ref"> & React.RefAttributes<HTMLDivElement> & {
22
22
  children?: React.ReactNode;
23
- }>): React.ReactElement;
23
+ }, "ref"> & React.RefAttributes<HTMLDivElement>>;
24
24
  declare function DropdownMenuLabel(props: Readonly<React.ComponentPropsWithRef<typeof BaseMenu.GroupLabel>>): React.ReactElement;
25
25
  declare function DropdownMenuSeparator(props: Readonly<React.ComponentPropsWithRef<typeof BaseMenu.Separator>>): React.ReactElement;
26
26
  declare function DropdownMenuSubTrigger(props: Readonly<React.ComponentPropsWithRef<typeof BaseMenu.SubmenuTrigger> & {
@@ -111,10 +111,7 @@ declare namespace DropDrawer {
111
111
  *
112
112
  * @see {@link https://base-ui.com/react/components/drawer | Base UI Drawer Docs}
113
113
  */
114
- declare function DropDrawerTrigger({ className, children, ...props }: DropDrawerTriggerProps): React.JSX.Element;
115
- declare namespace DropDrawerTrigger {
116
- var displayName: string;
117
- }
114
+ declare const DropDrawerTrigger: React.ForwardRefExoticComponent<DropDrawerTriggerProps & React.RefAttributes<HTMLButtonElement>>;
118
115
  /**
119
116
  * Renders the responsive dropdown or drawer content surface.
120
117
  *
@@ -131,10 +128,7 @@ declare namespace DropDrawerTrigger {
131
128
  *
132
129
  * @see {@link https://base-ui.com/react/components/menu | Base UI Menu Docs}
133
130
  */
134
- declare function DropDrawerContent({ className, children, ...props }: DropDrawerContentProps): React.JSX.Element;
135
- declare namespace DropDrawerContent {
136
- var displayName: string;
137
- }
131
+ declare const DropDrawerContent: React.ForwardRefExoticComponent<DropDrawerContentProps & React.RefAttributes<HTMLDivElement>>;
138
132
  /**
139
133
  * Renders an actionable item inside the drop drawer surface.
140
134
  *
@@ -1 +1 @@
1
- {"version":3,"file":"dropdrawer.d.ts","sourceRoot":"","sources":["../../../src/components/ui/dropdrawer.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,IAAI,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,IAAI,IAAI,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAC;AAGpD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA0B/B,QAAA,MAAM,MAAM,wBAAkB,CAAC;AAG/B,iBAAS,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,OAAO,UAAU,CAAC,OAAO,CAAC,GAAG;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAexI;AAiBD,iBAAS,aAAa,CACpB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAC,CAAC,GACnG,KAAK,CAAC,YAAY,CAoBpB;AAcD,iBAAS,YAAY,CACnB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG;IAAC,MAAM,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;CAAC,CAAC,GAC3G,KAAK,CAAC,YAAY,CAQpB;AAED,iBAAS,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAc9G;AAED,QAAA,MAAM,YAAY,2FAAgB,CAAC;AACnC,QAAA,MAAM,eAAe,6BAAuB,CAAC;AAE7C,iBAAS,mBAAmB,CAC1B,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAC,CAAC,GAC1F,KAAK,CAAC,YAAY,CAepB;AAED,iBAAS,mBAAmB,CAC1B,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAC,CAAC,GACtG,KAAK,CAAC,YAAY,CAsBpB;AA6BD,iBAAS,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,OAAO,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAcvH;AAED,iBAAS,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAa1H;AAED,iBAAS,sBAAsB,CAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,OAAO,QAAQ,CAAC,cAAc,CAAC,GAAG;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAC,CAAC,GAC/F,KAAK,CAAC,YAAY,CAepB;AAED,iBAAS,sBAAsB,CAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAC,CAAC,GACtG,KAAK,CAAC,YAAY,CAoBpB;AAED,KAAK,mBAAmB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC;AAC3G,KAAK,sBAAsB,GACvB,KAAK,CAAC,wBAAwB,CAAC,OAAO,aAAa,CAAC,GACpD,KAAK,CAAC,wBAAwB,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAC/D,KAAK,sBAAsB,GACvB,KAAK,CAAC,wBAAwB,CAAC,OAAO,aAAa,CAAC,GACpD,KAAK,CAAC,wBAAwB,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAE/D,UAAU,2BAA2B;IACnC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,UAAU,yBACR,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC,EAAE,2BAA2B;IACpI;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC/C;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACnC;AAoBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,iBAAS,UAAU,CAAC,EAAC,QAAQ,EAAE,GAAG,KAAK,EAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAoBhF;kBApBQ,UAAU;;;AAsBnB;;;;;;;;;;;;;GAaG;AACH,iBAAS,iBAAiB,CAAC,EAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAC,EAAE,sBAAsB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAkBrG;kBAlBQ,iBAAiB;;;AAoB1B;;;;;;;;;;;;;;;GAeG;AACH,iBAAS,iBAAiB,CAAC,EAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAC,EAAE,sBAAsB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA2OrG;kBA3OQ,iBAAiB;;;AA6O1B;;;;;;;;;;;;;GAaG;AACH,iBAAS,cAAc,CAAC,EACtB,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,OAAO,EACP,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,yBAAyB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAiI/C;kBA3IQ,cAAc;;;AA6IvB;;;;;;;;;;;;;GAaG;AACH,iBAAS,mBAAmB,CAAC,EAC3B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,wBAAwB,CAAC,OAAO,qBAAqB,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAczF;kBAjBQ,mBAAmB;;;AAmB5B;;;;;;;;;;;;;GAaG;AACH,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,WAAW,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAoB/G;kBAxBQ,eAAe;;;AA0BxB;;;;;;;;;;;;;GAaG;AACH,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAkB7F;kBAtBQ,gBAAgB;;;AAwBzB;;;;;;;;;;;;;;;;GAgBG;AACH,iBAAS,eAAe,CAAC,EAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAC,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA6CtI;kBA7CQ,eAAe;;;AA+CxB;;;;;;;;;;;;;;;;;;GAkBG;AACH,iBAAS,aAAa,CAAC,EACrB,QAAQ,EACR,EAAE,EACF,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,wBAAwB,CAAC,OAAO,eAAe,CAAC,GAAG;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA+DxH;kBAnEQ,aAAa;;;AAqEtB,UAAU,yBACR,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,OAAO,sBAAsB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,EAAE,2BAA2B;IAChI;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;CAChD;AAED;;;;;;;;;;;;;GAaG;AACH,iBAAS,oBAAoB,CAAC,EAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,EAAC,EAAE,yBAAyB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAgH3H;kBAhHQ,oBAAoB;;;AAkH7B;;;;;;;;;;;;;;;GAeG;AACH,iBAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,UAAc,EACd,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,sBAAsB,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAgBhF;kBArBQ,oBAAoB;;;AAmC7B,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,GAClB,CAAC"}
1
+ {"version":3,"file":"dropdrawer.d.ts","sourceRoot":"","sources":["../../../src/components/ui/dropdrawer.tsx"],"names":[],"mappings":"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"}
@@ -6,26 +6,27 @@ import { mergeProps } from "@base-ui/react/merge-props";
6
6
  import { useRender } from "@base-ui/react/use-render";
7
7
  import { ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
8
8
  import { AnimatePresence, motion } from "motion/react";
9
- import { Children, cloneElement, createContext, isValidElement, useCallback, useContext, useEffect, useId, useMemo, useRef, useState } from "react";
10
9
  import { useIsMobile } from "../../hooks/useIsMobile.js";
11
10
  import { cn } from "../../lib/utilities.js";
12
11
  import dropdrawer_module from "./dropdrawer.module.js";
12
+ import * as __rspack_external_react from "react";
13
13
  const MOBILE_MENU_TITLE = "Menu";
14
14
  const MOBILE_SUBMENU_TITLE = "Submenu";
15
15
  const MOBILE_BACK_LABEL = "Go back";
16
- const DropDrawerContext = /*#__PURE__*/ createContext(null);
16
+ const DropDrawerContext = /*#__PURE__*/ __rspack_external_react.createContext(null);
17
17
  const useDropDrawerContext = ()=>{
18
- const context = useContext(DropDrawerContext);
18
+ const context = __rspack_external_react.useContext(DropDrawerContext);
19
19
  if (null === context) throw new Error("DropDrawer components cannot be rendered outside the Context");
20
20
  return context;
21
21
  };
22
22
  const dropdrawer_Drawer = Drawer.Root;
23
23
  const DrawerPortal = Drawer.Portal;
24
- function DrawerTrigger(props) {
24
+ const dropdrawer_DrawerTrigger = /*#__PURE__*/ __rspack_external_react.forwardRef(function(props, forwardedRef) {
25
25
  const { asChild = false, children, className, render, ...otherProps } = props;
26
- const renderProp = asChild && /*#__PURE__*/ isValidElement(children) ? children : render;
26
+ const renderProp = asChild && /*#__PURE__*/ __rspack_external_react.isValidElement(children) ? children : render;
27
27
  return /*#__PURE__*/ jsx(Drawer.Trigger, {
28
28
  ...otherProps,
29
+ ref: forwardedRef,
29
30
  render: useRender({
30
31
  defaultTagName: "button",
31
32
  render: renderProp,
@@ -35,7 +36,7 @@ function DrawerTrigger(props) {
35
36
  }),
36
37
  children: renderProp ? void 0 : children
37
38
  });
38
- }
39
+ });
39
40
  function DrawerOverlay(props) {
40
41
  const { className, render, ...otherProps } = props;
41
42
  return /*#__PURE__*/ jsx(Drawer.Backdrop, {
@@ -49,7 +50,7 @@ function DrawerOverlay(props) {
49
50
  })
50
51
  });
51
52
  }
52
- function DrawerContent(props) {
53
+ const dropdrawer_DrawerContent = /*#__PURE__*/ __rspack_external_react.forwardRef(function(props, forwardedRef) {
53
54
  const { className, children, render, ...otherProps } = props;
54
55
  return /*#__PURE__*/ jsxs(DrawerPortal, {
55
56
  children: [
@@ -58,6 +59,7 @@ function DrawerContent(props) {
58
59
  className: dropdrawer_module.drawerViewport,
59
60
  children: /*#__PURE__*/ jsxs(Drawer.Popup, {
60
61
  ...otherProps,
62
+ ref: forwardedRef,
61
63
  render: useRender({
62
64
  defaultTagName: "div",
63
65
  render: render,
@@ -78,7 +80,7 @@ function DrawerContent(props) {
78
80
  })
79
81
  ]
80
82
  });
81
- }
83
+ });
82
84
  function DrawerHeader(props) {
83
85
  const { className, children, render, ...otherProps } = props;
84
86
  return useRender({
@@ -119,11 +121,12 @@ function DrawerTitle(props) {
119
121
  }
120
122
  const DropdownMenu = Menu.Root;
121
123
  const DropdownMenuSub = Menu.SubmenuRoot;
122
- function DropdownMenuTrigger(props) {
124
+ const dropdrawer_DropdownMenuTrigger = /*#__PURE__*/ __rspack_external_react.forwardRef(function(props, forwardedRef) {
123
125
  const { asChild = false, children, className, render, ...otherProps } = props;
124
- const renderProp = asChild && /*#__PURE__*/ isValidElement(children) ? children : render;
126
+ const renderProp = asChild && /*#__PURE__*/ __rspack_external_react.isValidElement(children) ? children : render;
125
127
  return /*#__PURE__*/ jsx(Menu.Trigger, {
126
128
  ...otherProps,
129
+ ref: forwardedRef,
127
130
  render: useRender({
128
131
  defaultTagName: "button",
129
132
  render: renderProp,
@@ -133,12 +136,13 @@ function DropdownMenuTrigger(props) {
133
136
  }),
134
137
  children: renderProp ? void 0 : children
135
138
  });
136
- }
137
- function DropdownMenuContent(props) {
139
+ });
140
+ const dropdrawer_DropdownMenuContent = /*#__PURE__*/ __rspack_external_react.forwardRef(function(props, forwardedRef) {
138
141
  const { className, children, render, ...otherProps } = props;
139
142
  return /*#__PURE__*/ jsx(Menu.Portal, {
140
143
  children: /*#__PURE__*/ jsx(Menu.Positioner, {
141
144
  ...otherProps,
145
+ ref: forwardedRef,
142
146
  render: useRender({
143
147
  defaultTagName: "div",
144
148
  props: mergeProps({
@@ -157,10 +161,10 @@ function DropdownMenuContent(props) {
157
161
  })
158
162
  })
159
163
  });
160
- }
164
+ });
161
165
  function DropdownMenuItem(props) {
162
166
  const { asChild = false, children, className, inset = false, render, ...otherProps } = props;
163
- const renderProp = asChild && /*#__PURE__*/ isValidElement(children) ? children : render;
167
+ const renderProp = asChild && /*#__PURE__*/ __rspack_external_react.isValidElement(children) ? children : render;
164
168
  return /*#__PURE__*/ jsx(Menu.Item, {
165
169
  ...otherProps,
166
170
  render: useRender({
@@ -241,7 +245,7 @@ function DropdownMenuSubContent(props) {
241
245
  })
242
246
  });
243
247
  }
244
- const SubmenuContext = /*#__PURE__*/ createContext({
248
+ const SubmenuContext = /*#__PURE__*/ __rspack_external_react.createContext({
245
249
  activeSubmenu: null,
246
250
  navigateToSubmenu: void 0,
247
251
  registerSubmenuContent: void 0,
@@ -266,33 +270,35 @@ function DropDrawer({ children, ...props }) {
266
270
  })
267
271
  });
268
272
  }
269
- function DropDrawerTrigger({ className, children, ...props }) {
273
+ const dropdrawer_DropDrawerTrigger = /*#__PURE__*/ __rspack_external_react.forwardRef(function({ className, children, ...props }, forwardedRef) {
270
274
  const { isMobile } = useDropDrawerContext();
271
- return isMobile ? /*#__PURE__*/ jsx(DrawerTrigger, {
275
+ return isMobile ? /*#__PURE__*/ jsx(dropdrawer_DrawerTrigger, {
276
+ ref: forwardedRef,
272
277
  "data-slot": "drop-drawer-trigger",
273
278
  className: className,
274
279
  ...props,
275
280
  children: children
276
- }) : /*#__PURE__*/ jsx(DropdownMenuTrigger, {
281
+ }) : /*#__PURE__*/ jsx(dropdrawer_DropdownMenuTrigger, {
282
+ ref: forwardedRef,
277
283
  "data-slot": "drop-drawer-trigger",
278
284
  className: className,
279
285
  ...props,
280
286
  children: children
281
287
  });
282
- }
283
- function DropDrawerContent({ className, children, ...props }) {
288
+ });
289
+ const dropdrawer_DropDrawerContent = /*#__PURE__*/ __rspack_external_react.forwardRef(function({ className, children, ...props }, forwardedRef) {
284
290
  const { isMobile } = useDropDrawerContext();
285
- const [activeSubmenu, setActiveSubmenu] = useState(null);
286
- const [submenuTitle, setSubmenuTitle] = useState(null);
287
- const [submenuStack, setSubmenuStack] = useState([]);
288
- const [animationDirection, setAnimationDirection] = useState("forward");
289
- const submenuContentRef = useRef(new Map());
290
- useEffect(()=>{
291
+ const [activeSubmenu, setActiveSubmenu] = __rspack_external_react.useState(null);
292
+ const [submenuTitle, setSubmenuTitle] = __rspack_external_react.useState(null);
293
+ const [submenuStack, setSubmenuStack] = __rspack_external_react.useState([]);
294
+ const [animationDirection, setAnimationDirection] = __rspack_external_react.useState("forward");
295
+ const submenuContentRef = __rspack_external_react.useRef(new Map());
296
+ __rspack_external_react.useEffect(()=>{
291
297
  submenuContentRef.current.clear();
292
298
  }, [
293
299
  children
294
300
  ]);
295
- const navigateToSubmenu = useCallback((id, title)=>{
301
+ const navigateToSubmenu = __rspack_external_react.useCallback((id, title)=>{
296
302
  setAnimationDirection("forward");
297
303
  setActiveSubmenu(id);
298
304
  setSubmenuTitle(title);
@@ -304,7 +310,7 @@ function DropDrawerContent({ className, children, ...props }) {
304
310
  }
305
311
  ]);
306
312
  }, []);
307
- const goBack = useCallback(()=>{
313
+ const goBack = __rspack_external_react.useCallback(()=>{
308
314
  setAnimationDirection("backward");
309
315
  if (submenuStack.length <= 1) {
310
316
  setActiveSubmenu(null);
@@ -329,22 +335,22 @@ function DropDrawerContent({ className, children, ...props }) {
329
335
  }, [
330
336
  submenuStack
331
337
  ]);
332
- const registerSubmenuContent = useCallback((id, content)=>{
338
+ const registerSubmenuContent = __rspack_external_react.useCallback((id, content)=>{
333
339
  submenuContentRef.current.set(id, content);
334
340
  }, []);
335
- const extractSubmenuContent = useCallback((elements, targetId)=>{
341
+ const extractSubmenuContent = __rspack_external_react.useCallback((elements, targetId)=>{
336
342
  const result = [];
337
343
  const findSubmenuContent = (node)=>{
338
- if (!/*#__PURE__*/ isValidElement(node)) return;
344
+ if (!/*#__PURE__*/ __rspack_external_react.isValidElement(node)) return;
339
345
  const element = node;
340
346
  if (element.type === DropDrawerSub) {
341
347
  const elementId = element.props.id;
342
348
  const dataSubmenuId = element.props["data-submenu-id"];
343
349
  if (elementId === targetId || dataSubmenuId === targetId) {
344
- if (element.props.children) Children.forEach(element.props.children, (child)=>{
345
- if (/*#__PURE__*/ isValidElement(child) && child.type === DropDrawerSubContent) {
350
+ if (element.props.children) __rspack_external_react.Children.forEach(element.props.children, (child)=>{
351
+ if (/*#__PURE__*/ __rspack_external_react.isValidElement(child) && child.type === DropDrawerSubContent) {
346
352
  const subContentElement = child;
347
- Children.forEach(subContentElement.props.children, (contentChild)=>{
353
+ __rspack_external_react.Children.forEach(subContentElement.props.children, (contentChild)=>{
348
354
  result.push(contentChild);
349
355
  });
350
356
  }
@@ -352,12 +358,12 @@ function DropDrawerContent({ className, children, ...props }) {
352
358
  return;
353
359
  }
354
360
  }
355
- if (element.props.children) Children.forEach(element.props.children, findSubmenuContent);
361
+ if (element.props.children) __rspack_external_react.Children.forEach(element.props.children, findSubmenuContent);
356
362
  };
357
- Children.forEach(elements, findSubmenuContent);
363
+ __rspack_external_react.Children.forEach(elements, findSubmenuContent);
358
364
  return result;
359
365
  }, []);
360
- const getSubmenuContent = useCallback((id)=>{
366
+ const getSubmenuContent = __rspack_external_react.useCallback((id)=>{
361
367
  const cachedContent = submenuContentRef.current.get(id);
362
368
  if (cachedContent && cachedContent.length > 0) return cachedContent;
363
369
  const submenuContent = extractSubmenuContent(children, id);
@@ -405,7 +411,8 @@ function DropDrawerContent({ className, children, ...props }) {
405
411
  setSubmenuTitle,
406
412
  submenuTitle
407
413
  },
408
- children: /*#__PURE__*/ jsx(DrawerContent, {
414
+ children: /*#__PURE__*/ jsx(dropdrawer_DrawerContent, {
415
+ ref: forwardedRef,
409
416
  "data-slot": "drop-drawer-content",
410
417
  className: cn(dropdrawer_module.mobileContent, className),
411
418
  ...props,
@@ -487,7 +494,8 @@ function DropDrawerContent({ className, children, ...props }) {
487
494
  setSubmenuTitle,
488
495
  submenuTitle
489
496
  },
490
- children: /*#__PURE__*/ jsx(DropdownMenuContent, {
497
+ children: /*#__PURE__*/ jsx(dropdrawer_DropdownMenuContent, {
498
+ ref: forwardedRef,
491
499
  "data-slot": "drop-drawer-content",
492
500
  align: "end",
493
501
  sideOffset: 4,
@@ -496,10 +504,10 @@ function DropDrawerContent({ className, children, ...props }) {
496
504
  children: children
497
505
  })
498
506
  });
499
- }
507
+ });
500
508
  function DropDrawerItem({ className, children, closeOnClick, disabled, icon, inset, onClick, onSelect, ...props }) {
501
509
  const { isMobile } = useDropDrawerContext();
502
- const isInGroup = useCallback((element)=>{
510
+ const isInGroup = __rspack_external_react.useCallback((element)=>{
503
511
  if (!element) return false;
504
512
  let parent = element.parentElement;
505
513
  while(parent){
@@ -508,9 +516,9 @@ function DropDrawerItem({ className, children, closeOnClick, disabled, icon, ins
508
516
  }
509
517
  return false;
510
518
  }, []);
511
- const itemRef = useRef(null);
512
- const [isInsideGroup, setIsInsideGroup] = useState(false);
513
- useEffect(()=>{
519
+ const itemRef = __rspack_external_react.useRef(null);
520
+ const [isInsideGroup, setIsInsideGroup] = __rspack_external_react.useState(false);
521
+ __rspack_external_react.useEffect(()=>{
514
522
  if (!isMobile) return;
515
523
  const timer = globalThis.window.setTimeout(()=>{
516
524
  if (itemRef.current) setIsInsideGroup(isInGroup(itemRef.current));
@@ -520,7 +528,7 @@ function DropDrawerItem({ className, children, closeOnClick, disabled, icon, ins
520
528
  isInGroup,
521
529
  isMobile
522
530
  ]);
523
- const handleSelect = useCallback((event)=>{
531
+ const handleSelect = __rspack_external_react.useCallback((event)=>{
524
532
  if (!disabled) onSelect?.(event);
525
533
  }, [
526
534
  disabled,
@@ -638,10 +646,10 @@ function DropDrawerFooter({ className, children, ...props }) {
638
646
  }
639
647
  function DropDrawerGroup({ className, children, ...props }) {
640
648
  const { isMobile } = useDropDrawerContext();
641
- const childrenWithSeparators = useMemo(()=>{
649
+ const childrenWithSeparators = __rspack_external_react.useMemo(()=>{
642
650
  if (!isMobile) return children;
643
- const childArray = Children.toArray(children);
644
- const filteredChildren = childArray.filter((child)=>!/*#__PURE__*/ (isValidElement(child) && child.type === DropDrawerSeparator));
651
+ const childArray = __rspack_external_react.Children.toArray(children);
652
+ const filteredChildren = childArray.filter((child)=>!/*#__PURE__*/ (__rspack_external_react.isValidElement(child) && child.type === DropDrawerSeparator));
645
653
  return filteredChildren.flatMap((child, index)=>{
646
654
  if (index === filteredChildren.length - 1) return [
647
655
  child
@@ -675,16 +683,16 @@ function DropDrawerGroup({ className, children, ...props }) {
675
683
  }
676
684
  function DropDrawerSub({ children, id, ...props }) {
677
685
  const { isMobile } = useDropDrawerContext();
678
- const { registerSubmenuContent } = useContext(SubmenuContext);
679
- const generatedId = useId();
686
+ const { registerSubmenuContent } = __rspack_external_react.useContext(SubmenuContext);
687
+ const generatedId = __rspack_external_react.useId();
680
688
  const submenuId = id || generatedId;
681
- useEffect(()=>{
689
+ __rspack_external_react.useEffect(()=>{
682
690
  if (!registerSubmenuContent) return;
683
691
  const contentItems = [];
684
- Children.forEach(children, (child)=>{
685
- if (/*#__PURE__*/ isValidElement(child) && child.type === DropDrawerSubContent) {
692
+ __rspack_external_react.Children.forEach(children, (child)=>{
693
+ if (/*#__PURE__*/ __rspack_external_react.isValidElement(child) && child.type === DropDrawerSubContent) {
686
694
  const childElement = child;
687
- Children.forEach(childElement.props.children, (contentChild)=>{
695
+ __rspack_external_react.Children.forEach(childElement.props.children, (contentChild)=>{
688
696
  contentItems.push(contentChild);
689
697
  });
690
698
  }
@@ -696,9 +704,9 @@ function DropDrawerSub({ children, id, ...props }) {
696
704
  submenuId
697
705
  ]);
698
706
  if (isMobile) {
699
- const processedChildren = Children.map(children, (child)=>{
700
- if (!/*#__PURE__*/ isValidElement(child)) return child;
701
- if (child.type === DropDrawerSubTrigger || child.type === DropDrawerSubContent) return /*#__PURE__*/ cloneElement(child, {
707
+ const processedChildren = __rspack_external_react.Children.map(children, (child)=>{
708
+ if (!/*#__PURE__*/ __rspack_external_react.isValidElement(child)) return child;
709
+ if (child.type === DropDrawerSubTrigger || child.type === DropDrawerSubContent) return /*#__PURE__*/ __rspack_external_react.cloneElement(child, {
702
710
  "data-parent-submenu": submenuId,
703
711
  "data-parent-submenu-id": submenuId,
704
712
  "data-submenu-id": submenuId
@@ -721,8 +729,8 @@ function DropDrawerSub({ children, id, ...props }) {
721
729
  }
722
730
  function DropDrawerSubTrigger({ className, inset, children, onClick, ...props }) {
723
731
  const { isMobile } = useDropDrawerContext();
724
- const { navigateToSubmenu } = useContext(SubmenuContext);
725
- const isInGroup = useCallback((element)=>{
732
+ const { navigateToSubmenu } = __rspack_external_react.useContext(SubmenuContext);
733
+ const isInGroup = __rspack_external_react.useCallback((element)=>{
726
734
  if (!element) return false;
727
735
  let parent = element.parentElement;
728
736
  while(parent){
@@ -731,9 +739,9 @@ function DropDrawerSubTrigger({ className, inset, children, onClick, ...props })
731
739
  }
732
740
  return false;
733
741
  }, []);
734
- const itemRef = useRef(null);
735
- const [isInsideGroup, setIsInsideGroup] = useState(false);
736
- useEffect(()=>{
742
+ const itemRef = __rspack_external_react.useRef(null);
743
+ const [isInsideGroup, setIsInsideGroup] = __rspack_external_react.useState(false);
744
+ __rspack_external_react.useEffect(()=>{
737
745
  if (!isMobile) return;
738
746
  const timer = globalThis.window.setTimeout(()=>{
739
747
  if (itemRef.current) setIsInsideGroup(isInGroup(itemRef.current));
@@ -809,8 +817,8 @@ function DropDrawerSubContent({ className, sideOffset = 4, children, ...props })
809
817
  });
810
818
  }
811
819
  DropDrawer.displayName = "DropDrawer";
812
- DropDrawerTrigger.displayName = "DropDrawerTrigger";
813
- DropDrawerContent.displayName = "DropDrawerContent";
820
+ dropdrawer_DropDrawerTrigger.displayName = "DropDrawerTrigger";
821
+ dropdrawer_DropDrawerContent.displayName = "DropDrawerContent";
814
822
  DropDrawerItem.displayName = "DropDrawerItem";
815
823
  DropDrawerSeparator.displayName = "DropDrawerSeparator";
816
824
  DropDrawerLabel.displayName = "DropDrawerLabel";
@@ -819,6 +827,6 @@ DropDrawerGroup.displayName = "DropDrawerGroup";
819
827
  DropDrawerSub.displayName = "DropDrawerSub";
820
828
  DropDrawerSubTrigger.displayName = "DropDrawerSubTrigger";
821
829
  DropDrawerSubContent.displayName = "DropDrawerSubContent";
822
- export { DropDrawer, DropDrawerContent, DropDrawerFooter, DropDrawerGroup, DropDrawerItem, DropDrawerLabel, DropDrawerSeparator, DropDrawerSub, DropDrawerSubContent, DropDrawerSubTrigger, DropDrawerTrigger };
830
+ export { DropDrawer, DropDrawerFooter, DropDrawerGroup, DropDrawerItem, DropDrawerLabel, DropDrawerSeparator, DropDrawerSub, DropDrawerSubContent, DropDrawerSubTrigger, dropdrawer_DropDrawerContent as DropDrawerContent, dropdrawer_DropDrawerTrigger as DropDrawerTrigger };
823
831
 
824
832
  //# sourceMappingURL=dropdrawer.js.map