@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,7 +1,6 @@
1
- import { Jt as FlexProps } from "../index-DJ0f69wh.cjs";
2
- import { i as SidebarItemVariant, t as SidebarAnchor } from "../SidebarContext-B1lWrt77.cjs";
1
+ import { dn as FlexProps } from "../index-Lsm4v8fB.cjs";
2
+ import { a as SidebarLayout, i as SidebarItemVariant, t as SidebarAnchor } from "../SidebarContext-Bod_oUMi.cjs";
3
3
  import { ElementType, ReactNode } from "react";
4
- //#region src/Sidebar/Sidebar/Sidebar.d.ts
5
4
  interface SidebarProps extends FlexProps {
6
5
  /**
7
6
  * Rail contents - `SidebarItem`s, but any node composes (a sponsor logo,
@@ -10,9 +9,18 @@ interface SidebarProps extends FlexProps {
10
9
  children: ReactNode;
11
10
  /**
12
11
  * Whether item labels are shown. Controlled - the toggle lives with the
13
- * consumer (typically a menu button in the app bar).
12
+ * consumer (typically a menu button in the app bar). A `stacked` rail always shows
13
+ * them. Default: `false`.
14
14
  */
15
- isOpen: boolean;
15
+ isOpen?: boolean;
16
+ /**
17
+ * How the items are laid out: `'inline'` is the collapsible icon rail, a label beside its
18
+ * icon while open; `'stacked'` is a navigation rail - each label under its icon, always
19
+ * shown, in a rail of `stackedWidth`. Default: `'inline'`.
20
+ */
21
+ layout?: SidebarLayout;
22
+ /** Rail width of a `stacked` layout. Default: `'5.5rem'`. */
23
+ stackedWidth?: string;
16
24
  /** Screen edge the rail hugs - labels render away from it. Default: `'left'`. */
17
25
  anchor?: SidebarAnchor;
18
26
  /** Default variant for every item - an item's own `variant` wins. Default: `'text'`. */
@@ -27,7 +35,13 @@ interface SidebarProps extends FlexProps {
27
35
  * instead. Default: `false`.
28
36
  */
29
37
  hasPanel?: boolean;
30
- /** Width of the panel column. Only meaningful with `hasPanel`. Default: `'18rem'`. */
38
+ /**
39
+ * The panel column's content, rendered in place - so it is in the server-rendered markup,
40
+ * unlike the selected item's `children` under `hasPanel`, which are ported in on the client.
41
+ * For a panel the page already knows, a navigation tree. Takes the place of `hasPanel`.
42
+ */
43
+ panel?: ReactNode;
44
+ /** Width of the panel column. Only meaningful with `hasPanel` or `panel`. Default: `'18rem'`. */
31
45
  panelWidth?: string;
32
46
  /**
33
47
  * Props for the panel column - any `Flex` prop, plus `as` to change its
@@ -54,6 +68,5 @@ interface SidebarProps extends FlexProps {
54
68
  * is independent of `isOpen`, so a collapsed icons-only rail can sit beside an
55
69
  * open panel.
56
70
  */
57
- declare function Sidebar({ children, isOpen, anchor, variant, expandedWidth, collapsedWidth, hasPanel, panelWidth, panelProps, 'aria-label': ariaLabel, ...rest }: Readonly<SidebarProps>): import("react").JSX.Element;
58
- //#endregion
71
+ declare function Sidebar({ children, isOpen, anchor, variant, layout, expandedWidth, collapsedWidth, stackedWidth, hasPanel, panel, panelWidth, panelProps, 'aria-label': ariaLabel, ...rest }: Readonly<SidebarProps>): import("react").JSX.Element;
59
72
  export { Sidebar, SidebarProps };
@@ -1,7 +1,6 @@
1
- import { Jt as FlexProps } from "../index-CJhK7JND.mjs";
2
- import { i as SidebarItemVariant, t as SidebarAnchor } from "../SidebarContext-B1lWrt77.mjs";
1
+ import { dn as FlexProps } from "../index-CR8qkP8U.mjs";
2
+ import { a as SidebarLayout, i as SidebarItemVariant, t as SidebarAnchor } from "../SidebarContext-Bod_oUMi.mjs";
3
3
  import { ElementType, ReactNode } from "react";
4
- //#region src/Sidebar/Sidebar/Sidebar.d.ts
5
4
  interface SidebarProps extends FlexProps {
6
5
  /**
7
6
  * Rail contents - `SidebarItem`s, but any node composes (a sponsor logo,
@@ -10,9 +9,18 @@ interface SidebarProps extends FlexProps {
10
9
  children: ReactNode;
11
10
  /**
12
11
  * Whether item labels are shown. Controlled - the toggle lives with the
13
- * consumer (typically a menu button in the app bar).
12
+ * consumer (typically a menu button in the app bar). A `stacked` rail always shows
13
+ * them. Default: `false`.
14
14
  */
15
- isOpen: boolean;
15
+ isOpen?: boolean;
16
+ /**
17
+ * How the items are laid out: `'inline'` is the collapsible icon rail, a label beside its
18
+ * icon while open; `'stacked'` is a navigation rail - each label under its icon, always
19
+ * shown, in a rail of `stackedWidth`. Default: `'inline'`.
20
+ */
21
+ layout?: SidebarLayout;
22
+ /** Rail width of a `stacked` layout. Default: `'5.5rem'`. */
23
+ stackedWidth?: string;
16
24
  /** Screen edge the rail hugs - labels render away from it. Default: `'left'`. */
17
25
  anchor?: SidebarAnchor;
18
26
  /** Default variant for every item - an item's own `variant` wins. Default: `'text'`. */
@@ -27,7 +35,13 @@ interface SidebarProps extends FlexProps {
27
35
  * instead. Default: `false`.
28
36
  */
29
37
  hasPanel?: boolean;
30
- /** Width of the panel column. Only meaningful with `hasPanel`. Default: `'18rem'`. */
38
+ /**
39
+ * The panel column's content, rendered in place - so it is in the server-rendered markup,
40
+ * unlike the selected item's `children` under `hasPanel`, which are ported in on the client.
41
+ * For a panel the page already knows, a navigation tree. Takes the place of `hasPanel`.
42
+ */
43
+ panel?: ReactNode;
44
+ /** Width of the panel column. Only meaningful with `hasPanel` or `panel`. Default: `'18rem'`. */
31
45
  panelWidth?: string;
32
46
  /**
33
47
  * Props for the panel column - any `Flex` prop, plus `as` to change its
@@ -54,6 +68,5 @@ interface SidebarProps extends FlexProps {
54
68
  * is independent of `isOpen`, so a collapsed icons-only rail can sit beside an
55
69
  * open panel.
56
70
  */
57
- declare function Sidebar({ children, isOpen, anchor, variant, expandedWidth, collapsedWidth, hasPanel, panelWidth, panelProps, 'aria-label': ariaLabel, ...rest }: Readonly<SidebarProps>): import("react").JSX.Element;
58
- //#endregion
71
+ declare function Sidebar({ children, isOpen, anchor, variant, layout, expandedWidth, collapsedWidth, stackedWidth, hasPanel, panel, panelWidth, panelProps, 'aria-label': ariaLabel, ...rest }: Readonly<SidebarProps>): import("react").JSX.Element;
59
72
  export { Sidebar, SidebarProps };
@@ -1,9 +1,9 @@
1
- import { o as styled } from "../src-DLGYOJMh.mjs";
1
+ import { o as styled } from "../src-B-rNjHIL.mjs";
2
2
  import { Flex } from "../Flex.mjs";
3
- import { t as SidebarContext } from "../SidebarContext-DgSLwjur.mjs";
3
+ import { t as SidebarContext } from "../SidebarContext-D3bF-Q4N.mjs";
4
4
  import { useId, useMemo, useState } from "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
- //#region src/Sidebar/Sidebar/Sidebar.tsx
6
+ // src/Sidebar/Sidebar/Sidebar.tsx
7
7
  const SidebarRoot = styled(Flex, {
8
8
  name: "Sidebar",
9
9
  label: "Sidebar"
@@ -12,13 +12,16 @@ const SidebarRail = styled(Flex, {
12
12
  name: "Sidebar",
13
13
  slot: "rail",
14
14
  label: "SidebarRail",
15
- shouldForwardProp: (prop) => prop !== "isOpen" && prop !== "expandedWidth" && prop !== "collapsedWidth"
16
- })(({ isOpen, expandedWidth, collapsedWidth }) => ({
15
+ shouldForwardProp: (prop) => prop !== "isOpen" && prop !== "layout" && prop !== "expandedWidth" && prop !== "collapsedWidth" && prop !== "stackedWidth"
16
+ })(({ isOpen, layout, expandedWidth, collapsedWidth, stackedWidth }) => layout === "stacked" ? {
17
+ width: stackedWidth,
18
+ alignItems: "center"
19
+ } : {
17
20
  width: isOpen ? expandedWidth : collapsedWidth,
18
21
  transition: "width 200ms ease",
19
22
  overflowX: "hidden",
20
23
  "@media (prefers-reduced-motion: reduce)": { transition: "none" }
21
- }));
24
+ });
22
25
  const SidebarPanelRoot = styled(Flex, {
23
26
  name: "Sidebar",
24
27
  slot: "panel",
@@ -42,15 +45,17 @@ const SidebarPanelRoot = styled(Flex, {
42
45
  * is independent of `isOpen`, so a collapsed icons-only rail can sit beside an
43
46
  * open panel.
44
47
  */
45
- function Sidebar({ children, isOpen, anchor = "left", variant = "text", expandedWidth = "14rem", collapsedWidth = "3.5rem", hasPanel = false, panelWidth = "18rem", panelProps, "aria-label": ariaLabel, ...rest }) {
48
+ 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 }) {
46
49
  const panelId = useId();
47
50
  const [panelNode, setPanelNode] = useState(null);
48
51
  const [panelLabel, setPanelLabel] = useState(null);
52
+ const hasPortPanel = hasPanel && panel == null;
49
53
  const context = useMemo(() => ({
50
54
  isOpen,
51
55
  anchor,
52
56
  variant,
53
- hasPanel,
57
+ layout,
58
+ hasPanel: hasPortPanel,
54
59
  panelId,
55
60
  panelNode,
56
61
  setPanelLabel
@@ -58,7 +63,8 @@ function Sidebar({ children, isOpen, anchor = "left", variant = "text", expanded
58
63
  isOpen,
59
64
  anchor,
60
65
  variant,
61
- hasPanel,
66
+ layout,
67
+ hasPortPanel,
62
68
  panelId,
63
69
  panelNode
64
70
  ]);
@@ -68,26 +74,36 @@ function Sidebar({ children, isOpen, anchor = "left", variant = "text", expanded
68
74
  flexDirection: anchor === "right" ? "row-reverse" : "row",
69
75
  flexShrink: 0,
70
76
  ...rest,
71
- children: [/* @__PURE__ */ jsx(SidebarRail, {
72
- flexDirection: "column",
73
- gap: 1,
74
- flexShrink: 0,
75
- isOpen,
76
- expandedWidth,
77
- collapsedWidth,
78
- children: /* @__PURE__ */ jsx(SidebarContext.Provider, {
79
- value: context,
80
- children
77
+ children: [
78
+ /* @__PURE__ */ jsx(SidebarRail, {
79
+ flexDirection: "column",
80
+ gap: 1,
81
+ flexShrink: 0,
82
+ isOpen,
83
+ layout,
84
+ expandedWidth,
85
+ collapsedWidth,
86
+ stackedWidth,
87
+ children: /* @__PURE__ */ jsx(SidebarContext.Provider, {
88
+ value: context,
89
+ children
90
+ })
91
+ }),
92
+ panel != null && /* @__PURE__ */ jsx(SidebarPanelRoot, {
93
+ as: "section",
94
+ width: panelWidth,
95
+ ...panelProps,
96
+ children: panel
97
+ }),
98
+ hasPortPanel && /* @__PURE__ */ jsx(SidebarPanelRoot, {
99
+ as: "section",
100
+ width: panelWidth,
101
+ "aria-label": panelLabel ?? void 0,
102
+ ...panelProps,
103
+ ref: setPanelNode,
104
+ id: panelId
81
105
  })
82
- }), hasPanel && /* @__PURE__ */ jsx(SidebarPanelRoot, {
83
- as: "section",
84
- width: panelWidth,
85
- "aria-label": panelLabel ?? void 0,
86
- ...panelProps,
87
- ref: setPanelNode,
88
- id: panelId
89
- })]
106
+ ]
90
107
  });
91
108
  }
92
- //#endregion
93
109
  export { Sidebar };
@@ -1,17 +1,26 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_src = require("../src-DU81aGy9.cjs");
3
- const require_Flex = require("../Flex.cjs");
2
+ const require_src = require("../src-yC1f5WR2.cjs");
4
3
  const require_utils = require("../utils.cjs");
5
4
  const require_Typography = require("../Typography.cjs");
6
- const require_Icon = require("../Icon-D-EWsBVg.cjs");
5
+ const require_Icon = require("../Icon-C5Iz5ekp.cjs");
6
+ const require_Flex = require("../Flex.cjs");
7
7
  const require_Portal = require("../Portal.cjs");
8
8
  const require_Pressable = require("../Pressable.cjs");
9
- const require_SidebarContext = require("../SidebarContext-jG6OioC-.cjs");
9
+ const require_SidebarContext = require("../SidebarContext-mXrB4z8v.cjs");
10
10
  let react = require("react");
11
11
  let react_jsx_runtime = require("react/jsx-runtime");
12
- //#region src/Sidebar/SidebarItem/SidebarItem.tsx
13
- const densityStyles = ({ theme, size }) => {
12
+ // src/Sidebar/SidebarItem/SidebarItem.tsx
13
+ const densityStyles = ({ theme, size, layout }) => {
14
14
  const s = theme.sizes[size];
15
+ if (layout === "stacked") return {
16
+ paddingTop: theme.space[.5],
17
+ paddingBottom: theme.space[.5],
18
+ paddingLeft: 0,
19
+ paddingRight: 0,
20
+ fontSize: theme.fontSizes[0],
21
+ lineHeight: 1.2,
22
+ whiteSpace: "nowrap"
23
+ };
15
24
  return {
16
25
  paddingTop: theme.space[s.paddingTop],
17
26
  paddingBottom: theme.space[s.paddingBottom],
@@ -22,13 +31,30 @@ const densityStyles = ({ theme, size }) => {
22
31
  whiteSpace: "nowrap"
23
32
  };
24
33
  };
25
- const layoutStyles = ({ anchor }) => ({
34
+ const justifyFor = ({ anchor, layout }) => {
35
+ if (layout === "stacked") return "center";
36
+ return anchor === "right" ? "flex-end" : "flex-start";
37
+ };
38
+ const layoutStyles = (props) => ({
26
39
  width: "100%",
27
40
  alignItems: "center",
28
- justifyContent: anchor === "right" ? "flex-end" : "flex-start"
41
+ justifyContent: justifyFor(props)
29
42
  });
30
- const stateStyles = ({ theme, color, isSelected, itemVariant, disabled }) => {
43
+ const stackedStateStyles = ({ theme, color, isSelected, itemVariant, disabled }) => {
31
44
  const { main } = theme.palette[color];
45
+ return {
46
+ border: `${theme.borderWidths.thin} solid transparent`,
47
+ borderRadius: theme.radii.sq,
48
+ color: isSelected ? main : (0, require_src.src_exports.get)(theme, "text.primary"),
49
+ fontWeight: isSelected ? 600 : 400,
50
+ "&:disabled, &[aria-disabled=\"true\"]": { opacity: .5 },
51
+ ...disabled || itemVariant === "plain" ? {} : { "&:hover [data-sidebar-pill]": { backgroundColor: require_utils.alpha(main, isSelected ? .32 : .08) } }
52
+ };
53
+ };
54
+ const stateStyles = (props) => {
55
+ const { theme, color, isSelected, itemVariant, layout, disabled } = props;
56
+ const { main } = theme.palette[color];
57
+ if (layout === "stacked") return stackedStateStyles(props);
32
58
  const outlined = itemVariant === "outlined";
33
59
  const base = {
34
60
  border: `${theme.borderWidths.thin} solid ${outlined ? (0, require_src.src_exports.get)(theme, "border.light") : "transparent"}`,
@@ -57,8 +83,26 @@ const stateStyles = ({ theme, color, isSelected, itemVariant, disabled }) => {
57
83
  const SidebarItemRoot = require_src.styled(require_Pressable.Pressable, {
58
84
  name: "SidebarItem",
59
85
  label: "SidebarItem",
60
- shouldForwardProp: (prop) => prop !== "anchor" && prop !== "isSelected" && prop !== "itemVariant" && prop !== "size"
86
+ shouldForwardProp: (prop) => prop !== "anchor" && prop !== "layout" && prop !== "isSelected" && prop !== "itemVariant" && prop !== "size"
61
87
  })(densityStyles, layoutStyles, stateStyles);
88
+ const SidebarItemPill = require_src.styled("span", {
89
+ name: "SidebarItem",
90
+ slot: "pill",
91
+ label: "SidebarItemPill",
92
+ shouldForwardProp: (prop) => prop !== "isSelected" && prop !== "itemVariant" && prop !== "color"
93
+ })(({ theme, color, isSelected, itemVariant }) => {
94
+ const { main } = theme.palette[color];
95
+ return {
96
+ display: "inline-flex",
97
+ alignItems: "center",
98
+ justifyContent: "center",
99
+ width: "3.5rem",
100
+ height: "2rem",
101
+ borderRadius: "1rem",
102
+ transition: "background-color 150ms",
103
+ backgroundColor: isSelected && !(itemVariant === "plain") ? require_utils.alpha(main, .24) : "transparent"
104
+ };
105
+ });
62
106
  /**
63
107
  * One entry of a `Sidebar`: an icon pinned to the anchored edge, plus content
64
108
  * shown while the rail is open - the `label` by default, or custom `children`
@@ -67,8 +111,9 @@ const SidebarItemRoot = require_src.styled(require_Pressable.Pressable, {
67
111
  * here - no inherited uppercase, weight, or tracking.
68
112
  */
69
113
  function SidebarItem({ icon, label, variant, size = "sm", color = "primary", children, onSelect, onClick, isSelected, ...rest }) {
70
- const { isOpen, anchor, variant: railVariant, hasPanel, panelId, panelNode, setPanelLabel } = (0, react.useContext)(require_SidebarContext.SidebarContext);
114
+ const { isOpen, anchor, variant: railVariant, layout, hasPanel, panelId, panelNode, setPanelLabel } = (0, react.useContext)(require_SidebarContext.SidebarContext);
71
115
  const resolvedVariant = variant ?? railVariant;
116
+ const isStacked = layout === "stacked";
72
117
  const ownsPanel = hasPanel && children != null;
73
118
  const isPorting = ownsPanel && (isSelected ?? false);
74
119
  (0, react.useEffect)(() => {
@@ -85,12 +130,13 @@ function SidebarItem({ icon, label, variant, size = "sm", color = "primary", chi
85
130
  onSelect?.();
86
131
  };
87
132
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(SidebarItemRoot, {
88
- feedback: resolvedVariant === "plain" ? "none" : "highlight",
133
+ feedback: resolvedVariant === "plain" || isStacked ? "none" : "highlight",
89
134
  color,
90
135
  size,
91
136
  itemVariant: resolvedVariant,
92
137
  isSelected,
93
138
  anchor,
139
+ layout,
94
140
  "aria-label": label,
95
141
  "aria-pressed": isSelected ?? false,
96
142
  ...ownsPanel && {
@@ -99,7 +145,29 @@ function SidebarItem({ icon, label, variant, size = "sm", color = "primary", chi
99
145
  },
100
146
  onClick: handleClick,
101
147
  ...rest,
102
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Flex.Flex, {
148
+ children: isStacked ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Flex.Flex, {
149
+ as: "span",
150
+ flexDirection: "column",
151
+ alignItems: "center",
152
+ gap: .5,
153
+ flexShrink: 0,
154
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(SidebarItemPill, {
155
+ "data-sidebar-pill": true,
156
+ color,
157
+ isSelected,
158
+ itemVariant: resolvedVariant,
159
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Icon.Icon, {
160
+ name: icon,
161
+ size: "1.5rem",
162
+ color: "inherit"
163
+ })
164
+ }), (ownsPanel ? null : children) ?? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Typography.Typography, {
165
+ as: "span",
166
+ variant: "inherit",
167
+ m: 0,
168
+ children: label
169
+ })]
170
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Flex.Flex, {
103
171
  as: "span",
104
172
  flexDirection: anchor === "right" ? "row-reverse" : "row",
105
173
  alignItems: "center",
@@ -121,5 +189,4 @@ function SidebarItem({ icon, label, variant, size = "sm", color = "primary", chi
121
189
  children
122
190
  })] });
123
191
  }
124
- //#endregion
125
192
  exports.SidebarItem = SidebarItem;
@@ -1,9 +1,8 @@
1
- import { W as Theme } from "../index-DJ0f69wh.cjs";
2
- import { r as IconName } from "../index-Dv_fk1_F.cjs";
3
- import { i as PressableProps } from "../index-YKrfFC_I.cjs";
4
- import { i as SidebarItemVariant } from "../SidebarContext-B1lWrt77.cjs";
1
+ import { nt as Theme } from "../index-Lsm4v8fB.cjs";
2
+ import { r as IconName } from "../index-CAt0-L4i.cjs";
3
+ import { i as PressableProps } from "../index-Cjh607-v.cjs";
4
+ import { i as SidebarItemVariant } from "../SidebarContext-Bod_oUMi.cjs";
5
5
  import { ReactNode } from "react";
6
- //#region src/Sidebar/SidebarItem/SidebarItem.d.ts
7
6
  /** Density token - controls padding and font size. Resolves against `theme.sizes`. */
8
7
  type SidebarItemSize = keyof Theme['sizes'];
9
8
  interface SidebarItemProps extends Omit<PressableProps, 'children' | 'feedback' | 'activeOpacity' | 'size'> {
@@ -15,7 +14,11 @@ interface SidebarItemProps extends Omit<PressableProps, 'children' | 'feedback'
15
14
  variant?: SidebarItemVariant;
16
15
  /** Padding and font size - resolves against `theme.sizes`. Default: `'sm'`. */
17
16
  size?: SidebarItemSize;
18
- /** Active state - drives `aria-pressed` and the selected fill. */
17
+ /**
18
+ * Active state - drives `aria-pressed` and the selected fill. A link (an item given `href`)
19
+ * is marked the current page with `aria-current` by the caller instead: pass
20
+ * `aria-current="page"` and `aria-pressed={undefined}`, which win over the item's own.
21
+ */
19
22
  isSelected?: boolean;
20
23
  /**
21
24
  * Custom open-state content rendered instead of the label text (badges,
@@ -34,5 +37,4 @@ interface SidebarItemProps extends Omit<PressableProps, 'children' | 'feedback'
34
37
  * here - no inherited uppercase, weight, or tracking.
35
38
  */
36
39
  declare function SidebarItem({ icon, label, variant, size, color, children, onSelect, onClick, isSelected, ...rest }: Readonly<SidebarItemProps>): import("react").JSX.Element;
37
- //#endregion
38
40
  export { SidebarItem, SidebarItemProps, SidebarItemSize };
@@ -1,9 +1,8 @@
1
- import { W as Theme } from "../index-CJhK7JND.mjs";
2
- import { r as IconName } from "../index-ha1WjSZ5.mjs";
3
- import { i as PressableProps } from "../index-CUz2h5xY.mjs";
4
- import { i as SidebarItemVariant } from "../SidebarContext-B1lWrt77.mjs";
1
+ import { nt as Theme } from "../index-CR8qkP8U.mjs";
2
+ import { r as IconName } from "../index-D48qVo1X.mjs";
3
+ import { i as PressableProps } from "../index-CnVvfG9_.mjs";
4
+ import { i as SidebarItemVariant } from "../SidebarContext-Bod_oUMi.mjs";
5
5
  import { ReactNode } from "react";
6
- //#region src/Sidebar/SidebarItem/SidebarItem.d.ts
7
6
  /** Density token - controls padding and font size. Resolves against `theme.sizes`. */
8
7
  type SidebarItemSize = keyof Theme['sizes'];
9
8
  interface SidebarItemProps extends Omit<PressableProps, 'children' | 'feedback' | 'activeOpacity' | 'size'> {
@@ -15,7 +14,11 @@ interface SidebarItemProps extends Omit<PressableProps, 'children' | 'feedback'
15
14
  variant?: SidebarItemVariant;
16
15
  /** Padding and font size - resolves against `theme.sizes`. Default: `'sm'`. */
17
16
  size?: SidebarItemSize;
18
- /** Active state - drives `aria-pressed` and the selected fill. */
17
+ /**
18
+ * Active state - drives `aria-pressed` and the selected fill. A link (an item given `href`)
19
+ * is marked the current page with `aria-current` by the caller instead: pass
20
+ * `aria-current="page"` and `aria-pressed={undefined}`, which win over the item's own.
21
+ */
19
22
  isSelected?: boolean;
20
23
  /**
21
24
  * Custom open-state content rendered instead of the label text (badges,
@@ -34,5 +37,4 @@ interface SidebarItemProps extends Omit<PressableProps, 'children' | 'feedback'
34
37
  * here - no inherited uppercase, weight, or tracking.
35
38
  */
36
39
  declare function SidebarItem({ icon, label, variant, size, color, children, onSelect, onClick, isSelected, ...rest }: Readonly<SidebarItemProps>): import("react").JSX.Element;
37
- //#endregion
38
40
  export { SidebarItem, SidebarItemProps, SidebarItemSize };
@@ -1,16 +1,25 @@
1
- import { a as src_exports, o as styled } from "../src-DLGYOJMh.mjs";
2
- import { Flex } from "../Flex.mjs";
1
+ import { a as src_exports, o as styled } from "../src-B-rNjHIL.mjs";
3
2
  import { alpha } from "../utils.mjs";
4
3
  import { Typography } from "../Typography.mjs";
5
- import { t as Icon } from "../Icon-BihOAP4u.mjs";
4
+ import { t as Icon } from "../Icon-XpXU-SuF.mjs";
5
+ import { Flex } from "../Flex.mjs";
6
6
  import { Portal } from "../Portal.mjs";
7
7
  import { Pressable } from "../Pressable.mjs";
8
- import { t as SidebarContext } from "../SidebarContext-DgSLwjur.mjs";
8
+ import { t as SidebarContext } from "../SidebarContext-D3bF-Q4N.mjs";
9
9
  import { useContext, useEffect } from "react";
10
10
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
11
- //#region src/Sidebar/SidebarItem/SidebarItem.tsx
12
- const densityStyles = ({ theme, size }) => {
11
+ // src/Sidebar/SidebarItem/SidebarItem.tsx
12
+ const densityStyles = ({ theme, size, layout }) => {
13
13
  const s = theme.sizes[size];
14
+ if (layout === "stacked") return {
15
+ paddingTop: theme.space[.5],
16
+ paddingBottom: theme.space[.5],
17
+ paddingLeft: 0,
18
+ paddingRight: 0,
19
+ fontSize: theme.fontSizes[0],
20
+ lineHeight: 1.2,
21
+ whiteSpace: "nowrap"
22
+ };
14
23
  return {
15
24
  paddingTop: theme.space[s.paddingTop],
16
25
  paddingBottom: theme.space[s.paddingBottom],
@@ -21,13 +30,30 @@ const densityStyles = ({ theme, size }) => {
21
30
  whiteSpace: "nowrap"
22
31
  };
23
32
  };
24
- const layoutStyles = ({ anchor }) => ({
33
+ const justifyFor = ({ anchor, layout }) => {
34
+ if (layout === "stacked") return "center";
35
+ return anchor === "right" ? "flex-end" : "flex-start";
36
+ };
37
+ const layoutStyles = (props) => ({
25
38
  width: "100%",
26
39
  alignItems: "center",
27
- justifyContent: anchor === "right" ? "flex-end" : "flex-start"
40
+ justifyContent: justifyFor(props)
28
41
  });
29
- const stateStyles = ({ theme, color, isSelected, itemVariant, disabled }) => {
42
+ const stackedStateStyles = ({ theme, color, isSelected, itemVariant, disabled }) => {
30
43
  const { main } = theme.palette[color];
44
+ return {
45
+ border: `${theme.borderWidths.thin} solid transparent`,
46
+ borderRadius: theme.radii.sq,
47
+ color: isSelected ? main : (0, src_exports.get)(theme, "text.primary"),
48
+ fontWeight: isSelected ? 600 : 400,
49
+ "&:disabled, &[aria-disabled=\"true\"]": { opacity: .5 },
50
+ ...disabled || itemVariant === "plain" ? {} : { "&:hover [data-sidebar-pill]": { backgroundColor: alpha(main, isSelected ? .32 : .08) } }
51
+ };
52
+ };
53
+ const stateStyles = (props) => {
54
+ const { theme, color, isSelected, itemVariant, layout, disabled } = props;
55
+ const { main } = theme.palette[color];
56
+ if (layout === "stacked") return stackedStateStyles(props);
31
57
  const outlined = itemVariant === "outlined";
32
58
  const base = {
33
59
  border: `${theme.borderWidths.thin} solid ${outlined ? (0, src_exports.get)(theme, "border.light") : "transparent"}`,
@@ -56,8 +82,26 @@ const stateStyles = ({ theme, color, isSelected, itemVariant, disabled }) => {
56
82
  const SidebarItemRoot = styled(Pressable, {
57
83
  name: "SidebarItem",
58
84
  label: "SidebarItem",
59
- shouldForwardProp: (prop) => prop !== "anchor" && prop !== "isSelected" && prop !== "itemVariant" && prop !== "size"
85
+ shouldForwardProp: (prop) => prop !== "anchor" && prop !== "layout" && prop !== "isSelected" && prop !== "itemVariant" && prop !== "size"
60
86
  })(densityStyles, layoutStyles, stateStyles);
87
+ const SidebarItemPill = styled("span", {
88
+ name: "SidebarItem",
89
+ slot: "pill",
90
+ label: "SidebarItemPill",
91
+ shouldForwardProp: (prop) => prop !== "isSelected" && prop !== "itemVariant" && prop !== "color"
92
+ })(({ theme, color, isSelected, itemVariant }) => {
93
+ const { main } = theme.palette[color];
94
+ return {
95
+ display: "inline-flex",
96
+ alignItems: "center",
97
+ justifyContent: "center",
98
+ width: "3.5rem",
99
+ height: "2rem",
100
+ borderRadius: "1rem",
101
+ transition: "background-color 150ms",
102
+ backgroundColor: isSelected && !(itemVariant === "plain") ? alpha(main, .24) : "transparent"
103
+ };
104
+ });
61
105
  /**
62
106
  * One entry of a `Sidebar`: an icon pinned to the anchored edge, plus content
63
107
  * shown while the rail is open - the `label` by default, or custom `children`
@@ -66,8 +110,9 @@ const SidebarItemRoot = styled(Pressable, {
66
110
  * here - no inherited uppercase, weight, or tracking.
67
111
  */
68
112
  function SidebarItem({ icon, label, variant, size = "sm", color = "primary", children, onSelect, onClick, isSelected, ...rest }) {
69
- const { isOpen, anchor, variant: railVariant, hasPanel, panelId, panelNode, setPanelLabel } = useContext(SidebarContext);
113
+ const { isOpen, anchor, variant: railVariant, layout, hasPanel, panelId, panelNode, setPanelLabel } = useContext(SidebarContext);
70
114
  const resolvedVariant = variant ?? railVariant;
115
+ const isStacked = layout === "stacked";
71
116
  const ownsPanel = hasPanel && children != null;
72
117
  const isPorting = ownsPanel && (isSelected ?? false);
73
118
  useEffect(() => {
@@ -84,12 +129,13 @@ function SidebarItem({ icon, label, variant, size = "sm", color = "primary", chi
84
129
  onSelect?.();
85
130
  };
86
131
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(SidebarItemRoot, {
87
- feedback: resolvedVariant === "plain" ? "none" : "highlight",
132
+ feedback: resolvedVariant === "plain" || isStacked ? "none" : "highlight",
88
133
  color,
89
134
  size,
90
135
  itemVariant: resolvedVariant,
91
136
  isSelected,
92
137
  anchor,
138
+ layout,
93
139
  "aria-label": label,
94
140
  "aria-pressed": isSelected ?? false,
95
141
  ...ownsPanel && {
@@ -98,7 +144,29 @@ function SidebarItem({ icon, label, variant, size = "sm", color = "primary", chi
98
144
  },
99
145
  onClick: handleClick,
100
146
  ...rest,
101
- children: /* @__PURE__ */ jsxs(Flex, {
147
+ children: isStacked ? /* @__PURE__ */ jsxs(Flex, {
148
+ as: "span",
149
+ flexDirection: "column",
150
+ alignItems: "center",
151
+ gap: .5,
152
+ flexShrink: 0,
153
+ children: [/* @__PURE__ */ jsx(SidebarItemPill, {
154
+ "data-sidebar-pill": true,
155
+ color,
156
+ isSelected,
157
+ itemVariant: resolvedVariant,
158
+ children: /* @__PURE__ */ jsx(Icon, {
159
+ name: icon,
160
+ size: "1.5rem",
161
+ color: "inherit"
162
+ })
163
+ }), (ownsPanel ? null : children) ?? /* @__PURE__ */ jsx(Typography, {
164
+ as: "span",
165
+ variant: "inherit",
166
+ m: 0,
167
+ children: label
168
+ })]
169
+ }) : /* @__PURE__ */ jsxs(Flex, {
102
170
  as: "span",
103
171
  flexDirection: anchor === "right" ? "row-reverse" : "row",
104
172
  alignItems: "center",
@@ -120,5 +188,4 @@ function SidebarItem({ icon, label, variant, size = "sm", color = "primary", chi
120
188
  children
121
189
  })] });
122
190
  }
123
- //#endregion
124
191
  export { SidebarItem };
package/dist/Sidebar.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_SidebarContext = require("./SidebarContext-jG6OioC-.cjs");
2
+ const require_SidebarContext = require("./SidebarContext-mXrB4z8v.cjs");
3
3
  const require_Sidebar_Sidebar = require("./Sidebar/Sidebar.cjs");
4
4
  const require_Sidebar_SidebarItem = require("./Sidebar/SidebarItem.cjs");
5
5
  exports.Sidebar = require_Sidebar_Sidebar.Sidebar;
@@ -1,4 +1,4 @@
1
- import { i as SidebarItemVariant, n as SidebarContext, r as SidebarContextValue, t as SidebarAnchor } from "./SidebarContext-B1lWrt77.cjs";
1
+ import { a as SidebarLayout, i as SidebarItemVariant, n as SidebarContext, r as SidebarContextValue, t as SidebarAnchor } from "./SidebarContext-Bod_oUMi.cjs";
2
2
  import { Sidebar, SidebarProps } from "./Sidebar/Sidebar.cjs";
3
3
  import { SidebarItem, SidebarItemProps, SidebarItemSize } from "./Sidebar/SidebarItem.cjs";
4
- export { Sidebar, SidebarAnchor, SidebarContext, SidebarContextValue, SidebarItem, SidebarItemProps, SidebarItemSize, SidebarItemVariant, SidebarProps };
4
+ export { Sidebar, SidebarAnchor, SidebarContext, SidebarContextValue, SidebarItem, SidebarItemProps, SidebarItemSize, SidebarItemVariant, SidebarLayout, SidebarProps };
@@ -1,4 +1,4 @@
1
- import { i as SidebarItemVariant, n as SidebarContext, r as SidebarContextValue, t as SidebarAnchor } from "./SidebarContext-B1lWrt77.mjs";
1
+ import { a as SidebarLayout, i as SidebarItemVariant, n as SidebarContext, r as SidebarContextValue, t as SidebarAnchor } from "./SidebarContext-Bod_oUMi.mjs";
2
2
  import { Sidebar, SidebarProps } from "./Sidebar/Sidebar.mjs";
3
3
  import { SidebarItem, SidebarItemProps, SidebarItemSize } from "./Sidebar/SidebarItem.mjs";
4
- export { Sidebar, SidebarAnchor, SidebarContext, SidebarContextValue, SidebarItem, SidebarItemProps, SidebarItemSize, SidebarItemVariant, SidebarProps };
4
+ export { Sidebar, SidebarAnchor, SidebarContext, SidebarContextValue, SidebarItem, SidebarItemProps, SidebarItemSize, SidebarItemVariant, SidebarLayout, SidebarProps };
package/dist/Sidebar.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { t as SidebarContext } from "./SidebarContext-DgSLwjur.mjs";
1
+ import { t as SidebarContext } from "./SidebarContext-D3bF-Q4N.mjs";
2
2
  import { Sidebar } from "./Sidebar/Sidebar.mjs";
3
3
  import { SidebarItem } from "./Sidebar/SidebarItem.mjs";
4
4
  export { Sidebar, SidebarContext, SidebarItem };