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

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 (450) hide show
  1. package/README.md +54 -32
  2. package/dist/Accordion/Accordion.cjs +100 -0
  3. package/dist/Accordion/Accordion.d.cts +41 -0
  4. package/dist/Accordion/Accordion.d.mts +41 -0
  5. package/dist/Accordion/Accordion.mjs +98 -0
  6. package/dist/Accordion/AccordionActions.cjs +29 -0
  7. package/dist/Accordion/AccordionActions.d.cts +12 -0
  8. package/dist/Accordion/AccordionActions.d.mts +12 -0
  9. package/dist/Accordion/AccordionActions.mjs +27 -0
  10. package/dist/Accordion/AccordionDetails.cjs +23 -0
  11. package/dist/Accordion/AccordionDetails.d.cts +12 -0
  12. package/dist/Accordion/AccordionDetails.d.mts +12 -0
  13. package/dist/Accordion/AccordionDetails.mjs +21 -0
  14. package/dist/Accordion/AccordionGroup.cjs +79 -0
  15. package/dist/Accordion/AccordionGroup.d.cts +24 -0
  16. package/dist/Accordion/AccordionGroup.d.mts +24 -0
  17. package/dist/Accordion/AccordionGroup.mjs +77 -0
  18. package/dist/Accordion/AccordionSummary.cjs +99 -0
  19. package/dist/Accordion/AccordionSummary.d.cts +21 -0
  20. package/dist/Accordion/AccordionSummary.d.mts +21 -0
  21. package/dist/Accordion/AccordionSummary.mjs +97 -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-B2TCl9Os.cjs +44 -0
  27. package/dist/AccordionContext-DDk_i9Dx.mjs +15 -0
  28. package/dist/Alert/Alert.cjs +154 -0
  29. package/dist/Alert/Alert.d.cts +37 -0
  30. package/dist/Alert/Alert.d.mts +37 -0
  31. package/dist/Alert/Alert.mjs +152 -0
  32. package/dist/Alert/AlertTitle.cjs +21 -0
  33. package/dist/Alert/AlertTitle.d.cts +12 -0
  34. package/dist/Alert/AlertTitle.d.mts +12 -0
  35. package/dist/Alert/AlertTitle.mjs +20 -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 +1 -1
  41. package/dist/AppBar.d.cts +1 -1
  42. package/dist/AppBar.d.mts +1 -1
  43. package/dist/AppBar.mjs +1 -1
  44. package/dist/Autocomplete.cjs +666 -0
  45. package/dist/Autocomplete.d.cts +97 -0
  46. package/dist/Autocomplete.d.mts +97 -0
  47. package/dist/Autocomplete.mjs +664 -0
  48. package/dist/Avatar.cjs +2 -2
  49. package/dist/Avatar.d.cts +1 -1
  50. package/dist/Avatar.d.mts +1 -1
  51. package/dist/Avatar.mjs +2 -2
  52. package/dist/Backdrop.d.cts +1 -1
  53. package/dist/Backdrop.d.mts +1 -1
  54. package/dist/Badge.cjs +130 -0
  55. package/dist/Badge.d.cts +45 -0
  56. package/dist/Badge.d.mts +45 -0
  57. package/dist/Badge.mjs +128 -0
  58. package/dist/Breadcrumbs.cjs +2 -2
  59. package/dist/Breadcrumbs.d.cts +3 -3
  60. package/dist/Breadcrumbs.d.mts +3 -3
  61. package/dist/Breadcrumbs.mjs +2 -2
  62. package/dist/Button.cjs +6 -3
  63. package/dist/Button.d.cts +1 -1
  64. package/dist/Button.d.mts +1 -1
  65. package/dist/Button.mjs +6 -3
  66. package/dist/ButtonGroup.cjs +1 -1
  67. package/dist/ButtonGroup.d.cts +1 -1
  68. package/dist/ButtonGroup.d.mts +1 -1
  69. package/dist/ButtonGroup.mjs +1 -1
  70. package/dist/Card.cjs +2 -2
  71. package/dist/Card.d.cts +4 -4
  72. package/dist/Card.d.mts +4 -4
  73. package/dist/Card.mjs +2 -2
  74. package/dist/Checkbox.cjs +13 -3
  75. package/dist/Checkbox.d.cts +4 -2
  76. package/dist/Checkbox.d.mts +4 -2
  77. package/dist/Checkbox.mjs +13 -3
  78. package/dist/Chip.cjs +194 -0
  79. package/dist/Chip.d.cts +49 -0
  80. package/dist/Chip.d.mts +49 -0
  81. package/dist/Chip.mjs +192 -0
  82. package/dist/CircularProgress.cjs +1 -1
  83. package/dist/CircularProgress.d.cts +2 -2
  84. package/dist/CircularProgress.d.mts +2 -2
  85. package/dist/CircularProgress.mjs +1 -1
  86. package/dist/Collapse.cjs +126 -0
  87. package/dist/Collapse.d.cts +2 -0
  88. package/dist/Collapse.d.mts +2 -0
  89. package/dist/Collapse.mjs +124 -0
  90. package/dist/Drawer.d.cts +3 -3
  91. package/dist/Drawer.d.mts +3 -3
  92. package/dist/Fab.cjs +114 -0
  93. package/dist/Fab.d.cts +2 -0
  94. package/dist/Fab.d.mts +2 -0
  95. package/dist/Fab.mjs +113 -0
  96. package/dist/FabMenu/FabMenu.cjs +3 -0
  97. package/dist/FabMenu/FabMenu.d.cts +53 -0
  98. package/dist/FabMenu/FabMenu.d.mts +53 -0
  99. package/dist/FabMenu/FabMenu.mjs +2 -0
  100. package/dist/FabMenu/FabMenuItem.cjs +28 -0
  101. package/dist/FabMenu/FabMenuItem.d.cts +19 -0
  102. package/dist/FabMenu/FabMenuItem.d.mts +19 -0
  103. package/dist/FabMenu/FabMenuItem.mjs +27 -0
  104. package/dist/FabMenu-BDfkT_zt.mjs +273 -0
  105. package/dist/FabMenu-RiVtzrKe.cjs +279 -0
  106. package/dist/FabMenu.cjs +5 -0
  107. package/dist/FabMenu.d.cts +3 -0
  108. package/dist/FabMenu.d.mts +3 -0
  109. package/dist/FabMenu.mjs +3 -0
  110. package/dist/FabMenuContext-BZslb0lL.cjs +22 -0
  111. package/dist/FabMenuContext-D-XlDbLl.mjs +11 -0
  112. package/dist/Fade.cjs +17 -0
  113. package/dist/Fade.d.cts +11 -0
  114. package/dist/Fade.d.mts +11 -0
  115. package/dist/Fade.mjs +16 -0
  116. package/dist/Flex.d.cts +1 -1
  117. package/dist/Flex.d.mts +1 -1
  118. package/dist/Form.d.cts +1 -1
  119. package/dist/Form.d.mts +1 -1
  120. package/dist/FormControl.cjs +5 -3
  121. package/dist/FormControl.d.cts +1 -1
  122. package/dist/FormControl.d.mts +1 -1
  123. package/dist/FormControl.mjs +5 -3
  124. package/dist/FormHelperText.cjs +1 -1
  125. package/dist/FormHelperText.d.cts +1 -1
  126. package/dist/FormHelperText.d.mts +1 -1
  127. package/dist/FormHelperText.mjs +1 -1
  128. package/dist/FormLabel.cjs +4 -1
  129. package/dist/FormLabel.d.cts +1 -1
  130. package/dist/FormLabel.d.mts +1 -1
  131. package/dist/FormLabel.mjs +4 -1
  132. package/dist/Grid.d.cts +1 -1
  133. package/dist/Grid.d.mts +1 -1
  134. package/dist/Grow.cjs +21 -0
  135. package/dist/Grow.d.cts +11 -0
  136. package/dist/Grow.d.mts +11 -0
  137. package/dist/Grow.mjs +20 -0
  138. package/dist/{Icon-BihOAP4u.mjs → Icon-0hPpk-WZ.mjs} +31 -1
  139. package/dist/{Icon-D-EWsBVg.cjs → Icon-BE7bRsqR.cjs} +31 -1
  140. package/dist/Icon.cjs +1 -1
  141. package/dist/Icon.d.cts +1 -1
  142. package/dist/Icon.d.mts +1 -1
  143. package/dist/Icon.mjs +1 -1
  144. package/dist/Image.d.cts +1 -1
  145. package/dist/Image.d.mts +1 -1
  146. package/dist/LinearProgress.cjs +1 -1
  147. package/dist/LinearProgress.d.cts +2 -2
  148. package/dist/LinearProgress.d.mts +2 -2
  149. package/dist/LinearProgress.mjs +1 -1
  150. package/dist/Link.cjs +3 -3
  151. package/dist/Link.d.cts +1 -1
  152. package/dist/Link.d.mts +1 -1
  153. package/dist/Link.mjs +3 -3
  154. package/dist/Menu/ContextMenu.cjs +6 -4
  155. package/dist/Menu/ContextMenu.d.cts +8 -6
  156. package/dist/Menu/ContextMenu.d.mts +8 -6
  157. package/dist/Menu/ContextMenu.mjs +6 -4
  158. package/dist/Menu/Menu.cjs +1 -1
  159. package/dist/Menu/Menu.d.cts +1 -1
  160. package/dist/Menu/Menu.d.mts +1 -1
  161. package/dist/Menu/Menu.mjs +1 -1
  162. package/dist/Menu/MenuItems.cjs +1 -1
  163. package/dist/Menu/MenuItems.d.cts +1 -1
  164. package/dist/Menu/MenuItems.d.mts +1 -1
  165. package/dist/Menu/MenuItems.mjs +1 -1
  166. package/dist/Menu/MenuList.cjs +1 -1
  167. package/dist/Menu/MenuList.d.cts +2 -2
  168. package/dist/Menu/MenuList.d.mts +2 -2
  169. package/dist/Menu/MenuList.mjs +1 -1
  170. package/dist/{Menu-CrzHc_cn.mjs → Menu-CnG4ikZd.mjs} +6 -4
  171. package/dist/{Menu-Cgg-sX4W.cjs → Menu-DXLjR9ga.cjs} +6 -4
  172. package/dist/Menu.cjs +2 -2
  173. package/dist/Menu.d.cts +3 -3
  174. package/dist/Menu.d.mts +3 -3
  175. package/dist/Menu.mjs +2 -2
  176. package/dist/{MenuItem-DUn4IZKK.mjs → MenuItem-C21eR7d6.mjs} +40 -79
  177. package/dist/{MenuItem-BTP7Ijwi.cjs → MenuItem-EJ4u73f0.cjs} +39 -78
  178. package/dist/MenuItem.cjs +1 -1
  179. package/dist/MenuItem.d.cts +1 -1
  180. package/dist/MenuItem.d.mts +1 -1
  181. package/dist/MenuItem.mjs +1 -1
  182. package/dist/{MenuList-D4imLXAa.cjs → MenuList-BBAYeUvD.cjs} +1 -1
  183. package/dist/{MenuList-B7msJ1IG.mjs → MenuList-Cz3cupC3.mjs} +1 -1
  184. package/dist/{MenuListContext-DKUOhNyw.d.cts → MenuListContext-BWL5fM_L.d.mts} +2 -2
  185. package/dist/{MenuListContext-x-7lH4CH.d.mts → MenuListContext-BrCKLgKZ.d.cts} +2 -2
  186. package/dist/{Modal-BcsyrrpH.mjs → Modal-CEHDej-v.mjs} +3 -22
  187. package/dist/{Modal-CM3osOqj.cjs → Modal-DBw4j0YA.cjs} +3 -22
  188. package/dist/Modal.cjs +1 -1
  189. package/dist/Modal.d.cts +1 -1
  190. package/dist/Modal.d.mts +1 -1
  191. package/dist/Modal.mjs +1 -1
  192. package/dist/NativeSelect.cjs +8 -12
  193. package/dist/NativeSelect.d.cts +2 -2
  194. package/dist/NativeSelect.d.mts +2 -2
  195. package/dist/NativeSelect.mjs +8 -12
  196. package/dist/{NumberField.cjs → NumberInput.cjs} +69 -43
  197. package/dist/{NumberField.d.cts → NumberInput.d.cts} +14 -9
  198. package/dist/{NumberField.d.mts → NumberInput.d.mts} +14 -9
  199. package/dist/{NumberField.mjs → NumberInput.mjs} +69 -43
  200. package/dist/Pagination/PaginationItem.cjs +2 -2
  201. package/dist/Pagination/PaginationItem.d.cts +1 -1
  202. package/dist/Pagination/PaginationItem.d.mts +1 -1
  203. package/dist/Pagination/PaginationItem.mjs +2 -2
  204. package/dist/Pagination.d.cts +2 -2
  205. package/dist/Pagination.d.mts +2 -2
  206. package/dist/Paper.cjs +2 -2
  207. package/dist/Paper.d.cts +2 -2
  208. package/dist/Paper.d.mts +2 -2
  209. package/dist/Paper.mjs +2 -2
  210. package/dist/{Popover-QjM5Z1CR.mjs → Popover-Neeqs_7l.mjs} +3 -3
  211. package/dist/{Popover-CiZfgiKE.cjs → Popover-xyJTSjZy.cjs} +3 -3
  212. package/dist/Popover.cjs +1 -1
  213. package/dist/Popover.d.cts +3 -3
  214. package/dist/Popover.d.mts +3 -3
  215. package/dist/Popover.mjs +1 -1
  216. package/dist/Portal.d.cts +1 -17
  217. package/dist/Portal.d.mts +1 -17
  218. package/dist/Pressable.cjs +17 -13
  219. package/dist/Pressable.d.cts +1 -1
  220. package/dist/Pressable.d.mts +1 -1
  221. package/dist/Pressable.mjs +17 -13
  222. package/dist/Quote.d.cts +2 -2
  223. package/dist/Quote.d.mts +2 -2
  224. package/dist/Radio.cjs +13 -3
  225. package/dist/Radio.d.cts +4 -2
  226. package/dist/Radio.d.mts +4 -2
  227. package/dist/Radio.mjs +13 -3
  228. package/dist/{InputRange.cjs → RangeInput.cjs} +45 -43
  229. package/dist/{InputRange.d.mts → RangeInput.d.cts} +15 -15
  230. package/dist/{InputRange.d.cts → RangeInput.d.mts} +15 -15
  231. package/dist/{InputRange.mjs → RangeInput.mjs} +45 -43
  232. package/dist/Rating.cjs +3 -3
  233. package/dist/Rating.d.cts +1 -1
  234. package/dist/Rating.d.mts +1 -1
  235. package/dist/Rating.mjs +3 -3
  236. package/dist/ScrollArea.cjs +268 -0
  237. package/dist/ScrollArea.d.cts +40 -0
  238. package/dist/ScrollArea.d.mts +40 -0
  239. package/dist/ScrollArea.mjs +266 -0
  240. package/dist/Select.cjs +9 -12
  241. package/dist/Select.d.cts +2 -2
  242. package/dist/Select.d.mts +2 -2
  243. package/dist/Select.mjs +9 -12
  244. package/dist/Sidebar/Sidebar.d.cts +1 -1
  245. package/dist/Sidebar/Sidebar.d.mts +1 -1
  246. package/dist/Sidebar/SidebarItem.cjs +2 -2
  247. package/dist/Sidebar/SidebarItem.d.cts +3 -3
  248. package/dist/Sidebar/SidebarItem.d.mts +3 -3
  249. package/dist/Sidebar/SidebarItem.mjs +2 -2
  250. package/dist/Skeleton.d.cts +1 -1
  251. package/dist/Skeleton.d.mts +1 -1
  252. package/dist/Slide.cjs +51 -0
  253. package/dist/Slide.d.cts +17 -0
  254. package/dist/Slide.d.mts +17 -0
  255. package/dist/Slide.mjs +50 -0
  256. package/dist/Snackbar.cjs +205 -0
  257. package/dist/Snackbar.d.cts +62 -0
  258. package/dist/Snackbar.d.mts +62 -0
  259. package/dist/Snackbar.mjs +203 -0
  260. package/dist/Switch.cjs +15 -5
  261. package/dist/Switch.d.cts +4 -2
  262. package/dist/Switch.d.mts +4 -2
  263. package/dist/Switch.mjs +15 -5
  264. package/dist/Table/Table.d.cts +2 -2
  265. package/dist/Table/Table.d.mts +2 -2
  266. package/dist/Table/TableBody.d.cts +1 -1
  267. package/dist/Table/TableBody.d.mts +1 -1
  268. package/dist/Table/TableCell.d.cts +1 -1
  269. package/dist/Table/TableCell.d.mts +1 -1
  270. package/dist/Table/TableContainer.d.cts +1 -1
  271. package/dist/Table/TableContainer.d.mts +1 -1
  272. package/dist/Table/TableControl.d.cts +1 -1
  273. package/dist/Table/TableControl.d.mts +1 -1
  274. package/dist/Table/TableFooter.d.cts +1 -1
  275. package/dist/Table/TableFooter.d.mts +1 -1
  276. package/dist/Table/TableHead.d.cts +1 -1
  277. package/dist/Table/TableHead.d.mts +1 -1
  278. package/dist/Table/TablePagination.cjs +1 -0
  279. package/dist/Table/TablePagination.d.cts +2 -2
  280. package/dist/Table/TablePagination.d.mts +2 -2
  281. package/dist/Table/TablePagination.mjs +1 -0
  282. package/dist/Table/TablePaginationActions.cjs +1 -1
  283. package/dist/Table/TablePaginationActions.d.cts +1 -1
  284. package/dist/Table/TablePaginationActions.d.mts +1 -1
  285. package/dist/Table/TablePaginationActions.mjs +1 -1
  286. package/dist/Table/TableRow.d.cts +1 -1
  287. package/dist/Table/TableRow.d.mts +1 -1
  288. package/dist/Table/TableSortLabel.cjs +1 -1
  289. package/dist/Table/TableSortLabel.d.cts +1 -1
  290. package/dist/Table/TableSortLabel.d.mts +1 -1
  291. package/dist/Table/TableSortLabel.mjs +1 -1
  292. package/dist/Table/hooks.d.cts +1 -1
  293. package/dist/Table/hooks.d.mts +1 -1
  294. package/dist/Table.d.cts +5 -5
  295. package/dist/Table.d.mts +5 -5
  296. package/dist/{TableContext-DhuRf6Wy.d.mts → TableContext-Be8tluYZ.d.cts} +1 -1
  297. package/dist/{TableContext-Duj1nVG7.d.cts → TableContext-DUPqls5k.d.mts} +1 -1
  298. package/dist/Tabs/Tab.cjs +16 -7
  299. package/dist/Tabs/Tab.d.cts +2 -2
  300. package/dist/Tabs/Tab.d.mts +2 -2
  301. package/dist/Tabs/Tab.mjs +16 -7
  302. package/dist/Tabs/TabContext.d.cts +1 -1
  303. package/dist/Tabs/TabContext.d.mts +1 -1
  304. package/dist/Tabs/TabList.cjs +1 -1
  305. package/dist/Tabs/TabList.d.cts +1 -1
  306. package/dist/Tabs/TabList.d.mts +1 -1
  307. package/dist/Tabs/TabList.mjs +1 -1
  308. package/dist/Tabs/TabPanel.cjs +1 -1
  309. package/dist/Tabs/TabPanel.d.cts +2 -2
  310. package/dist/Tabs/TabPanel.d.mts +2 -2
  311. package/dist/Tabs/TabPanel.mjs +1 -1
  312. package/dist/Tabs/TabScrollButton.cjs +2 -2
  313. package/dist/Tabs/TabScrollButton.d.cts +1 -1
  314. package/dist/Tabs/TabScrollButton.d.mts +1 -1
  315. package/dist/Tabs/TabScrollButton.mjs +2 -2
  316. package/dist/Tabs/Tabs.cjs +1 -1
  317. package/dist/Tabs/Tabs.d.cts +2 -2
  318. package/dist/Tabs/Tabs.d.mts +2 -2
  319. package/dist/Tabs/Tabs.mjs +1 -1
  320. package/dist/{Tabs-D4tWCq78.cjs → Tabs-Croeq9s2.cjs} +11 -7
  321. package/dist/{Tabs-BTNOJx5v.mjs → Tabs-DMMP5aDj.mjs} +11 -7
  322. package/dist/Tabs.cjs +1 -1
  323. package/dist/Tabs.d.cts +3 -3
  324. package/dist/Tabs.d.mts +3 -3
  325. package/dist/Tabs.mjs +1 -1
  326. package/dist/{TabsContext-B_XHbjcS.d.cts → TabsContext-BYeGjSZK.d.cts} +1 -1
  327. package/dist/{TabsContext-Dn2kqUwr.d.mts → TabsContext-D4YumTfD.d.mts} +1 -1
  328. package/dist/TextInput.cjs +11 -11
  329. package/dist/TextInput.d.cts +1 -1
  330. package/dist/TextInput.d.mts +1 -1
  331. package/dist/TextInput.mjs +11 -11
  332. package/dist/ToggleButton/ToggleButton.cjs +2 -2
  333. package/dist/ToggleButton/ToggleButton.d.cts +1 -1
  334. package/dist/ToggleButton/ToggleButton.d.mts +1 -1
  335. package/dist/ToggleButton/ToggleButton.mjs +2 -2
  336. package/dist/ToggleButton/ToggleButtonGroup.cjs +1 -1
  337. package/dist/ToggleButton/ToggleButtonGroup.d.cts +1 -1
  338. package/dist/ToggleButton/ToggleButtonGroup.d.mts +1 -1
  339. package/dist/ToggleButton/ToggleButtonGroup.mjs +1 -1
  340. package/dist/Tooltip.cjs +270 -0
  341. package/dist/Tooltip.d.cts +78 -0
  342. package/dist/Tooltip.d.mts +78 -0
  343. package/dist/Tooltip.mjs +268 -0
  344. package/dist/TransferList.cjs +14 -7
  345. package/dist/TransferList.d.cts +4 -2
  346. package/dist/TransferList.d.mts +4 -2
  347. package/dist/TransferList.mjs +14 -7
  348. package/dist/Typography.cjs +1 -1
  349. package/dist/Typography.d.cts +2 -2
  350. package/dist/Typography.d.mts +2 -2
  351. package/dist/Typography.mjs +1 -1
  352. package/dist/View.d.cts +1 -1
  353. package/dist/View.d.mts +1 -1
  354. package/dist/Zoom.cjs +16 -0
  355. package/dist/Zoom.d.cts +10 -0
  356. package/dist/Zoom.d.mts +10 -0
  357. package/dist/Zoom.mjs +15 -0
  358. package/dist/catalog.cjs +932 -30
  359. package/dist/catalog.d.cts +1 -1
  360. package/dist/catalog.d.mts +1 -1
  361. package/dist/catalog.mjs +932 -30
  362. package/dist/engine.d.cts +2 -2
  363. package/dist/engine.d.mts +1 -1
  364. package/dist/getAnchorRel-CySI28HJ.mjs +8 -0
  365. package/dist/getAnchorRel-_vtAXC-4.cjs +13 -0
  366. package/dist/getShapeRadius-B9ytqDSk.d.cts +5 -0
  367. package/dist/getShapeRadius-B9ytqDSk.d.mts +5 -0
  368. package/dist/getShapeRadius-sY6-AGP4.mjs +12 -0
  369. package/dist/getShapeRadius-vXmXGV3f.cjs +17 -0
  370. package/dist/getSurfaceRadius-BTUV1E8H.cjs +11 -0
  371. package/dist/getSurfaceRadius-DTgqIzll.mjs +6 -0
  372. package/dist/getTooltipOrigins-B_7XXtQq.cjs +104 -0
  373. package/dist/getTooltipOrigins-CyyIMCF1.mjs +87 -0
  374. package/dist/{index-Dv_fk1_F.d.cts → index-05VGk0y_.d.cts} +14 -2
  375. package/dist/{index-DtYjdBvO.d.cts → index-2x01drCL.d.mts} +2 -2
  376. package/dist/{index-B1RFybA_.d.mts → index-46mhlgP6.d.mts} +7 -3
  377. package/dist/{index-BQWjh4rK.d.mts → index-BCzI2Iqo.d.cts} +3 -3
  378. package/dist/{index-ClZyaZrR.d.mts → index-BDqIc6Gx.d.cts} +2 -2
  379. package/dist/{index-K5exjvnX.d.cts → index-BPh60KDs.d.mts} +2 -2
  380. package/dist/{index-DAwcmIjN.d.cts → index-BQge4W7L.d.cts} +2 -2
  381. package/dist/{index-B4TeaB7b.d.cts → index-BSGu9rPv.d.cts} +7 -3
  382. package/dist/{index-BelFIizY.d.cts → index-BThHG5QU.d.mts} +3 -3
  383. package/dist/{index-YKrfFC_I.d.cts → index-BUeqNHjb.d.cts} +2 -2
  384. package/dist/{index-BGbTuHP9.d.mts → index-BeqpkGV-.d.mts} +1 -1
  385. package/dist/{index-Bx0-6yeX.d.mts → index-Bfyz3MDc.d.mts} +1 -1
  386. package/dist/{index-CbFaWtjK.d.mts → index-BgLqA52S.d.cts} +2 -2
  387. package/dist/{index-DchHf5cF.d.cts → index-BhnLFsBv.d.cts} +1 -1
  388. package/dist/{index-KnXhlKMr.d.cts → index-BitQk7Hx.d.cts} +1 -1
  389. package/dist/index-BvgX5eyV.d.mts +36 -0
  390. package/dist/index-CERyXFjz.d.cts +32 -0
  391. package/dist/index-CLvlNnjM.d.mts +32 -0
  392. package/dist/{index-BkzZxHVj.d.mts → index-CO-XxjiZ.d.cts} +2 -2
  393. package/dist/{index-DYF8sRE-.d.cts → index-CR0akDlJ.d.cts} +2 -2
  394. package/dist/{index-CJhK7JND.d.mts → index-CRQ7XLri.d.mts} +193 -13
  395. package/dist/{index-CknoXDLQ.d.cts → index-CRn4fWwA.d.mts} +2 -2
  396. package/dist/{index-CUz2h5xY.d.mts → index-CWPvdEjP.d.mts} +2 -2
  397. package/dist/{index-nqUA_6J_.d.cts → index-CrQDxJ1D.d.cts} +1 -1
  398. package/dist/index-Ctx-DKV3.d.cts +18 -0
  399. package/dist/index-Ctx-DKV3.d.mts +18 -0
  400. package/dist/{index-CE5JG1us.d.mts → index-CyLhEXYB.d.mts} +1 -1
  401. package/dist/{index-pTNq3iQn.d.mts → index-D05fSuF1.d.mts} +2 -2
  402. package/dist/{index-CG_1uPrD.d.mts → index-DK3zgGPe.d.mts} +2 -2
  403. package/dist/{index-ha1WjSZ5.d.mts → index-DNj5P2NH.d.mts} +14 -2
  404. package/dist/{index-ChXeKJCk.d.cts → index-DOH1xY0L.d.cts} +1 -1
  405. package/dist/{index-WHFhjfgy.d.cts → index-D_-DAAE7.d.mts} +14 -6
  406. package/dist/{index-BHKgEOZJ.d.cts → index-D_LT3QiH.d.mts} +3 -3
  407. package/dist/index-Db4L2hwa.d.cts +36 -0
  408. package/dist/{index-BrgwkY6z.d.mts → index-Dk4KuTPB.d.cts} +3 -3
  409. package/dist/{index-bpnLB_4K.d.mts → index-Ebjbrbsk.d.cts} +14 -6
  410. package/dist/{index-CQfJZADG.d.cts → index-MWUGpG-Y.d.mts} +3 -3
  411. package/dist/{index-DJ0f69wh.d.cts → index-XN4-ZqTB.d.cts} +195 -15
  412. package/dist/index-fPRELf0V.d.mts +1 -0
  413. package/dist/{index-DGnXJwLj.d.mts → index-fi-W3MOz.d.cts} +7 -5
  414. package/dist/{index-ByYxVl9O.d.mts → index-iTquH69S.d.cts} +3 -3
  415. package/dist/{index-DWjz5ZzG.d.cts → index-lGpLM144.d.mts} +7 -5
  416. package/dist/{index-h4dYtVrp.d.mts → index-vBCN6iAz.d.mts} +1 -1
  417. package/dist/index-x3WC9ViD.d.cts +1 -0
  418. package/dist/index.d.cts +1 -1
  419. package/dist/index.d.mts +1 -1
  420. package/dist/inputVariantStyles-BUK_62Ra.cjs +61 -0
  421. package/dist/inputVariantStyles-q_cZsCJg.mjs +44 -0
  422. package/dist/style.cjs +1 -1
  423. package/dist/style.d.cts +2 -2
  424. package/dist/style.d.mts +2 -2
  425. package/dist/style.mjs +1 -1
  426. package/dist/{theme-BxXuXRgQ.cjs → theme-DzfwuzMZ.cjs} +1 -1
  427. package/dist/{theme-Z9_QludW.mjs → theme-oBfFhJm9.mjs} +1 -1
  428. package/dist/theme.cjs +3 -2
  429. package/dist/theme.d.cts +3 -3
  430. package/dist/theme.d.mts +3 -3
  431. package/dist/theme.mjs +3 -3
  432. package/dist/{themes-gd6tcmqS.cjs → themes--4eci3M1.cjs} +25 -2
  433. package/dist/{themes-L-dE7_ck.mjs → themes-BwEsdVox.mjs} +20 -3
  434. package/dist/useAnchoredPlacement-B1FyGoZV.cjs +111 -0
  435. package/dist/useAnchoredPlacement-Pe7sY41E.mjs +106 -0
  436. package/dist/useMergedRefs-2zTDXgPO.cjs +27 -0
  437. package/dist/useMergedRefs-BfBckwRY.mjs +22 -0
  438. package/dist/{useTablePagination-C-u3ru4N.d.cts → useTablePagination-CFb_FYA9.d.cts} +1 -1
  439. package/dist/{useTablePagination-D-39ZmQh.d.mts → useTablePagination-_-bzuXJO.d.mts} +1 -1
  440. package/dist/useTransition-C1F7MuHO.d.mts +42 -0
  441. package/dist/useTransition-DAQd1PX3.cjs +83 -0
  442. package/dist/useTransition-DP1k0irI.mjs +78 -0
  443. package/dist/useTransition-l9dv83-Y.d.cts +42 -0
  444. package/dist/useTransitionChild-CikpU0Yh.cjs +54 -0
  445. package/dist/useTransitionChild-Dvg9hO-F.mjs +49 -0
  446. package/package.json +164 -14
  447. package/dist/index-BxVTIMnB.d.cts +0 -1
  448. package/dist/index-DaIIo5QU.d.mts +0 -1
  449. package/dist/inputVariantStyles-BBkkYQtE.cjs +0 -32
  450. package/dist/inputVariantStyles-CcqpGfuP.mjs +0 -28
package/dist/Select.cjs CHANGED
@@ -1,12 +1,12 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_src = require("./src-DU81aGy9.cjs");
3
+ const require_theme = require("./theme-DzfwuzMZ.cjs");
3
4
  const require_themeDefault = require("./themeDefault-Cebi08Cv.cjs");
4
- const require_theme = require("./theme-BxXuXRgQ.cjs");
5
- const require_Icon = require("./Icon-D-EWsBVg.cjs");
5
+ const require_Icon = require("./Icon-BE7bRsqR.cjs");
6
+ const require_inputVariantStyles = require("./inputVariantStyles-BUK_62Ra.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-xyJTSjZy.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");
@@ -137,14 +137,10 @@ const borderRadiusStyle = ({ variant: v, borderRadius, theme }) => {
137
137
  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
138
  const activeBorder = ({ color, error, open, theme }) => {
139
139
  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
140
  return {
142
141
  ...open ? { borderColor: activeColor } : {},
143
142
  "&:focus": { borderColor: activeColor },
144
- "&:focus-visible": {
145
- outline: `2px solid ${focusColor}`,
146
- outlineOffset: "2px"
147
- }
143
+ "&:focus-visible": require_inputVariantStyles.getFocusRing(theme, color, error)
148
144
  };
149
145
  };
150
146
  const backgroundStyle = ({ color, textColor, bg, variant: v, theme }) => ({
@@ -164,7 +160,8 @@ const sizeVariants = ({ theme, sizeToken }) => {
164
160
  fontSize: theme.fontSizes[s.fontSize]
165
161
  };
166
162
  };
167
- const layoutStyles = ({ fullWidth, disabled }) => ({
163
+ const layoutStyles = ({ theme, fullWidth, disabled }) => ({
164
+ minWidth: require_inputVariantStyles.getInputMinWidth(theme),
168
165
  ...fullWidth ? {
169
166
  display: "flex",
170
167
  width: "100%"
@@ -463,8 +460,8 @@ function NonNativeSelect({ children, options, value, autoWidth, onChangeValue, m
463
460
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TriggerValue, { children: showPlaceholder ? placeholder ?? "​" : display })]
464
461
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Icon.Icon, {
465
462
  name: iconName ?? (open ? "expand_less" : "expand_more"),
466
- size: "1.25rem",
467
- color: "secondary",
463
+ size,
464
+ color: "inherit",
468
465
  ...iconProps
469
466
  })]
470
467
  }),
package/dist/Select.d.cts CHANGED
@@ -1,5 +1,5 @@
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-XN4-ZqTB.cjs";
2
+ import { n as IconProps, r as IconName } from "./index-05VGk0y_.cjs";
3
3
  import { ReactNode } from "react";
4
4
  import { LayoutProps, SpaceProps } from "@soroush.tech/styled-system";
5
5
  //#region src/Select/utils/isOptionSelected.d.ts
package/dist/Select.d.mts CHANGED
@@ -1,5 +1,5 @@
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-CRQ7XLri.mjs";
2
+ import { n as IconProps, r as IconName } from "./index-DNj5P2NH.mjs";
3
3
  import { LayoutProps, SpaceProps } from "@soroush.tech/styled-system";
4
4
  import { ReactNode } from "react";
5
5
  //#region src/Select/utils/isOptionSelected.d.ts
package/dist/Select.mjs CHANGED
@@ -1,11 +1,11 @@
1
1
  import { a as src_exports, i as props, o as styled, t as createShouldForwardProp } from "./src-DLGYOJMh.mjs";
2
+ import { r as useTheme } from "./theme-oBfFhJm9.mjs";
2
3
  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";
4
+ import { t as Icon } from "./Icon-0hPpk-WZ.mjs";
5
+ import { n as getFocusRing, r as getInputMinWidth, t as inputVariantStyles } from "./inputVariantStyles-q_cZsCJg.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-Neeqs_7l.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
11
  //#region src/Select/hooks/useSelectPopover.ts
@@ -135,14 +135,10 @@ const borderRadiusStyle = ({ variant: v, borderRadius, theme }) => {
135
135
  const colorBorder = ({ color, error, theme }) => ({ borderColor: error ? (0, src_exports.get)(theme, "palette.error.main") : (0, src_exports.get)(theme, `palette.${color}.light`) });
136
136
  const activeBorder = ({ color, error, open, theme }) => {
137
137
  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
138
  return {
140
139
  ...open ? { borderColor: activeColor } : {},
141
140
  "&:focus": { borderColor: activeColor },
142
- "&:focus-visible": {
143
- outline: `2px solid ${focusColor}`,
144
- outlineOffset: "2px"
145
- }
141
+ "&:focus-visible": getFocusRing(theme, color, error)
146
142
  };
147
143
  };
148
144
  const backgroundStyle = ({ color, textColor, bg, variant: v, theme }) => ({
@@ -162,7 +158,8 @@ const sizeVariants = ({ theme, sizeToken }) => {
162
158
  fontSize: theme.fontSizes[s.fontSize]
163
159
  };
164
160
  };
165
- const layoutStyles = ({ fullWidth, disabled }) => ({
161
+ const layoutStyles = ({ theme, fullWidth, disabled }) => ({
162
+ minWidth: getInputMinWidth(theme),
166
163
  ...fullWidth ? {
167
164
  display: "flex",
168
165
  width: "100%"
@@ -461,8 +458,8 @@ function NonNativeSelect({ children, options, value, autoWidth, onChangeValue, m
461
458
  }), /* @__PURE__ */ jsx(TriggerValue, { children: showPlaceholder ? placeholder ?? "​" : display })]
462
459
  }), /* @__PURE__ */ jsx(Icon, {
463
460
  name: iconName ?? (open ? "expand_less" : "expand_more"),
464
- size: "1.25rem",
465
- color: "secondary",
461
+ size,
462
+ color: "inherit",
466
463
  ...iconProps
467
464
  })]
468
465
  }),
@@ -1,4 +1,4 @@
1
- import { Jt as FlexProps } from "../index-DJ0f69wh.cjs";
1
+ import { dn as FlexProps } from "../index-XN4-ZqTB.cjs";
2
2
  import { i as SidebarItemVariant, t as SidebarAnchor } from "../SidebarContext-B1lWrt77.cjs";
3
3
  import { ElementType, ReactNode } from "react";
4
4
  //#region src/Sidebar/Sidebar/Sidebar.d.ts
@@ -1,4 +1,4 @@
1
- import { Jt as FlexProps } from "../index-CJhK7JND.mjs";
1
+ import { dn as FlexProps } from "../index-CRQ7XLri.mjs";
2
2
  import { i as SidebarItemVariant, t as SidebarAnchor } from "../SidebarContext-B1lWrt77.mjs";
3
3
  import { ElementType, ReactNode } from "react";
4
4
  //#region src/Sidebar/Sidebar/Sidebar.d.ts
@@ -1,9 +1,9 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_src = require("../src-DU81aGy9.cjs");
3
- const require_Flex = require("../Flex.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-BE7bRsqR.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
9
  const require_SidebarContext = require("../SidebarContext-jG6OioC-.cjs");
@@ -1,6 +1,6 @@
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";
1
+ import { nt as Theme } from "../index-XN4-ZqTB.cjs";
2
+ import { r as IconName } from "../index-05VGk0y_.cjs";
3
+ import { i as PressableProps } from "../index-BUeqNHjb.cjs";
4
4
  import { i as SidebarItemVariant } from "../SidebarContext-B1lWrt77.cjs";
5
5
  import { ReactNode } from "react";
6
6
  //#region src/Sidebar/SidebarItem/SidebarItem.d.ts
@@ -1,6 +1,6 @@
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";
1
+ import { nt as Theme } from "../index-CRQ7XLri.mjs";
2
+ import { r as IconName } from "../index-DNj5P2NH.mjs";
3
+ import { i as PressableProps } from "../index-CWPvdEjP.mjs";
4
4
  import { i as SidebarItemVariant } from "../SidebarContext-B1lWrt77.mjs";
5
5
  import { ReactNode } from "react";
6
6
  //#region src/Sidebar/SidebarItem/SidebarItem.d.ts
@@ -1,8 +1,8 @@
1
1
  import { a as src_exports, o as styled } from "../src-DLGYOJMh.mjs";
2
- import { Flex } from "../Flex.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-0hPpk-WZ.mjs";
5
+ import { Flex } from "../Flex.mjs";
6
6
  import { Portal } from "../Portal.mjs";
7
7
  import { Pressable } from "../Pressable.mjs";
8
8
  import { t as SidebarContext } from "../SidebarContext-DgSLwjur.mjs";
@@ -1,4 +1,4 @@
1
- import { W as Theme } from "./index-DJ0f69wh.cjs";
1
+ import { nt as Theme } from "./index-XN4-ZqTB.cjs";
2
2
  import { HTMLAttributes } from "react";
3
3
  import { PaddingProps, SpaceProps } from "@soroush.tech/styled-system";
4
4
  //#region src/Skeleton/Skeleton.d.ts
@@ -1,4 +1,4 @@
1
- import { W as Theme } from "./index-CJhK7JND.mjs";
1
+ import { nt as Theme } from "./index-CRQ7XLri.mjs";
2
2
  import { PaddingProps, SpaceProps } from "@soroush.tech/styled-system";
3
3
  import { HTMLAttributes } from "react";
4
4
  //#region src/Skeleton/Skeleton.d.ts
package/dist/Slide.cjs ADDED
@@ -0,0 +1,51 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_isRtl = require("./isRtl-DTkYHRPo.cjs");
3
+ const require_useTransitionChild = require("./useTransitionChild-CikpU0Yh.cjs");
4
+ let react = require("react");
5
+ //#region src/Slide/Slide.tsx
6
+ const mirrored = {
7
+ up: "up",
8
+ down: "down",
9
+ left: "right",
10
+ right: "left"
11
+ };
12
+ const getOffset = (node, direction) => {
13
+ const rect = node.getBoundingClientRect();
14
+ const toward = require_isRtl.isRtl(node) ? mirrored[direction] : direction;
15
+ if (toward === "left") return `translateX(${-(rect.left + rect.width)}px)`;
16
+ if (toward === "right") return `translateX(${window.innerWidth - rect.left}px)`;
17
+ if (toward === "up") return `translateY(${-(rect.top + rect.height)}px)`;
18
+ return `translateY(${window.innerHeight - rect.top}px)`;
19
+ };
20
+ /**
21
+ * @description Slides one child in from an edge of the window and back out. The child holds a
22
+ * `ref` and takes a `style`; out, it is hidden. Its way out is measured as it starts, so it
23
+ * leaves the window from wherever it sits. A user who asked for less motion sees it change at
24
+ * once.
25
+ */
26
+ function Slide({ direction = "down", ...props }) {
27
+ const offset = (0, react.useRef)("");
28
+ const measure = (node) => {
29
+ const { transform } = node.style;
30
+ node.style.transform = "none";
31
+ offset.current = getOffset(node, direction);
32
+ node.style.transform = transform;
33
+ };
34
+ return require_useTransitionChild.useTransitionChild(props, ({ status, duration, easing }) => ({
35
+ transform: status === "entering" || status === "entered" ? "none" : offset.current || void 0,
36
+ transition: `transform ${duration}ms ${easing}`,
37
+ visibility: status === "exited" ? "hidden" : void 0
38
+ }), {
39
+ onEnter: (node) => {
40
+ measure(node);
41
+ const { transition } = node.style;
42
+ node.style.transition = "none";
43
+ node.style.transform = offset.current;
44
+ node.getBoundingClientRect();
45
+ node.style.transition = transition;
46
+ },
47
+ onExit: measure
48
+ });
49
+ }
50
+ //#endregion
51
+ exports.Slide = Slide;
@@ -0,0 +1,17 @@
1
+ import { n as TransitionProps } from "./useTransition-l9dv83-Y.cjs";
2
+ //#region src/Slide/Slide.d.ts
3
+ /** The edge of the window the child slides in from. */
4
+ type SlideDirection = 'up' | 'down' | 'left' | 'right';
5
+ interface SlideProps extends TransitionProps {
6
+ /** The edge it slides in from - and out to. Mirrored in right-to-left pages. Default: `'down'`. */
7
+ direction?: SlideDirection;
8
+ }
9
+ /**
10
+ * @description Slides one child in from an edge of the window and back out. The child holds a
11
+ * `ref` and takes a `style`; out, it is hidden. Its way out is measured as it starts, so it
12
+ * leaves the window from wherever it sits. A user who asked for less motion sees it change at
13
+ * once.
14
+ */
15
+ declare function Slide({ direction, ...props }: Readonly<SlideProps>): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | null;
16
+ //#endregion
17
+ export { Slide, SlideDirection, SlideProps };
@@ -0,0 +1,17 @@
1
+ import { n as TransitionProps } from "./useTransition-C1F7MuHO.mjs";
2
+ //#region src/Slide/Slide.d.ts
3
+ /** The edge of the window the child slides in from. */
4
+ type SlideDirection = 'up' | 'down' | 'left' | 'right';
5
+ interface SlideProps extends TransitionProps {
6
+ /** The edge it slides in from - and out to. Mirrored in right-to-left pages. Default: `'down'`. */
7
+ direction?: SlideDirection;
8
+ }
9
+ /**
10
+ * @description Slides one child in from an edge of the window and back out. The child holds a
11
+ * `ref` and takes a `style`; out, it is hidden. Its way out is measured as it starts, so it
12
+ * leaves the window from wherever it sits. A user who asked for less motion sees it change at
13
+ * once.
14
+ */
15
+ declare function Slide({ direction, ...props }: Readonly<SlideProps>): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | null;
16
+ //#endregion
17
+ export { Slide, SlideDirection, SlideProps };
package/dist/Slide.mjs ADDED
@@ -0,0 +1,50 @@
1
+ import { t as isRtl } from "./isRtl-BJDtm86G.mjs";
2
+ import { t as useTransitionChild } from "./useTransitionChild-Dvg9hO-F.mjs";
3
+ import { useRef } from "react";
4
+ //#region src/Slide/Slide.tsx
5
+ const mirrored = {
6
+ up: "up",
7
+ down: "down",
8
+ left: "right",
9
+ right: "left"
10
+ };
11
+ const getOffset = (node, direction) => {
12
+ const rect = node.getBoundingClientRect();
13
+ const toward = isRtl(node) ? mirrored[direction] : direction;
14
+ if (toward === "left") return `translateX(${-(rect.left + rect.width)}px)`;
15
+ if (toward === "right") return `translateX(${window.innerWidth - rect.left}px)`;
16
+ if (toward === "up") return `translateY(${-(rect.top + rect.height)}px)`;
17
+ return `translateY(${window.innerHeight - rect.top}px)`;
18
+ };
19
+ /**
20
+ * @description Slides one child in from an edge of the window and back out. The child holds a
21
+ * `ref` and takes a `style`; out, it is hidden. Its way out is measured as it starts, so it
22
+ * leaves the window from wherever it sits. A user who asked for less motion sees it change at
23
+ * once.
24
+ */
25
+ function Slide({ direction = "down", ...props }) {
26
+ const offset = useRef("");
27
+ const measure = (node) => {
28
+ const { transform } = node.style;
29
+ node.style.transform = "none";
30
+ offset.current = getOffset(node, direction);
31
+ node.style.transform = transform;
32
+ };
33
+ return useTransitionChild(props, ({ status, duration, easing }) => ({
34
+ transform: status === "entering" || status === "entered" ? "none" : offset.current || void 0,
35
+ transition: `transform ${duration}ms ${easing}`,
36
+ visibility: status === "exited" ? "hidden" : void 0
37
+ }), {
38
+ onEnter: (node) => {
39
+ measure(node);
40
+ const { transition } = node.style;
41
+ node.style.transition = "none";
42
+ node.style.transform = offset.current;
43
+ node.getBoundingClientRect();
44
+ node.style.transition = transition;
45
+ },
46
+ onExit: measure
47
+ });
48
+ }
49
+ //#endregion
50
+ export { Slide };
@@ -0,0 +1,205 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_src = require("./src-DU81aGy9.cjs");
3
+ const require_theme = require("./theme-DzfwuzMZ.cjs");
4
+ const require_themeDefault = require("./themeDefault-Cebi08Cv.cjs");
5
+ const require_getSurfaceRadius = require("./getSurfaceRadius-BTUV1E8H.cjs");
6
+ const require_useControlled = require("./useControlled-C666KpQ0.cjs");
7
+ const require_getShapeRadius = require("./getShapeRadius-vXmXGV3f.cjs");
8
+ const require_Portal = require("./Portal.cjs");
9
+ const require_Grow = require("./Grow.cjs");
10
+ let react = require("react");
11
+ let react_jsx_runtime = require("react/jsx-runtime");
12
+ let _soroush_tech_styled_system_should_forward_prop = require("@soroush.tech/styled-system/should-forward-prop");
13
+ //#region src/Snackbar/hooks/useAutoHide.ts
14
+ /**
15
+ * The clock of a message that hides itself: it runs while the message is open, stops while the
16
+ * pointer or the focus is on it, and starts again - for `resumeDuration` - once they leave.
17
+ */
18
+ function useAutoHide({ isOpen, duration, resumeDuration, onHide }) {
19
+ const timer = (0, react.useRef)(void 0);
20
+ const hide = (0, react.useRef)(onHide);
21
+ (0, react.useEffect)(() => {
22
+ hide.current = onHide;
23
+ });
24
+ const stop = (0, react.useCallback)(() => window.clearTimeout(timer.current), []);
25
+ const start = (0, react.useCallback)((ms) => {
26
+ stop();
27
+ if (ms !== void 0) timer.current = window.setTimeout(() => hide.current(), ms);
28
+ }, [stop]);
29
+ (0, react.useEffect)(() => {
30
+ if (!isOpen) return void 0;
31
+ start(duration);
32
+ return stop;
33
+ }, [
34
+ isOpen,
35
+ duration,
36
+ start,
37
+ stop
38
+ ]);
39
+ return {
40
+ pause: stop,
41
+ resume: (0, react.useCallback)(() => {
42
+ if (!isOpen || duration === void 0) return;
43
+ start(resumeDuration ?? duration / 2);
44
+ }, [
45
+ isOpen,
46
+ duration,
47
+ resumeDuration,
48
+ start
49
+ ])
50
+ };
51
+ }
52
+ //#endregion
53
+ //#region src/Snackbar/Snackbar.tsx
54
+ const DEFAULT_ANCHOR = {
55
+ vertical: "bottom",
56
+ horizontal: "start"
57
+ };
58
+ const SnackbarRoot = require_src.styled("div", {
59
+ name: "Snackbar",
60
+ label: "Snackbar",
61
+ shouldForwardProp: (0, _soroush_tech_styled_system_should_forward_prop.createShouldForwardProp)(["anchorOrigin", "layer"])
62
+ })(({ theme, anchorOrigin, layer }) => {
63
+ const { vertical, horizontal } = anchorOrigin;
64
+ return {
65
+ position: "fixed",
66
+ zIndex: theme.zOrder[layer],
67
+ display: "flex",
68
+ pointerEvents: "none",
69
+ [vertical]: theme.space[3],
70
+ ...horizontal === "center" ? {
71
+ left: 0,
72
+ right: 0,
73
+ justifyContent: "center"
74
+ } : { [horizontal === "start" ? "insetInlineStart" : "insetInlineEnd"]: theme.space[3] }
75
+ };
76
+ });
77
+ const SnackbarContent = require_src.styled("div", {
78
+ name: "Snackbar",
79
+ slot: "content",
80
+ label: "SnackbarContent",
81
+ shouldForwardProp: (0, _soroush_tech_styled_system_should_forward_prop.createShouldForwardProp)([
82
+ "shape",
83
+ "borderRadius",
84
+ "bg",
85
+ "textColor"
86
+ ])
87
+ })(({ theme, shape, borderRadius, bg, textColor }) => ({
88
+ display: "flex",
89
+ alignItems: "center",
90
+ gap: theme.space[2],
91
+ boxSizing: "border-box",
92
+ minWidth: "18rem",
93
+ maxWidth: `calc(100vw - ${theme.space[3]} - ${theme.space[3]})`,
94
+ padding: `${theme.space[1]} ${theme.space[2]}`,
95
+ pointerEvents: "auto",
96
+ borderRadius: require_getShapeRadius.getShapeRadius(shape, require_getSurfaceRadius.getSurfaceRadius(theme, borderRadius)),
97
+ boxShadow: theme.shadows[6],
98
+ backgroundColor: (0, require_src.src_exports.get)(theme, `background.${bg ?? "modal"}`),
99
+ color: (0, require_src.src_exports.get)(theme, `text.${textColor ?? require_themeDefault.themeDefault(theme, "textColor", "initial")}`),
100
+ fontFamily: (0, require_src.src_exports.get)(theme, "fonts.body"),
101
+ fontSize: theme.fontSizes[1],
102
+ lineHeight: (0, require_src.src_exports.get)(theme, "lineHeights.base")
103
+ }));
104
+ const SnackbarMessage = require_src.styled("div", {
105
+ name: "Snackbar",
106
+ slot: "message",
107
+ label: "SnackbarMessage"
108
+ })(({ theme }) => ({
109
+ flex: 1,
110
+ minWidth: 0,
111
+ padding: `${theme.space[1]} 0`
112
+ }));
113
+ const SnackbarAction = require_src.styled("div", {
114
+ name: "Snackbar",
115
+ slot: "action",
116
+ label: "SnackbarAction"
117
+ })(({ theme }) => ({
118
+ display: "flex",
119
+ alignItems: "center",
120
+ flexShrink: 0,
121
+ gap: theme.space[1],
122
+ marginInlineStart: "auto"
123
+ }));
124
+ /**
125
+ * @description A transient message in a corner of the window, through a `Portal`. It hides itself
126
+ * after `autoHideDuration` - the clock stops while the pointer or the focus is on it - and asks to
127
+ * close on Escape and on a click away, `onClose` told why. It is a `role="status"`, announced
128
+ * politely, and never takes the focus. Several at once do not stack: the app queues them.
129
+ */
130
+ function Snackbar({ isOpen: isOpenProp, defaultOpen = false, onClose, autoHideDuration: autoHideDurationProp, resumeHideDuration: resumeHideDurationProp, message, action, children, anchorOrigin: anchorOriginProp, transition: Transition = require_Grow.Grow, layer: layerProp, shape: shapeProp, borderRadius: borderRadiusProp, bg: bgProp, textColor: textColorProp, container, className, "data-testid": dataTestid }) {
131
+ const dp = require_theme.useDefaultProps("Snackbar");
132
+ const autoHideDuration = autoHideDurationProp ?? dp.autoHideDuration;
133
+ const resumeHideDuration = resumeHideDurationProp ?? dp.resumeHideDuration;
134
+ const anchorOrigin = anchorOriginProp ?? dp.anchorOrigin ?? DEFAULT_ANCHOR;
135
+ const layer = layerProp ?? dp.layer ?? "snackbar";
136
+ const shape = shapeProp ?? dp.shape ?? "rounded";
137
+ const borderRadius = borderRadiusProp ?? dp.borderRadius;
138
+ const bg = bgProp ?? dp.bg;
139
+ const textColor = textColorProp ?? dp.textColor;
140
+ const [isOpen, setIsOpen] = require_useControlled.useControlled({
141
+ controlled: isOpenProp,
142
+ default: defaultOpen
143
+ });
144
+ const [isMounted, setIsMounted] = (0, react.useState)(isOpen);
145
+ if (isOpen && !isMounted) setIsMounted(true);
146
+ const close = (event, reason) => {
147
+ onClose?.(event, reason);
148
+ if (isOpenProp === void 0 && reason !== "clickaway") setIsOpen(false);
149
+ };
150
+ const latestClose = (0, react.useRef)(close);
151
+ (0, react.useEffect)(() => {
152
+ latestClose.current = close;
153
+ });
154
+ const { pause, resume } = useAutoHide({
155
+ isOpen,
156
+ duration: autoHideDuration,
157
+ resumeDuration: resumeHideDuration,
158
+ onHide: () => latestClose.current(new Event("timeout"), "timeout")
159
+ });
160
+ const contentRef = (0, react.useRef)(null);
161
+ (0, react.useEffect)(() => {
162
+ if (!isOpen) return void 0;
163
+ const handleKeyDown = (event) => {
164
+ if (event.key === "Escape") latestClose.current(event, "escapeKeyDown");
165
+ };
166
+ const handlePointerDown = (event) => {
167
+ if (!contentRef.current?.contains(event.target)) latestClose.current(event, "clickaway");
168
+ };
169
+ document.addEventListener("keydown", handleKeyDown);
170
+ document.addEventListener("pointerdown", handlePointerDown);
171
+ return () => {
172
+ document.removeEventListener("keydown", handleKeyDown);
173
+ document.removeEventListener("pointerdown", handlePointerDown);
174
+ };
175
+ }, [isOpen]);
176
+ if (!isMounted) return null;
177
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Portal.Portal, {
178
+ container,
179
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SnackbarRoot, {
180
+ anchorOrigin,
181
+ layer,
182
+ className,
183
+ "data-testid": dataTestid,
184
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Transition, {
185
+ isShown: isOpen,
186
+ onExited: () => setIsMounted(false),
187
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SnackbarContent, {
188
+ ref: contentRef,
189
+ role: "status",
190
+ shape,
191
+ borderRadius,
192
+ bg,
193
+ textColor,
194
+ onMouseEnter: pause,
195
+ onMouseLeave: resume,
196
+ onFocus: pause,
197
+ onBlur: resume,
198
+ children: children ?? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(SnackbarMessage, { children: message }), action ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SnackbarAction, { children: action }) : null] })
199
+ })
200
+ })
201
+ })
202
+ });
203
+ }
204
+ //#endregion
205
+ exports.Snackbar = Snackbar;
@@ -0,0 +1,62 @@
1
+ import { nt as Theme } from "./index-XN4-ZqTB.cjs";
2
+ import { n as TransitionProps } from "./useTransition-l9dv83-Y.cjs";
3
+ import { t as Shape } from "./getShapeRadius-B9ytqDSk.cjs";
4
+ import { n as PortalProps } from "./index-Ctx-DKV3.cjs";
5
+ import { ComponentType, ReactNode, SyntheticEvent } from "react";
6
+ //#region src/Snackbar/Snackbar.d.ts
7
+ /** Why a snackbar asks to close. */
8
+ type SnackbarCloseReason = 'timeout' | 'clickaway' | 'escapeKeyDown';
9
+ interface SnackbarAnchorOrigin {
10
+ vertical: 'top' | 'bottom';
11
+ /** `'start'` and `'end'` are the left and the right, and swap right to left. */
12
+ horizontal: 'start' | 'center' | 'end';
13
+ }
14
+ type SnackbarShape = Shape;
15
+ interface SnackbarProps {
16
+ /**
17
+ * Corner shape: `'square'` is 0, `'pill'` a full round, `'rounded'` the radius of `borderRadius`.
18
+ * Default: `'rounded'`.
19
+ */
20
+ shape?: SnackbarShape;
21
+ /** The radius of a `'rounded'` snackbar, resolves against `theme.radii`. Default: `theme.defaults.surfaceRadius`, else square. Other shapes ignore it. */
22
+ borderRadius?: keyof Theme['radii'];
23
+ /** Background, resolves against `theme.background`. Default: `'modal'`. */
24
+ bg?: keyof Theme['background'];
25
+ /** Text color, resolves against `theme.text`. Default: `theme.defaults.textColor`, else `'initial'`. */
26
+ textColor?: keyof Theme['text'];
27
+ /** Whether it is shown. Controlled with `onClose`. */
28
+ isOpen?: boolean;
29
+ /** Whether it is shown at first, when uncontrolled. Default: `false`. */
30
+ defaultOpen?: boolean;
31
+ /** Fired when it asks to close, with why. Uncontrolled, it closes itself - but not on a click away. */
32
+ onClose?: (event: Event | SyntheticEvent, reason: SnackbarCloseReason) => void;
33
+ /** How long it stays, in milliseconds. Without it, it stays until it is closed. */
34
+ autoHideDuration?: number;
35
+ /** How long it stays once the pointer or focus has left it. Default: half of `autoHideDuration`. */
36
+ resumeHideDuration?: number;
37
+ /** The message. */
38
+ message?: ReactNode;
39
+ /** What sits after the message - a button. */
40
+ action?: ReactNode;
41
+ /** What it holds in place of the message and the action - an `Alert`. */
42
+ children?: ReactNode;
43
+ /** Which corner of the window it sits in. Default: `{ vertical: 'bottom', horizontal: 'start' }`. */
44
+ anchorOrigin?: SnackbarAnchorOrigin;
45
+ /** The transition that shows and hides it. Default: `Grow`. */
46
+ transition?: ComponentType<TransitionProps>;
47
+ /** Stacking layer from `theme.zOrder`. Default: `'snackbar'`. */
48
+ layer?: keyof Theme['zOrder'];
49
+ /** Portal target. Default: `document.body`. */
50
+ container?: Exclude<PortalProps['container'], undefined>;
51
+ className?: string;
52
+ 'data-testid'?: string;
53
+ }
54
+ /**
55
+ * @description A transient message in a corner of the window, through a `Portal`. It hides itself
56
+ * after `autoHideDuration` - the clock stops while the pointer or the focus is on it - and asks to
57
+ * close on Escape and on a click away, `onClose` told why. It is a `role="status"`, announced
58
+ * politely, and never takes the focus. Several at once do not stack: the app queues them.
59
+ */
60
+ declare function Snackbar({ isOpen: isOpenProp, defaultOpen, onClose, autoHideDuration: autoHideDurationProp, resumeHideDuration: resumeHideDurationProp, message, action, children, anchorOrigin: anchorOriginProp, transition: Transition, layer: layerProp, shape: shapeProp, borderRadius: borderRadiusProp, bg: bgProp, textColor: textColorProp, container, className, 'data-testid': dataTestid }: Readonly<SnackbarProps>): import("react").JSX.Element | null;
61
+ //#endregion
62
+ export { Snackbar, SnackbarAnchorOrigin, SnackbarCloseReason, SnackbarProps, SnackbarShape };