@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
@@ -0,0 +1,263 @@
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 useMergedRefs } from "./useMergedRefs-CdfwtmUd.mjs";
4
+ import { useEffect, useRef, useState } from "react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ /**
7
+ * The thumb for a box scrolled to `offset`, or `null` when nothing overflows. Its size is the
8
+ * share of the content in view, never under `MIN_THUMB_PX`; it travels the rest of the track as
9
+ * the box travels its scroll range, so the thumb end meets the track end at the end.
10
+ */
11
+ const getThumb = ({ offset, content, view }) => {
12
+ const range = content - view;
13
+ if (range <= 0 || view <= 0) return null;
14
+ const size = Math.min(100, Math.max(view / content, 24 / view) * 100);
15
+ return {
16
+ start: Math.min(1, Math.max(0, offset / range)) * (100 - size),
17
+ size
18
+ };
19
+ };
20
+ /**
21
+ * The scroll offset a thumb dragged `by` pixels from `from` asks for: the drag covers the thumb
22
+ * travel, which maps onto the whole scroll range of the box.
23
+ */
24
+ const getScrollForDrag = (from, by, metrics) => {
25
+ const thumb = getThumb(metrics);
26
+ if (thumb === null) return from;
27
+ const travel = metrics.view * (1 - thumb.size / 100);
28
+ const range = metrics.content - metrics.view;
29
+ return Math.min(range, Math.max(0, from + by * range / travel));
30
+ };
31
+ // src/ScrollArea/hooks/useScrollThumb.ts
32
+ const getMetrics = (box, axis) => axis === "y" ? {
33
+ offset: box.scrollTop,
34
+ content: box.scrollHeight,
35
+ view: box.clientHeight
36
+ } : {
37
+ offset: box.scrollLeft,
38
+ content: box.scrollWidth,
39
+ view: box.clientWidth
40
+ };
41
+ const scrollTo = (box, axis, offset) => {
42
+ if (axis === "y") box.scrollTop = offset;
43
+ else box.scrollLeft = offset;
44
+ };
45
+ /**
46
+ * Follows the box `ref` holds along `axis`: its thumb is measured again when it scrolls and when
47
+ * it or its content changes size. A press on the thumb drags it, with the pointer captured so the
48
+ * drag goes on wherever the pointer goes; a press on the track pages toward it, as a native track.
49
+ */
50
+ function useScrollThumb(ref, axis) {
51
+ const [thumb, setThumb] = useState(null);
52
+ const [isDragging, setIsDragging] = useState(false);
53
+ useEffect(() => {
54
+ const box = ref.current;
55
+ const measure = () => setThumb(getThumb(getMetrics(box, axis)));
56
+ measure();
57
+ box.addEventListener("scroll", measure, { passive: true });
58
+ const observer = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(measure);
59
+ observer?.observe(box);
60
+ for (const child of box.children) observer?.observe(child);
61
+ return () => {
62
+ box.removeEventListener("scroll", measure);
63
+ observer?.disconnect();
64
+ };
65
+ }, [ref, axis]);
66
+ const stopDrag = useRef(null);
67
+ useEffect(() => () => stopDrag.current?.(), []);
68
+ const startDrag = (event, box) => {
69
+ const target = event.currentTarget;
70
+ const origin = axis === "y" ? event.clientY : event.clientX;
71
+ const from = getMetrics(box, axis).offset;
72
+ const handleMove = (moved) => {
73
+ const by = (axis === "y" ? moved.clientY : moved.clientX) - origin;
74
+ scrollTo(box, axis, getScrollForDrag(from, by, getMetrics(box, axis)));
75
+ };
76
+ const end = () => {
77
+ target.removeEventListener("pointermove", handleMove);
78
+ target.removeEventListener("pointerup", end);
79
+ target.removeEventListener("pointercancel", end);
80
+ stopDrag.current = null;
81
+ setIsDragging(false);
82
+ };
83
+ target.setPointerCapture(event.pointerId);
84
+ target.addEventListener("pointermove", handleMove);
85
+ target.addEventListener("pointerup", end);
86
+ target.addEventListener("pointercancel", end);
87
+ stopDrag.current = end;
88
+ setIsDragging(true);
89
+ };
90
+ const onTrackPointerDown = (event) => {
91
+ const box = ref.current;
92
+ if (thumb === null || event.button !== 0) return;
93
+ event.preventDefault();
94
+ const track = event.currentTarget.getBoundingClientRect();
95
+ const at = axis === "y" ? (event.clientY - track.top) / track.height * 100 : (event.clientX - track.left) / track.width * 100;
96
+ if (at >= thumb.start && at <= thumb.start + thumb.size) {
97
+ startDrag(event, box);
98
+ return;
99
+ }
100
+ const page = getMetrics(box, axis).view * (at < thumb.start ? -1 : 1);
101
+ box.scrollBy(axis === "y" ? { top: page } : { left: page });
102
+ };
103
+ return {
104
+ thumb,
105
+ onTrackPointerDown,
106
+ isDragging
107
+ };
108
+ }
109
+ // src/ScrollArea/ScrollArea.tsx
110
+ const layoutSystem = (0, src_exports.system)({
111
+ width: true,
112
+ minWidth: true,
113
+ maxWidth: true,
114
+ height: true,
115
+ minHeight: true,
116
+ maxHeight: true
117
+ });
118
+ const ScrollAreaRoot = styled("div", {
119
+ name: "ScrollArea",
120
+ label: "ScrollArea",
121
+ shouldForwardProp: createShouldForwardProp([...props]),
122
+ systemProps: [src_exports.space, layoutSystem]
123
+ })({
124
+ position: "relative",
125
+ display: "flex",
126
+ flex: "1 1 auto",
127
+ minWidth: 0,
128
+ minHeight: 0,
129
+ "&:hover > [data-scroll-track] > [data-scroll-thumb], &:focus-within > [data-scroll-track] > [data-scroll-thumb]": { opacity: 1 }
130
+ });
131
+ const ScrollAreaViewport = styled("div", {
132
+ name: "ScrollArea",
133
+ slot: "viewport",
134
+ label: "ScrollAreaViewport",
135
+ shouldForwardProp: createShouldForwardProp(["axes"])
136
+ })(({ axes }) => ({
137
+ flex: 1,
138
+ minWidth: 0,
139
+ minHeight: 0,
140
+ overflowX: axes === "y" ? "hidden" : "auto",
141
+ overflowY: axes === "x" ? "hidden" : "auto",
142
+ overscrollBehaviorX: axes === "y" ? "auto" : "none",
143
+ overscrollBehaviorY: axes === "x" ? "auto" : "none",
144
+ scrollbarWidth: "none",
145
+ "&::-webkit-scrollbar": { display: "none" }
146
+ }));
147
+ const ScrollAreaTrack = styled("div", {
148
+ name: "ScrollArea",
149
+ slot: "track",
150
+ label: "ScrollAreaTrack",
151
+ shouldForwardProp: createShouldForwardProp(["isDragging", "axis"])
152
+ })(({ theme, isDragging, axis }) => {
153
+ const line = `${theme.borderWidths.thin} solid ${isDragging ? (0, src_exports.get)(theme, "border.default") : "transparent"}`;
154
+ return {
155
+ position: "absolute",
156
+ ...axis === "y" ? {
157
+ top: 0,
158
+ right: 0,
159
+ bottom: 0,
160
+ width: theme.space[1.25],
161
+ borderLeft: line
162
+ } : {
163
+ left: 0,
164
+ right: 0,
165
+ bottom: 0,
166
+ height: theme.space[1.25],
167
+ borderTop: line
168
+ },
169
+ backgroundColor: isDragging ? (0, src_exports.get)(theme, "background.scrollbarTrack") : "transparent",
170
+ "&:hover": {
171
+ borderColor: (0, src_exports.get)(theme, "border.default"),
172
+ backgroundColor: (0, src_exports.get)(theme, "background.scrollbarTrack")
173
+ }
174
+ };
175
+ });
176
+ const ScrollAreaThumb = styled("div", {
177
+ name: "ScrollArea",
178
+ slot: "thumb",
179
+ label: "ScrollAreaThumb",
180
+ shouldForwardProp: createShouldForwardProp(["isShown", "axis"])
181
+ })(({ theme, isShown, axis }) => {
182
+ const inset = `calc((${theme.space[1.25]} - ${theme.space[.75]}) / 2 - ${theme.borderWidths.thin})`;
183
+ return {
184
+ position: "absolute",
185
+ ...axis === "y" ? {
186
+ left: inset,
187
+ width: theme.space[.75]
188
+ } : {
189
+ top: inset,
190
+ height: theme.space[.75]
191
+ },
192
+ borderRadius: "9999px",
193
+ backgroundColor: (0, src_exports.get)(theme, "background.scrollbar"),
194
+ opacity: isShown ? 1 : 0,
195
+ transition: `opacity ${theme.transitions.duration.short}ms`,
196
+ "@media (prefers-reduced-motion: reduce)": { transition: "none" }
197
+ };
198
+ });
199
+ function ScrollBar({ box, axis }) {
200
+ const { thumb, onTrackPointerDown, isDragging } = useScrollThumb(box, axis);
201
+ if (thumb === null) return null;
202
+ const place = axis === "y" ? {
203
+ top: `${thumb.start}%`,
204
+ height: `${thumb.size}%`
205
+ } : {
206
+ left: `${thumb.start}%`,
207
+ width: `${thumb.size}%`
208
+ };
209
+ return /* @__PURE__ */ jsx(ScrollAreaTrack, {
210
+ "aria-hidden": true,
211
+ "data-scroll-track": axis,
212
+ axis,
213
+ isDragging,
214
+ onPointerDown: onTrackPointerDown,
215
+ children: /* @__PURE__ */ jsx(ScrollAreaThumb, {
216
+ "data-scroll-thumb": true,
217
+ axis,
218
+ isShown: isDragging,
219
+ style: place
220
+ })
221
+ });
222
+ }
223
+ /**
224
+ * @description A scrolling area whose scrollbars are drawn over its content rather than beside
225
+ * it - so a rounded panel keeps its corner clean - and show only while the pointer is over it or
226
+ * focus is inside. Scrolling itself stays native: the wheel, the keyboard and touch work as they
227
+ * do anywhere. Each axis that overflows gets a track, down the right edge or along the bottom,
228
+ * whose thumb drags and whose track pages. It grows to its content and no further than its
229
+ * container, or `maxHeight`, allows. Colors come from `theme.background.scrollbar` and
230
+ * `scrollbarTrack`, its size from `theme.space`.
231
+ */
232
+ function ScrollArea({ children, axes: axesProp, viewportRef, tabIndex, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, className, "data-testid": dataTestid, ...rest }) {
233
+ const dp = useDefaultProps("ScrollArea");
234
+ const axes = axesProp ?? dp.axes ?? "y";
235
+ const box = useRef(null);
236
+ const mergedRef = useMergedRefs(box, viewportRef);
237
+ return /* @__PURE__ */ jsxs(ScrollAreaRoot, {
238
+ className,
239
+ "data-testid": dataTestid,
240
+ ...rest,
241
+ children: [
242
+ /* @__PURE__ */ jsx(ScrollAreaViewport, {
243
+ ref: mergedRef,
244
+ axes,
245
+ "data-scroll-viewport": true,
246
+ tabIndex,
247
+ role: ariaLabel || ariaLabelledby ? "region" : void 0,
248
+ "aria-label": ariaLabel,
249
+ "aria-labelledby": ariaLabelledby,
250
+ children
251
+ }),
252
+ axes !== "x" && /* @__PURE__ */ jsx(ScrollBar, {
253
+ box,
254
+ axis: "y"
255
+ }),
256
+ axes !== "y" && /* @__PURE__ */ jsx(ScrollBar, {
257
+ box,
258
+ axis: "x"
259
+ })
260
+ ]
261
+ });
262
+ }
263
+ export { ScrollArea };
package/dist/Select.cjs CHANGED
@@ -1,16 +1,16 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_src = require("./src-DU81aGy9.cjs");
3
- const require_themeDefault = require("./themeDefault-Cebi08Cv.cjs");
4
- const require_theme = require("./theme-BxXuXRgQ.cjs");
5
- const require_Icon = require("./Icon-D-EWsBVg.cjs");
2
+ const require_src = require("./src-yC1f5WR2.cjs");
3
+ const require_theme = require("./theme-XJvMdOnY.cjs");
4
+ const require_themeDefault = require("./themeDefault-DbPHBbNO.cjs");
5
+ const require_Icon = require("./Icon-C5Iz5ekp.cjs");
6
+ const require_inputVariantStyles = require("./inputVariantStyles-DhClkDHY.cjs");
6
7
  const require_FormControl = require("./FormControl.cjs");
7
- const require_inputVariantStyles = require("./inputVariantStyles-BBkkYQtE.cjs");
8
8
  const require_NativeSelect = require("./NativeSelect.cjs");
9
- const require_Popover = require("./Popover-CiZfgiKE.cjs");
9
+ const require_Popover = require("./Popover-BniabG7D.cjs");
10
10
  let react = require("react");
11
11
  let react_jsx_runtime = require("react/jsx-runtime");
12
12
  let _soroush_tech_styled_system_should_forward_prop = require("@soroush.tech/styled-system/should-forward-prop");
13
- //#region src/Select/hooks/useSelectPopover.ts
13
+ // src/Select/hooks/useSelectPopover.ts
14
14
  /**
15
15
  * Owns `Select`'s open state (controlled or uncontrolled) and fires the open/close
16
16
  * callbacks. Positioning is delegated to `Popover`.
@@ -30,8 +30,7 @@ function useSelectPopover({ open: openProp, defaultOpen = false, onOpen, onClose
30
30
  }, [isControlled, onClose])
31
31
  };
32
32
  }
33
- //#endregion
34
- //#region src/Select/utils/getOptionsFromChildren.ts
33
+ // src/Select/utils/getOptionsFromChildren.ts
35
34
  /**
36
35
  * Flattens `Select`'s `MenuItem` children into a plain option list. Any child that
37
36
  * is not a valid element carrying a `value` prop (e.g. whitespace, `null`) is skipped,
@@ -49,8 +48,7 @@ function getOptionsFromChildren(children) {
49
48
  }];
50
49
  });
51
50
  }
52
- //#endregion
53
- //#region src/Select/utils/getNextEnabledIndex.ts
51
+ // src/Select/utils/getNextEnabledIndex.ts
54
52
  /**
55
53
  * Walks `options` from `from` by `step` (+1 / -1), skipping disabled rows, and
56
54
  * returns the first enabled index reached. Stops at the edges (no wrap-around);
@@ -66,14 +64,12 @@ function getEdgeEnabledIndex(options, edge) {
66
64
  for (let index = options.length - 1; index >= 0; index -= 1) if (!options[index].disabled) return index;
67
65
  return -1;
68
66
  }
69
- //#endregion
70
- //#region src/Select/utils/isOptionSelected.ts
67
+ // src/Select/utils/isOptionSelected.ts
71
68
  /** True when `optionValue` is the current single value, or is contained in the multiple-mode array. */
72
69
  function isOptionSelected(value, optionValue) {
73
70
  return Array.isArray(value) ? value.includes(optionValue) : value === optionValue;
74
71
  }
75
- //#endregion
76
- //#region src/Select/utils/computeNextValue.ts
72
+ // src/Select/utils/computeNextValue.ts
77
73
  /**
78
74
  * The value that results from choosing `optionValue`.
79
75
  * - Multiple mode: toggles `optionValue` in/out of the array, preserving order.
@@ -83,8 +79,7 @@ function computeNextValue(value, optionValue) {
83
79
  if (!Array.isArray(value)) return optionValue;
84
80
  return value.includes(optionValue) ? value.filter((item) => item !== optionValue) : [...value, optionValue];
85
81
  }
86
- //#endregion
87
- //#region src/Select/utils/resolveDisplayLabel.ts
82
+ // src/Select/utils/resolveDisplayLabel.ts
88
83
  /**
89
84
  * The label(s) to show in the trigger for the current `value`, or `null` when nothing
90
85
  * is selected (the caller then falls back to the placeholder). Multiple-mode selections
@@ -103,8 +98,7 @@ function resolveDisplayLabel(options, value) {
103
98
  const match = options.find((option) => option.value === value);
104
99
  return match ? match.label : null;
105
100
  }
106
- //#endregion
107
- //#region src/Select/Select.tsx
101
+ // src/Select/Select.tsx
108
102
  const shouldForwardProp = (0, _soroush_tech_styled_system_should_forward_prop.createShouldForwardProp)([
109
103
  ..._soroush_tech_styled_system_should_forward_prop.props,
110
104
  "variant",
@@ -137,14 +131,10 @@ const borderRadiusStyle = ({ variant: v, borderRadius, theme }) => {
137
131
  const colorBorder = ({ color, error, theme }) => ({ borderColor: error ? (0, require_src.src_exports.get)(theme, "palette.error.main") : (0, require_src.src_exports.get)(theme, `palette.${color}.light`) });
138
132
  const activeBorder = ({ color, error, open, theme }) => {
139
133
  const activeColor = error ? (0, require_src.src_exports.get)(theme, "palette.error.main") : (0, require_src.src_exports.get)(theme, `palette.${color}.main`);
140
- const focusColor = (0, require_src.src_exports.get)(theme, `palette.${require_themeDefault.themeDefault(theme, "color", "primary")}.main`);
141
134
  return {
142
135
  ...open ? { borderColor: activeColor } : {},
143
136
  "&:focus": { borderColor: activeColor },
144
- "&:focus-visible": {
145
- outline: `2px solid ${focusColor}`,
146
- outlineOffset: "2px"
147
- }
137
+ "&:focus-visible": require_inputVariantStyles.getFocusRing(theme, color, error)
148
138
  };
149
139
  };
150
140
  const backgroundStyle = ({ color, textColor, bg, variant: v, theme }) => ({
@@ -164,7 +154,8 @@ const sizeVariants = ({ theme, sizeToken }) => {
164
154
  fontSize: theme.fontSizes[s.fontSize]
165
155
  };
166
156
  };
167
- const layoutStyles = ({ fullWidth, disabled }) => ({
157
+ const layoutStyles = ({ theme, fullWidth, disabled }) => ({
158
+ minWidth: require_inputVariantStyles.getInputMinWidth(theme),
168
159
  ...fullWidth ? {
169
160
  display: "flex",
170
161
  width: "100%"
@@ -463,8 +454,8 @@ function NonNativeSelect({ children, options, value, autoWidth, onChangeValue, m
463
454
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TriggerValue, { children: showPlaceholder ? placeholder ?? "​" : display })]
464
455
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Icon.Icon, {
465
456
  name: iconName ?? (open ? "expand_less" : "expand_more"),
466
- size: "1.25rem",
467
- color: "secondary",
457
+ size,
458
+ color: "inherit",
468
459
  ...iconProps
469
460
  })]
470
461
  }),
@@ -508,5 +499,4 @@ function NonNativeSelect({ children, options, value, autoWidth, onChangeValue, m
508
499
  })
509
500
  ] });
510
501
  }
511
- //#endregion
512
502
  exports.Select = Select;
package/dist/Select.d.cts CHANGED
@@ -1,12 +1,9 @@
1
- import { W as Theme } from "./index-DJ0f69wh.cjs";
2
- import { n as IconProps, r as IconName } from "./index-Dv_fk1_F.cjs";
1
+ import { nt as Theme } from "./index-Lsm4v8fB.cjs";
2
+ import { n as IconProps, r as IconName } from "./index-CAt0-L4i.cjs";
3
3
  import { ReactNode } from "react";
4
4
  import { LayoutProps, SpaceProps } from "@soroush.tech/styled-system";
5
- //#region src/Select/utils/isOptionSelected.d.ts
6
5
  /** The union of value shapes `Select` holds: a single value, or an array in multiple mode. */
7
6
  type SelectValue = string | number | Array<string | number>;
8
- //#endregion
9
- //#region src/Select/Select.d.ts
10
7
  type SelectColor = keyof Theme['palette'];
11
8
  type SelectTextColor = keyof Theme['text'];
12
9
  type SelectBackgroundToken = keyof Theme['background'];
@@ -65,5 +62,4 @@ interface SelectProps extends SpaceProps<Theme>, Pick<LayoutProps<Theme>, 'width
65
62
  'data-testid'?: string;
66
63
  }
67
64
  declare function Select({ children, native, multiple, autoWidth, value: valueProp, defaultValue, onChange, open: openProp, defaultOpen, onOpen, onClose, placeholder, renderValue, borderRadius, color: colorProp, textColor: textColorProp, bg: bgProp, disabled: disabledProp, error: errorProp, fullWidth: fullWidthProp, required: requiredProp, size: sizeProp, variant: variantProp, iconName, iconProps, id: idProp, name, labelId: labelIdProp, 'aria-label': ariaLabel, className, 'data-testid': dataTestid, ...spaceProps }: Readonly<SelectProps>): import("react").JSX.Element;
68
- //#endregion
69
65
  export { Select, SelectBackgroundToken, SelectColor, SelectProps, SelectSize, SelectTextColor, type SelectValue, SelectVariant };
package/dist/Select.d.mts CHANGED
@@ -1,12 +1,9 @@
1
- import { W as Theme } from "./index-CJhK7JND.mjs";
2
- import { n as IconProps, r as IconName } from "./index-ha1WjSZ5.mjs";
1
+ import { nt as Theme } from "./index-CR8qkP8U.mjs";
2
+ import { n as IconProps, r as IconName } from "./index-D48qVo1X.mjs";
3
3
  import { LayoutProps, SpaceProps } from "@soroush.tech/styled-system";
4
4
  import { ReactNode } from "react";
5
- //#region src/Select/utils/isOptionSelected.d.ts
6
5
  /** The union of value shapes `Select` holds: a single value, or an array in multiple mode. */
7
6
  type SelectValue = string | number | Array<string | number>;
8
- //#endregion
9
- //#region src/Select/Select.d.ts
10
7
  type SelectColor = keyof Theme['palette'];
11
8
  type SelectTextColor = keyof Theme['text'];
12
9
  type SelectBackgroundToken = keyof Theme['background'];
@@ -65,5 +62,4 @@ interface SelectProps extends SpaceProps<Theme>, Pick<LayoutProps<Theme>, 'width
65
62
  'data-testid'?: string;
66
63
  }
67
64
  declare function Select({ children, native, multiple, autoWidth, value: valueProp, defaultValue, onChange, open: openProp, defaultOpen, onOpen, onClose, placeholder, renderValue, borderRadius, color: colorProp, textColor: textColorProp, bg: bgProp, disabled: disabledProp, error: errorProp, fullWidth: fullWidthProp, required: requiredProp, size: sizeProp, variant: variantProp, iconName, iconProps, id: idProp, name, labelId: labelIdProp, 'aria-label': ariaLabel, className, 'data-testid': dataTestid, ...spaceProps }: Readonly<SelectProps>): import("react").JSX.Element;
68
- //#endregion
69
65
  export { Select, SelectBackgroundToken, SelectColor, SelectProps, SelectSize, SelectTextColor, type SelectValue, SelectVariant };
package/dist/Select.mjs CHANGED
@@ -1,14 +1,14 @@
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 { r as useTheme } from "./theme-Z9_QludW.mjs";
4
- import { t as Icon } from "./Icon-BihOAP4u.mjs";
1
+ import { a as src_exports, i as props, o as styled, t as createShouldForwardProp } from "./src-B-rNjHIL.mjs";
2
+ import { r as useTheme } from "./theme-DyyZQFzQ.mjs";
3
+ import { t as themeDefault } from "./themeDefault-BeZJzqJj.mjs";
4
+ import { t as Icon } from "./Icon-XpXU-SuF.mjs";
5
+ import { n as getFocusRing, r as getInputMinWidth, t as inputVariantStyles } from "./inputVariantStyles-DCGRUY9c.mjs";
5
6
  import { useFormControl } from "./FormControl.mjs";
6
- import { t as inputVariantStyles } from "./inputVariantStyles-CcqpGfuP.mjs";
7
7
  import { NativeSelect } from "./NativeSelect.mjs";
8
- import { t as Popover } from "./Popover-QjM5Z1CR.mjs";
8
+ import { t as Popover } from "./Popover-Dnmeo0Av.mjs";
9
9
  import { Children, cloneElement, isValidElement, useCallback, useId, useState } from "react";
10
10
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
11
- //#region src/Select/hooks/useSelectPopover.ts
11
+ // src/Select/hooks/useSelectPopover.ts
12
12
  /**
13
13
  * Owns `Select`'s open state (controlled or uncontrolled) and fires the open/close
14
14
  * callbacks. Positioning is delegated to `Popover`.
@@ -28,8 +28,7 @@ function useSelectPopover({ open: openProp, defaultOpen = false, onOpen, onClose
28
28
  }, [isControlled, onClose])
29
29
  };
30
30
  }
31
- //#endregion
32
- //#region src/Select/utils/getOptionsFromChildren.ts
31
+ // src/Select/utils/getOptionsFromChildren.ts
33
32
  /**
34
33
  * Flattens `Select`'s `MenuItem` children into a plain option list. Any child that
35
34
  * is not a valid element carrying a `value` prop (e.g. whitespace, `null`) is skipped,
@@ -47,8 +46,7 @@ function getOptionsFromChildren(children) {
47
46
  }];
48
47
  });
49
48
  }
50
- //#endregion
51
- //#region src/Select/utils/getNextEnabledIndex.ts
49
+ // src/Select/utils/getNextEnabledIndex.ts
52
50
  /**
53
51
  * Walks `options` from `from` by `step` (+1 / -1), skipping disabled rows, and
54
52
  * returns the first enabled index reached. Stops at the edges (no wrap-around);
@@ -64,14 +62,12 @@ function getEdgeEnabledIndex(options, edge) {
64
62
  for (let index = options.length - 1; index >= 0; index -= 1) if (!options[index].disabled) return index;
65
63
  return -1;
66
64
  }
67
- //#endregion
68
- //#region src/Select/utils/isOptionSelected.ts
65
+ // src/Select/utils/isOptionSelected.ts
69
66
  /** True when `optionValue` is the current single value, or is contained in the multiple-mode array. */
70
67
  function isOptionSelected(value, optionValue) {
71
68
  return Array.isArray(value) ? value.includes(optionValue) : value === optionValue;
72
69
  }
73
- //#endregion
74
- //#region src/Select/utils/computeNextValue.ts
70
+ // src/Select/utils/computeNextValue.ts
75
71
  /**
76
72
  * The value that results from choosing `optionValue`.
77
73
  * - Multiple mode: toggles `optionValue` in/out of the array, preserving order.
@@ -81,8 +77,7 @@ function computeNextValue(value, optionValue) {
81
77
  if (!Array.isArray(value)) return optionValue;
82
78
  return value.includes(optionValue) ? value.filter((item) => item !== optionValue) : [...value, optionValue];
83
79
  }
84
- //#endregion
85
- //#region src/Select/utils/resolveDisplayLabel.ts
80
+ // src/Select/utils/resolveDisplayLabel.ts
86
81
  /**
87
82
  * The label(s) to show in the trigger for the current `value`, or `null` when nothing
88
83
  * is selected (the caller then falls back to the placeholder). Multiple-mode selections
@@ -101,8 +96,7 @@ function resolveDisplayLabel(options, value) {
101
96
  const match = options.find((option) => option.value === value);
102
97
  return match ? match.label : null;
103
98
  }
104
- //#endregion
105
- //#region src/Select/Select.tsx
99
+ // src/Select/Select.tsx
106
100
  const shouldForwardProp = createShouldForwardProp([
107
101
  ...props,
108
102
  "variant",
@@ -135,14 +129,10 @@ const borderRadiusStyle = ({ variant: v, borderRadius, theme }) => {
135
129
  const colorBorder = ({ color, error, theme }) => ({ borderColor: error ? (0, src_exports.get)(theme, "palette.error.main") : (0, src_exports.get)(theme, `palette.${color}.light`) });
136
130
  const activeBorder = ({ color, error, open, theme }) => {
137
131
  const activeColor = error ? (0, src_exports.get)(theme, "palette.error.main") : (0, src_exports.get)(theme, `palette.${color}.main`);
138
- const focusColor = (0, src_exports.get)(theme, `palette.${themeDefault(theme, "color", "primary")}.main`);
139
132
  return {
140
133
  ...open ? { borderColor: activeColor } : {},
141
134
  "&:focus": { borderColor: activeColor },
142
- "&:focus-visible": {
143
- outline: `2px solid ${focusColor}`,
144
- outlineOffset: "2px"
145
- }
135
+ "&:focus-visible": getFocusRing(theme, color, error)
146
136
  };
147
137
  };
148
138
  const backgroundStyle = ({ color, textColor, bg, variant: v, theme }) => ({
@@ -162,7 +152,8 @@ const sizeVariants = ({ theme, sizeToken }) => {
162
152
  fontSize: theme.fontSizes[s.fontSize]
163
153
  };
164
154
  };
165
- const layoutStyles = ({ fullWidth, disabled }) => ({
155
+ const layoutStyles = ({ theme, fullWidth, disabled }) => ({
156
+ minWidth: getInputMinWidth(theme),
166
157
  ...fullWidth ? {
167
158
  display: "flex",
168
159
  width: "100%"
@@ -461,8 +452,8 @@ function NonNativeSelect({ children, options, value, autoWidth, onChangeValue, m
461
452
  }), /* @__PURE__ */ jsx(TriggerValue, { children: showPlaceholder ? placeholder ?? "​" : display })]
462
453
  }), /* @__PURE__ */ jsx(Icon, {
463
454
  name: iconName ?? (open ? "expand_less" : "expand_more"),
464
- size: "1.25rem",
465
- color: "secondary",
455
+ size,
456
+ color: "inherit",
466
457
  ...iconProps
467
458
  })]
468
459
  }),
@@ -506,5 +497,4 @@ function NonNativeSelect({ children, options, value, autoWidth, onChangeValue, m
506
497
  })
507
498
  ] });
508
499
  }
509
- //#endregion
510
500
  export { Select };
@@ -1,10 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_src = require("../src-DU81aGy9.cjs");
2
+ const require_src = require("../src-yC1f5WR2.cjs");
3
3
  const require_Flex = require("../Flex.cjs");
4
- const require_SidebarContext = require("../SidebarContext-jG6OioC-.cjs");
4
+ const require_SidebarContext = require("../SidebarContext-mXrB4z8v.cjs");
5
5
  let react = require("react");
6
6
  let react_jsx_runtime = require("react/jsx-runtime");
7
- //#region src/Sidebar/Sidebar/Sidebar.tsx
7
+ // src/Sidebar/Sidebar/Sidebar.tsx
8
8
  const SidebarRoot = require_src.styled(require_Flex.Flex, {
9
9
  name: "Sidebar",
10
10
  label: "Sidebar"
@@ -13,13 +13,16 @@ const SidebarRail = require_src.styled(require_Flex.Flex, {
13
13
  name: "Sidebar",
14
14
  slot: "rail",
15
15
  label: "SidebarRail",
16
- shouldForwardProp: (prop) => prop !== "isOpen" && prop !== "expandedWidth" && prop !== "collapsedWidth"
17
- })(({ isOpen, expandedWidth, collapsedWidth }) => ({
16
+ shouldForwardProp: (prop) => prop !== "isOpen" && prop !== "layout" && prop !== "expandedWidth" && prop !== "collapsedWidth" && prop !== "stackedWidth"
17
+ })(({ isOpen, layout, expandedWidth, collapsedWidth, stackedWidth }) => layout === "stacked" ? {
18
+ width: stackedWidth,
19
+ alignItems: "center"
20
+ } : {
18
21
  width: isOpen ? expandedWidth : collapsedWidth,
19
22
  transition: "width 200ms ease",
20
23
  overflowX: "hidden",
21
24
  "@media (prefers-reduced-motion: reduce)": { transition: "none" }
22
- }));
25
+ });
23
26
  const SidebarPanelRoot = require_src.styled(require_Flex.Flex, {
24
27
  name: "Sidebar",
25
28
  slot: "panel",
@@ -43,15 +46,17 @@ const SidebarPanelRoot = require_src.styled(require_Flex.Flex, {
43
46
  * is independent of `isOpen`, so a collapsed icons-only rail can sit beside an
44
47
  * open panel.
45
48
  */
46
- function Sidebar({ children, isOpen, anchor = "left", variant = "text", expandedWidth = "14rem", collapsedWidth = "3.5rem", hasPanel = false, panelWidth = "18rem", panelProps, "aria-label": ariaLabel, ...rest }) {
49
+ function Sidebar({ children, isOpen = false, anchor = "left", variant = "text", layout = "inline", expandedWidth = "14rem", collapsedWidth = "3.5rem", stackedWidth = "5.5rem", hasPanel = false, panel, panelWidth = "18rem", panelProps, "aria-label": ariaLabel, ...rest }) {
47
50
  const panelId = (0, react.useId)();
48
51
  const [panelNode, setPanelNode] = (0, react.useState)(null);
49
52
  const [panelLabel, setPanelLabel] = (0, react.useState)(null);
53
+ const hasPortPanel = hasPanel && panel == null;
50
54
  const context = (0, react.useMemo)(() => ({
51
55
  isOpen,
52
56
  anchor,
53
57
  variant,
54
- hasPanel,
58
+ layout,
59
+ hasPanel: hasPortPanel,
55
60
  panelId,
56
61
  panelNode,
57
62
  setPanelLabel
@@ -59,7 +64,8 @@ function Sidebar({ children, isOpen, anchor = "left", variant = "text", expanded
59
64
  isOpen,
60
65
  anchor,
61
66
  variant,
62
- hasPanel,
67
+ layout,
68
+ hasPortPanel,
63
69
  panelId,
64
70
  panelNode
65
71
  ]);
@@ -69,26 +75,36 @@ function Sidebar({ children, isOpen, anchor = "left", variant = "text", expanded
69
75
  flexDirection: anchor === "right" ? "row-reverse" : "row",
70
76
  flexShrink: 0,
71
77
  ...rest,
72
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(SidebarRail, {
73
- flexDirection: "column",
74
- gap: 1,
75
- flexShrink: 0,
76
- isOpen,
77
- expandedWidth,
78
- collapsedWidth,
79
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_SidebarContext.SidebarContext.Provider, {
80
- value: context,
81
- children
78
+ children: [
79
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SidebarRail, {
80
+ flexDirection: "column",
81
+ gap: 1,
82
+ flexShrink: 0,
83
+ isOpen,
84
+ layout,
85
+ expandedWidth,
86
+ collapsedWidth,
87
+ stackedWidth,
88
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_SidebarContext.SidebarContext.Provider, {
89
+ value: context,
90
+ children
91
+ })
92
+ }),
93
+ panel != null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SidebarPanelRoot, {
94
+ as: "section",
95
+ width: panelWidth,
96
+ ...panelProps,
97
+ children: panel
98
+ }),
99
+ hasPortPanel && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SidebarPanelRoot, {
100
+ as: "section",
101
+ width: panelWidth,
102
+ "aria-label": panelLabel ?? void 0,
103
+ ...panelProps,
104
+ ref: setPanelNode,
105
+ id: panelId
82
106
  })
83
- }), hasPanel && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SidebarPanelRoot, {
84
- as: "section",
85
- width: panelWidth,
86
- "aria-label": panelLabel ?? void 0,
87
- ...panelProps,
88
- ref: setPanelNode,
89
- id: panelId
90
- })]
107
+ ]
91
108
  });
92
109
  }
93
- //#endregion
94
110
  exports.Sidebar = Sidebar;