@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,126 @@
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_useTransition = require("./useTransition-DAQd1PX3.cjs");
5
+ let react = require("react");
6
+ let react_jsx_runtime = require("react/jsx-runtime");
7
+ let _soroush_tech_styled_system_should_forward_prop = require("@soroush.tech/styled-system/should-forward-prop");
8
+ //#region src/Collapse/Collapse.tsx
9
+ const CollapseRoot = require_src.styled("div", {
10
+ name: "Collapse",
11
+ label: "Collapse",
12
+ shouldForwardProp: (0, _soroush_tech_styled_system_should_forward_prop.createShouldForwardProp)([
13
+ "status",
14
+ "duration",
15
+ "easing",
16
+ "orientation",
17
+ "collapsedSize"
18
+ ])
19
+ })(({ status, duration, easing, orientation, collapsedSize }) => {
20
+ const size = orientation === "horizontal" ? "width" : "height";
21
+ return {
22
+ overflow: "hidden",
23
+ transition: `${size} ${duration}ms ${easing}`,
24
+ ...orientation === "horizontal" && status !== "exited" && { width: "max-content" },
25
+ ...status === "exited" && {
26
+ [size]: collapsedSize,
27
+ ...Number.parseFloat(collapsedSize) === 0 && { visibility: "hidden" }
28
+ }
29
+ };
30
+ });
31
+ const CollapseWrapper = require_src.styled("div", {
32
+ name: "Collapse",
33
+ slot: "wrapper",
34
+ label: "CollapseWrapper",
35
+ shouldForwardProp: (0, _soroush_tech_styled_system_should_forward_prop.createShouldForwardProp)(["orientation"])
36
+ })(({ orientation }) => orientation === "horizontal" ? {
37
+ display: "flex",
38
+ height: "100%",
39
+ width: "max-content"
40
+ } : {
41
+ display: "flex",
42
+ width: "100%"
43
+ });
44
+ const CollapseInner = require_src.styled("div", {
45
+ name: "Collapse",
46
+ slot: "inner",
47
+ label: "CollapseInner",
48
+ shouldForwardProp: (0, _soroush_tech_styled_system_should_forward_prop.createShouldForwardProp)(["orientation"])
49
+ })(({ orientation }) => orientation === "horizontal" ? { height: "100%" } : { width: "100%" });
50
+ /**
51
+ * @description Opens and closes its content by its height - or, horizontal, its width. The size
52
+ * it moves to is measured from the content, and left to the content once it is open, so content
53
+ * that grows keeps showing. Closed, it keeps `collapsedSize` and is hidden when that is nothing.
54
+ * A user who asked for less motion sees it change at once.
55
+ */
56
+ function Collapse({ children, isShown = false, shouldAppear: shouldAppearProp, shouldMountOnEnter = false, shouldUnmountOnExit = false, timeout: timeoutProp, easing: easingProp, collapsedSize: collapsedSizeProp, orientation: orientationProp, onEnter, onEntering, onEntered, onExit, onExiting, onExited, className, "data-testid": dataTestid }) {
57
+ const theme = require_theme.useTheme();
58
+ const dp = require_theme.useDefaultProps("Collapse");
59
+ const shouldAppear = shouldAppearProp ?? dp.shouldAppear ?? true;
60
+ const timeout = timeoutProp ?? dp.timeout ?? theme.transitions.duration.standard;
61
+ const easing = easingProp ?? dp.easing ?? "standard";
62
+ const collapsedSize = collapsedSizeProp ?? dp.collapsedSize ?? 0;
63
+ const orientation = orientationProp ?? dp.orientation ?? "vertical";
64
+ const size = orientation === "horizontal" ? "width" : "height";
65
+ const collapsed = typeof collapsedSize === "number" ? `${collapsedSize}px` : collapsedSize;
66
+ const rootRef = (0, react.useRef)(null);
67
+ const wrapperRef = (0, react.useRef)(null);
68
+ const measure = () => {
69
+ const wrapper = wrapperRef.current;
70
+ return `${orientation === "horizontal" ? wrapper.clientWidth : wrapper.clientHeight}px`;
71
+ };
72
+ const { status, duration } = require_useTransition.useTransition({
73
+ isShown,
74
+ shouldAppear,
75
+ shouldMountOnEnter,
76
+ shouldUnmountOnExit,
77
+ timeout,
78
+ nodeRef: rootRef,
79
+ onEnter: (node) => {
80
+ node.getBoundingClientRect();
81
+ onEnter?.(node);
82
+ },
83
+ onEntering: (node) => {
84
+ node.style[size] = measure();
85
+ onEntering?.(node);
86
+ },
87
+ onEntered: (node) => {
88
+ node.style[size] = "";
89
+ onEntered?.(node);
90
+ },
91
+ onExit: (node) => {
92
+ node.style[size] = measure();
93
+ node.getBoundingClientRect();
94
+ onExit?.(node);
95
+ },
96
+ onExiting: (node) => {
97
+ node.style[size] = collapsed;
98
+ onExiting?.(node);
99
+ },
100
+ onExited: (node) => {
101
+ node.style[size] = "";
102
+ onExited?.(node);
103
+ }
104
+ });
105
+ if (status === "unmounted") return null;
106
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CollapseRoot, {
107
+ ref: rootRef,
108
+ status,
109
+ duration,
110
+ easing: theme.transitions.easing[easing],
111
+ orientation,
112
+ collapsedSize: collapsed,
113
+ className,
114
+ "data-testid": dataTestid,
115
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CollapseWrapper, {
116
+ ref: wrapperRef,
117
+ orientation,
118
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CollapseInner, {
119
+ orientation,
120
+ children
121
+ })
122
+ })
123
+ });
124
+ }
125
+ //#endregion
126
+ exports.Collapse = Collapse;
@@ -0,0 +1,2 @@
1
+ import { n as CollapseOrientation, r as CollapseProps, t as Collapse } from "./index-Db4L2hwa.cjs";
2
+ export { Collapse, CollapseOrientation, CollapseProps };
@@ -0,0 +1,2 @@
1
+ import { n as CollapseOrientation, r as CollapseProps, t as Collapse } from "./index-BvgX5eyV.mjs";
2
+ export { Collapse, CollapseOrientation, CollapseProps };
@@ -0,0 +1,124 @@
1
+ import { o as styled, t as createShouldForwardProp } from "./src-DLGYOJMh.mjs";
2
+ import { n as useDefaultProps, r as useTheme } from "./theme-oBfFhJm9.mjs";
3
+ import { t as useTransition } from "./useTransition-DP1k0irI.mjs";
4
+ import { useRef } from "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+ //#region src/Collapse/Collapse.tsx
7
+ const CollapseRoot = styled("div", {
8
+ name: "Collapse",
9
+ label: "Collapse",
10
+ shouldForwardProp: createShouldForwardProp([
11
+ "status",
12
+ "duration",
13
+ "easing",
14
+ "orientation",
15
+ "collapsedSize"
16
+ ])
17
+ })(({ status, duration, easing, orientation, collapsedSize }) => {
18
+ const size = orientation === "horizontal" ? "width" : "height";
19
+ return {
20
+ overflow: "hidden",
21
+ transition: `${size} ${duration}ms ${easing}`,
22
+ ...orientation === "horizontal" && status !== "exited" && { width: "max-content" },
23
+ ...status === "exited" && {
24
+ [size]: collapsedSize,
25
+ ...Number.parseFloat(collapsedSize) === 0 && { visibility: "hidden" }
26
+ }
27
+ };
28
+ });
29
+ const CollapseWrapper = styled("div", {
30
+ name: "Collapse",
31
+ slot: "wrapper",
32
+ label: "CollapseWrapper",
33
+ shouldForwardProp: createShouldForwardProp(["orientation"])
34
+ })(({ orientation }) => orientation === "horizontal" ? {
35
+ display: "flex",
36
+ height: "100%",
37
+ width: "max-content"
38
+ } : {
39
+ display: "flex",
40
+ width: "100%"
41
+ });
42
+ const CollapseInner = styled("div", {
43
+ name: "Collapse",
44
+ slot: "inner",
45
+ label: "CollapseInner",
46
+ shouldForwardProp: createShouldForwardProp(["orientation"])
47
+ })(({ orientation }) => orientation === "horizontal" ? { height: "100%" } : { width: "100%" });
48
+ /**
49
+ * @description Opens and closes its content by its height - or, horizontal, its width. The size
50
+ * it moves to is measured from the content, and left to the content once it is open, so content
51
+ * that grows keeps showing. Closed, it keeps `collapsedSize` and is hidden when that is nothing.
52
+ * A user who asked for less motion sees it change at once.
53
+ */
54
+ function Collapse({ children, isShown = false, shouldAppear: shouldAppearProp, shouldMountOnEnter = false, shouldUnmountOnExit = false, timeout: timeoutProp, easing: easingProp, collapsedSize: collapsedSizeProp, orientation: orientationProp, onEnter, onEntering, onEntered, onExit, onExiting, onExited, className, "data-testid": dataTestid }) {
55
+ const theme = useTheme();
56
+ const dp = useDefaultProps("Collapse");
57
+ const shouldAppear = shouldAppearProp ?? dp.shouldAppear ?? true;
58
+ const timeout = timeoutProp ?? dp.timeout ?? theme.transitions.duration.standard;
59
+ const easing = easingProp ?? dp.easing ?? "standard";
60
+ const collapsedSize = collapsedSizeProp ?? dp.collapsedSize ?? 0;
61
+ const orientation = orientationProp ?? dp.orientation ?? "vertical";
62
+ const size = orientation === "horizontal" ? "width" : "height";
63
+ const collapsed = typeof collapsedSize === "number" ? `${collapsedSize}px` : collapsedSize;
64
+ const rootRef = useRef(null);
65
+ const wrapperRef = useRef(null);
66
+ const measure = () => {
67
+ const wrapper = wrapperRef.current;
68
+ return `${orientation === "horizontal" ? wrapper.clientWidth : wrapper.clientHeight}px`;
69
+ };
70
+ const { status, duration } = useTransition({
71
+ isShown,
72
+ shouldAppear,
73
+ shouldMountOnEnter,
74
+ shouldUnmountOnExit,
75
+ timeout,
76
+ nodeRef: rootRef,
77
+ onEnter: (node) => {
78
+ node.getBoundingClientRect();
79
+ onEnter?.(node);
80
+ },
81
+ onEntering: (node) => {
82
+ node.style[size] = measure();
83
+ onEntering?.(node);
84
+ },
85
+ onEntered: (node) => {
86
+ node.style[size] = "";
87
+ onEntered?.(node);
88
+ },
89
+ onExit: (node) => {
90
+ node.style[size] = measure();
91
+ node.getBoundingClientRect();
92
+ onExit?.(node);
93
+ },
94
+ onExiting: (node) => {
95
+ node.style[size] = collapsed;
96
+ onExiting?.(node);
97
+ },
98
+ onExited: (node) => {
99
+ node.style[size] = "";
100
+ onExited?.(node);
101
+ }
102
+ });
103
+ if (status === "unmounted") return null;
104
+ return /* @__PURE__ */ jsx(CollapseRoot, {
105
+ ref: rootRef,
106
+ status,
107
+ duration,
108
+ easing: theme.transitions.easing[easing],
109
+ orientation,
110
+ collapsedSize: collapsed,
111
+ className,
112
+ "data-testid": dataTestid,
113
+ children: /* @__PURE__ */ jsx(CollapseWrapper, {
114
+ ref: wrapperRef,
115
+ orientation,
116
+ children: /* @__PURE__ */ jsx(CollapseInner, {
117
+ orientation,
118
+ children
119
+ })
120
+ })
121
+ });
122
+ }
123
+ //#endregion
124
+ export { Collapse };
package/dist/Drawer.d.cts CHANGED
@@ -1,6 +1,6 @@
1
- import { Vt as PaperElevation } from "./index-DmJ7yWWi.cjs";
2
- import { i as ButtonProps } from "./index-XxydXX8l.cjs";
3
- import "./index-DBteSahY.cjs";
1
+ import { cn as PaperElevation } from "./index-XN4-ZqTB.cjs";
2
+ import { i as ButtonProps } from "./index-BQge4W7L.cjs";
3
+ import "./index-x3WC9ViD.cjs";
4
4
  import { ReactNode } from "react";
5
5
  //#region src/Drawer/Drawer.d.ts
6
6
  type DrawerAnchor = 'left' | 'right' | 'top' | 'bottom';
package/dist/Drawer.d.mts CHANGED
@@ -1,6 +1,6 @@
1
- import { Vt as PaperElevation } from "./index-CVNJEUwJ.mjs";
2
- import { i as ButtonProps } from "./index-Bxd9NOWb.mjs";
3
- import "./index-_G1osn09.mjs";
1
+ import { cn as PaperElevation } from "./index-CRQ7XLri.mjs";
2
+ import { i as ButtonProps } from "./index-DK3zgGPe.mjs";
3
+ import "./index-fPRELf0V.mjs";
4
4
  import { ReactNode } from "react";
5
5
  //#region src/Drawer/Drawer.d.ts
6
6
  type DrawerAnchor = 'left' | 'right' | 'top' | 'bottom';
package/dist/Fab.cjs ADDED
@@ -0,0 +1,114 @@
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_Button = require("./Button.cjs");
5
+ let react_jsx_runtime = require("react/jsx-runtime");
6
+ //#region src/Fab/Fab.tsx
7
+ const FabRoot = require_src.styled(require_Button.Button, {
8
+ name: "Fab",
9
+ label: "Fab",
10
+ shouldForwardProp: (prop) => prop !== "fabVariant" && prop !== "isCollapsed",
11
+ systemProps: [require_src.src_exports.space]
12
+ })(({ theme, size, fabVariant, isCollapsed }) => {
13
+ const side = (0, require_src.src_exports.get)(theme, `avatar.${size}`);
14
+ const { duration, easing } = theme.transitions;
15
+ const move = (property) => `${property} ${duration.standard}ms ${easing.standard}`;
16
+ return {
17
+ height: side,
18
+ boxShadow: theme.shadows[6],
19
+ "&:hover:not(:disabled)": { boxShadow: theme.shadows[8] },
20
+ "&:active:not(:disabled)": { boxShadow: theme.shadows[6] },
21
+ transition: [
22
+ "background-color",
23
+ "color",
24
+ "border-color",
25
+ "opacity",
26
+ "box-shadow",
27
+ "padding-left",
28
+ "padding-right"
29
+ ].map(move).join(", "),
30
+ "@media (prefers-reduced-motion: reduce)": { transition: "none" },
31
+ "&::after": {
32
+ content: "\"\"",
33
+ position: "absolute",
34
+ top: "50%",
35
+ left: "50%",
36
+ transform: "translate(-50%, -50%)",
37
+ width: "100%",
38
+ height: "100%",
39
+ minWidth: theme.space[6],
40
+ minHeight: theme.space[6]
41
+ },
42
+ "& > span": { minWidth: 0 },
43
+ ...fabVariant === "circular" ? {
44
+ width: side,
45
+ minWidth: side,
46
+ padding: 0,
47
+ borderRadius: "50%"
48
+ } : {
49
+ minWidth: side,
50
+ paddingLeft: isCollapsed ? 0 : theme.space[2],
51
+ paddingRight: isCollapsed ? 0 : theme.space[3],
52
+ borderRadius: "9999px",
53
+ maxWidth: "100%"
54
+ }
55
+ };
56
+ });
57
+ const FabLabel = require_src.styled("span", {
58
+ name: "Fab",
59
+ slot: "label",
60
+ label: "FabLabel",
61
+ shouldForwardProp: (prop) => prop !== "isCollapsed"
62
+ })(({ theme, isCollapsed }) => ({
63
+ display: "grid",
64
+ gridTemplateColumns: isCollapsed ? "0fr" : "1fr",
65
+ minWidth: 0,
66
+ transition: `grid-template-columns ${theme.transitions.duration.standard}ms ${theme.transitions.easing.standard}`,
67
+ "@media (prefers-reduced-motion: reduce)": { transition: "none" }
68
+ }));
69
+ const FabLabelText = require_src.styled("span", {
70
+ name: "Fab",
71
+ slot: "labelText",
72
+ label: "FabLabelText"
73
+ })(({ theme }) => ({
74
+ display: "block",
75
+ minWidth: 0,
76
+ overflow: "hidden",
77
+ textOverflow: "ellipsis",
78
+ textIndent: theme.space[1.5],
79
+ whiteSpace: "nowrap"
80
+ }));
81
+ /**
82
+ * @description A floating action button: the one main action of a page, circular - its icon - or
83
+ * extended, a pill with a label. It is a `Button`, with its focus ring, press state and disabled
84
+ * behavior, raised on a shadow that lifts on hover and moves with `theme.transitions` (and not at
85
+ * all under `prefers-reduced-motion`). Its touch target is at least `theme.space[6]` square however
86
+ * small the fab. An extended fab keeps its label on one line, with the icon a `theme.space[1.5]`
87
+ * before it, and `isCollapsed` draws it as a circle - the label moving out over `theme.transitions`. Margin and padding are `theme.space` keys, as everywhere. Where it floats is the
88
+ * page's: no position is built in. A fab with no text - a circular one - must be named:
89
+ * `aria-label` or `aria-labelledby`.
90
+ */
91
+ function Fab({ variant: variantProp, color, size, startIcon, isCollapsed = false, children, ...rest }) {
92
+ const dp = require_theme.useDefaultProps("Fab");
93
+ const variant = variantProp ?? dp.variant ?? "circular";
94
+ const isExtended = variant === "extended";
95
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FabRoot, {
96
+ fabVariant: variant,
97
+ isCollapsed: isExtended && isCollapsed,
98
+ variant: "contained",
99
+ color: color ?? dp.color ?? "primary",
100
+ size: size ?? dp.size ?? "md",
101
+ startIcon: isExtended ? startIcon : void 0,
102
+ gap: isExtended ? 0 : void 0,
103
+ ...rest,
104
+ children: isExtended ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FabLabel, {
105
+ isCollapsed,
106
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FabLabelText, {
107
+ "data-fab-label": "",
108
+ children
109
+ })
110
+ }) : children
111
+ });
112
+ }
113
+ //#endregion
114
+ exports.Fab = Fab;
package/dist/Fab.d.cts ADDED
@@ -0,0 +1,2 @@
1
+ import { n as FabProps, r as FabVariant, t as Fab } from "./index-CERyXFjz.cjs";
2
+ export { Fab, FabProps, FabVariant };
package/dist/Fab.d.mts ADDED
@@ -0,0 +1,2 @@
1
+ import { n as FabProps, r as FabVariant, t as Fab } from "./index-CLvlNnjM.mjs";
2
+ export { Fab, FabProps, FabVariant };
package/dist/Fab.mjs ADDED
@@ -0,0 +1,113 @@
1
+ import { a as src_exports, o as styled } from "./src-DLGYOJMh.mjs";
2
+ import { n as useDefaultProps } from "./theme-oBfFhJm9.mjs";
3
+ import { Button } from "./Button.mjs";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region src/Fab/Fab.tsx
6
+ const FabRoot = styled(Button, {
7
+ name: "Fab",
8
+ label: "Fab",
9
+ shouldForwardProp: (prop) => prop !== "fabVariant" && prop !== "isCollapsed",
10
+ systemProps: [src_exports.space]
11
+ })(({ theme, size, fabVariant, isCollapsed }) => {
12
+ const side = (0, src_exports.get)(theme, `avatar.${size}`);
13
+ const { duration, easing } = theme.transitions;
14
+ const move = (property) => `${property} ${duration.standard}ms ${easing.standard}`;
15
+ return {
16
+ height: side,
17
+ boxShadow: theme.shadows[6],
18
+ "&:hover:not(:disabled)": { boxShadow: theme.shadows[8] },
19
+ "&:active:not(:disabled)": { boxShadow: theme.shadows[6] },
20
+ transition: [
21
+ "background-color",
22
+ "color",
23
+ "border-color",
24
+ "opacity",
25
+ "box-shadow",
26
+ "padding-left",
27
+ "padding-right"
28
+ ].map(move).join(", "),
29
+ "@media (prefers-reduced-motion: reduce)": { transition: "none" },
30
+ "&::after": {
31
+ content: "\"\"",
32
+ position: "absolute",
33
+ top: "50%",
34
+ left: "50%",
35
+ transform: "translate(-50%, -50%)",
36
+ width: "100%",
37
+ height: "100%",
38
+ minWidth: theme.space[6],
39
+ minHeight: theme.space[6]
40
+ },
41
+ "& > span": { minWidth: 0 },
42
+ ...fabVariant === "circular" ? {
43
+ width: side,
44
+ minWidth: side,
45
+ padding: 0,
46
+ borderRadius: "50%"
47
+ } : {
48
+ minWidth: side,
49
+ paddingLeft: isCollapsed ? 0 : theme.space[2],
50
+ paddingRight: isCollapsed ? 0 : theme.space[3],
51
+ borderRadius: "9999px",
52
+ maxWidth: "100%"
53
+ }
54
+ };
55
+ });
56
+ const FabLabel = styled("span", {
57
+ name: "Fab",
58
+ slot: "label",
59
+ label: "FabLabel",
60
+ shouldForwardProp: (prop) => prop !== "isCollapsed"
61
+ })(({ theme, isCollapsed }) => ({
62
+ display: "grid",
63
+ gridTemplateColumns: isCollapsed ? "0fr" : "1fr",
64
+ minWidth: 0,
65
+ transition: `grid-template-columns ${theme.transitions.duration.standard}ms ${theme.transitions.easing.standard}`,
66
+ "@media (prefers-reduced-motion: reduce)": { transition: "none" }
67
+ }));
68
+ const FabLabelText = styled("span", {
69
+ name: "Fab",
70
+ slot: "labelText",
71
+ label: "FabLabelText"
72
+ })(({ theme }) => ({
73
+ display: "block",
74
+ minWidth: 0,
75
+ overflow: "hidden",
76
+ textOverflow: "ellipsis",
77
+ textIndent: theme.space[1.5],
78
+ whiteSpace: "nowrap"
79
+ }));
80
+ /**
81
+ * @description A floating action button: the one main action of a page, circular - its icon - or
82
+ * extended, a pill with a label. It is a `Button`, with its focus ring, press state and disabled
83
+ * behavior, raised on a shadow that lifts on hover and moves with `theme.transitions` (and not at
84
+ * all under `prefers-reduced-motion`). Its touch target is at least `theme.space[6]` square however
85
+ * small the fab. An extended fab keeps its label on one line, with the icon a `theme.space[1.5]`
86
+ * before it, and `isCollapsed` draws it as a circle - the label moving out over `theme.transitions`. Margin and padding are `theme.space` keys, as everywhere. Where it floats is the
87
+ * page's: no position is built in. A fab with no text - a circular one - must be named:
88
+ * `aria-label` or `aria-labelledby`.
89
+ */
90
+ function Fab({ variant: variantProp, color, size, startIcon, isCollapsed = false, children, ...rest }) {
91
+ const dp = useDefaultProps("Fab");
92
+ const variant = variantProp ?? dp.variant ?? "circular";
93
+ const isExtended = variant === "extended";
94
+ return /* @__PURE__ */ jsx(FabRoot, {
95
+ fabVariant: variant,
96
+ isCollapsed: isExtended && isCollapsed,
97
+ variant: "contained",
98
+ color: color ?? dp.color ?? "primary",
99
+ size: size ?? dp.size ?? "md",
100
+ startIcon: isExtended ? startIcon : void 0,
101
+ gap: isExtended ? 0 : void 0,
102
+ ...rest,
103
+ children: isExtended ? /* @__PURE__ */ jsx(FabLabel, {
104
+ isCollapsed,
105
+ children: /* @__PURE__ */ jsx(FabLabelText, {
106
+ "data-fab-label": "",
107
+ children
108
+ })
109
+ }) : children
110
+ });
111
+ }
112
+ //#endregion
113
+ export { Fab };
@@ -0,0 +1,3 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_FabMenu = require("../FabMenu-RiVtzrKe.cjs");
3
+ exports.FabMenu = require_FabMenu.FabMenu;
@@ -0,0 +1,53 @@
1
+ import { nt as Theme } from "../index-XN4-ZqTB.cjs";
2
+ import { ReactNode, SyntheticEvent } from "react";
3
+ import { SpaceProps } from "@soroush.tech/styled-system";
4
+ //#region src/FabMenu/FabMenu/FabMenu.d.ts
5
+ type FabMenuDirection = 'up' | 'down' | 'left' | 'right';
6
+ type FabMenuAlign = 'start' | 'end';
7
+ interface FabMenuProps extends SpaceProps<Theme> {
8
+ /** The `FabMenuItem`s. */
9
+ children?: ReactNode;
10
+ /** The trigger's icon while closed. Default: an add icon. */
11
+ icon?: ReactNode;
12
+ /** The trigger's icon while open. Default: a close icon. */
13
+ closeIcon?: ReactNode;
14
+ /** A label for the trigger, which makes it an extended `Fab`. Without it, it is a circle. */
15
+ label?: ReactNode;
16
+ /** Names a trigger with no label - the same open or closed: `aria-expanded` says which. */
17
+ 'aria-label'?: string;
18
+ /** Whether it is open. Controlled with `onOpen` and `onClose`. */
19
+ isOpen?: boolean;
20
+ /** Whether it is open at first, when uncontrolled. Default: `false`. */
21
+ defaultOpen?: boolean;
22
+ /** Fired when it asks to open. */
23
+ onOpen?: (event: SyntheticEvent | Event) => void;
24
+ /** Fired when it asks to close - on Escape, a press away, or an item chosen. */
25
+ onClose?: (event: SyntheticEvent | Event) => void;
26
+ /**
27
+ * Which way the actions go from the trigger: a column above or below it, or a row beside it.
28
+ * `'left'` and `'right'` are the page's start and end, so they swap right to left. Default: `'up'`.
29
+ */
30
+ direction?: FabMenuDirection;
31
+ /**
32
+ * Which edge of the trigger a column of actions lines up with; mirrored right to left. A row of
33
+ * actions is as tall as the trigger and sits level with it, so this does not apply. Default: `'end'`.
34
+ */
35
+ align?: FabMenuAlign;
36
+ /** Color of the trigger - resolves to `theme.palette`. Default: `'primary'`. */
37
+ color?: keyof Theme['palette'];
38
+ /** Size of the trigger, and of the items. Default: `'md'`. */
39
+ size?: keyof Theme['sizes'];
40
+ className?: string;
41
+ 'data-testid'?: string;
42
+ }
43
+ /**
44
+ * @description A `Fab` that opens a stack of actions - extended pills, each a `FabMenuItem` - from
45
+ * one corner of a page. The trigger is a disclosure button: `aria-expanded` and `aria-controls`,
46
+ * its icon turning to a close one while open. The actions zoom in over `theme.transitions` and are
47
+ * out of the tree while closed. Escape, a press away, or choosing an action closes it and, for
48
+ * Escape and an action, returns the focus to the trigger; the arrow keys, Home and End walk the
49
+ * actions and the trigger in the order they are drawn. Where it floats is the page's.
50
+ */
51
+ declare function FabMenu({ children, icon, closeIcon, label, 'aria-label': ariaLabel, isOpen: isOpenProp, defaultOpen, onOpen, onClose, direction: directionProp, align: alignProp, color, size: sizeProp, className, 'data-testid': dataTestid, ...spaceProps }: Readonly<FabMenuProps>): import("react").JSX.Element;
52
+ //#endregion
53
+ export { FabMenu, FabMenuAlign, FabMenuDirection, FabMenuProps };
@@ -0,0 +1,53 @@
1
+ import { nt as Theme } from "../index-CRQ7XLri.mjs";
2
+ import { SpaceProps } from "@soroush.tech/styled-system";
3
+ import { ReactNode, SyntheticEvent } from "react";
4
+ //#region src/FabMenu/FabMenu/FabMenu.d.ts
5
+ type FabMenuDirection = 'up' | 'down' | 'left' | 'right';
6
+ type FabMenuAlign = 'start' | 'end';
7
+ interface FabMenuProps extends SpaceProps<Theme> {
8
+ /** The `FabMenuItem`s. */
9
+ children?: ReactNode;
10
+ /** The trigger's icon while closed. Default: an add icon. */
11
+ icon?: ReactNode;
12
+ /** The trigger's icon while open. Default: a close icon. */
13
+ closeIcon?: ReactNode;
14
+ /** A label for the trigger, which makes it an extended `Fab`. Without it, it is a circle. */
15
+ label?: ReactNode;
16
+ /** Names a trigger with no label - the same open or closed: `aria-expanded` says which. */
17
+ 'aria-label'?: string;
18
+ /** Whether it is open. Controlled with `onOpen` and `onClose`. */
19
+ isOpen?: boolean;
20
+ /** Whether it is open at first, when uncontrolled. Default: `false`. */
21
+ defaultOpen?: boolean;
22
+ /** Fired when it asks to open. */
23
+ onOpen?: (event: SyntheticEvent | Event) => void;
24
+ /** Fired when it asks to close - on Escape, a press away, or an item chosen. */
25
+ onClose?: (event: SyntheticEvent | Event) => void;
26
+ /**
27
+ * Which way the actions go from the trigger: a column above or below it, or a row beside it.
28
+ * `'left'` and `'right'` are the page's start and end, so they swap right to left. Default: `'up'`.
29
+ */
30
+ direction?: FabMenuDirection;
31
+ /**
32
+ * Which edge of the trigger a column of actions lines up with; mirrored right to left. A row of
33
+ * actions is as tall as the trigger and sits level with it, so this does not apply. Default: `'end'`.
34
+ */
35
+ align?: FabMenuAlign;
36
+ /** Color of the trigger - resolves to `theme.palette`. Default: `'primary'`. */
37
+ color?: keyof Theme['palette'];
38
+ /** Size of the trigger, and of the items. Default: `'md'`. */
39
+ size?: keyof Theme['sizes'];
40
+ className?: string;
41
+ 'data-testid'?: string;
42
+ }
43
+ /**
44
+ * @description A `Fab` that opens a stack of actions - extended pills, each a `FabMenuItem` - from
45
+ * one corner of a page. The trigger is a disclosure button: `aria-expanded` and `aria-controls`,
46
+ * its icon turning to a close one while open. The actions zoom in over `theme.transitions` and are
47
+ * out of the tree while closed. Escape, a press away, or choosing an action closes it and, for
48
+ * Escape and an action, returns the focus to the trigger; the arrow keys, Home and End walk the
49
+ * actions and the trigger in the order they are drawn. Where it floats is the page's.
50
+ */
51
+ declare function FabMenu({ children, icon, closeIcon, label, 'aria-label': ariaLabel, isOpen: isOpenProp, defaultOpen, onOpen, onClose, direction: directionProp, align: alignProp, color, size: sizeProp, className, 'data-testid': dataTestid, ...spaceProps }: Readonly<FabMenuProps>): import("react").JSX.Element;
52
+ //#endregion
53
+ export { FabMenu, FabMenuAlign, FabMenuDirection, FabMenuProps };
@@ -0,0 +1,2 @@
1
+ import { t as FabMenu } from "../FabMenu-BDfkT_zt.mjs";
2
+ export { FabMenu };
@@ -0,0 +1,28 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_Fab = require("../Fab.cjs");
3
+ const require_FabMenuContext = require("../FabMenuContext-BZslb0lL.cjs");
4
+ let react_jsx_runtime = require("react/jsx-runtime");
5
+ //#region src/FabMenu/FabMenuItem/FabMenuItem.tsx
6
+ /**
7
+ * @description One action of a `FabMenu`: an extended `Fab` of the menu's size - a pill with an
8
+ * icon and a label. Pressing it runs `onClick` and closes the menu, and focus goes back to the
9
+ * trigger. It takes any `Fab` prop but its shape.
10
+ */
11
+ function FabMenuItem({ icon, children, color, onClick, ...rest }) {
12
+ const menu = require_FabMenuContext.useFabMenu("FabMenuItem");
13
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Fab.Fab, {
14
+ ...rest,
15
+ "data-fab-menu-item": "",
16
+ variant: "extended",
17
+ size: menu.size,
18
+ color: color ?? "secondary",
19
+ startIcon: icon,
20
+ onClick: (event) => {
21
+ onClick?.(event);
22
+ menu.close(event);
23
+ },
24
+ children
25
+ });
26
+ }
27
+ //#endregion
28
+ exports.FabMenuItem = FabMenuItem;