@soroush.tech/design-system 2.0.0-rc.2 → 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 (457) hide show
  1. package/README.md +66 -40
  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 +14 -4
  121. package/dist/FormControl.d.cts +9 -1
  122. package/dist/FormControl.d.mts +9 -1
  123. package/dist/FormControl.mjs +14 -4
  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 +13 -2
  129. package/dist/FormLabel.d.cts +2 -2
  130. package/dist/FormLabel.d.mts +2 -2
  131. package/dist/FormLabel.mjs +14 -3
  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-DlheCTJb.mjs → Icon-0hPpk-WZ.mjs} +71 -1
  139. package/dist/{Icon-Cvuhp9ek.cjs → Icon-BE7bRsqR.cjs} +71 -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-tECbAEFj.mjs → Menu-CnG4ikZd.mjs} +7 -4
  171. package/dist/{Menu-BkKPTOfh.cjs → Menu-DXLjR9ga.cjs} +8 -5
  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-BR7ingQx.mjs → MenuItem-C21eR7d6.mjs} +42 -86
  177. package/dist/{MenuItem-CfdN4axw.cjs → MenuItem-EJ4u73f0.cjs} +42 -92
  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-Dml16k0X.d.mts → MenuListContext-BWL5fM_L.d.mts} +2 -2
  185. package/dist/{MenuListContext-vujGcRk9.d.cts → 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 +15 -18
  193. package/dist/NativeSelect.d.cts +3 -3
  194. package/dist/NativeSelect.d.mts +3 -3
  195. package/dist/NativeSelect.mjs +15 -18
  196. package/dist/NumberInput.cjs +502 -0
  197. package/dist/NumberInput.d.cts +79 -0
  198. package/dist/NumberInput.d.mts +79 -0
  199. package/dist/NumberInput.mjs +500 -0
  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/RangeInput.cjs +677 -0
  229. package/dist/RangeInput.d.cts +79 -0
  230. package/dist/RangeInput.d.mts +79 -0
  231. package/dist/RangeInput.mjs +675 -0
  232. package/dist/Rating.cjs +373 -0
  233. package/dist/Rating.d.cts +57 -0
  234. package/dist/Rating.d.mts +57 -0
  235. package/dist/Rating.mjs +371 -0
  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 +11 -13
  241. package/dist/Select.d.cts +3 -3
  242. package/dist/Select.d.mts +3 -3
  243. package/dist/Select.mjs +13 -15
  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 +4 -4
  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 +35 -18
  261. package/dist/Switch.d.cts +4 -2
  262. package/dist/Switch.d.mts +4 -2
  263. package/dist/Switch.mjs +37 -20
  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/TableControl.mjs +2 -2
  275. package/dist/Table/TableFooter.d.cts +1 -1
  276. package/dist/Table/TableFooter.d.mts +1 -1
  277. package/dist/Table/TableHead.d.cts +1 -1
  278. package/dist/Table/TableHead.d.mts +1 -1
  279. package/dist/Table/TablePagination.cjs +1 -0
  280. package/dist/Table/TablePagination.d.cts +2 -2
  281. package/dist/Table/TablePagination.d.mts +2 -2
  282. package/dist/Table/TablePagination.mjs +1 -0
  283. package/dist/Table/TablePaginationActions.cjs +1 -1
  284. package/dist/Table/TablePaginationActions.d.cts +1 -1
  285. package/dist/Table/TablePaginationActions.d.mts +1 -1
  286. package/dist/Table/TablePaginationActions.mjs +1 -1
  287. package/dist/Table/TableRow.d.cts +1 -1
  288. package/dist/Table/TableRow.d.mts +1 -1
  289. package/dist/Table/TableSortLabel.cjs +1 -1
  290. package/dist/Table/TableSortLabel.d.cts +1 -1
  291. package/dist/Table/TableSortLabel.d.mts +1 -1
  292. package/dist/Table/TableSortLabel.mjs +1 -1
  293. package/dist/Table/hooks.d.cts +1 -1
  294. package/dist/Table/hooks.d.mts +1 -1
  295. package/dist/Table.d.cts +5 -5
  296. package/dist/Table.d.mts +5 -5
  297. package/dist/{TableContext-6PgGpUzM.d.mts → TableContext-Be8tluYZ.d.cts} +1 -1
  298. package/dist/{TableContext-CBGk-Lh8.d.cts → TableContext-DUPqls5k.d.mts} +1 -1
  299. package/dist/Tabs/Tab.cjs +16 -7
  300. package/dist/Tabs/Tab.d.cts +2 -2
  301. package/dist/Tabs/Tab.d.mts +2 -2
  302. package/dist/Tabs/Tab.mjs +16 -7
  303. package/dist/Tabs/TabContext.d.cts +1 -1
  304. package/dist/Tabs/TabContext.d.mts +1 -1
  305. package/dist/Tabs/TabList.cjs +1 -1
  306. package/dist/Tabs/TabList.d.cts +1 -1
  307. package/dist/Tabs/TabList.d.mts +1 -1
  308. package/dist/Tabs/TabList.mjs +1 -1
  309. package/dist/Tabs/TabPanel.cjs +1 -1
  310. package/dist/Tabs/TabPanel.d.cts +2 -2
  311. package/dist/Tabs/TabPanel.d.mts +2 -2
  312. package/dist/Tabs/TabPanel.mjs +1 -1
  313. package/dist/Tabs/TabScrollButton.cjs +2 -2
  314. package/dist/Tabs/TabScrollButton.d.cts +1 -1
  315. package/dist/Tabs/TabScrollButton.d.mts +1 -1
  316. package/dist/Tabs/TabScrollButton.mjs +2 -2
  317. package/dist/Tabs/Tabs.cjs +1 -1
  318. package/dist/Tabs/Tabs.d.cts +2 -2
  319. package/dist/Tabs/Tabs.d.mts +2 -2
  320. package/dist/Tabs/Tabs.mjs +1 -1
  321. package/dist/{Tabs-D_wkX-Jb.cjs → Tabs-Croeq9s2.cjs} +15 -10
  322. package/dist/{Tabs-YfCUbkQV.mjs → Tabs-DMMP5aDj.mjs} +12 -7
  323. package/dist/Tabs.cjs +1 -1
  324. package/dist/Tabs.d.cts +3 -3
  325. package/dist/Tabs.d.mts +3 -3
  326. package/dist/Tabs.mjs +1 -1
  327. package/dist/{TabsContext-C2agsLBN.d.cts → TabsContext-BYeGjSZK.d.cts} +1 -1
  328. package/dist/{TabsContext-DqyxdmGW.d.mts → TabsContext-D4YumTfD.d.mts} +1 -1
  329. package/dist/TextInput.cjs +14 -14
  330. package/dist/TextInput.d.cts +2 -2
  331. package/dist/TextInput.d.mts +2 -2
  332. package/dist/TextInput.mjs +14 -14
  333. package/dist/ToggleButton/ToggleButton.cjs +2 -2
  334. package/dist/ToggleButton/ToggleButton.d.cts +1 -1
  335. package/dist/ToggleButton/ToggleButton.d.mts +1 -1
  336. package/dist/ToggleButton/ToggleButton.mjs +2 -2
  337. package/dist/ToggleButton/ToggleButtonGroup.cjs +1 -1
  338. package/dist/ToggleButton/ToggleButtonGroup.d.cts +1 -1
  339. package/dist/ToggleButton/ToggleButtonGroup.d.mts +1 -1
  340. package/dist/ToggleButton/ToggleButtonGroup.mjs +1 -1
  341. package/dist/Tooltip.cjs +270 -0
  342. package/dist/Tooltip.d.cts +78 -0
  343. package/dist/Tooltip.d.mts +78 -0
  344. package/dist/Tooltip.mjs +268 -0
  345. package/dist/TransferList.cjs +363 -0
  346. package/dist/TransferList.d.cts +69 -0
  347. package/dist/TransferList.d.mts +69 -0
  348. package/dist/TransferList.mjs +361 -0
  349. package/dist/Typography.cjs +1 -1
  350. package/dist/Typography.d.cts +2 -2
  351. package/dist/Typography.d.mts +2 -2
  352. package/dist/Typography.mjs +1 -1
  353. package/dist/View.d.cts +1 -1
  354. package/dist/View.d.mts +1 -1
  355. package/dist/Zoom.cjs +16 -0
  356. package/dist/Zoom.d.cts +10 -0
  357. package/dist/Zoom.d.mts +10 -0
  358. package/dist/Zoom.mjs +15 -0
  359. package/dist/catalog.cjs +1405 -45
  360. package/dist/catalog.d.cts +1 -1
  361. package/dist/catalog.d.mts +1 -1
  362. package/dist/catalog.mjs +1405 -45
  363. package/dist/engine.d.cts +2 -2
  364. package/dist/engine.d.mts +1 -1
  365. package/dist/getAnchorRel-CySI28HJ.mjs +8 -0
  366. package/dist/getAnchorRel-_vtAXC-4.cjs +13 -0
  367. package/dist/getShapeRadius-B9ytqDSk.d.cts +5 -0
  368. package/dist/getShapeRadius-B9ytqDSk.d.mts +5 -0
  369. package/dist/getShapeRadius-sY6-AGP4.mjs +12 -0
  370. package/dist/getShapeRadius-vXmXGV3f.cjs +17 -0
  371. package/dist/getSurfaceRadius-BTUV1E8H.cjs +11 -0
  372. package/dist/getSurfaceRadius-DTgqIzll.mjs +6 -0
  373. package/dist/getTooltipOrigins-B_7XXtQq.cjs +104 -0
  374. package/dist/getTooltipOrigins-CyyIMCF1.mjs +87 -0
  375. package/dist/{index-qlfNErNd.d.cts → index-05VGk0y_.d.cts} +30 -2
  376. package/dist/{index-CrIxI8Na.d.mts → index-2x01drCL.d.mts} +2 -2
  377. package/dist/{index-Cj5Rhh_9.d.mts → index-46mhlgP6.d.mts} +7 -3
  378. package/dist/{index-BiVvxOvj.d.cts → index-BCzI2Iqo.d.cts} +2 -2
  379. package/dist/{index-IdMqR82e.d.cts → index-BDqIc6Gx.d.cts} +1 -1
  380. package/dist/{index-BSA6SKao.d.mts → index-BPh60KDs.d.mts} +1 -1
  381. package/dist/{index-Bxd9NOWb.d.mts → index-BQge4W7L.d.cts} +3 -3
  382. package/dist/{index-DCmH5f9I.d.cts → index-BSGu9rPv.d.cts} +7 -3
  383. package/dist/{index-Bhdn4KTy.d.cts → index-BThHG5QU.d.mts} +3 -3
  384. package/dist/{index-DrVYWt-X.d.mts → index-BUeqNHjb.d.cts} +3 -3
  385. package/dist/{index-DIC7HKpP.d.mts → index-BeqpkGV-.d.mts} +1 -1
  386. package/dist/{index-DqjXDutI.d.mts → index-Bfyz3MDc.d.mts} +1 -1
  387. package/dist/{index-BlLH6rlE.d.cts → index-BgLqA52S.d.cts} +2 -2
  388. package/dist/{index-DDJuUfL5.d.cts → index-BhnLFsBv.d.cts} +1 -1
  389. package/dist/{index-gnh-Oe0n.d.cts → index-BitQk7Hx.d.cts} +1 -1
  390. package/dist/index-BvgX5eyV.d.mts +36 -0
  391. package/dist/index-CERyXFjz.d.cts +32 -0
  392. package/dist/index-CLvlNnjM.d.mts +32 -0
  393. package/dist/{index-C3KrFPCj.d.mts → index-CO-XxjiZ.d.cts} +2 -2
  394. package/dist/{index-DXhMkjQ6.d.cts → index-CR0akDlJ.d.cts} +2 -2
  395. package/dist/{index-CVNJEUwJ.d.mts → index-CRQ7XLri.d.mts} +234 -6
  396. package/dist/{index-DQcnJ5H4.d.cts → index-CRn4fWwA.d.mts} +2 -2
  397. package/dist/{index-BCnKYNlZ.d.cts → index-CWPvdEjP.d.mts} +3 -3
  398. package/dist/{index-DuVNRXP4.d.cts → index-CrQDxJ1D.d.cts} +1 -1
  399. package/dist/index-Ctx-DKV3.d.cts +18 -0
  400. package/dist/index-Ctx-DKV3.d.mts +18 -0
  401. package/dist/{index-BjPX49XA.d.mts → index-CyLhEXYB.d.mts} +1 -1
  402. package/dist/{index-DeDxYlSQ.d.mts → index-D05fSuF1.d.mts} +2 -2
  403. package/dist/{index-XxydXX8l.d.cts → index-DK3zgGPe.d.mts} +3 -3
  404. package/dist/{index-BqpS_Huq.d.mts → index-DNj5P2NH.d.mts} +30 -2
  405. package/dist/{index-BFruxTHv.d.cts → index-DOH1xY0L.d.cts} +1 -1
  406. package/dist/{index-B3LIhqHR.d.cts → index-D_-DAAE7.d.mts} +14 -6
  407. package/dist/{index-BbgFYfX_.d.mts → index-D_LT3QiH.d.mts} +2 -2
  408. package/dist/index-Db4L2hwa.d.cts +36 -0
  409. package/dist/{index-BjfPEP_5.d.cts → index-Dk4KuTPB.d.cts} +2 -2
  410. package/dist/{index-CoEqjFYn.d.mts → index-Ebjbrbsk.d.cts} +14 -6
  411. package/dist/{index-B8DNxyEw.d.mts → index-MWUGpG-Y.d.mts} +2 -2
  412. package/dist/{index-DmJ7yWWi.d.cts → index-XN4-ZqTB.d.cts} +236 -8
  413. package/dist/index-fPRELf0V.d.mts +1 -0
  414. package/dist/{index-CWnbCxgw.d.cts → index-fi-W3MOz.d.cts} +7 -5
  415. package/dist/{index-DJCpnTH3.d.mts → index-iTquH69S.d.cts} +3 -3
  416. package/dist/{index-DckSub2J.d.mts → index-lGpLM144.d.mts} +7 -5
  417. package/dist/{index-BVPrG1L0.d.mts → index-vBCN6iAz.d.mts} +1 -1
  418. package/dist/index-x3WC9ViD.d.cts +1 -0
  419. package/dist/index.d.cts +1 -1
  420. package/dist/index.d.mts +1 -1
  421. package/dist/inputVariantStyles-BUK_62Ra.cjs +61 -0
  422. package/dist/inputVariantStyles-q_cZsCJg.mjs +44 -0
  423. package/dist/isRtl-BJDtm86G.mjs +7 -0
  424. package/dist/isRtl-DTkYHRPo.cjs +12 -0
  425. package/dist/precision-B1lhxnnO.mjs +25 -0
  426. package/dist/precision-B58cTPB2.cjs +48 -0
  427. package/dist/style.cjs +1 -1
  428. package/dist/style.d.cts +2 -2
  429. package/dist/style.d.mts +2 -2
  430. package/dist/style.mjs +1 -1
  431. package/dist/{theme-BxXuXRgQ.cjs → theme-DzfwuzMZ.cjs} +1 -1
  432. package/dist/{theme-Z9_QludW.mjs → theme-oBfFhJm9.mjs} +1 -1
  433. package/dist/theme.cjs +3 -2
  434. package/dist/theme.d.cts +3 -3
  435. package/dist/theme.d.mts +3 -3
  436. package/dist/theme.mjs +3 -3
  437. package/dist/{themes-gd6tcmqS.cjs → themes--4eci3M1.cjs} +25 -2
  438. package/dist/{themes-L-dE7_ck.mjs → themes-BwEsdVox.mjs} +20 -3
  439. package/dist/useAnchoredPlacement-B1FyGoZV.cjs +111 -0
  440. package/dist/useAnchoredPlacement-Pe7sY41E.mjs +106 -0
  441. package/dist/useControlled-C666KpQ0.cjs +18 -0
  442. package/dist/useControlled-CBRLsO-H.mjs +13 -0
  443. package/dist/useMergedRefs-2zTDXgPO.cjs +27 -0
  444. package/dist/useMergedRefs-BfBckwRY.mjs +22 -0
  445. package/dist/{useTablePagination-C5VKtqDp.d.cts → useTablePagination-CFb_FYA9.d.cts} +1 -1
  446. package/dist/{useTablePagination-C6LSlt3w.d.mts → useTablePagination-_-bzuXJO.d.mts} +1 -1
  447. package/dist/useTransition-C1F7MuHO.d.mts +42 -0
  448. package/dist/useTransition-DAQd1PX3.cjs +83 -0
  449. package/dist/useTransition-DP1k0irI.mjs +78 -0
  450. package/dist/useTransition-l9dv83-Y.d.cts +42 -0
  451. package/dist/useTransitionChild-CikpU0Yh.cjs +54 -0
  452. package/dist/useTransitionChild-Dvg9hO-F.mjs +49 -0
  453. package/package.json +194 -4
  454. package/dist/index-DBteSahY.d.cts +0 -1
  455. package/dist/index-_G1osn09.d.mts +0 -1
  456. package/dist/inputVariantStyles-BBkkYQtE.cjs +0 -32
  457. package/dist/inputVariantStyles-CcqpGfuP.mjs +0 -28
@@ -0,0 +1,40 @@
1
+ import { nt as Theme } from "./index-CRQ7XLri.mjs";
2
+ import { LayoutProps, SpaceProps } from "@soroush.tech/styled-system";
3
+ import { ReactNode, Ref } from "react";
4
+ //#region src/ScrollArea/hooks/useScrollThumb.d.ts
5
+ /** Which way a thumb runs: down the right edge, or along the bottom. */
6
+ type ScrollAxis = 'y' | 'x';
7
+ //#endregion
8
+ //#region src/ScrollArea/ScrollArea.d.ts
9
+ /** Which ways it scrolls. */
10
+ type ScrollAxes = ScrollAxis | 'both';
11
+ interface ScrollAreaProps extends SpaceProps<Theme>, Pick<LayoutProps<Theme>, 'width' | 'minWidth' | 'maxWidth' | 'height' | 'minHeight' | 'maxHeight'> {
12
+ /** What scrolls. */
13
+ children: ReactNode;
14
+ /** Which ways it scrolls. Default: `'y'`. */
15
+ axes?: ScrollAxes;
16
+ /** The scrolling element - for code that reads or sets its scroll. */
17
+ viewportRef?: Ref<HTMLDivElement>;
18
+ /**
19
+ * `0` puts the scrolling box in the tab order, so the keys scroll it - for content with nothing
20
+ * focusable in it. Default: none.
21
+ */
22
+ tabIndex?: 0;
23
+ /** Names the scrolling box, as a `region`. */
24
+ 'aria-label'?: string;
25
+ 'aria-labelledby'?: string;
26
+ className?: string;
27
+ 'data-testid'?: string;
28
+ }
29
+ /**
30
+ * @description A scrolling area whose scrollbars are drawn over its content rather than beside
31
+ * it - so a rounded panel keeps its corner clean - and show only while the pointer is over it or
32
+ * focus is inside. Scrolling itself stays native: the wheel, the keyboard and touch work as they
33
+ * do anywhere. Each axis that overflows gets a track, down the right edge or along the bottom,
34
+ * whose thumb drags and whose track pages. It grows to its content and no further than its
35
+ * container, or `maxHeight`, allows. Colors come from `theme.background.scrollbar` and
36
+ * `scrollbarTrack`, its size from `theme.space`.
37
+ */
38
+ declare function ScrollArea({ children, axes: axesProp, viewportRef, tabIndex, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, className, 'data-testid': dataTestid, ...rest }: Readonly<ScrollAreaProps>): import("react").JSX.Element;
39
+ //#endregion
40
+ export { ScrollArea, ScrollAreaProps, ScrollAxes };
@@ -0,0 +1,266 @@
1
+ import { a as src_exports, i as props, o as styled, t as createShouldForwardProp } from "./src-DLGYOJMh.mjs";
2
+ import { n as useDefaultProps } from "./theme-oBfFhJm9.mjs";
3
+ import { t as useMergedRefs } from "./useMergedRefs-BfBckwRY.mjs";
4
+ import { useEffect, useRef, useState } from "react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ /**
7
+ * The thumb for a box scrolled to `offset`, or `null` when nothing overflows. Its size is the
8
+ * share of the content in view, never under `MIN_THUMB_PX`; it travels the rest of the track as
9
+ * the box travels its scroll range, so the thumb end meets the track end at the end.
10
+ */
11
+ const getThumb = ({ offset, content, view }) => {
12
+ const range = content - view;
13
+ if (range <= 0 || view <= 0) return null;
14
+ const size = Math.min(100, Math.max(view / content, 24 / view) * 100);
15
+ return {
16
+ start: Math.min(1, Math.max(0, offset / range)) * (100 - size),
17
+ size
18
+ };
19
+ };
20
+ /**
21
+ * The scroll offset a thumb dragged `by` pixels from `from` asks for: the drag covers the thumb
22
+ * travel, which maps onto the whole scroll range of the box.
23
+ */
24
+ const getScrollForDrag = (from, by, metrics) => {
25
+ const thumb = getThumb(metrics);
26
+ if (thumb === null) return from;
27
+ const travel = metrics.view * (1 - thumb.size / 100);
28
+ const range = metrics.content - metrics.view;
29
+ return Math.min(range, Math.max(0, from + by * range / travel));
30
+ };
31
+ //#endregion
32
+ //#region src/ScrollArea/hooks/useScrollThumb.ts
33
+ const getMetrics = (box, axis) => axis === "y" ? {
34
+ offset: box.scrollTop,
35
+ content: box.scrollHeight,
36
+ view: box.clientHeight
37
+ } : {
38
+ offset: box.scrollLeft,
39
+ content: box.scrollWidth,
40
+ view: box.clientWidth
41
+ };
42
+ const scrollTo = (box, axis, offset) => {
43
+ if (axis === "y") box.scrollTop = offset;
44
+ else box.scrollLeft = offset;
45
+ };
46
+ /**
47
+ * Follows the box `ref` holds along `axis`: its thumb is measured again when it scrolls and when
48
+ * it or its content changes size. A press on the thumb drags it, with the pointer captured so the
49
+ * drag goes on wherever the pointer goes; a press on the track pages toward it, as a native track.
50
+ */
51
+ function useScrollThumb(ref, axis) {
52
+ const [thumb, setThumb] = useState(null);
53
+ const [isDragging, setIsDragging] = useState(false);
54
+ useEffect(() => {
55
+ const box = ref.current;
56
+ const measure = () => setThumb(getThumb(getMetrics(box, axis)));
57
+ measure();
58
+ box.addEventListener("scroll", measure, { passive: true });
59
+ const observer = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(measure);
60
+ observer?.observe(box);
61
+ for (const child of box.children) observer?.observe(child);
62
+ return () => {
63
+ box.removeEventListener("scroll", measure);
64
+ observer?.disconnect();
65
+ };
66
+ }, [ref, axis]);
67
+ const stopDrag = useRef(null);
68
+ useEffect(() => () => stopDrag.current?.(), []);
69
+ const startDrag = (event, box) => {
70
+ const target = event.currentTarget;
71
+ const origin = axis === "y" ? event.clientY : event.clientX;
72
+ const from = getMetrics(box, axis).offset;
73
+ const handleMove = (moved) => {
74
+ const by = (axis === "y" ? moved.clientY : moved.clientX) - origin;
75
+ scrollTo(box, axis, getScrollForDrag(from, by, getMetrics(box, axis)));
76
+ };
77
+ const end = () => {
78
+ target.removeEventListener("pointermove", handleMove);
79
+ target.removeEventListener("pointerup", end);
80
+ target.removeEventListener("pointercancel", end);
81
+ stopDrag.current = null;
82
+ setIsDragging(false);
83
+ };
84
+ target.setPointerCapture(event.pointerId);
85
+ target.addEventListener("pointermove", handleMove);
86
+ target.addEventListener("pointerup", end);
87
+ target.addEventListener("pointercancel", end);
88
+ stopDrag.current = end;
89
+ setIsDragging(true);
90
+ };
91
+ const onTrackPointerDown = (event) => {
92
+ const box = ref.current;
93
+ if (thumb === null || event.button !== 0) return;
94
+ event.preventDefault();
95
+ const track = event.currentTarget.getBoundingClientRect();
96
+ const at = axis === "y" ? (event.clientY - track.top) / track.height * 100 : (event.clientX - track.left) / track.width * 100;
97
+ if (at >= thumb.start && at <= thumb.start + thumb.size) {
98
+ startDrag(event, box);
99
+ return;
100
+ }
101
+ const page = getMetrics(box, axis).view * (at < thumb.start ? -1 : 1);
102
+ box.scrollBy(axis === "y" ? { top: page } : { left: page });
103
+ };
104
+ return {
105
+ thumb,
106
+ onTrackPointerDown,
107
+ isDragging
108
+ };
109
+ }
110
+ //#endregion
111
+ //#region src/ScrollArea/ScrollArea.tsx
112
+ const layoutSystem = (0, src_exports.system)({
113
+ width: true,
114
+ minWidth: true,
115
+ maxWidth: true,
116
+ height: true,
117
+ minHeight: true,
118
+ maxHeight: true
119
+ });
120
+ const ScrollAreaRoot = styled("div", {
121
+ name: "ScrollArea",
122
+ label: "ScrollArea",
123
+ shouldForwardProp: createShouldForwardProp([...props]),
124
+ systemProps: [src_exports.space, layoutSystem]
125
+ })({
126
+ position: "relative",
127
+ display: "flex",
128
+ flex: "1 1 auto",
129
+ minWidth: 0,
130
+ minHeight: 0,
131
+ "&:hover > [data-scroll-track] > [data-scroll-thumb], &:focus-within > [data-scroll-track] > [data-scroll-thumb]": { opacity: 1 }
132
+ });
133
+ const ScrollAreaViewport = styled("div", {
134
+ name: "ScrollArea",
135
+ slot: "viewport",
136
+ label: "ScrollAreaViewport",
137
+ shouldForwardProp: createShouldForwardProp(["axes"])
138
+ })(({ axes }) => ({
139
+ flex: 1,
140
+ minWidth: 0,
141
+ minHeight: 0,
142
+ overflowX: axes === "y" ? "hidden" : "auto",
143
+ overflowY: axes === "x" ? "hidden" : "auto",
144
+ overscrollBehaviorX: axes === "y" ? "auto" : "none",
145
+ overscrollBehaviorY: axes === "x" ? "auto" : "none",
146
+ scrollbarWidth: "none",
147
+ "&::-webkit-scrollbar": { display: "none" }
148
+ }));
149
+ const ScrollAreaTrack = styled("div", {
150
+ name: "ScrollArea",
151
+ slot: "track",
152
+ label: "ScrollAreaTrack",
153
+ shouldForwardProp: createShouldForwardProp(["isDragging", "axis"])
154
+ })(({ theme, isDragging, axis }) => {
155
+ const line = `${theme.borderWidths.thin} solid ${isDragging ? (0, src_exports.get)(theme, "border.default") : "transparent"}`;
156
+ return {
157
+ position: "absolute",
158
+ ...axis === "y" ? {
159
+ top: 0,
160
+ right: 0,
161
+ bottom: 0,
162
+ width: theme.space[1.25],
163
+ borderLeft: line
164
+ } : {
165
+ left: 0,
166
+ right: 0,
167
+ bottom: 0,
168
+ height: theme.space[1.25],
169
+ borderTop: line
170
+ },
171
+ backgroundColor: isDragging ? (0, src_exports.get)(theme, "background.scrollbarTrack") : "transparent",
172
+ "&:hover": {
173
+ borderColor: (0, src_exports.get)(theme, "border.default"),
174
+ backgroundColor: (0, src_exports.get)(theme, "background.scrollbarTrack")
175
+ }
176
+ };
177
+ });
178
+ const ScrollAreaThumb = styled("div", {
179
+ name: "ScrollArea",
180
+ slot: "thumb",
181
+ label: "ScrollAreaThumb",
182
+ shouldForwardProp: createShouldForwardProp(["isShown", "axis"])
183
+ })(({ theme, isShown, axis }) => {
184
+ const inset = `calc((${theme.space[1.25]} - ${theme.space[.75]}) / 2 - ${theme.borderWidths.thin})`;
185
+ return {
186
+ position: "absolute",
187
+ ...axis === "y" ? {
188
+ left: inset,
189
+ width: theme.space[.75]
190
+ } : {
191
+ top: inset,
192
+ height: theme.space[.75]
193
+ },
194
+ borderRadius: "9999px",
195
+ backgroundColor: (0, src_exports.get)(theme, "background.scrollbar"),
196
+ opacity: isShown ? 1 : 0,
197
+ transition: `opacity ${theme.transitions.duration.short}ms`,
198
+ "@media (prefers-reduced-motion: reduce)": { transition: "none" }
199
+ };
200
+ });
201
+ function ScrollBar({ box, axis }) {
202
+ const { thumb, onTrackPointerDown, isDragging } = useScrollThumb(box, axis);
203
+ if (thumb === null) return null;
204
+ const place = axis === "y" ? {
205
+ top: `${thumb.start}%`,
206
+ height: `${thumb.size}%`
207
+ } : {
208
+ left: `${thumb.start}%`,
209
+ width: `${thumb.size}%`
210
+ };
211
+ return /* @__PURE__ */ jsx(ScrollAreaTrack, {
212
+ "aria-hidden": true,
213
+ "data-scroll-track": axis,
214
+ axis,
215
+ isDragging,
216
+ onPointerDown: onTrackPointerDown,
217
+ children: /* @__PURE__ */ jsx(ScrollAreaThumb, {
218
+ "data-scroll-thumb": true,
219
+ axis,
220
+ isShown: isDragging,
221
+ style: place
222
+ })
223
+ });
224
+ }
225
+ /**
226
+ * @description A scrolling area whose scrollbars are drawn over its content rather than beside
227
+ * it - so a rounded panel keeps its corner clean - and show only while the pointer is over it or
228
+ * focus is inside. Scrolling itself stays native: the wheel, the keyboard and touch work as they
229
+ * do anywhere. Each axis that overflows gets a track, down the right edge or along the bottom,
230
+ * whose thumb drags and whose track pages. It grows to its content and no further than its
231
+ * container, or `maxHeight`, allows. Colors come from `theme.background.scrollbar` and
232
+ * `scrollbarTrack`, its size from `theme.space`.
233
+ */
234
+ function ScrollArea({ children, axes: axesProp, viewportRef, tabIndex, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, className, "data-testid": dataTestid, ...rest }) {
235
+ const dp = useDefaultProps("ScrollArea");
236
+ const axes = axesProp ?? dp.axes ?? "y";
237
+ const box = useRef(null);
238
+ const mergedRef = useMergedRefs(box, viewportRef);
239
+ return /* @__PURE__ */ jsxs(ScrollAreaRoot, {
240
+ className,
241
+ "data-testid": dataTestid,
242
+ ...rest,
243
+ children: [
244
+ /* @__PURE__ */ jsx(ScrollAreaViewport, {
245
+ ref: mergedRef,
246
+ axes,
247
+ "data-scroll-viewport": true,
248
+ tabIndex,
249
+ role: ariaLabel || ariaLabelledby ? "region" : void 0,
250
+ "aria-label": ariaLabel,
251
+ "aria-labelledby": ariaLabelledby,
252
+ children
253
+ }),
254
+ axes !== "x" && /* @__PURE__ */ jsx(ScrollBar, {
255
+ box,
256
+ axis: "y"
257
+ }),
258
+ axes !== "y" && /* @__PURE__ */ jsx(ScrollBar, {
259
+ box,
260
+ axis: "x"
261
+ })
262
+ ]
263
+ });
264
+ }
265
+ //#endregion
266
+ export { ScrollArea };
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-Cvuhp9ek.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%"
@@ -230,7 +227,7 @@ const ListBox = require_src.styled("ul", {
230
227
  overflowY: "auto",
231
228
  listStyle: "none"
232
229
  }));
233
- function Select({ children, native = false, multiple = false, autoWidth = false, value: valueProp, defaultValue, onChange, open: openProp, defaultOpen, onOpen, onClose, placeholder, renderValue, borderRadius, color: colorProp, textColor: textColorProp, bg: bgProp, disabled: disabledProp, error: errorProp, fullWidth: fullWidthProp, required: requiredProp, size: sizeProp, variant: variantProp, iconName, iconProps, id: idProp, name, labelId, "aria-label": ariaLabel, className, "data-testid": dataTestid, ...spaceProps }) {
230
+ function Select({ children, native = false, multiple = false, autoWidth = false, value: valueProp, defaultValue, onChange, open: openProp, defaultOpen, onOpen, onClose, placeholder, renderValue, borderRadius, color: colorProp, textColor: textColorProp, bg: bgProp, disabled: disabledProp, error: errorProp, fullWidth: fullWidthProp, required: requiredProp, size: sizeProp, variant: variantProp, iconName, iconProps, id: idProp, name, labelId: labelIdProp, "aria-label": ariaLabel, className, "data-testid": dataTestid, ...spaceProps }) {
234
231
  const fc = require_FormControl.useFormControl({
235
232
  id: idProp,
236
233
  error: errorProp,
@@ -242,6 +239,7 @@ function Select({ children, native = false, multiple = false, autoWidth = false,
242
239
  textColor: textColorProp
243
240
  });
244
241
  const { id, error, disabled, required, size, fullWidth } = fc;
242
+ const labelId = labelIdProp ?? fc.labelId;
245
243
  const theme = require_theme.useTheme();
246
244
  const color = fc.color ?? require_themeDefault.themeDefault(theme, "color", "primary");
247
245
  const bg = bgProp ?? require_themeDefault.themeDefault(theme, "inputBg", "terminal");
@@ -462,8 +460,8 @@ function NonNativeSelect({ children, options, value, autoWidth, onChangeValue, m
462
460
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TriggerValue, { children: showPlaceholder ? placeholder ?? "​" : display })]
463
461
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Icon.Icon, {
464
462
  name: iconName ?? (open ? "expand_less" : "expand_more"),
465
- size: "1.25rem",
466
- color: "secondary",
463
+ size,
464
+ color: "inherit",
467
465
  ...iconProps
468
466
  })]
469
467
  }),
package/dist/Select.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { V as Theme } from "./index-DmJ7yWWi.cjs";
2
- import { n as IconProps, r as IconName } from "./index-qlfNErNd.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
@@ -64,6 +64,6 @@ interface SelectProps extends SpaceProps<Theme>, Pick<LayoutProps<Theme>, 'width
64
64
  className?: string;
65
65
  'data-testid'?: string;
66
66
  }
67
- declare function Select({ children, native, multiple, autoWidth, value: valueProp, defaultValue, onChange, open: openProp, defaultOpen, onOpen, onClose, placeholder, renderValue, borderRadius, color: colorProp, textColor: textColorProp, bg: bgProp, disabled: disabledProp, error: errorProp, fullWidth: fullWidthProp, required: requiredProp, size: sizeProp, variant: variantProp, iconName, iconProps, id: idProp, name, labelId, 'aria-label': ariaLabel, className, 'data-testid': dataTestid, ...spaceProps }: Readonly<SelectProps>): import("react").JSX.Element;
67
+ declare function Select({ children, native, multiple, autoWidth, value: valueProp, defaultValue, onChange, open: openProp, defaultOpen, onOpen, onClose, placeholder, renderValue, borderRadius, color: colorProp, textColor: textColorProp, bg: bgProp, disabled: disabledProp, error: errorProp, fullWidth: fullWidthProp, required: requiredProp, size: sizeProp, variant: variantProp, iconName, iconProps, id: idProp, name, labelId: labelIdProp, 'aria-label': ariaLabel, className, 'data-testid': dataTestid, ...spaceProps }: Readonly<SelectProps>): import("react").JSX.Element;
68
68
  //#endregion
69
69
  export { Select, SelectBackgroundToken, SelectColor, SelectProps, SelectSize, SelectTextColor, type SelectValue, SelectVariant };
package/dist/Select.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { V as Theme } from "./index-CVNJEUwJ.mjs";
2
- import { n as IconProps, r as IconName } from "./index-BqpS_Huq.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
@@ -64,6 +64,6 @@ interface SelectProps extends SpaceProps<Theme>, Pick<LayoutProps<Theme>, 'width
64
64
  className?: string;
65
65
  'data-testid'?: string;
66
66
  }
67
- declare function Select({ children, native, multiple, autoWidth, value: valueProp, defaultValue, onChange, open: openProp, defaultOpen, onOpen, onClose, placeholder, renderValue, borderRadius, color: colorProp, textColor: textColorProp, bg: bgProp, disabled: disabledProp, error: errorProp, fullWidth: fullWidthProp, required: requiredProp, size: sizeProp, variant: variantProp, iconName, iconProps, id: idProp, name, labelId, 'aria-label': ariaLabel, className, 'data-testid': dataTestid, ...spaceProps }: Readonly<SelectProps>): import("react").JSX.Element;
67
+ declare function Select({ children, native, multiple, autoWidth, value: valueProp, defaultValue, onChange, open: openProp, defaultOpen, onOpen, onClose, placeholder, renderValue, borderRadius, color: colorProp, textColor: textColorProp, bg: bgProp, disabled: disabledProp, error: errorProp, fullWidth: fullWidthProp, required: requiredProp, size: sizeProp, variant: variantProp, iconName, iconProps, id: idProp, name, labelId: labelIdProp, 'aria-label': ariaLabel, className, 'data-testid': dataTestid, ...spaceProps }: Readonly<SelectProps>): import("react").JSX.Element;
68
68
  //#endregion
69
69
  export { Select, SelectBackgroundToken, SelectColor, SelectProps, SelectSize, SelectTextColor, type SelectValue, SelectVariant };
package/dist/Select.mjs CHANGED
@@ -1,13 +1,13 @@
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-DlheCTJb.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
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
10
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
11
11
  //#region src/Select/hooks/useSelectPopover.ts
12
12
  /**
13
13
  * Owns `Select`'s open state (controlled or uncontrolled) and fires the open/close
@@ -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%"
@@ -228,7 +225,7 @@ const ListBox = styled("ul", {
228
225
  overflowY: "auto",
229
226
  listStyle: "none"
230
227
  }));
231
- function Select({ children, native = false, multiple = false, autoWidth = false, value: valueProp, defaultValue, onChange, open: openProp, defaultOpen, onOpen, onClose, placeholder, renderValue, borderRadius, color: colorProp, textColor: textColorProp, bg: bgProp, disabled: disabledProp, error: errorProp, fullWidth: fullWidthProp, required: requiredProp, size: sizeProp, variant: variantProp, iconName, iconProps, id: idProp, name, labelId, "aria-label": ariaLabel, className, "data-testid": dataTestid, ...spaceProps }) {
228
+ function Select({ children, native = false, multiple = false, autoWidth = false, value: valueProp, defaultValue, onChange, open: openProp, defaultOpen, onOpen, onClose, placeholder, renderValue, borderRadius, color: colorProp, textColor: textColorProp, bg: bgProp, disabled: disabledProp, error: errorProp, fullWidth: fullWidthProp, required: requiredProp, size: sizeProp, variant: variantProp, iconName, iconProps, id: idProp, name, labelId: labelIdProp, "aria-label": ariaLabel, className, "data-testid": dataTestid, ...spaceProps }) {
232
229
  const fc = useFormControl({
233
230
  id: idProp,
234
231
  error: errorProp,
@@ -240,6 +237,7 @@ function Select({ children, native = false, multiple = false, autoWidth = false,
240
237
  textColor: textColorProp
241
238
  });
242
239
  const { id, error, disabled, required, size, fullWidth } = fc;
240
+ const labelId = labelIdProp ?? fc.labelId;
243
241
  const theme = useTheme();
244
242
  const color = fc.color ?? themeDefault(theme, "color", "primary");
245
243
  const bg = bgProp ?? themeDefault(theme, "inputBg", "terminal");
@@ -420,7 +418,7 @@ function NonNativeSelect({ children, options, value, autoWidth, onChangeValue, m
420
418
  onSelect: selectValue
421
419
  });
422
420
  });
423
- return /* @__PURE__ */ jsxs(Fragment, { children: [
421
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
424
422
  /* @__PURE__ */ jsxs(Trigger, {
425
423
  ref: setAnchorEl,
426
424
  role: "combobox",
@@ -460,8 +458,8 @@ function NonNativeSelect({ children, options, value, autoWidth, onChangeValue, m
460
458
  }), /* @__PURE__ */ jsx(TriggerValue, { children: showPlaceholder ? placeholder ?? "​" : display })]
461
459
  }), /* @__PURE__ */ jsx(Icon, {
462
460
  name: iconName ?? (open ? "expand_less" : "expand_more"),
463
- size: "1.25rem",
464
- color: "secondary",
461
+ size,
462
+ color: "inherit",
465
463
  ...iconProps
466
464
  })]
467
465
  }),
@@ -1,4 +1,4 @@
1
- import { Wt as FlexProps } from "../index-DmJ7yWWi.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 { Wt as FlexProps } from "../index-CVNJEUwJ.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-Cvuhp9ek.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 { V as Theme } from "../index-DmJ7yWWi.cjs";
2
- import { r as IconName } from "../index-qlfNErNd.cjs";
3
- import { i as PressableProps } from "../index-BCnKYNlZ.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 { V as Theme } from "../index-CVNJEUwJ.mjs";
2
- import { r as IconName } from "../index-BqpS_Huq.mjs";
3
- import { i as PressableProps } from "../index-DrVYWt-X.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,13 +1,13 @@
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-DlheCTJb.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";
9
9
  import { useContext, useEffect } from "react";
10
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
10
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
11
11
  //#region src/Sidebar/SidebarItem/SidebarItem.tsx
12
12
  const densityStyles = ({ theme, size }) => {
13
13
  const s = theme.sizes[size];
@@ -83,7 +83,7 @@ function SidebarItem({ icon, label, variant, size = "sm", color = "primary", chi
83
83
  onClick?.(event);
84
84
  onSelect?.();
85
85
  };
86
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SidebarItemRoot, {
86
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(SidebarItemRoot, {
87
87
  feedback: resolvedVariant === "plain" ? "none" : "highlight",
88
88
  color,
89
89
  size,
@@ -1,4 +1,4 @@
1
- import { V as Theme } from "./index-DmJ7yWWi.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 { V as Theme } from "./index-CVNJEUwJ.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 };