@soroush.tech/design-system 2.0.0-rc.3 → 2.0.0-rc.5

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 (583) hide show
  1. package/README.md +55 -32
  2. package/dist/Accordion/Accordion.cjs +99 -0
  3. package/dist/Accordion/Accordion.d.cts +39 -0
  4. package/dist/Accordion/Accordion.d.mts +39 -0
  5. package/dist/Accordion/Accordion.mjs +97 -0
  6. package/dist/Accordion/AccordionActions.cjs +28 -0
  7. package/dist/Accordion/AccordionActions.d.cts +10 -0
  8. package/dist/Accordion/AccordionActions.d.mts +10 -0
  9. package/dist/Accordion/AccordionActions.mjs +26 -0
  10. package/dist/Accordion/AccordionDetails.cjs +22 -0
  11. package/dist/Accordion/AccordionDetails.d.cts +10 -0
  12. package/dist/Accordion/AccordionDetails.d.mts +10 -0
  13. package/dist/Accordion/AccordionDetails.mjs +20 -0
  14. package/dist/Accordion/AccordionGroup.cjs +78 -0
  15. package/dist/Accordion/AccordionGroup.d.cts +22 -0
  16. package/dist/Accordion/AccordionGroup.d.mts +22 -0
  17. package/dist/Accordion/AccordionGroup.mjs +76 -0
  18. package/dist/Accordion/AccordionSummary.cjs +98 -0
  19. package/dist/Accordion/AccordionSummary.d.cts +19 -0
  20. package/dist/Accordion/AccordionSummary.d.mts +19 -0
  21. package/dist/Accordion/AccordionSummary.mjs +96 -0
  22. package/dist/Accordion.cjs +11 -0
  23. package/dist/Accordion.d.cts +6 -0
  24. package/dist/Accordion.d.mts +6 -0
  25. package/dist/Accordion.mjs +6 -0
  26. package/dist/AccordionContext-CBiu9CIa.mjs +14 -0
  27. package/dist/AccordionContext-CpSLhcF6.cjs +43 -0
  28. package/dist/Alert/Alert.cjs +153 -0
  29. package/dist/Alert/Alert.d.cts +35 -0
  30. package/dist/Alert/Alert.d.mts +35 -0
  31. package/dist/Alert/Alert.mjs +151 -0
  32. package/dist/Alert/AlertTitle.cjs +20 -0
  33. package/dist/Alert/AlertTitle.d.cts +10 -0
  34. package/dist/Alert/AlertTitle.d.mts +10 -0
  35. package/dist/Alert/AlertTitle.mjs +19 -0
  36. package/dist/Alert.cjs +5 -0
  37. package/dist/Alert.d.cts +3 -0
  38. package/dist/Alert.d.mts +3 -0
  39. package/dist/Alert.mjs +3 -0
  40. package/dist/AppBar.cjs +3 -4
  41. package/dist/AppBar.d.cts +1 -3
  42. package/dist/AppBar.d.mts +1 -3
  43. package/dist/AppBar.mjs +3 -4
  44. package/dist/Autocomplete.cjs +664 -0
  45. package/dist/Autocomplete.d.cts +93 -0
  46. package/dist/Autocomplete.d.mts +93 -0
  47. package/dist/Autocomplete.mjs +662 -0
  48. package/dist/Avatar.cjs +4 -5
  49. package/dist/Avatar.d.cts +1 -3
  50. package/dist/Avatar.d.mts +1 -3
  51. package/dist/Avatar.mjs +4 -5
  52. package/dist/Backdrop.cjs +2 -3
  53. package/dist/Backdrop.d.cts +1 -3
  54. package/dist/Backdrop.d.mts +1 -3
  55. package/dist/Backdrop.mjs +2 -3
  56. package/dist/Badge.cjs +129 -0
  57. package/dist/Badge.d.cts +43 -0
  58. package/dist/Badge.d.mts +43 -0
  59. package/dist/Badge.mjs +127 -0
  60. package/dist/Breadcrumbs.cjs +5 -6
  61. package/dist/Breadcrumbs.d.cts +3 -5
  62. package/dist/Breadcrumbs.d.mts +3 -5
  63. package/dist/Breadcrumbs.mjs +5 -6
  64. package/dist/Button.cjs +9 -7
  65. package/dist/Button.d.cts +1 -1
  66. package/dist/Button.d.mts +1 -1
  67. package/dist/Button.mjs +9 -7
  68. package/dist/ButtonGroup.cjs +4 -5
  69. package/dist/ButtonGroup.d.cts +1 -1
  70. package/dist/ButtonGroup.d.mts +1 -1
  71. package/dist/ButtonGroup.mjs +4 -5
  72. package/dist/{ButtonGroupContext-DS-kl9lG.mjs → ButtonGroupContext-DK9whWFt.mjs} +1 -2
  73. package/dist/{ButtonGroupContext-NtkVeDVE.cjs → ButtonGroupContext-n0wa0q6H.cjs} +1 -2
  74. package/dist/Card.cjs +5 -6
  75. package/dist/Card.d.cts +4 -6
  76. package/dist/Card.d.mts +4 -6
  77. package/dist/Card.mjs +5 -6
  78. package/dist/Checkbox.cjs +16 -7
  79. package/dist/Checkbox.d.cts +4 -4
  80. package/dist/Checkbox.d.mts +4 -4
  81. package/dist/Checkbox.mjs +16 -7
  82. package/dist/Chip.cjs +193 -0
  83. package/dist/Chip.d.cts +47 -0
  84. package/dist/Chip.d.mts +47 -0
  85. package/dist/Chip.mjs +191 -0
  86. package/dist/CircularProgress.cjs +3 -4
  87. package/dist/CircularProgress.d.cts +2 -4
  88. package/dist/CircularProgress.d.mts +2 -4
  89. package/dist/CircularProgress.mjs +3 -4
  90. package/dist/Collapse.cjs +125 -0
  91. package/dist/Collapse.d.cts +2 -0
  92. package/dist/Collapse.d.mts +2 -0
  93. package/dist/Collapse.mjs +123 -0
  94. package/dist/Drawer.cjs +3 -5
  95. package/dist/Drawer.d.cts +3 -7
  96. package/dist/Drawer.d.mts +3 -7
  97. package/dist/Drawer.mjs +3 -5
  98. package/dist/Fab.cjs +113 -0
  99. package/dist/Fab.d.cts +2 -0
  100. package/dist/Fab.d.mts +2 -0
  101. package/dist/Fab.mjs +112 -0
  102. package/dist/FabMenu/FabMenu.cjs +3 -0
  103. package/dist/FabMenu/FabMenu.d.cts +51 -0
  104. package/dist/FabMenu/FabMenu.d.mts +51 -0
  105. package/dist/FabMenu/FabMenu.mjs +1 -0
  106. package/dist/FabMenu/FabMenuItem.cjs +27 -0
  107. package/dist/FabMenu/FabMenuItem.d.cts +17 -0
  108. package/dist/FabMenu/FabMenuItem.d.mts +17 -0
  109. package/dist/FabMenu/FabMenuItem.mjs +26 -0
  110. package/dist/FabMenu-BqBhZs0S.mjs +271 -0
  111. package/dist/FabMenu-fQGSZCjr.cjs +277 -0
  112. package/dist/FabMenu.cjs +5 -0
  113. package/dist/FabMenu.d.cts +3 -0
  114. package/dist/FabMenu.d.mts +3 -0
  115. package/dist/FabMenu.mjs +3 -0
  116. package/dist/FabMenuContext-C86bOvTe.cjs +21 -0
  117. package/dist/FabMenuContext-CiCWgAmf.mjs +10 -0
  118. package/dist/Fade.cjs +16 -0
  119. package/dist/Fade.d.cts +9 -0
  120. package/dist/Fade.d.mts +9 -0
  121. package/dist/Fade.mjs +15 -0
  122. package/dist/Flex.cjs +2 -3
  123. package/dist/Flex.d.cts +1 -1
  124. package/dist/Flex.d.mts +1 -1
  125. package/dist/Flex.mjs +2 -3
  126. package/dist/FocusTrap.cjs +2 -3
  127. package/dist/FocusTrap.d.cts +0 -2
  128. package/dist/FocusTrap.d.mts +0 -2
  129. package/dist/FocusTrap.mjs +2 -3
  130. package/dist/Form.cjs +3 -4
  131. package/dist/Form.d.cts +1 -5
  132. package/dist/Form.d.mts +1 -5
  133. package/dist/Form.mjs +3 -4
  134. package/dist/{FormContext-LrjAGe6U.mjs → FormContext-BTm-7WM6.mjs} +1 -2
  135. package/dist/{FormContext-BGCsWAFc.cjs → FormContext-C2C49AJK.cjs} +1 -2
  136. package/dist/FormControl.cjs +11 -11
  137. package/dist/FormControl.d.cts +1 -7
  138. package/dist/FormControl.d.mts +1 -7
  139. package/dist/FormControl.mjs +11 -11
  140. package/dist/{FormControlContext-CC2kToms.mjs → FormControlContext-Dg_ommiF.mjs} +1 -2
  141. package/dist/{FormControlContext-74gvPGFk.cjs → FormControlContext-DvEyxrdM.cjs} +1 -2
  142. package/dist/FormHelperText.cjs +5 -6
  143. package/dist/FormHelperText.d.cts +1 -3
  144. package/dist/FormHelperText.d.mts +1 -3
  145. package/dist/FormHelperText.mjs +5 -6
  146. package/dist/FormLabel.cjs +8 -6
  147. package/dist/FormLabel.d.cts +1 -3
  148. package/dist/FormLabel.d.mts +1 -3
  149. package/dist/FormLabel.mjs +8 -6
  150. package/dist/Grid.cjs +2 -3
  151. package/dist/Grid.d.cts +1 -3
  152. package/dist/Grid.d.mts +1 -3
  153. package/dist/Grid.mjs +2 -3
  154. package/dist/Grow.cjs +20 -0
  155. package/dist/Grow.d.cts +9 -0
  156. package/dist/Grow.d.mts +9 -0
  157. package/dist/Grow.mjs +19 -0
  158. package/dist/{Icon-D-EWsBVg.cjs → Icon-C5Iz5ekp.cjs} +175 -131
  159. package/dist/{Icon-BihOAP4u.mjs → Icon-XpXU-SuF.mjs} +175 -131
  160. package/dist/Icon.cjs +1 -1
  161. package/dist/Icon.d.cts +1 -1
  162. package/dist/Icon.d.mts +1 -1
  163. package/dist/Icon.mjs +1 -2
  164. package/dist/Image.cjs +2 -3
  165. package/dist/Image.d.cts +1 -3
  166. package/dist/Image.d.mts +1 -3
  167. package/dist/Image.mjs +2 -3
  168. package/dist/LinearProgress.cjs +3 -4
  169. package/dist/LinearProgress.d.cts +2 -4
  170. package/dist/LinearProgress.d.mts +2 -4
  171. package/dist/LinearProgress.mjs +3 -4
  172. package/dist/Link.cjs +6 -7
  173. package/dist/Link.d.cts +1 -3
  174. package/dist/Link.d.mts +1 -3
  175. package/dist/Link.mjs +6 -7
  176. package/dist/Menu/ContextMenu.cjs +8 -7
  177. package/dist/Menu/ContextMenu.d.cts +8 -8
  178. package/dist/Menu/ContextMenu.d.mts +8 -8
  179. package/dist/Menu/ContextMenu.mjs +8 -7
  180. package/dist/Menu/Menu.cjs +1 -1
  181. package/dist/Menu/Menu.d.cts +1 -1
  182. package/dist/Menu/Menu.d.mts +1 -1
  183. package/dist/Menu/Menu.mjs +1 -2
  184. package/dist/Menu/MenuDivider.cjs +2 -3
  185. package/dist/Menu/MenuDivider.d.cts +0 -2
  186. package/dist/Menu/MenuDivider.d.mts +0 -2
  187. package/dist/Menu/MenuDivider.mjs +2 -3
  188. package/dist/Menu/MenuItems.cjs +2 -3
  189. package/dist/Menu/MenuItems.d.cts +1 -1
  190. package/dist/Menu/MenuItems.d.mts +1 -1
  191. package/dist/Menu/MenuItems.mjs +2 -3
  192. package/dist/Menu/MenuList.cjs +1 -1
  193. package/dist/Menu/MenuList.d.cts +2 -4
  194. package/dist/Menu/MenuList.d.mts +2 -4
  195. package/dist/Menu/MenuList.mjs +1 -2
  196. package/dist/{Menu-Cgg-sX4W.cjs → Menu-Bx9jaHOy.cjs} +10 -10
  197. package/dist/{Menu-CrzHc_cn.mjs → Menu-D4AIpdJv.mjs} +10 -10
  198. package/dist/Menu.cjs +2 -2
  199. package/dist/Menu.d.cts +3 -3
  200. package/dist/Menu.d.mts +3 -3
  201. package/dist/Menu.mjs +2 -2
  202. package/dist/{MenuItem-BTP7Ijwi.cjs → MenuItem-DXRw3Yca.cjs} +50 -97
  203. package/dist/{MenuItem-DUn4IZKK.mjs → MenuItem-vXHGPK8g.mjs} +51 -98
  204. package/dist/MenuItem.cjs +1 -1
  205. package/dist/MenuItem.d.cts +1 -1
  206. package/dist/MenuItem.d.mts +1 -1
  207. package/dist/MenuItem.mjs +1 -2
  208. package/dist/{MenuList-B7msJ1IG.mjs → MenuList-CGZgfBno.mjs} +9 -15
  209. package/dist/{MenuList-D4imLXAa.cjs → MenuList-DsJmxNPu.cjs} +9 -15
  210. package/dist/{MenuListContext-DKUOhNyw.d.cts → MenuListContext-BwgQHUu9.d.cts} +2 -4
  211. package/dist/{MenuListContext-x-7lH4CH.d.mts → MenuListContext-DbnAoUdJ.d.mts} +2 -4
  212. package/dist/{Modal-BcsyrrpH.mjs → Modal-DR4TRQSH.mjs} +11 -37
  213. package/dist/{Modal-CM3osOqj.cjs → Modal-gQcAJAKH.cjs} +11 -37
  214. package/dist/Modal.cjs +1 -1
  215. package/dist/Modal.d.cts +1 -1
  216. package/dist/Modal.d.mts +1 -1
  217. package/dist/Modal.mjs +1 -2
  218. package/dist/NativeSelect.cjs +11 -16
  219. package/dist/NativeSelect.d.cts +2 -4
  220. package/dist/NativeSelect.d.mts +2 -4
  221. package/dist/NativeSelect.mjs +11 -16
  222. package/dist/NavTree/NavGroup.cjs +93 -0
  223. package/dist/NavTree/NavGroup.d.cts +21 -0
  224. package/dist/NavTree/NavGroup.d.mts +21 -0
  225. package/dist/NavTree/NavGroup.mjs +92 -0
  226. package/dist/NavTree/NavLink.cjs +78 -0
  227. package/dist/NavTree/NavLink.d.cts +24 -0
  228. package/dist/NavTree/NavLink.d.mts +24 -0
  229. package/dist/NavTree/NavLink.mjs +76 -0
  230. package/dist/NavTree/NavTree.cjs +29 -0
  231. package/dist/NavTree/NavTree.d.cts +14 -0
  232. package/dist/NavTree/NavTree.d.mts +14 -0
  233. package/dist/NavTree/NavTree.mjs +28 -0
  234. package/dist/NavTree.cjs +7 -0
  235. package/dist/NavTree.d.cts +4 -0
  236. package/dist/NavTree.d.mts +4 -0
  237. package/dist/NavTree.mjs +4 -0
  238. package/dist/NavTreeContext-Cs0zC5hK.mjs +4 -0
  239. package/dist/NavTreeContext-DrxNyII8.cjs +8 -0
  240. package/dist/{NumberField.cjs → NumberInput.cjs} +72 -51
  241. package/dist/{NumberField.d.cts → NumberInput.d.cts} +13 -10
  242. package/dist/{NumberField.d.mts → NumberInput.d.mts} +13 -10
  243. package/dist/{NumberField.mjs → NumberInput.mjs} +72 -51
  244. package/dist/Pagination/PaginationItem.cjs +4 -5
  245. package/dist/Pagination/PaginationItem.d.cts +1 -1
  246. package/dist/Pagination/PaginationItem.d.mts +1 -1
  247. package/dist/Pagination/PaginationItem.mjs +4 -5
  248. package/dist/Pagination.cjs +3 -5
  249. package/dist/Pagination.d.cts +2 -2
  250. package/dist/Pagination.d.mts +2 -2
  251. package/dist/Pagination.mjs +3 -5
  252. package/dist/Paper.cjs +4 -5
  253. package/dist/Paper.d.cts +2 -2
  254. package/dist/Paper.d.mts +2 -2
  255. package/dist/Paper.mjs +4 -5
  256. package/dist/{Popover-CiZfgiKE.cjs → Popover-BniabG7D.cjs} +6 -8
  257. package/dist/{Popover-QjM5Z1CR.mjs → Popover-Dnmeo0Av.mjs} +6 -8
  258. package/dist/Popover.cjs +1 -1
  259. package/dist/Popover.d.cts +3 -11
  260. package/dist/Popover.d.mts +3 -11
  261. package/dist/Popover.mjs +1 -2
  262. package/dist/Portal.cjs +1 -2
  263. package/dist/Portal.d.cts +1 -17
  264. package/dist/Portal.d.mts +1 -17
  265. package/dist/Portal.mjs +1 -2
  266. package/dist/Pressable.cjs +19 -16
  267. package/dist/Pressable.d.cts +1 -1
  268. package/dist/Pressable.d.mts +1 -1
  269. package/dist/Pressable.mjs +19 -16
  270. package/dist/Quote.cjs +2 -3
  271. package/dist/Quote.d.cts +2 -4
  272. package/dist/Quote.d.mts +2 -4
  273. package/dist/Quote.mjs +2 -3
  274. package/dist/Radio.cjs +16 -7
  275. package/dist/Radio.d.cts +4 -4
  276. package/dist/Radio.d.mts +4 -4
  277. package/dist/Radio.mjs +16 -7
  278. package/dist/{InputRange.cjs → RangeInput.cjs} +48 -49
  279. package/dist/{InputRange.d.cts → RangeInput.d.cts} +11 -17
  280. package/dist/{InputRange.d.mts → RangeInput.d.mts} +11 -17
  281. package/dist/{InputRange.mjs → RangeInput.mjs} +48 -49
  282. package/dist/Rating.cjs +10 -13
  283. package/dist/Rating.d.cts +1 -3
  284. package/dist/Rating.d.mts +1 -3
  285. package/dist/Rating.mjs +10 -13
  286. package/dist/ScrollArea.cjs +265 -0
  287. package/dist/ScrollArea.d.cts +36 -0
  288. package/dist/ScrollArea.d.mts +36 -0
  289. package/dist/ScrollArea.mjs +263 -0
  290. package/dist/Select.cjs +18 -28
  291. package/dist/Select.d.cts +2 -6
  292. package/dist/Select.d.mts +2 -6
  293. package/dist/Select.mjs +18 -28
  294. package/dist/Sidebar/Sidebar.cjs +44 -28
  295. package/dist/Sidebar/Sidebar.d.cts +21 -8
  296. package/dist/Sidebar/Sidebar.d.mts +21 -8
  297. package/dist/Sidebar/Sidebar.mjs +44 -28
  298. package/dist/Sidebar/SidebarItem.cjs +81 -14
  299. package/dist/Sidebar/SidebarItem.d.cts +9 -7
  300. package/dist/Sidebar/SidebarItem.d.mts +9 -7
  301. package/dist/Sidebar/SidebarItem.mjs +81 -14
  302. package/dist/Sidebar.cjs +1 -1
  303. package/dist/Sidebar.d.cts +2 -2
  304. package/dist/Sidebar.d.mts +2 -2
  305. package/dist/Sidebar.mjs +1 -1
  306. package/dist/{SidebarContext-B1lWrt77.d.cts → SidebarContext-Bod_oUMi.d.cts} +12 -5
  307. package/dist/{SidebarContext-B1lWrt77.d.mts → SidebarContext-Bod_oUMi.d.mts} +12 -5
  308. package/dist/{SidebarContext-DgSLwjur.mjs → SidebarContext-D3bF-Q4N.mjs} +2 -2
  309. package/dist/{SidebarContext-jG6OioC-.cjs → SidebarContext-mXrB4z8v.cjs} +2 -2
  310. package/dist/Skeleton.cjs +2 -3
  311. package/dist/Skeleton.d.cts +1 -3
  312. package/dist/Skeleton.d.mts +1 -3
  313. package/dist/Skeleton.mjs +2 -3
  314. package/dist/Slide.cjs +50 -0
  315. package/dist/Slide.d.cts +15 -0
  316. package/dist/Slide.d.mts +15 -0
  317. package/dist/Slide.mjs +49 -0
  318. package/dist/Snackbar.cjs +203 -0
  319. package/dist/Snackbar.d.cts +60 -0
  320. package/dist/Snackbar.d.mts +60 -0
  321. package/dist/Snackbar.mjs +201 -0
  322. package/dist/Switch.cjs +17 -8
  323. package/dist/Switch.d.cts +4 -4
  324. package/dist/Switch.d.mts +4 -4
  325. package/dist/Switch.mjs +17 -8
  326. package/dist/Table/Table.cjs +3 -4
  327. package/dist/Table/Table.d.cts +2 -4
  328. package/dist/Table/Table.d.mts +2 -4
  329. package/dist/Table/Table.mjs +3 -4
  330. package/dist/Table/TableBody.cjs +3 -4
  331. package/dist/Table/TableBody.d.cts +1 -3
  332. package/dist/Table/TableBody.d.mts +1 -3
  333. package/dist/Table/TableBody.mjs +3 -4
  334. package/dist/Table/TableCell.cjs +5 -6
  335. package/dist/Table/TableCell.d.cts +1 -1
  336. package/dist/Table/TableCell.d.mts +1 -1
  337. package/dist/Table/TableCell.mjs +5 -6
  338. package/dist/Table/TableContainer.cjs +2 -3
  339. package/dist/Table/TableContainer.d.cts +1 -3
  340. package/dist/Table/TableContainer.d.mts +1 -3
  341. package/dist/Table/TableContainer.mjs +2 -3
  342. package/dist/Table/TableControl.cjs +1 -2
  343. package/dist/Table/TableControl.d.cts +1 -3
  344. package/dist/Table/TableControl.d.mts +1 -3
  345. package/dist/Table/TableControl.mjs +1 -2
  346. package/dist/Table/TableFooter.cjs +3 -4
  347. package/dist/Table/TableFooter.d.cts +1 -3
  348. package/dist/Table/TableFooter.d.mts +1 -3
  349. package/dist/Table/TableFooter.mjs +3 -4
  350. package/dist/Table/TableHead.cjs +3 -4
  351. package/dist/Table/TableHead.d.cts +1 -3
  352. package/dist/Table/TableHead.d.mts +1 -3
  353. package/dist/Table/TableHead.mjs +3 -4
  354. package/dist/Table/TablePagination.cjs +3 -3
  355. package/dist/Table/TablePagination.d.cts +2 -4
  356. package/dist/Table/TablePagination.d.mts +2 -4
  357. package/dist/Table/TablePagination.mjs +3 -3
  358. package/dist/Table/TablePaginationActions.cjs +4 -5
  359. package/dist/Table/TablePaginationActions.d.cts +1 -1
  360. package/dist/Table/TablePaginationActions.d.mts +1 -1
  361. package/dist/Table/TablePaginationActions.mjs +4 -5
  362. package/dist/Table/TableRow.cjs +4 -5
  363. package/dist/Table/TableRow.d.cts +1 -3
  364. package/dist/Table/TableRow.d.mts +1 -3
  365. package/dist/Table/TableRow.mjs +4 -5
  366. package/dist/Table/TableSortLabel.cjs +4 -5
  367. package/dist/Table/TableSortLabel.d.cts +1 -1
  368. package/dist/Table/TableSortLabel.d.mts +1 -1
  369. package/dist/Table/TableSortLabel.mjs +4 -5
  370. package/dist/Table/hooks.cjs +3 -6
  371. package/dist/Table/hooks.d.cts +1 -3
  372. package/dist/Table/hooks.d.mts +1 -3
  373. package/dist/Table/hooks.mjs +3 -6
  374. package/dist/Table.cjs +2 -2
  375. package/dist/Table.d.cts +5 -5
  376. package/dist/Table.d.mts +5 -5
  377. package/dist/Table.mjs +2 -2
  378. package/dist/{TableContext-DhuRf6Wy.d.mts → TableContext-0hifLOKH.d.mts} +1 -3
  379. package/dist/{TableContext-Dyr89h_k.mjs → TableContext-BBzwHtLn.mjs} +1 -2
  380. package/dist/{TableContext-Bfg1C3Sr.cjs → TableContext-CK5ALcd9.cjs} +1 -2
  381. package/dist/{TableContext-Duj1nVG7.d.cts → TableContext-fIyMD_Bj.d.cts} +1 -3
  382. package/dist/{TableSectionContext-meIG4lFZ.mjs → TableSectionContext-CT6xhPDd.mjs} +1 -2
  383. package/dist/{TableSectionContext-pYlJ-duI.cjs → TableSectionContext-D25fE10g.cjs} +1 -2
  384. package/dist/Tabs/Tab.cjs +36 -17
  385. package/dist/Tabs/Tab.d.cts +2 -4
  386. package/dist/Tabs/Tab.d.mts +2 -4
  387. package/dist/Tabs/Tab.mjs +36 -17
  388. package/dist/Tabs/TabContext.cjs +2 -3
  389. package/dist/Tabs/TabContext.d.cts +1 -3
  390. package/dist/Tabs/TabContext.d.mts +1 -3
  391. package/dist/Tabs/TabContext.mjs +2 -3
  392. package/dist/Tabs/TabList.cjs +3 -4
  393. package/dist/Tabs/TabList.d.cts +1 -3
  394. package/dist/Tabs/TabList.d.mts +1 -3
  395. package/dist/Tabs/TabList.mjs +3 -4
  396. package/dist/Tabs/TabPanel.cjs +5 -6
  397. package/dist/Tabs/TabPanel.d.cts +2 -4
  398. package/dist/Tabs/TabPanel.d.mts +2 -4
  399. package/dist/Tabs/TabPanel.mjs +5 -6
  400. package/dist/Tabs/TabScrollButton.cjs +5 -6
  401. package/dist/Tabs/TabScrollButton.d.cts +1 -1
  402. package/dist/Tabs/TabScrollButton.d.mts +1 -1
  403. package/dist/Tabs/TabScrollButton.mjs +5 -6
  404. package/dist/Tabs/Tabs.cjs +1 -1
  405. package/dist/Tabs/Tabs.d.cts +2 -2
  406. package/dist/Tabs/Tabs.d.mts +2 -2
  407. package/dist/Tabs/Tabs.mjs +1 -2
  408. package/dist/{Tabs-D4tWCq78.cjs → Tabs-BsbX0jFL.cjs} +29 -25
  409. package/dist/{Tabs-BTNOJx5v.mjs → Tabs-JvjuCU8m.mjs} +29 -25
  410. package/dist/Tabs.cjs +1 -1
  411. package/dist/Tabs.d.cts +3 -3
  412. package/dist/Tabs.d.mts +3 -3
  413. package/dist/Tabs.mjs +1 -1
  414. package/dist/{TabsContext-B_XHbjcS.d.cts → TabsContext-0ZtedNyH.d.mts} +1 -3
  415. package/dist/{TabsContext-Dn2kqUwr.d.mts → TabsContext-MpMEEVuB.d.cts} +1 -3
  416. package/dist/{TabsValueContext-DvL3inf7.mjs → TabsValueContext-C0vG9V7s.mjs} +1 -2
  417. package/dist/{TabsValueContext-D40zGCpE.cjs → TabsValueContext-DklTSPKh.cjs} +1 -2
  418. package/dist/TextInput.cjs +15 -17
  419. package/dist/TextInput.d.cts +1 -3
  420. package/dist/TextInput.d.mts +1 -3
  421. package/dist/TextInput.mjs +15 -17
  422. package/dist/ToggleButton/ToggleButton.cjs +6 -7
  423. package/dist/ToggleButton/ToggleButton.d.cts +2 -4
  424. package/dist/ToggleButton/ToggleButton.d.mts +2 -4
  425. package/dist/ToggleButton/ToggleButton.mjs +6 -7
  426. package/dist/ToggleButton/ToggleButtonGroup.cjs +5 -6
  427. package/dist/ToggleButton/ToggleButtonGroup.d.cts +2 -4
  428. package/dist/ToggleButton/ToggleButtonGroup.d.mts +2 -4
  429. package/dist/ToggleButton/ToggleButtonGroup.mjs +5 -6
  430. package/dist/ToggleButton.cjs +1 -1
  431. package/dist/ToggleButton.d.cts +1 -1
  432. package/dist/ToggleButton.d.mts +1 -1
  433. package/dist/ToggleButton.mjs +1 -1
  434. package/dist/{ToggleButtonGroupContext-DxIyy8ze.mjs → ToggleButtonGroupContext-C0owas90.mjs} +1 -2
  435. package/dist/{ToggleButtonGroupContext-10jEsQdg.d.cts → ToggleButtonGroupContext-CA-4EgZL.d.cts} +0 -2
  436. package/dist/{ToggleButtonGroupContext-10jEsQdg.d.mts → ToggleButtonGroupContext-CA-4EgZL.d.mts} +0 -2
  437. package/dist/{ToggleButtonGroupContext-Ewc5Ixas.cjs → ToggleButtonGroupContext-CHA83ShW.cjs} +1 -2
  438. package/dist/Tooltip.cjs +268 -0
  439. package/dist/Tooltip.d.cts +74 -0
  440. package/dist/Tooltip.d.mts +74 -0
  441. package/dist/Tooltip.mjs +266 -0
  442. package/dist/TransferList.cjs +17 -12
  443. package/dist/TransferList.d.cts +4 -6
  444. package/dist/TransferList.d.mts +4 -6
  445. package/dist/TransferList.mjs +17 -12
  446. package/dist/Typography.cjs +3 -4
  447. package/dist/Typography.d.cts +2 -2
  448. package/dist/Typography.d.mts +2 -2
  449. package/dist/Typography.mjs +3 -4
  450. package/dist/View.cjs +2 -3
  451. package/dist/View.d.cts +1 -1
  452. package/dist/View.d.mts +1 -1
  453. package/dist/View.mjs +2 -3
  454. package/dist/Zoom.cjs +15 -0
  455. package/dist/Zoom.d.cts +8 -0
  456. package/dist/Zoom.d.mts +8 -0
  457. package/dist/Zoom.mjs +14 -0
  458. package/dist/catalog.cjs +1081 -160
  459. package/dist/catalog.d.cts +1 -5
  460. package/dist/catalog.d.mts +1 -5
  461. package/dist/catalog.mjs +1081 -160
  462. package/dist/{computePopoverPosition-DiyEOHnU.cjs → computePopoverPosition-C2W1FcYE.cjs} +3 -6
  463. package/dist/{computePopoverPosition-BIprs_xo.mjs → computePopoverPosition-qii46Z6p.mjs} +3 -6
  464. package/dist/{dividerLine-FahY-M6_.mjs → dividerLine-BC8E38Ed.mjs} +3 -5
  465. package/dist/{dividerLine-BNljcGlv.cjs → dividerLine-DFuLn1zU.cjs} +3 -5
  466. package/dist/{emotion-BAyqVw0c.mjs → emotion-E3pBNlXd.mjs} +1 -2
  467. package/dist/{emotion-DviPkkGL.cjs → emotion-sEV-zb6P.cjs} +1 -2
  468. package/dist/engine.cjs +4 -6
  469. package/dist/engine.d.cts +2 -8
  470. package/dist/engine.d.mts +1 -7
  471. package/dist/engine.mjs +3 -5
  472. package/dist/getAnchorRel-BLYap7aE.mjs +7 -0
  473. package/dist/getAnchorRel-DFMc_uIR.cjs +12 -0
  474. package/dist/getShapeRadius-C2xXOKCl.cjs +16 -0
  475. package/dist/getShapeRadius-CdCQb8OT.d.cts +3 -0
  476. package/dist/getShapeRadius-CdCQb8OT.d.mts +3 -0
  477. package/dist/getShapeRadius-DVQRARis.mjs +11 -0
  478. package/dist/getSurfaceRadius-B1QE_VLa.mjs +5 -0
  479. package/dist/getSurfaceRadius-DwOn3ALC.cjs +10 -0
  480. package/dist/getTooltipOrigins-8b5zQafY.cjs +103 -0
  481. package/dist/getTooltipOrigins-D0bLLXwY.mjs +86 -0
  482. package/dist/index-1Xzj0iAs.d.mts +1 -0
  483. package/dist/index-323PrYLR.d.cts +1 -0
  484. package/dist/{index-nqUA_6J_.d.cts → index-4maWM1H8.d.mts} +1 -7
  485. package/dist/{index-pTNq3iQn.d.mts → index-76zijQoi.d.mts} +2 -4
  486. package/dist/index-B3Bdupj3.d.mts +34 -0
  487. package/dist/{index-DGnXJwLj.d.mts → index-BAzMLTVi.d.mts} +7 -9
  488. package/dist/{index-Bx0-6yeX.d.mts → index-BC9S8Fpr.d.cts} +1 -7
  489. package/dist/{index-CG_1uPrD.d.mts → index-BChRNCld.d.mts} +2 -4
  490. package/dist/index-BV5BvdeN.d.mts +30 -0
  491. package/dist/{index-BHKgEOZJ.d.cts → index-BXlBouWV.d.mts} +3 -5
  492. package/dist/{index-WHFhjfgy.d.cts → index-Bo45R0nD.d.cts} +14 -8
  493. package/dist/index-BuAKhHMs.d.cts +30 -0
  494. package/dist/{index-B1RFybA_.d.mts → index-Byk1_ms9.d.cts} +7 -5
  495. package/dist/{index-DAwcmIjN.d.cts → index-BzQze7eY.d.cts} +2 -4
  496. package/dist/{index-ClZyaZrR.d.mts → index-C2a-5yop.d.mts} +1 -3
  497. package/dist/{index-DtYjdBvO.d.cts → index-C2tTbEBS.d.mts} +2 -4
  498. package/dist/{index-CbFaWtjK.d.mts → index-C7EUYyom.d.cts} +2 -4
  499. package/dist/{index-Dv_fk1_F.d.cts → index-CAt0-L4i.d.cts} +26 -130
  500. package/dist/{index-h4dYtVrp.d.mts → index-CF_pl72E.d.mts} +1 -13
  501. package/dist/{index-K5exjvnX.d.cts → index-CGyIuCRh.d.cts} +1 -3
  502. package/dist/{index-BkzZxHVj.d.mts → index-CJYWGPVO.d.mts} +2 -4
  503. package/dist/{index-BGbTuHP9.d.mts → index-CKywwIep.d.mts} +1 -5
  504. package/dist/index-CLTFsCYC.d.cts +34 -0
  505. package/dist/{index-KnXhlKMr.d.cts → index-CQeTS_zL.d.cts} +1 -3
  506. package/dist/{index-CJhK7JND.d.mts → index-CR8qkP8U.d.mts} +198 -28
  507. package/dist/{index-CE5JG1us.d.mts → index-C_J58B_n.d.mts} +1 -3
  508. package/dist/{index-DchHf5cF.d.cts → index-CfB7OceY.d.cts} +1 -13
  509. package/dist/{index-YKrfFC_I.d.cts → index-Cjh607-v.d.cts} +2 -4
  510. package/dist/{index-CUz2h5xY.d.mts → index-CnVvfG9_.d.mts} +2 -4
  511. package/dist/{index-ha1WjSZ5.d.mts → index-D48qVo1X.d.mts} +26 -130
  512. package/dist/{index-BelFIizY.d.cts → index-D4PcgL-c.d.cts} +2 -6
  513. package/dist/{index-BQWjh4rK.d.mts → index-DBF5n3ey.d.cts} +3 -5
  514. package/dist/{index-CknoXDLQ.d.cts → index-DbgrItbx.d.cts} +2 -4
  515. package/dist/{index-DWjz5ZzG.d.cts → index-Dm7vQHor.d.cts} +7 -9
  516. package/dist/{index-B4TeaB7b.d.cts → index-Dt274Ngt.d.mts} +7 -5
  517. package/dist/{index-ChXeKJCk.d.cts → index-Dxu6Ks2A.d.cts} +1 -5
  518. package/dist/{index-DJ0f69wh.d.cts → index-Lsm4v8fB.d.cts} +200 -30
  519. package/dist/{index-DYF8sRE-.d.cts → index-RaDENVX_.d.cts} +2 -4
  520. package/dist/{index-bpnLB_4K.d.mts → index-SotXsXXb.d.mts} +14 -8
  521. package/dist/{index-ByYxVl9O.d.mts → index-UiyZAKID.d.mts} +2 -6
  522. package/dist/index-UloRwym_.d.cts +16 -0
  523. package/dist/index-UloRwym_.d.mts +16 -0
  524. package/dist/{index-BrgwkY6z.d.mts → index-hoHPfsc1.d.cts} +3 -7
  525. package/dist/{index-CQfJZADG.d.cts → index-tOrd12AJ.d.mts} +3 -7
  526. package/dist/index.cjs +1 -1
  527. package/dist/index.d.cts +1 -1
  528. package/dist/index.d.mts +1 -1
  529. package/dist/index.mjs +1 -2
  530. package/dist/inputVariantStyles-DCGRUY9c.mjs +42 -0
  531. package/dist/inputVariantStyles-DhClkDHY.cjs +59 -0
  532. package/dist/{isRtl-BJDtm86G.mjs → isRtl-DN-EdUlg.mjs} +1 -2
  533. package/dist/{isRtl-DTkYHRPo.cjs → isRtl-Dl6QQWib.cjs} +1 -2
  534. package/dist/{precision-B58cTPB2.cjs → precision-DbF9gToz.cjs} +1 -2
  535. package/dist/{precision-B1lhxnnO.mjs → precision-DrmFmgMd.mjs} +1 -2
  536. package/dist/{rolldown-runtime-BloeesfJ.cjs → rolldown-runtime-CiKaZLfC.cjs} +1 -2
  537. package/dist/{src-DLGYOJMh.mjs → src-B-rNjHIL.mjs} +3 -6
  538. package/dist/{src-DU81aGy9.cjs → src-yC1f5WR2.cjs} +3 -5
  539. package/dist/style.cjs +4 -7
  540. package/dist/style.d.cts +2 -8
  541. package/dist/style.d.mts +2 -8
  542. package/dist/style.mjs +5 -8
  543. package/dist/{surfaceSystem-D8TbmKy3.mjs → surfaceSystem-4XDqbvf4.mjs} +3 -5
  544. package/dist/{surfaceSystem-BGQBoXv_.cjs → surfaceSystem-DI6bqK5F.cjs} +3 -5
  545. package/dist/testing.cjs +1 -2
  546. package/dist/testing.d.cts +0 -2
  547. package/dist/testing.d.mts +0 -2
  548. package/dist/testing.mjs +1 -2
  549. package/dist/{theme-Z9_QludW.mjs → theme-DyyZQFzQ.mjs} +8 -14
  550. package/dist/{theme-BxXuXRgQ.cjs → theme-XJvMdOnY.cjs} +7 -13
  551. package/dist/theme.cjs +4 -3
  552. package/dist/theme.d.cts +3 -3
  553. package/dist/theme.d.mts +3 -3
  554. package/dist/theme.mjs +4 -4
  555. package/dist/{themeDefault-Z3KmyIbm.mjs → themeDefault-BeZJzqJj.mjs} +1 -2
  556. package/dist/{themeDefault-Cebi08Cv.cjs → themeDefault-DbPHBbNO.cjs} +1 -2
  557. package/dist/{themes-gd6tcmqS.cjs → themes-C2oyu8gK.cjs} +28 -8
  558. package/dist/{themes-L-dE7_ck.mjs → themes-D-knykK0.mjs} +23 -9
  559. package/dist/tonalRadius-CU9GHoHx.cjs +9 -0
  560. package/dist/tonalRadius-CvXRueqT.mjs +4 -0
  561. package/dist/useAnchoredPlacement-COrXZxhm.mjs +105 -0
  562. package/dist/useAnchoredPlacement-ee6KzG3t.cjs +110 -0
  563. package/dist/{useControlled-CBRLsO-H.mjs → useControlled-B4uQ9Bj6.mjs} +1 -2
  564. package/dist/{useControlled-C666KpQ0.cjs → useControlled-CzCxM4J3.cjs} +1 -2
  565. package/dist/useMergedRefs-BtctsnmX.cjs +26 -0
  566. package/dist/useMergedRefs-CdfwtmUd.mjs +21 -0
  567. package/dist/{useTablePagination-D-39ZmQh.d.mts → useTablePagination-BlD8mK8k.d.mts} +1 -5
  568. package/dist/{useTablePagination-C-u3ru4N.d.cts → useTablePagination-CGjb_jPX.d.cts} +1 -5
  569. package/dist/useTransition-3EoagwIe.d.mts +40 -0
  570. package/dist/useTransition-B0V2fAq5.cjs +82 -0
  571. package/dist/useTransition-C89K0mS7.d.cts +40 -0
  572. package/dist/useTransition-CWxiEqtC.mjs +77 -0
  573. package/dist/useTransitionChild-CFhlMm65.mjs +48 -0
  574. package/dist/useTransitionChild-COlRozbU.cjs +53 -0
  575. package/dist/utils.cjs +4 -8
  576. package/dist/utils.d.cts +0 -8
  577. package/dist/utils.d.mts +0 -8
  578. package/dist/utils.mjs +4 -8
  579. package/package.json +192 -32
  580. package/dist/index-BxVTIMnB.d.cts +0 -1
  581. package/dist/index-DaIIo5QU.d.mts +0 -1
  582. package/dist/inputVariantStyles-BBkkYQtE.cjs +0 -32
  583. package/dist/inputVariantStyles-CcqpGfuP.mjs +0 -28
@@ -1,13 +1,14 @@
1
- import { a as src_exports, o as styled, t as createShouldForwardProp } from "./src-DLGYOJMh.mjs";
2
- import { t as themeDefault } from "./themeDefault-Z3KmyIbm.mjs";
3
- import { n as useDefaultProps, r as useTheme } from "./theme-Z9_QludW.mjs";
4
- import { t as Icon } from "./Icon-BihOAP4u.mjs";
5
- import { t as isRtl } from "./isRtl-BJDtm86G.mjs";
6
- import { a as useMenuListContext, n as getNextRow, r as getOwnRows, t as MenuList } from "./MenuList-B7msJ1IG.mjs";
7
- import { t as computePopoverPosition } from "./computePopoverPosition-BIprs_xo.mjs";
8
- import { Children, createContext, useCallback, useContext, useEffect, useId, useLayoutEffect, useMemo, useRef, useState } from "react";
1
+ import { a as src_exports, o as styled, t as createShouldForwardProp } from "./src-B-rNjHIL.mjs";
2
+ import { n as useDefaultProps, r as useTheme } from "./theme-DyyZQFzQ.mjs";
3
+ import { t as themeDefault } from "./themeDefault-BeZJzqJj.mjs";
4
+ import { t as getSurfaceRadius } from "./getSurfaceRadius-B1QE_VLa.mjs";
5
+ import { t as Icon } from "./Icon-XpXU-SuF.mjs";
6
+ import { t as isRtl } from "./isRtl-DN-EdUlg.mjs";
7
+ import { t as useAnchoredPlacement } from "./useAnchoredPlacement-COrXZxhm.mjs";
8
+ import { a as useMenuListContext, n as getNextRow, r as getOwnRows, t as MenuList } from "./MenuList-CGZgfBno.mjs";
9
+ import { Children, createContext, useCallback, useContext, useEffect, useId, useMemo, useRef, useState } from "react";
9
10
  import { jsx, jsxs } from "react/jsx-runtime";
10
- //#region src/Menu/MenuPaper.ts
11
+ // src/Menu/MenuPaper.ts
11
12
  const elevationSystem = (0, src_exports.system)({ elevation: {
12
13
  property: "boxShadow",
13
14
  scale: "shadows"
@@ -19,9 +20,10 @@ const MenuPaper = styled("div", {
19
20
  shouldForwardProp: (prop) => ![
20
21
  "elevation",
21
22
  "layer",
22
- "margin"
23
+ "margin",
24
+ "borderRadius"
23
25
  ].includes(prop)
24
- })(({ theme, layer, margin }) => ({
26
+ })(({ theme, layer, margin, borderRadius }) => ({
25
27
  position: "fixed",
26
28
  top: 0,
27
29
  left: 0,
@@ -30,11 +32,10 @@ const MenuPaper = styled("div", {
30
32
  maxHeight: `calc(100vh - ${2 * margin}px)`,
31
33
  overflowY: "auto",
32
34
  backgroundColor: (0, src_exports.get)(theme, `background.${themeDefault(theme, "surfaceBg", "paper")}`),
33
- borderRadius: theme.radii.sm,
35
+ borderRadius: getSurfaceRadius(theme, borderRadius),
34
36
  visibility: "hidden"
35
37
  }), elevationSystem);
36
- //#endregion
37
- //#region src/Menu/MenuContext.ts
38
+ // src/Menu/MenuContext.ts
38
39
  /** Set by a `Menu`. */
39
40
  const MenuContext = createContext(null);
40
41
  /** The surrounding menu's settings - or, for a `MenuList` on its own, `Menu`'s defaults. */
@@ -47,8 +48,7 @@ function useMenuContext() {
47
48
  layer: "modal"
48
49
  };
49
50
  }
50
- //#endregion
51
- //#region src/Menu/utils/getMenuOrigins.ts
51
+ // src/Menu/utils/getMenuOrigins.ts
52
52
  /**
53
53
  * The anchor and transform origins `computePopoverPosition` places a list with. `align`
54
54
  * is logical - in a right-to-left page `start` is the right edge. Below its trigger, the
@@ -80,8 +80,7 @@ function getMenuOrigins(placement, align, isRtl) {
80
80
  }
81
81
  };
82
82
  }
83
- //#endregion
84
- //#region src/Menu/utils/hasRoomBeside.ts
83
+ // src/Menu/utils/hasRoomBeside.ts
85
84
  /**
86
85
  * Whether a list `width` wide fits on either side of its row and still keeps `margin` from
87
86
  * the window's edges - so a submenu can open beside the row at all.
@@ -91,88 +90,44 @@ function hasRoomBeside(anchorRect, width, viewportWidth, margin) {
91
90
  const roomAfter = viewportWidth - margin - (anchorRect.left + anchorRect.width);
92
91
  return width <= Math.max(roomBefore, roomAfter);
93
92
  }
94
- //#endregion
95
- //#region src/Menu/hooks/useMenuPlacement.ts
93
+ // src/Menu/hooks/useMenuPlacement.ts
96
94
  /**
97
- * Places a menu's `position: fixed` surface in the window, next to its anchor - so a
98
- * scrolling panel's overflow never clips it, while it stays in the menu's own box in the
99
- * DOM. Placed before paint on every render while open, and again on resize and on any
100
- * scroll. The surface starts `visibility: hidden` and is shown here, as it is placed - in
101
- * the same layout pass, so it is visible by the time anything inside it takes focus.
102
- * Returns whether a list beside its row opened on the other side for want of room.
95
+ * Places a menu's `position: fixed` surface in the window, next to its anchor, with the shared
96
+ * `useAnchoredPlacement`. A submenu with room on neither side of its row opens under it (or over
97
+ * it) instead, so it never covers the row it came from. Returns whether a list beside its row
98
+ * opened on the other side for want of room.
103
99
  */
104
100
  function useMenuPlacement({ isOpen, anchorRef, surfaceRef, placement, align, margin, anchorPosition = null }) {
105
101
  const [isFlipped, setIsFlipped] = useState(false);
106
- const pointTop = anchorPosition?.top;
107
- const pointLeft = anchorPosition?.left ?? 0;
108
- const place = useCallback(() => {
109
- const anchor = anchorRef.current;
110
- const surface = surfaceRef.current;
111
- if (!anchor || !surface) return;
112
- const isPoint = pointTop !== void 0;
113
- const anchorRect = anchor.getBoundingClientRect();
114
- const paperRect = {
115
- width: surface.offsetWidth,
116
- height: surface.offsetHeight
117
- };
118
- const viewport = {
119
- width: window.innerWidth,
120
- height: window.innerHeight
121
- };
122
- const isCramped = placement === "beside" && !hasRoomBeside(anchorRect, paperRect.width, viewport.width, margin);
123
- const { top, left } = computePopoverPosition({
124
- anchorReference: isPoint ? "anchorPosition" : "anchorEl",
125
- anchorPosition: isPoint ? {
126
- top: pointTop,
127
- left: pointLeft
128
- } : void 0,
129
- anchorRect,
130
- paperRect,
131
- ...getMenuOrigins(isCramped ? "below" : placement, align, isRtl(anchor)),
132
- viewport,
133
- marginThreshold: margin
134
- });
135
- surface.style.top = `${top}px`;
136
- surface.style.left = `${left}px`;
137
- const landed = surface.getBoundingClientRect();
138
- const isOwnBox = paperRect.width > 0 && Math.round(landed.width) === paperRect.width;
139
- const shiftTop = Math.round(landed.top - top);
140
- const shiftLeft = Math.round(landed.left - left);
141
- if (isOwnBox && (shiftTop !== 0 || shiftLeft !== 0)) {
142
- surface.style.top = `${top - shiftTop}px`;
143
- surface.style.left = `${left - shiftLeft}px`;
144
- }
145
- surface.style.visibility = "visible";
146
- if (placement === "beside") {
147
- const isOpeningRight = left + paperRect.width / 2 > anchorRect.left + anchorRect.width / 2;
148
- const isRightPreferred = align === "start" !== isRtl(anchor);
149
- setIsFlipped(!isCramped && isOpeningRight !== isRightPreferred);
150
- }
102
+ const isCramped = useCallback(({ anchorRect, surfaceSize, viewport }) => placement === "beside" && !hasRoomBeside(anchorRect, surfaceSize.width, viewport.width, margin), [placement, margin]);
103
+ const getOrigins = useCallback((context) => getMenuOrigins(isCramped(context) ? "below" : placement, align, context.isRtl), [
104
+ isCramped,
105
+ placement,
106
+ align
107
+ ]);
108
+ const onPlaced = useCallback((placed) => {
109
+ if (placement !== "beside") return;
110
+ const { anchorRect, surfaceSize, left, isRtl } = placed;
111
+ const isOpeningRight = left + surfaceSize.width / 2 > anchorRect.left + anchorRect.width / 2;
112
+ const isRightPreferred = align === "start" !== isRtl;
113
+ setIsFlipped(!isCramped(placed) && isOpeningRight !== isRightPreferred);
151
114
  }, [
152
- anchorRef,
153
- surfaceRef,
154
115
  placement,
155
116
  align,
156
- margin,
157
- pointTop,
158
- pointLeft
117
+ isCramped
159
118
  ]);
160
- useLayoutEffect(() => {
161
- if (isOpen) place();
119
+ useAnchoredPlacement({
120
+ isOpen,
121
+ anchorRef,
122
+ surfaceRef,
123
+ anchorPosition,
124
+ getOrigins,
125
+ margin,
126
+ onPlaced
162
127
  });
163
- useEffect(() => {
164
- if (!isOpen) return void 0;
165
- window.addEventListener("resize", place);
166
- window.addEventListener("scroll", place, true);
167
- return () => {
168
- window.removeEventListener("resize", place);
169
- window.removeEventListener("scroll", place, true);
170
- };
171
- }, [isOpen, place]);
172
128
  return isFlipped;
173
129
  }
174
- //#endregion
175
- //#region src/MenuItem/Submenu.tsx
130
+ // src/MenuItem/Submenu.tsx
176
131
  /**
177
132
  * A row's submenu: a `MenuList` on its own surface, placed beside the row the way its menu
178
133
  * places its list (`align`, the window margin), and drawn on the menu's layer.
@@ -215,8 +170,7 @@ function Submenu({ anchorRef, listId, labelledBy, children }) {
215
170
  })
216
171
  });
217
172
  }
218
- //#endregion
219
- //#region src/MenuItem/useSubmenu.ts
173
+ // src/MenuItem/useSubmenu.ts
220
174
  /**
221
175
  * A row's submenu, opened while the row or anything in its submenu has focus. The pointer
222
176
  * moves focus as it goes, so hovering a row opens its submenu and hovering a sibling closes
@@ -280,8 +234,7 @@ function useSubmenu(rowRef, isEnabled) {
280
234
  handleEntryBlur
281
235
  };
282
236
  }
283
- //#endregion
284
- //#region src/MenuItem/MenuItem.tsx
237
+ // src/MenuItem/MenuItem.tsx
285
238
  const shouldForwardProp = createShouldForwardProp([
286
239
  "color",
287
240
  "textColor",
@@ -459,7 +412,7 @@ const getRowAria = (state) => ({
459
412
  "aria-expanded": state.hasSubmenu ? state.isSubmenuOpen : void 0,
460
413
  "aria-controls": state.isSubmenuOpen ? state.submenuId : void 0,
461
414
  "aria-checked": state.role === "menuitem" ? void 0 : state.selected,
462
- "aria-keyshortcuts": typeof state.shortcut === "string" ? state.shortcut : void 0,
415
+ "aria-keyshortcuts": state.keyShortcuts ?? (typeof state.shortcut === "string" ? state.shortcut : void 0),
463
416
  "aria-describedby": state.note ? state.noteId : void 0
464
417
  });
465
418
  const joinClassNames = (...names) => names.filter(Boolean).join(" ") || void 0;
@@ -470,7 +423,7 @@ const joinClassNames = (...names) => names.filter(Boolean).join(" ") || void 0;
470
423
  * `<li role="option">` (override via `as`), whose selection, highlight and density props
471
424
  * `Select` injects; used on its own it renders a static, styled row.
472
425
  */
473
- function MenuItem({ value, children, as, disabled = false, selected = false, highlighted = false, multiple = false, color: colorProp, textColor: textColorProp, size: sizeProp, dense: denseProp, disableGutters = false, divider = false, autoFocus = false, focusVisibleClassName, onSelect, role = "menuitem", startIcon, shortcut, note, onClick, submenu, emptyLabel, secondaryAction, id, className, "data-testid": dataTestid }) {
426
+ function MenuItem({ value, children, as, disabled = false, selected = false, highlighted = false, multiple = false, color: colorProp, textColor: textColorProp, size: sizeProp, dense: denseProp, disableGutters = false, divider = false, autoFocus = false, focusVisibleClassName, onSelect, role = "menuitem", startIcon, shortcut, "aria-keyshortcuts": keyShortcuts, note, onClick, submenu, emptyLabel, secondaryAction, shouldAnnounceSecondaryAction = false, id, className, "data-testid": dataTestid }) {
474
427
  const menu = useMenuListContext();
475
428
  const isMenu = menu !== null;
476
429
  const { color, size, textColor, dense } = useRowLook({
@@ -576,6 +529,7 @@ function MenuItem({ value, children, as, disabled = false, selected = false, hig
576
529
  isSubmenuOpen,
577
530
  submenuId,
578
531
  shortcut,
532
+ keyShortcuts,
579
533
  note,
580
534
  noteId
581
535
  }),
@@ -616,7 +570,7 @@ function MenuItem({ value, children, as, disabled = false, selected = false, hig
616
570
  role: "none",
617
571
  hasSecondaryAction: true,
618
572
  children: [row, /* @__PURE__ */ jsx(SecondaryActionSlot, {
619
- "aria-hidden": true,
573
+ "aria-hidden": shouldAnnounceSecondaryAction ? void 0 : true,
620
574
  children: secondaryAction
621
575
  })]
622
576
  });
@@ -630,7 +584,7 @@ function MenuItem({ value, children, as, disabled = false, selected = false, hig
630
584
  children: [
631
585
  row,
632
586
  hasSecondaryAction && /* @__PURE__ */ jsx(SecondaryActionSlot, {
633
- "aria-hidden": true,
587
+ "aria-hidden": shouldAnnounceSecondaryAction ? void 0 : true,
634
588
  children: secondaryAction
635
589
  }),
636
590
  isSubmenuOpen && /* @__PURE__ */ jsx(Submenu, {
@@ -645,5 +599,4 @@ function MenuItem({ value, children, as, disabled = false, selected = false, hig
645
599
  ]
646
600
  });
647
601
  }
648
- //#endregion
649
602
  export { MenuPaper as i, useMenuPlacement as n, MenuContext as r, MenuItem as t };
package/dist/MenuItem.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_MenuItem = require("./MenuItem-BTP7Ijwi.cjs");
2
+ const require_MenuItem = require("./MenuItem-DXRw3Yca.cjs");
3
3
  exports.MenuItem = require_MenuItem.MenuItem;
@@ -1,2 +1,2 @@
1
- import { a as MenuItemSize, i as MenuItemRole, n as MenuItemColor, o as MenuItemTextColor, r as MenuItemProps, t as MenuItem } from "./index-B4TeaB7b.cjs";
1
+ import { a as MenuItemSize, i as MenuItemRole, n as MenuItemColor, o as MenuItemTextColor, r as MenuItemProps, t as MenuItem } from "./index-Byk1_ms9.cjs";
2
2
  export { MenuItem, MenuItemColor, MenuItemProps, MenuItemRole, MenuItemSize, MenuItemTextColor };
@@ -1,2 +1,2 @@
1
- import { a as MenuItemSize, i as MenuItemRole, n as MenuItemColor, o as MenuItemTextColor, r as MenuItemProps, t as MenuItem } from "./index-B1RFybA_.mjs";
1
+ import { a as MenuItemSize, i as MenuItemRole, n as MenuItemColor, o as MenuItemTextColor, r as MenuItemProps, t as MenuItem } from "./index-Dt274Ngt.mjs";
2
2
  export { MenuItem, MenuItemColor, MenuItemProps, MenuItemRole, MenuItemSize, MenuItemTextColor };
package/dist/MenuItem.mjs CHANGED
@@ -1,2 +1 @@
1
- import { t as MenuItem } from "./MenuItem-DUn4IZKK.mjs";
2
- export { MenuItem };
1
+ export { t as MenuItem } from "./MenuItem-vXHGPK8g.mjs";
@@ -1,25 +1,23 @@
1
- import { a as src_exports, i as props, o as styled, t as createShouldForwardProp } from "./src-DLGYOJMh.mjs";
2
- import { t as themeDefault } from "./themeDefault-Z3KmyIbm.mjs";
3
- import { n as useDefaultProps } from "./theme-Z9_QludW.mjs";
1
+ import { a as src_exports, i as props, o as styled, t as createShouldForwardProp } from "./src-B-rNjHIL.mjs";
2
+ import { n as useDefaultProps } from "./theme-DyyZQFzQ.mjs";
3
+ import { t as themeDefault } from "./themeDefault-BeZJzqJj.mjs";
4
4
  import { createContext, useContext, useEffect, useMemo, useRef } from "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
- //#region src/Menu/MenuActivationContext.ts
6
+ // src/Menu/MenuActivationContext.ts
7
7
  /**
8
8
  * Set by a `Menu` around its lists: told when any row anywhere in the menu is chosen, with
9
9
  * or without a `value`, so the whole menu can close. Internal - not exported from the
10
10
  * subpath.
11
11
  */
12
12
  const MenuActivationContext = createContext(null);
13
- //#endregion
14
- //#region src/Menu/MenuListContext.ts
13
+ // src/Menu/MenuListContext.ts
15
14
  /**
16
15
  * Present inside a `MenuList`. A `MenuItem` that finds it renders as a menu row
17
16
  * (`menuitem`); without it, the row is `Select`'s `option`.
18
17
  */
19
18
  const MenuListContext = createContext(null);
20
19
  const useMenuListContext = () => useContext(MenuListContext);
21
- //#endregion
22
- //#region src/Menu/MenuList/utils/getOwnRows.ts
20
+ // src/Menu/MenuList/utils/getOwnRows.ts
23
21
  const ROW_SELECTOR = "[role=\"menuitem\"], [role=\"menuitemradio\"], [role=\"menuitemcheckbox\"]";
24
22
  /**
25
23
  * The rows that belong to `list` itself, in document order. A nested submenu is a
@@ -33,8 +31,7 @@ function getOwnRows(list) {
33
31
  function isRowEnabled(row) {
34
32
  return row.getAttribute("aria-disabled") !== "true";
35
33
  }
36
- //#endregion
37
- //#region src/Menu/MenuList/utils/getNextRow.ts
34
+ // src/Menu/MenuList/utils/getNextRow.ts
38
35
  /**
39
36
  * The enabled row a key moves to from `current` (which may be absent from `rows`, as when
40
37
  * focus is still on the list itself). Disabled rows are skipped; `shouldWrap` carries
@@ -51,8 +48,7 @@ function getNextRow(rows, current, step, shouldWrap) {
51
48
  if (!shouldWrap) return void 0;
52
49
  return target < 0 ? enabled.at(-1) : enabled[0];
53
50
  }
54
- //#endregion
55
- //#region src/Menu/MenuList/utils/findRowByText.ts
51
+ // src/Menu/MenuList/utils/findRowByText.ts
56
52
  /** A row's label text, without its icon, shortcut or note. */
57
53
  function getRowText(row) {
58
54
  return (row.querySelector("[data-menu-label]") ?? row).textContent.trim().toLowerCase();
@@ -72,8 +68,7 @@ function findRowByText(rows, current, typed) {
72
68
  const prefix = isRepeating ? query[0] : query;
73
69
  return ordered.find((row) => getRowText(row).startsWith(prefix));
74
70
  }
75
- //#endregion
76
- //#region src/Menu/MenuList/MenuList.tsx
71
+ // src/Menu/MenuList/MenuList.tsx
77
72
  const STEP_BY_KEY = {
78
73
  ArrowDown: "next",
79
74
  ArrowUp: "previous",
@@ -183,5 +178,4 @@ function MenuList({ children, onSelect, shouldWrap: shouldWrapProp, shouldAutoFo
183
178
  })
184
179
  });
185
180
  }
186
- //#endregion
187
181
  export { useMenuListContext as a, MenuListContext as i, getNextRow as n, MenuActivationContext as o, getOwnRows as r, MenuList as t };
@@ -1,26 +1,24 @@
1
- const require_src = require("./src-DU81aGy9.cjs");
2
- const require_themeDefault = require("./themeDefault-Cebi08Cv.cjs");
3
- const require_theme = require("./theme-BxXuXRgQ.cjs");
1
+ const require_src = require("./src-yC1f5WR2.cjs");
2
+ const require_theme = require("./theme-XJvMdOnY.cjs");
3
+ const require_themeDefault = require("./themeDefault-DbPHBbNO.cjs");
4
4
  let react = require("react");
5
5
  let react_jsx_runtime = require("react/jsx-runtime");
6
6
  let _soroush_tech_styled_system_should_forward_prop = require("@soroush.tech/styled-system/should-forward-prop");
7
- //#region src/Menu/MenuActivationContext.ts
7
+ // src/Menu/MenuActivationContext.ts
8
8
  /**
9
9
  * Set by a `Menu` around its lists: told when any row anywhere in the menu is chosen, with
10
10
  * or without a `value`, so the whole menu can close. Internal - not exported from the
11
11
  * subpath.
12
12
  */
13
13
  const MenuActivationContext = (0, react.createContext)(null);
14
- //#endregion
15
- //#region src/Menu/MenuListContext.ts
14
+ // src/Menu/MenuListContext.ts
16
15
  /**
17
16
  * Present inside a `MenuList`. A `MenuItem` that finds it renders as a menu row
18
17
  * (`menuitem`); without it, the row is `Select`'s `option`.
19
18
  */
20
19
  const MenuListContext = (0, react.createContext)(null);
21
20
  const useMenuListContext = () => (0, react.useContext)(MenuListContext);
22
- //#endregion
23
- //#region src/Menu/MenuList/utils/getOwnRows.ts
21
+ // src/Menu/MenuList/utils/getOwnRows.ts
24
22
  const ROW_SELECTOR = "[role=\"menuitem\"], [role=\"menuitemradio\"], [role=\"menuitemcheckbox\"]";
25
23
  /**
26
24
  * The rows that belong to `list` itself, in document order. A nested submenu is a
@@ -34,8 +32,7 @@ function getOwnRows(list) {
34
32
  function isRowEnabled(row) {
35
33
  return row.getAttribute("aria-disabled") !== "true";
36
34
  }
37
- //#endregion
38
- //#region src/Menu/MenuList/utils/getNextRow.ts
35
+ // src/Menu/MenuList/utils/getNextRow.ts
39
36
  /**
40
37
  * The enabled row a key moves to from `current` (which may be absent from `rows`, as when
41
38
  * focus is still on the list itself). Disabled rows are skipped; `shouldWrap` carries
@@ -52,8 +49,7 @@ function getNextRow(rows, current, step, shouldWrap) {
52
49
  if (!shouldWrap) return void 0;
53
50
  return target < 0 ? enabled.at(-1) : enabled[0];
54
51
  }
55
- //#endregion
56
- //#region src/Menu/MenuList/utils/findRowByText.ts
52
+ // src/Menu/MenuList/utils/findRowByText.ts
57
53
  /** A row's label text, without its icon, shortcut or note. */
58
54
  function getRowText(row) {
59
55
  return (row.querySelector("[data-menu-label]") ?? row).textContent.trim().toLowerCase();
@@ -73,8 +69,7 @@ function findRowByText(rows, current, typed) {
73
69
  const prefix = isRepeating ? query[0] : query;
74
70
  return ordered.find((row) => getRowText(row).startsWith(prefix));
75
71
  }
76
- //#endregion
77
- //#region src/Menu/MenuList/MenuList.tsx
72
+ // src/Menu/MenuList/MenuList.tsx
78
73
  const STEP_BY_KEY = {
79
74
  ArrowDown: "next",
80
75
  ArrowUp: "previous",
@@ -184,7 +179,6 @@ function MenuList({ children, onSelect, shouldWrap: shouldWrapProp, shouldAutoFo
184
179
  })
185
180
  });
186
181
  }
187
- //#endregion
188
182
  Object.defineProperty(exports, "MenuActivationContext", {
189
183
  enumerable: true,
190
184
  get: function() {
@@ -1,7 +1,6 @@
1
- import { W as Theme } from "./index-DJ0f69wh.cjs";
2
- import "./index-DchHf5cF.cjs";
1
+ import { nt as Theme } from "./index-Lsm4v8fB.cjs";
2
+ import "./index-CfB7OceY.cjs";
3
3
  import { SyntheticEvent } from "react";
4
- //#region src/Menu/MenuListContext.d.ts
5
4
  type MenuItemValue = string | number;
6
5
  interface MenuListContextValue {
7
6
  /** Fired when a row is chosen, with its `value` when it has one. */
@@ -17,5 +16,4 @@ interface MenuListContextValue {
17
16
  */
18
17
  declare const MenuListContext: import("react").Context<MenuListContextValue | null>;
19
18
  declare const useMenuListContext: () => MenuListContextValue | null;
20
- //#endregion
21
19
  export { useMenuListContext as i, MenuListContext as n, MenuListContextValue as r, MenuItemValue as t };
@@ -1,7 +1,6 @@
1
- import { W as Theme } from "./index-CJhK7JND.mjs";
2
- import "./index-h4dYtVrp.mjs";
1
+ import { nt as Theme } from "./index-CR8qkP8U.mjs";
2
+ import "./index-CF_pl72E.mjs";
3
3
  import { SyntheticEvent } from "react";
4
- //#region src/Menu/MenuListContext.d.ts
5
4
  type MenuItemValue = string | number;
6
5
  interface MenuListContextValue {
7
6
  /** Fired when a row is chosen, with its `value` when it has one. */
@@ -17,5 +16,4 @@ interface MenuListContextValue {
17
16
  */
18
17
  declare const MenuListContext: import("react").Context<MenuListContextValue | null>;
19
18
  declare const useMenuListContext: () => MenuListContextValue | null;
20
- //#endregion
21
19
  export { useMenuListContext as i, MenuListContext as n, MenuListContextValue as r, MenuItemValue as t };
@@ -1,11 +1,12 @@
1
- import { o as styled, t as createShouldForwardProp } from "./src-DLGYOJMh.mjs";
1
+ import { o as styled, t as createShouldForwardProp } from "./src-B-rNjHIL.mjs";
2
2
  import { View } from "./View.mjs";
3
+ import { Portal } from "./Portal.mjs";
3
4
  import { Backdrop } from "./Backdrop.mjs";
4
5
  import { FocusTrap } from "./FocusTrap.mjs";
5
- import { Portal } from "./Portal.mjs";
6
- import { useCallback, useEffect, useMemo, useRef } from "react";
6
+ import { t as useMergedRefs } from "./useMergedRefs-CdfwtmUd.mjs";
7
+ import { useCallback, useEffect, useRef } from "react";
7
8
  import { jsx, jsxs } from "react/jsx-runtime";
8
- //#region src/utils/ownerDocument.ts
9
+ // src/utils/ownerDocument.ts
9
10
  /**
10
11
  * Returns the `Document` that owns the given node, falling back to the global
11
12
  * `document`. Lets the modal logic work across iframes / portaled containers.
@@ -13,8 +14,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
13
14
  function ownerDocument(node) {
14
15
  return node?.ownerDocument ?? document;
15
16
  }
16
- //#endregion
17
- //#region src/Modal/utils/ownerWindow.ts
17
+ // src/Modal/utils/ownerWindow.ts
18
18
  /**
19
19
  * Returns the `Window` that owns the given node, falling back to the global
20
20
  * `window`. Used to read viewport metrics for scroll-lock calculations.
@@ -22,8 +22,7 @@ function ownerDocument(node) {
22
22
  function ownerWindow(node) {
23
23
  return ownerDocument(node).defaultView ?? window;
24
24
  }
25
- //#endregion
26
- //#region src/Modal/utils/getScrollbarSize.ts
25
+ // src/Modal/utils/getScrollbarSize.ts
27
26
  /**
28
27
  * Width of the vertical scrollbar for the given window, in pixels. Equal to the
29
28
  * gap between the inner window width and the document's client width. Used to
@@ -33,8 +32,7 @@ function getScrollbarSize(win) {
33
32
  const documentWidth = win.document.documentElement.clientWidth;
34
33
  return Math.abs(win.innerWidth - documentWidth);
35
34
  }
36
- //#endregion
37
- //#region src/Modal/ModalManager.ts
35
+ // src/Modal/ModalManager.ts
38
36
  const ARIA_HIDDEN_FORBIDDEN_TAGS = /* @__PURE__ */ new Set([
39
37
  "TEMPLATE",
40
38
  "SCRIPT",
@@ -163,8 +161,7 @@ var ModalManager = class {
163
161
  return this.modals.at(-1) === modal;
164
162
  }
165
163
  };
166
- //#endregion
167
- //#region src/Modal/hooks/useEventCallback.ts
164
+ // src/Modal/hooks/useEventCallback.ts
168
165
  /**
169
166
  * Returns a stable function identity that always calls the latest `fn`. Lets
170
167
  * effects depend on the callback without re-running when the handler changes.
@@ -179,28 +176,7 @@ function useEventCallback(fn) {
179
176
  });
180
177
  return useCallback((...args) => ref.current(...args), []);
181
178
  }
182
- //#endregion
183
- //#region src/Modal/hooks/useMergedRefs.ts
184
- function assignRef(ref, value) {
185
- if (typeof ref === "function") ref(value);
186
- else if (ref) ref.current = value;
187
- }
188
- /**
189
- * Merges two refs into a single stable ref callback so one DOM node can be
190
- * tracked by both an internal ref and a forwarded `ref`. Returns `null` when
191
- * both refs are absent, so React skips attaching a callback ref entirely.
192
- */
193
- function useMergedRefs(refA, refB) {
194
- return useMemo(() => {
195
- if (refA == null && refB == null) return null;
196
- return (value) => {
197
- assignRef(refA, value);
198
- assignRef(refB, value);
199
- };
200
- }, [refA, refB]);
201
- }
202
- //#endregion
203
- //#region src/Modal/useModal.ts
179
+ // src/Modal/useModal.ts
204
180
  const modalManager = new ModalManager();
205
181
  function getContainer(container) {
206
182
  return typeof container === "function" ? container() : container ?? null;
@@ -274,8 +250,7 @@ function useModal(parameters) {
274
250
  isTopModal
275
251
  };
276
252
  }
277
- //#endregion
278
- //#region src/Modal/Modal.tsx
253
+ // src/Modal/Modal.tsx
279
254
  const shouldForwardProp = createShouldForwardProp(["scroll", "layer"]);
280
255
  const ModalRoot = styled(View, {
281
256
  name: "Modal",
@@ -328,5 +303,4 @@ function Modal({ isOpen, children, onClose, hasBackdrop = true, shouldKeepMounte
328
303
  children: content
329
304
  }) : content;
330
305
  }
331
- //#endregion
332
306
  export { hideFromAria as a, exposeToAria as i, useModal as n, ModalManager as r, Modal as t };
@@ -1,12 +1,13 @@
1
- const require_src = require("./src-DU81aGy9.cjs");
1
+ const require_src = require("./src-yC1f5WR2.cjs");
2
2
  const require_View = require("./View.cjs");
3
+ const require_Portal = require("./Portal.cjs");
3
4
  const require_Backdrop = require("./Backdrop.cjs");
4
5
  const require_FocusTrap = require("./FocusTrap.cjs");
5
- const require_Portal = require("./Portal.cjs");
6
+ const require_useMergedRefs = require("./useMergedRefs-BtctsnmX.cjs");
6
7
  let react = require("react");
7
8
  let react_jsx_runtime = require("react/jsx-runtime");
8
9
  let _soroush_tech_styled_system_should_forward_prop = require("@soroush.tech/styled-system/should-forward-prop");
9
- //#region src/utils/ownerDocument.ts
10
+ // src/utils/ownerDocument.ts
10
11
  /**
11
12
  * Returns the `Document` that owns the given node, falling back to the global
12
13
  * `document`. Lets the modal logic work across iframes / portaled containers.
@@ -14,8 +15,7 @@ let _soroush_tech_styled_system_should_forward_prop = require("@soroush.tech/sty
14
15
  function ownerDocument(node) {
15
16
  return node?.ownerDocument ?? document;
16
17
  }
17
- //#endregion
18
- //#region src/Modal/utils/ownerWindow.ts
18
+ // src/Modal/utils/ownerWindow.ts
19
19
  /**
20
20
  * Returns the `Window` that owns the given node, falling back to the global
21
21
  * `window`. Used to read viewport metrics for scroll-lock calculations.
@@ -23,8 +23,7 @@ function ownerDocument(node) {
23
23
  function ownerWindow(node) {
24
24
  return ownerDocument(node).defaultView ?? window;
25
25
  }
26
- //#endregion
27
- //#region src/Modal/utils/getScrollbarSize.ts
26
+ // src/Modal/utils/getScrollbarSize.ts
28
27
  /**
29
28
  * Width of the vertical scrollbar for the given window, in pixels. Equal to the
30
29
  * gap between the inner window width and the document's client width. Used to
@@ -34,8 +33,7 @@ function getScrollbarSize(win) {
34
33
  const documentWidth = win.document.documentElement.clientWidth;
35
34
  return Math.abs(win.innerWidth - documentWidth);
36
35
  }
37
- //#endregion
38
- //#region src/Modal/ModalManager.ts
36
+ // src/Modal/ModalManager.ts
39
37
  const ARIA_HIDDEN_FORBIDDEN_TAGS = /* @__PURE__ */ new Set([
40
38
  "TEMPLATE",
41
39
  "SCRIPT",
@@ -164,8 +162,7 @@ var ModalManager = class {
164
162
  return this.modals.at(-1) === modal;
165
163
  }
166
164
  };
167
- //#endregion
168
- //#region src/Modal/hooks/useEventCallback.ts
165
+ // src/Modal/hooks/useEventCallback.ts
169
166
  /**
170
167
  * Returns a stable function identity that always calls the latest `fn`. Lets
171
168
  * effects depend on the callback without re-running when the handler changes.
@@ -180,28 +177,7 @@ function useEventCallback(fn) {
180
177
  });
181
178
  return (0, react.useCallback)((...args) => ref.current(...args), []);
182
179
  }
183
- //#endregion
184
- //#region src/Modal/hooks/useMergedRefs.ts
185
- function assignRef(ref, value) {
186
- if (typeof ref === "function") ref(value);
187
- else if (ref) ref.current = value;
188
- }
189
- /**
190
- * Merges two refs into a single stable ref callback so one DOM node can be
191
- * tracked by both an internal ref and a forwarded `ref`. Returns `null` when
192
- * both refs are absent, so React skips attaching a callback ref entirely.
193
- */
194
- function useMergedRefs(refA, refB) {
195
- return (0, react.useMemo)(() => {
196
- if (refA == null && refB == null) return null;
197
- return (value) => {
198
- assignRef(refA, value);
199
- assignRef(refB, value);
200
- };
201
- }, [refA, refB]);
202
- }
203
- //#endregion
204
- //#region src/Modal/useModal.ts
180
+ // src/Modal/useModal.ts
205
181
  const modalManager = new ModalManager();
206
182
  function getContainer(container) {
207
183
  return typeof container === "function" ? container() : container ?? null;
@@ -211,7 +187,7 @@ function useModal(parameters) {
211
187
  const modal = (0, react.useRef)({});
212
188
  const mountNodeRef = (0, react.useRef)(null);
213
189
  const modalRef = (0, react.useRef)(null);
214
- const handleRef = useMergedRefs(modalRef, rootRef);
190
+ const handleRef = require_useMergedRefs.useMergedRefs(modalRef, rootRef);
215
191
  const getModal = () => {
216
192
  modal.current.modalRef = modalRef.current;
217
193
  modal.current.mount = mountNodeRef.current;
@@ -275,8 +251,7 @@ function useModal(parameters) {
275
251
  isTopModal
276
252
  };
277
253
  }
278
- //#endregion
279
- //#region src/Modal/Modal.tsx
254
+ // src/Modal/Modal.tsx
280
255
  const shouldForwardProp = (0, _soroush_tech_styled_system_should_forward_prop.createShouldForwardProp)(["scroll", "layer"]);
281
256
  const ModalRoot = require_src.styled(require_View.View, {
282
257
  name: "Modal",
@@ -329,7 +304,6 @@ function Modal({ isOpen, children, onClose, hasBackdrop = true, shouldKeepMounte
329
304
  children: content
330
305
  }) : content;
331
306
  }
332
- //#endregion
333
307
  Object.defineProperty(exports, "Modal", {
334
308
  enumerable: true,
335
309
  get: function() {