@soroush.tech/design-system 0.1.0

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 (373) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +278 -0
  3. package/dist/AppBar.cjs +71 -0
  4. package/dist/AppBar.d.cts +23 -0
  5. package/dist/AppBar.d.mts +23 -0
  6. package/dist/AppBar.mjs +69 -0
  7. package/dist/Avatar.cjs +106 -0
  8. package/dist/Avatar.d.cts +28 -0
  9. package/dist/Avatar.d.mts +28 -0
  10. package/dist/Avatar.mjs +103 -0
  11. package/dist/Backdrop.cjs +26 -0
  12. package/dist/Backdrop.d.cts +10 -0
  13. package/dist/Backdrop.d.mts +10 -0
  14. package/dist/Backdrop.mjs +25 -0
  15. package/dist/Button.cjs +178 -0
  16. package/dist/Button.d.cts +2 -0
  17. package/dist/Button.d.mts +2 -0
  18. package/dist/Button.mjs +175 -0
  19. package/dist/ButtonGroup.cjs +110 -0
  20. package/dist/ButtonGroup.d.cts +2 -0
  21. package/dist/ButtonGroup.d.mts +2 -0
  22. package/dist/ButtonGroup.mjs +107 -0
  23. package/dist/ButtonGroupContext-DS-kl9lG.mjs +5 -0
  24. package/dist/ButtonGroupContext-NtkVeDVE.cjs +9 -0
  25. package/dist/Card.cjs +95 -0
  26. package/dist/Card.d.cts +18 -0
  27. package/dist/Card.d.mts +18 -0
  28. package/dist/Card.mjs +93 -0
  29. package/dist/Checkbox.cjs +192 -0
  30. package/dist/Checkbox.d.cts +2 -0
  31. package/dist/Checkbox.d.mts +2 -0
  32. package/dist/Checkbox.mjs +190 -0
  33. package/dist/CircularProgress.cjs +136 -0
  34. package/dist/CircularProgress.d.cts +34 -0
  35. package/dist/CircularProgress.d.mts +34 -0
  36. package/dist/CircularProgress.mjs +133 -0
  37. package/dist/CodeBlock.cjs +101 -0
  38. package/dist/CodeBlock.d.cts +2 -0
  39. package/dist/CodeBlock.d.mts +2 -0
  40. package/dist/CodeBlock.mjs +100 -0
  41. package/dist/Drawer.cjs +69 -0
  42. package/dist/Drawer.d.cts +22 -0
  43. package/dist/Drawer.d.mts +22 -0
  44. package/dist/Drawer.mjs +66 -0
  45. package/dist/Field.cjs +59 -0
  46. package/dist/Field.d.cts +36 -0
  47. package/dist/Field.d.mts +36 -0
  48. package/dist/Field.mjs +58 -0
  49. package/dist/Flex.cjs +21 -0
  50. package/dist/Flex.d.cts +2 -0
  51. package/dist/Flex.d.mts +2 -0
  52. package/dist/Flex.mjs +19 -0
  53. package/dist/FocusTrap.cjs +82 -0
  54. package/dist/FocusTrap.d.cts +24 -0
  55. package/dist/FocusTrap.d.mts +24 -0
  56. package/dist/FocusTrap.mjs +81 -0
  57. package/dist/Form.cjs +44 -0
  58. package/dist/Form.d.cts +41 -0
  59. package/dist/Form.d.mts +41 -0
  60. package/dist/Form.mjs +42 -0
  61. package/dist/FormContext-CRmRgDgu.cjs +10 -0
  62. package/dist/FormContext-_G3sxJyQ.mjs +6 -0
  63. package/dist/FormControl.cjs +84 -0
  64. package/dist/FormControl.d.cts +78 -0
  65. package/dist/FormControl.d.mts +78 -0
  66. package/dist/FormControl.mjs +81 -0
  67. package/dist/FormControlContext-CyxdOxdN.mjs +6 -0
  68. package/dist/FormControlContext-aeKTjRKY.cjs +10 -0
  69. package/dist/FormHelperText.cjs +40 -0
  70. package/dist/FormHelperText.d.cts +16 -0
  71. package/dist/FormHelperText.d.mts +16 -0
  72. package/dist/FormHelperText.mjs +39 -0
  73. package/dist/FormLabel.cjs +34 -0
  74. package/dist/FormLabel.d.cts +2 -0
  75. package/dist/FormLabel.d.mts +2 -0
  76. package/dist/FormLabel.mjs +33 -0
  77. package/dist/Grid.cjs +37 -0
  78. package/dist/Grid.d.cts +21 -0
  79. package/dist/Grid.d.mts +21 -0
  80. package/dist/Grid.mjs +32 -0
  81. package/dist/Icon-1YtNCUKo.cjs +755 -0
  82. package/dist/Icon-CAKRmFz3.mjs +742 -0
  83. package/dist/Icon.cjs +4 -0
  84. package/dist/Icon.d.cts +2 -0
  85. package/dist/Icon.d.mts +2 -0
  86. package/dist/Icon.mjs +2 -0
  87. package/dist/Image.cjs +82 -0
  88. package/dist/Image.d.cts +2 -0
  89. package/dist/Image.d.mts +2 -0
  90. package/dist/Image.mjs +80 -0
  91. package/dist/LinearProgress.cjs +217 -0
  92. package/dist/LinearProgress.d.cts +36 -0
  93. package/dist/LinearProgress.d.mts +36 -0
  94. package/dist/LinearProgress.mjs +214 -0
  95. package/dist/Link.cjs +64 -0
  96. package/dist/Link.d.cts +2 -0
  97. package/dist/Link.d.mts +2 -0
  98. package/dist/Link.mjs +62 -0
  99. package/dist/Markdown/Control.cjs +61 -0
  100. package/dist/Markdown/Control.d.cts +18 -0
  101. package/dist/Markdown/Control.d.mts +18 -0
  102. package/dist/Markdown/Control.mjs +60 -0
  103. package/dist/Markdown/Editor.cjs +130 -0
  104. package/dist/Markdown/Editor.d.cts +40 -0
  105. package/dist/Markdown/Editor.d.mts +40 -0
  106. package/dist/Markdown/Editor.mjs +128 -0
  107. package/dist/Markdown/Preview.cjs +241 -0
  108. package/dist/Markdown/Preview.d.cts +55 -0
  109. package/dist/Markdown/Preview.d.mts +55 -0
  110. package/dist/Markdown/Preview.mjs +236 -0
  111. package/dist/Markdown/Toolbar.cjs +4 -0
  112. package/dist/Markdown/Toolbar.d.cts +13 -0
  113. package/dist/Markdown/Toolbar.d.mts +13 -0
  114. package/dist/Markdown/Toolbar.mjs +2 -0
  115. package/dist/Markdown.cjs +13 -0
  116. package/dist/Markdown.d.cts +80 -0
  117. package/dist/Markdown.d.mts +80 -0
  118. package/dist/Markdown.mjs +6 -0
  119. package/dist/MarkdownContext-BN8A3W-J.mjs +11 -0
  120. package/dist/MarkdownContext-DSwjzpH8.cjs +22 -0
  121. package/dist/MenuItem.cjs +150 -0
  122. package/dist/MenuItem.d.cts +51 -0
  123. package/dist/MenuItem.d.mts +51 -0
  124. package/dist/MenuItem.mjs +147 -0
  125. package/dist/Modal-BDMPTSXv.cjs +351 -0
  126. package/dist/Modal-DR60peRg.mjs +327 -0
  127. package/dist/Modal.cjs +6 -0
  128. package/dist/Modal.d.cts +2 -0
  129. package/dist/Modal.d.mts +2 -0
  130. package/dist/Modal.mjs +2 -0
  131. package/dist/NativeSelect.cjs +189 -0
  132. package/dist/NativeSelect.d.cts +62 -0
  133. package/dist/NativeSelect.d.mts +62 -0
  134. package/dist/NativeSelect.mjs +186 -0
  135. package/dist/Pagination/PaginationItem.cjs +116 -0
  136. package/dist/Pagination/PaginationItem.d.cts +2 -0
  137. package/dist/Pagination/PaginationItem.d.mts +2 -0
  138. package/dist/Pagination/PaginationItem.mjs +114 -0
  139. package/dist/Pagination.cjs +134 -0
  140. package/dist/Pagination.d.cts +23 -0
  141. package/dist/Pagination.d.mts +23 -0
  142. package/dist/Pagination.mjs +130 -0
  143. package/dist/Paper.cjs +51 -0
  144. package/dist/Paper.d.cts +2 -0
  145. package/dist/Paper.d.mts +2 -0
  146. package/dist/Paper.mjs +48 -0
  147. package/dist/Popover-B61J7C79.mjs +252 -0
  148. package/dist/Popover-CRDLmywF.cjs +259 -0
  149. package/dist/Popover.cjs +3 -0
  150. package/dist/Popover.d.cts +84 -0
  151. package/dist/Popover.d.mts +84 -0
  152. package/dist/Popover.mjs +2 -0
  153. package/dist/Portal.cjs +20 -0
  154. package/dist/Portal.d.cts +18 -0
  155. package/dist/Portal.d.mts +18 -0
  156. package/dist/Portal.mjs +19 -0
  157. package/dist/Quote.cjs +11 -0
  158. package/dist/Quote.d.cts +2 -0
  159. package/dist/Quote.d.mts +2 -0
  160. package/dist/Quote.mjs +10 -0
  161. package/dist/Radio.cjs +143 -0
  162. package/dist/Radio.d.cts +38 -0
  163. package/dist/Radio.d.mts +38 -0
  164. package/dist/Radio.mjs +141 -0
  165. package/dist/Select.cjs +528 -0
  166. package/dist/Select.d.cts +68 -0
  167. package/dist/Select.d.mts +68 -0
  168. package/dist/Select.mjs +525 -0
  169. package/dist/Skeleton.cjs +82 -0
  170. package/dist/Skeleton.d.cts +21 -0
  171. package/dist/Skeleton.d.mts +21 -0
  172. package/dist/Skeleton.mjs +79 -0
  173. package/dist/Switch.cjs +332 -0
  174. package/dist/Switch.d.cts +40 -0
  175. package/dist/Switch.d.mts +40 -0
  176. package/dist/Switch.mjs +329 -0
  177. package/dist/Table/Table.cjs +65 -0
  178. package/dist/Table/Table.d.cts +2 -0
  179. package/dist/Table/Table.d.mts +2 -0
  180. package/dist/Table/Table.mjs +63 -0
  181. package/dist/Table/TableBody.cjs +42 -0
  182. package/dist/Table/TableBody.d.cts +2 -0
  183. package/dist/Table/TableBody.d.mts +2 -0
  184. package/dist/Table/TableBody.mjs +40 -0
  185. package/dist/Table/TableCell.cjs +93 -0
  186. package/dist/Table/TableCell.d.cts +2 -0
  187. package/dist/Table/TableCell.d.mts +2 -0
  188. package/dist/Table/TableCell.mjs +91 -0
  189. package/dist/Table/TableContainer.cjs +15 -0
  190. package/dist/Table/TableContainer.d.cts +2 -0
  191. package/dist/Table/TableContainer.d.mts +2 -0
  192. package/dist/Table/TableContainer.mjs +14 -0
  193. package/dist/Table/TableControl.cjs +42 -0
  194. package/dist/Table/TableControl.d.cts +2 -0
  195. package/dist/Table/TableControl.d.mts +2 -0
  196. package/dist/Table/TableControl.mjs +41 -0
  197. package/dist/Table/TableFooter.cjs +42 -0
  198. package/dist/Table/TableFooter.d.cts +2 -0
  199. package/dist/Table/TableFooter.d.mts +2 -0
  200. package/dist/Table/TableFooter.mjs +40 -0
  201. package/dist/Table/TableHead.cjs +42 -0
  202. package/dist/Table/TableHead.d.cts +2 -0
  203. package/dist/Table/TableHead.d.mts +2 -0
  204. package/dist/Table/TableHead.mjs +40 -0
  205. package/dist/Table/TablePagination.cjs +89 -0
  206. package/dist/Table/TablePagination.d.cts +2 -0
  207. package/dist/Table/TablePagination.d.mts +2 -0
  208. package/dist/Table/TablePagination.mjs +88 -0
  209. package/dist/Table/TablePaginationActions.cjs +65 -0
  210. package/dist/Table/TablePaginationActions.d.cts +2 -0
  211. package/dist/Table/TablePaginationActions.d.mts +2 -0
  212. package/dist/Table/TablePaginationActions.mjs +63 -0
  213. package/dist/Table/TableRow.cjs +56 -0
  214. package/dist/Table/TableRow.d.cts +2 -0
  215. package/dist/Table/TableRow.d.mts +2 -0
  216. package/dist/Table/TableRow.mjs +54 -0
  217. package/dist/Table/TableSortLabel.cjs +62 -0
  218. package/dist/Table/TableSortLabel.d.cts +2 -0
  219. package/dist/Table/TableSortLabel.d.mts +2 -0
  220. package/dist/Table/TableSortLabel.mjs +60 -0
  221. package/dist/Table/hooks.cjs +112 -0
  222. package/dist/Table/hooks.d.cts +3 -0
  223. package/dist/Table/hooks.d.mts +3 -0
  224. package/dist/Table/hooks.mjs +109 -0
  225. package/dist/Table.cjs +31 -0
  226. package/dist/Table.d.cts +16 -0
  227. package/dist/Table.d.mts +16 -0
  228. package/dist/Table.mjs +15 -0
  229. package/dist/TableContext-2qH7XYJB.d.cts +19 -0
  230. package/dist/TableContext-2qH7XYJB.d.mts +19 -0
  231. package/dist/TableContext-BRWPghAI.mjs +6 -0
  232. package/dist/TableContext-qqp35o8z.cjs +10 -0
  233. package/dist/TableSectionContext-meIG4lFZ.mjs +5 -0
  234. package/dist/TableSectionContext-pYlJ-duI.cjs +9 -0
  235. package/dist/TextInput-6o37Zddp.cjs +231 -0
  236. package/dist/TextInput-D_lHYJlL.mjs +224 -0
  237. package/dist/TextInput.cjs +3 -0
  238. package/dist/TextInput.d.cts +2 -0
  239. package/dist/TextInput.d.mts +2 -0
  240. package/dist/TextInput.mjs +2 -0
  241. package/dist/ThemeProvider.cjs +15 -0
  242. package/dist/ThemeProvider.d.cts +20 -0
  243. package/dist/ThemeProvider.d.mts +20 -0
  244. package/dist/ThemeProvider.mjs +14 -0
  245. package/dist/ToggleButton/ToggleButton.cjs +58 -0
  246. package/dist/ToggleButton/ToggleButton.d.cts +14 -0
  247. package/dist/ToggleButton/ToggleButton.d.mts +14 -0
  248. package/dist/ToggleButton/ToggleButton.mjs +56 -0
  249. package/dist/ToggleButton/ToggleButtonGroup.cjs +54 -0
  250. package/dist/ToggleButton/ToggleButtonGroup.d.cts +23 -0
  251. package/dist/ToggleButton/ToggleButtonGroup.d.mts +23 -0
  252. package/dist/ToggleButton/ToggleButtonGroup.mjs +52 -0
  253. package/dist/ToggleButton.cjs +7 -0
  254. package/dist/ToggleButton.d.cts +4 -0
  255. package/dist/ToggleButton.d.mts +4 -0
  256. package/dist/ToggleButton.mjs +4 -0
  257. package/dist/ToggleButtonGroupContext-CqD-Afho.d.cts +15 -0
  258. package/dist/ToggleButtonGroupContext-CqD-Afho.d.mts +15 -0
  259. package/dist/ToggleButtonGroupContext-DxIyy8ze.mjs +5 -0
  260. package/dist/ToggleButtonGroupContext-Ewc5Ixas.cjs +9 -0
  261. package/dist/Toolbar-B-W22Sk4.cjs +459 -0
  262. package/dist/Toolbar-KbR97iJS.mjs +448 -0
  263. package/dist/Typography.cjs +64 -0
  264. package/dist/Typography.d.cts +3 -0
  265. package/dist/Typography.d.mts +3 -0
  266. package/dist/Typography.mjs +61 -0
  267. package/dist/View.cjs +40 -0
  268. package/dist/View.d.cts +2 -0
  269. package/dist/View.d.mts +2 -0
  270. package/dist/View.mjs +38 -0
  271. package/dist/applyAction-B2B-hnP3.mjs +98 -0
  272. package/dist/applyAction-B2uVHxOE.cjs +103 -0
  273. package/dist/createTheme-Dts2F4R_.d.cts +21 -0
  274. package/dist/createTheme-Dts2F4R_.d.mts +21 -0
  275. package/dist/hooks/useCopyToClipboard.cjs +33 -0
  276. package/dist/hooks/useCopyToClipboard.d.cts +16 -0
  277. package/dist/hooks/useCopyToClipboard.d.mts +16 -0
  278. package/dist/hooks/useCopyToClipboard.mjs +31 -0
  279. package/dist/hooks.cjs +52 -0
  280. package/dist/hooks.d.cts +40 -0
  281. package/dist/hooks.d.mts +40 -0
  282. package/dist/hooks.mjs +41 -0
  283. package/dist/index-4rC2j7fR.d.cts +46 -0
  284. package/dist/index-8dzWTpFp.d.cts +24 -0
  285. package/dist/index-B1rCD6Oo.d.cts +17 -0
  286. package/dist/index-BH8jQOdF.d.mts +46 -0
  287. package/dist/index-BLRMuO_x.d.mts +24 -0
  288. package/dist/index-BLfFycfJ.d.mts +72 -0
  289. package/dist/index-BPrjvi7B.d.cts +13 -0
  290. package/dist/index-BX5-NfbX.d.cts +94 -0
  291. package/dist/index-Bihpwn75.d.cts +64 -0
  292. package/dist/index-BlfIbAMs.d.cts +45 -0
  293. package/dist/index-BnzUumAC2.d.mts +30 -0
  294. package/dist/index-BoqlPb3Z.d.mts +13 -0
  295. package/dist/index-BqVgv2B_.d.mts +42 -0
  296. package/dist/index-Bwi4kRpf.d.mts +79 -0
  297. package/dist/index-Bx24ZnOV.d.mts +43 -0
  298. package/dist/index-C-P_hipv.d.mts +21 -0
  299. package/dist/index-C0xMvDjL.d.mts +49 -0
  300. package/dist/index-C5_ciaeo.d.cts +79 -0
  301. package/dist/index-CDVnvjIE.d.cts +27 -0
  302. package/dist/index-CDcGTGR4.d.cts +21 -0
  303. package/dist/index-CEOZI-6L.d.mts +48 -0
  304. package/dist/index-CLU39rUS2.d.mts +30 -0
  305. package/dist/index-CM_KCTee.d.cts +48 -0
  306. package/dist/index-CT9uGKrs.d.cts +30 -0
  307. package/dist/index-CcYSvIJi.d.cts +21 -0
  308. package/dist/index-CdF_4ckE.d.mts +11 -0
  309. package/dist/index-CeYkEXU2.d.cts +68 -0
  310. package/dist/index-Cl_yBpzW2.d.mts +13 -0
  311. package/dist/index-Cv_UOfYx.d.mts +18 -0
  312. package/dist/index-CxSNNzBT2.d.mts +68 -0
  313. package/dist/index-CyZYXDn0.d.cts +42 -0
  314. package/dist/index-DASvoACZ.d.cts +49 -0
  315. package/dist/index-DBGE6yKw.d.mts +16 -0
  316. package/dist/index-DCQ2fsDu.d.mts +40 -0
  317. package/dist/index-DD2AVtiR.d.cts +16 -0
  318. package/dist/index-DE5PtzPn.d.mts +27 -0
  319. package/dist/index-DOPXpr2J.d.cts +43 -0
  320. package/dist/index-DSCMXFTn.d.cts +30 -0
  321. package/dist/index-DTkQSXQD.d.cts +11 -0
  322. package/dist/index-DeJWkpf9.d.cts +16 -0
  323. package/dist/index-DeiZHSwA.d.cts +12 -0
  324. package/dist/index-Des8BisQ.d.mts +12 -0
  325. package/dist/index-Dg8-CPOO.d.cts +18 -0
  326. package/dist/index-DgRS5Aqv.d.mts +16 -0
  327. package/dist/index-Dm9HfgV6.d.mts +63 -0
  328. package/dist/index-DmJIuQJj.d.mts +24 -0
  329. package/dist/index-Dp81rWM1.d.cts +72 -0
  330. package/dist/index-Dtzj8X58.d.cts +40 -0
  331. package/dist/index-DvW2eETV.d.mts +21 -0
  332. package/dist/index-Dy03o__A.d.mts +94 -0
  333. package/dist/index-FwTocqhP.d.cts +34 -0
  334. package/dist/index-GVsFY00r.d.cts +21 -0
  335. package/dist/index-Nqco3fsM.d.cts +13 -0
  336. package/dist/index-g-9DZ_KQ.d.cts +28 -0
  337. package/dist/index-g9EThkSg.d.mts +21 -0
  338. package/dist/index-kpk9e3xM2.d.mts +45 -0
  339. package/dist/index-pX7tBQdJ.d.mts +34 -0
  340. package/dist/index-u57CbuAU2.d.mts +28 -0
  341. package/dist/index-x80UG39F.d.cts +24 -0
  342. package/dist/index-z35LEYG8.d.mts +17 -0
  343. package/dist/index.cjs +68 -0
  344. package/dist/index.d.cts +4 -0
  345. package/dist/index.d.mts +4 -0
  346. package/dist/index.mjs +3 -0
  347. package/dist/inputVariantStyles-BBkkYQtE.cjs +32 -0
  348. package/dist/inputVariantStyles-CcqpGfuP.mjs +28 -0
  349. package/dist/rolldown-runtime-BBjsoOtd.mjs +27 -0
  350. package/dist/rolldown-runtime-DDXJien1.cjs +50 -0
  351. package/dist/src-BiocWFSR.cjs +60 -0
  352. package/dist/src-DcNT2aIK.mjs +49 -0
  353. package/dist/themeDefault-B-QjpGEO.cjs +16 -0
  354. package/dist/themeDefault-CjXaY3ok.mjs +11 -0
  355. package/dist/themes-D1SAp3SL.d.mts +500 -0
  356. package/dist/themes-D81JYbqm.d.cts +500 -0
  357. package/dist/themes.cjs +318 -0
  358. package/dist/themes.d.cts +3 -0
  359. package/dist/themes.d.mts +3 -0
  360. package/dist/themes.mjs +303 -0
  361. package/dist/useDefaultProps-Cb-5FNok.cjs +19 -0
  362. package/dist/useDefaultProps-CoApb4KT.mjs +14 -0
  363. package/dist/useTableSort--XMWjujs.d.cts +51 -0
  364. package/dist/useTableSort-CpDs4cGq.d.mts +51 -0
  365. package/dist/utils/styleCache.cjs +7 -0
  366. package/dist/utils/styleCache.d.cts +3 -0
  367. package/dist/utils/styleCache.d.mts +4 -0
  368. package/dist/utils/styleCache.mjs +5 -0
  369. package/dist/utils.cjs +65 -0
  370. package/dist/utils.d.cts +39 -0
  371. package/dist/utils.d.mts +39 -0
  372. package/dist/utils.mjs +58 -0
  373. package/package.json +125 -0
@@ -0,0 +1,103 @@
1
+ import { a as createShouldForwardProp, c as props, d as styled, l as src_exports, u as useTheme } from "./src-DcNT2aIK.mjs";
2
+ import { t as themeDefault } from "./themeDefault-CjXaY3ok.mjs";
3
+ import { Flex } from "./Flex.mjs";
4
+ import { useState } from "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+ //#region src/Avatar/Avatar.tsx
7
+ const shouldForwardProp = createShouldForwardProp([
8
+ ...props,
9
+ "variant",
10
+ "size",
11
+ "ring",
12
+ "ringColor",
13
+ "ringWidth"
14
+ ]);
15
+ const avatarSizeSystem = (0, src_exports.system)({ size: {
16
+ properties: ["width", "height"],
17
+ scale: "avatar"
18
+ } });
19
+ const avatarVariants = (0, src_exports.variant)({
20
+ prop: "variant",
21
+ variants: {
22
+ circular: { borderRadius: "50%" },
23
+ rounded: { borderRadius: "md" },
24
+ square: { borderRadius: 0 }
25
+ }
26
+ });
27
+ const ringSystem = (0, src_exports.system)({
28
+ ringColor: {
29
+ property: "outlineColor",
30
+ scale: "border"
31
+ },
32
+ ringWidth: {
33
+ property: "outlineWidth",
34
+ scale: "borderWidths"
35
+ }
36
+ });
37
+ const AvatarRoot = styled(Flex, {
38
+ name: "Avatar",
39
+ label: "avatar",
40
+ shouldForwardProp
41
+ })({
42
+ overflow: "hidden",
43
+ flexShrink: 0,
44
+ alignItems: "center",
45
+ justifyContent: "center",
46
+ flexDirection: "row"
47
+ }, avatarSizeSystem, avatarVariants, ({ ring }) => ring ? {
48
+ outlineStyle: "solid",
49
+ outlineOffset: "2px"
50
+ } : {}, ringSystem);
51
+ const AvatarImg = styled("img", {
52
+ name: "Avatar",
53
+ slot: "img",
54
+ label: "AvatarImg"
55
+ })({
56
+ width: "100%",
57
+ height: "100%",
58
+ objectFit: "cover",
59
+ display: "block"
60
+ });
61
+ function Avatar({ src, srcSet, alt, fallback, children, variant: variantProp, size: sizeProp, ring, ringColor: ringColorProp, ringWidth: ringWidthProp, ...rest }) {
62
+ const theme = useTheme();
63
+ const variant = variantProp ?? themeDefault(theme, "avatarVariant", "circular");
64
+ const size = sizeProp ?? themeDefault(theme, "avatarSize", "md");
65
+ const ringColor = ringColorProp ?? themeDefault(theme, "borderColor", "primary");
66
+ const ringWidth = ringWidthProp ?? themeDefault(theme, "borderWidth", "thin");
67
+ const [prevSrc, setPrevSrc] = useState(src);
68
+ const [prevSrcSet, setPrevSrcSet] = useState(srcSet);
69
+ const [prevFallback, setPrevFallback] = useState(fallback);
70
+ const [failed, setFailed] = useState(false);
71
+ const [useFallback, setUseFallback] = useState(false);
72
+ if (prevSrc !== src || prevSrcSet !== srcSet || prevFallback !== fallback) {
73
+ setPrevSrc(src);
74
+ setPrevSrcSet(srcSet);
75
+ setPrevFallback(fallback);
76
+ setFailed(false);
77
+ setUseFallback(false);
78
+ }
79
+ const hasPrimary = !!(src || srcSet);
80
+ const hasAnyImage = hasPrimary || !!fallback;
81
+ const handleError = () => {
82
+ if (!useFallback && fallback && hasPrimary) setUseFallback(true);
83
+ else setFailed(true);
84
+ };
85
+ const currentSrc = useFallback ? fallback : src ?? (srcSet ? void 0 : fallback);
86
+ const currentSrcSet = useFallback ? void 0 : srcSet;
87
+ return /* @__PURE__ */ jsx(AvatarRoot, {
88
+ variant,
89
+ size,
90
+ ring,
91
+ ringColor: ring ? ringColor : void 0,
92
+ ringWidth: ring ? ringWidth : void 0,
93
+ ...rest,
94
+ children: hasAnyImage && !failed ? /* @__PURE__ */ jsx(AvatarImg, {
95
+ src: currentSrc,
96
+ srcSet: currentSrcSet,
97
+ alt,
98
+ onError: handleError
99
+ }) : children
100
+ });
101
+ }
102
+ //#endregion
103
+ export { Avatar };
@@ -0,0 +1,26 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_src = require("./src-BiocWFSR.cjs");
3
+ const require_View = require("./View.cjs");
4
+ let react_jsx_runtime = require("react/jsx-runtime");
5
+ //#region src/Backdrop/Backdrop.tsx
6
+ const BackdropRoot = require_src.styled(require_View.View, {
7
+ name: "Backdrop",
8
+ label: "Backdrop"
9
+ })({
10
+ position: "fixed",
11
+ inset: 0,
12
+ zIndex: -1,
13
+ pointerEvents: "none"
14
+ });
15
+ /**
16
+ * @description Dimmed overlay rendered behind a modal's content. Defaults to the
17
+ * theme `backdrop` background; forwards click and other props to the surface.
18
+ */
19
+ function Backdrop(props) {
20
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(BackdropRoot, {
21
+ bg: "backdrop",
22
+ ...props
23
+ });
24
+ }
25
+ //#endregion
26
+ exports.Backdrop = Backdrop;
@@ -0,0 +1,10 @@
1
+ import { s as ViewProps } from "./index-FwTocqhP.cjs";
2
+ //#region src/Backdrop/Backdrop.d.ts
3
+ type BackdropProps = ViewProps;
4
+ /**
5
+ * @description Dimmed overlay rendered behind a modal's content. Defaults to the
6
+ * theme `backdrop` background; forwards click and other props to the surface.
7
+ */
8
+ declare function Backdrop(props: Readonly<BackdropProps>): import("react").JSX.Element;
9
+ //#endregion
10
+ export { Backdrop, BackdropProps };
@@ -0,0 +1,10 @@
1
+ import { s as ViewProps } from "./index-pX7tBQdJ.mjs";
2
+ //#region src/Backdrop/Backdrop.d.ts
3
+ type BackdropProps = ViewProps;
4
+ /**
5
+ * @description Dimmed overlay rendered behind a modal's content. Defaults to the
6
+ * theme `backdrop` background; forwards click and other props to the surface.
7
+ */
8
+ declare function Backdrop(props: Readonly<BackdropProps>): import("react").JSX.Element;
9
+ //#endregion
10
+ export { Backdrop, BackdropProps };
@@ -0,0 +1,25 @@
1
+ import { d as styled } from "./src-DcNT2aIK.mjs";
2
+ import { View } from "./View.mjs";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/Backdrop/Backdrop.tsx
5
+ const BackdropRoot = styled(View, {
6
+ name: "Backdrop",
7
+ label: "Backdrop"
8
+ })({
9
+ position: "fixed",
10
+ inset: 0,
11
+ zIndex: -1,
12
+ pointerEvents: "none"
13
+ });
14
+ /**
15
+ * @description Dimmed overlay rendered behind a modal's content. Defaults to the
16
+ * theme `backdrop` background; forwards click and other props to the surface.
17
+ */
18
+ function Backdrop(props) {
19
+ return /* @__PURE__ */ jsx(BackdropRoot, {
20
+ bg: "backdrop",
21
+ ...props
22
+ });
23
+ }
24
+ //#endregion
25
+ export { Backdrop };
@@ -0,0 +1,178 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_src = require("./src-BiocWFSR.cjs");
3
+ const require_themeDefault = require("./themeDefault-B-QjpGEO.cjs");
4
+ const require_utils = require("./utils.cjs");
5
+ const require_CircularProgress = require("./CircularProgress.cjs");
6
+ const require_ButtonGroupContext = require("./ButtonGroupContext-NtkVeDVE.cjs");
7
+ const require_useDefaultProps = require("./useDefaultProps-Cb-5FNok.cjs");
8
+ let react = require("react");
9
+ let react_jsx_runtime = require("react/jsx-runtime");
10
+ let _soroush_tech_styled_system_should_forward_prop = require("@soroush.tech/styled-system/should-forward-prop");
11
+ let _emotion_react = require("@emotion/react");
12
+ //#region src/Button/Button.tsx
13
+ const shouldForwardProp = (0, _soroush_tech_styled_system_should_forward_prop.createShouldForwardProp)([
14
+ ..._soroush_tech_styled_system_should_forward_prop.props,
15
+ "gap",
16
+ "variant",
17
+ "size",
18
+ "shape",
19
+ "fullWidth",
20
+ "loading",
21
+ "loadingPosition",
22
+ "startIcon",
23
+ "endIcon",
24
+ "loadingIndicator"
25
+ ]);
26
+ const ButtonLabel = require_src.styled("span", {
27
+ name: "Button",
28
+ slot: "label",
29
+ shouldForwardProp: (prop) => prop !== "invisible"
30
+ })(({ invisible }) => ({
31
+ display: "inherit",
32
+ alignItems: "inherit",
33
+ justifyContent: "inherit",
34
+ ...invisible && { opacity: 0 }
35
+ }));
36
+ const LoadingCenter = require_src.styled("span", {
37
+ name: "Button",
38
+ slot: "loader",
39
+ label: "ButtonLoader"
40
+ })({
41
+ position: "absolute",
42
+ left: "50%",
43
+ top: "50%",
44
+ transform: "translate(-50%, -50%)",
45
+ display: "flex",
46
+ alignItems: "center"
47
+ });
48
+ const ButtonIcon = require_src.styled("span", {
49
+ name: "Button",
50
+ slot: "icon"
51
+ })({
52
+ display: "inline-flex",
53
+ alignItems: "center",
54
+ fontSize: "inherit",
55
+ lineHeight: "inherit",
56
+ flexShrink: 0
57
+ });
58
+ const baseStyles = {
59
+ appearance: "none",
60
+ outline: "none",
61
+ cursor: "pointer",
62
+ position: "relative",
63
+ display: "inline-flex",
64
+ alignItems: "center",
65
+ justifyContent: "center",
66
+ fontFamily: "inherit",
67
+ textTransform: "uppercase",
68
+ textDecoration: "none",
69
+ lineHeight: 1,
70
+ transition: "background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease",
71
+ "&:disabled": {
72
+ cursor: "not-allowed",
73
+ opacity: .5
74
+ }
75
+ };
76
+ const buttonBaseSystem = (0, require_src.src_exports.system)({ gap: {
77
+ property: "gap",
78
+ scale: "space"
79
+ } });
80
+ const sizeVariants = ({ theme, size }) => {
81
+ const s = theme.sizes[size];
82
+ return {
83
+ paddingTop: theme.space[s.paddingTop],
84
+ paddingBottom: theme.space[s.paddingBottom],
85
+ paddingLeft: theme.space[s.paddingLeft],
86
+ paddingRight: theme.space[s.paddingRight],
87
+ fontSize: theme.fontSizes[s.fontSize]
88
+ };
89
+ };
90
+ const variantStyles = ({ variant = "contained", theme, color = require_themeDefault.themeDefault(theme, "color", "primary") }) => {
91
+ const { main, dark, contrastText } = theme.palette[color];
92
+ if (variant === "contained") return {
93
+ backgroundColor: main,
94
+ color: contrastText,
95
+ border: `${theme.borderWidths.thin} solid transparent`,
96
+ "&:hover:not(:disabled)": { backgroundColor: dark },
97
+ "&:active:not(:disabled)": { backgroundColor: dark }
98
+ };
99
+ const hoverBg = require_utils.alpha(main, .08);
100
+ const activeBg = require_utils.alpha(main, .125);
101
+ const borderColor = variant === "outlined" ? main : "transparent";
102
+ return {
103
+ backgroundColor: "transparent",
104
+ color: main,
105
+ border: `${theme.borderWidths.thin} solid ${borderColor}`,
106
+ "&:hover:not(:disabled)": { backgroundColor: hoverBg },
107
+ "&:active:not(:disabled)": { backgroundColor: activeBg }
108
+ };
109
+ };
110
+ const shapeVariants = ({ shape = "square", theme }) => {
111
+ if (shape === "pill") return { borderRadius: "9999px" };
112
+ if (shape === "rounded") return { borderRadius: theme.radii[require_themeDefault.themeDefault(theme, "borderRadius", "md")] };
113
+ return { borderRadius: 0 };
114
+ };
115
+ const fullWidthStyles = ({ fullWidth }) => fullWidth ? { width: "100%" } : {};
116
+ const focusVisibleStyles = ({ theme }) => ({ "&:focus-visible": {
117
+ outline: `2px solid ${theme.palette[require_themeDefault.themeDefault(theme, "color", "primary")].main}`,
118
+ outlineOffset: "2px"
119
+ } });
120
+ const safeLayout = (props) => (0, require_src.src_exports.layout)({
121
+ ...props,
122
+ size: void 0
123
+ });
124
+ const ButtonRoot = require_src.styled("button", {
125
+ name: "Button",
126
+ shouldForwardProp,
127
+ systemProps: [
128
+ require_src.src_exports.space,
129
+ safeLayout,
130
+ buttonBaseSystem,
131
+ require_src.src_exports.typography,
132
+ require_src.src_exports.border
133
+ ]
134
+ })(baseStyles, sizeVariants, variantStyles, shapeVariants, fullWidthStyles, focusVisibleStyles);
135
+ function Button({ variant, color, size, shape, gap = 1, fontWeight = "bold", letterSpacing = "tight", startIcon, endIcon, fullWidth, loading = false, loadingIndicator, loadingPosition = "center", children, disabled, href, ...rest }) {
136
+ const group = (0, react.useContext)(require_ButtonGroupContext.ButtonGroupContext);
137
+ const theme = (0, _emotion_react.useTheme)();
138
+ const dp = require_useDefaultProps.useDefaultProps("Button");
139
+ const resolvedVariant = variant ?? group.variant ?? dp.variant ?? require_themeDefault.themeDefault(theme, "buttonVariant", "contained");
140
+ const resolvedColor = color ?? group.color ?? dp.color ?? require_themeDefault.themeDefault(theme, "color", "primary");
141
+ const resolvedSize = size ?? group.size ?? dp.size ?? require_themeDefault.themeDefault(theme, "size", "md");
142
+ const resolvedShape = shape ?? dp.shape ?? "square";
143
+ const resolvedFullWidth = fullWidth ?? group.fullWidth ?? false;
144
+ const resolvedDisabled = (disabled ?? group.disabled ?? false) || loading;
145
+ const indicator = loadingIndicator ?? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_CircularProgress.CircularProgress, {
146
+ size: 16,
147
+ color: "inherit"
148
+ });
149
+ const isCenter = loading && loadingPosition === "center";
150
+ const start = loading && loadingPosition === "start" ? indicator : startIcon;
151
+ const end = loading && loadingPosition === "end" ? indicator : endIcon;
152
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(ButtonRoot, {
153
+ as: href == null ? void 0 : "a",
154
+ href,
155
+ variant: resolvedVariant,
156
+ color: resolvedColor,
157
+ size: resolvedSize,
158
+ shape: resolvedShape,
159
+ gap,
160
+ fontWeight,
161
+ letterSpacing,
162
+ fullWidth: resolvedFullWidth,
163
+ disabled: resolvedDisabled,
164
+ "aria-busy": loading || void 0,
165
+ ...rest,
166
+ children: [
167
+ start != null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ButtonIcon, { children: start }),
168
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ButtonLabel, {
169
+ invisible: isCenter,
170
+ children
171
+ }),
172
+ isCenter && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LoadingCenter, { children: indicator }),
173
+ end != null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ButtonIcon, { children: end })
174
+ ]
175
+ });
176
+ }
177
+ //#endregion
178
+ exports.Button = Button;
@@ -0,0 +1,2 @@
1
+ import { a as ButtonShape, c as GapToken, i as ButtonProps, n as ButtonColor, o as ButtonSize, r as ButtonLoadingPosition, s as ButtonVariant, t as Button } from "./index-DASvoACZ.cjs";
2
+ export { Button, ButtonColor, ButtonLoadingPosition, ButtonProps, ButtonShape, ButtonSize, ButtonVariant, GapToken };
@@ -0,0 +1,2 @@
1
+ import { a as ButtonShape, c as GapToken, i as ButtonProps, n as ButtonColor, o as ButtonSize, r as ButtonLoadingPosition, s as ButtonVariant, t as Button } from "./index-C0xMvDjL.mjs";
2
+ export { Button, ButtonColor, ButtonLoadingPosition, ButtonProps, ButtonShape, ButtonSize, ButtonVariant, GapToken };
@@ -0,0 +1,175 @@
1
+ import { a as createShouldForwardProp, c as props, d as styled, l as src_exports, u as useTheme } from "./src-DcNT2aIK.mjs";
2
+ import { t as themeDefault } from "./themeDefault-CjXaY3ok.mjs";
3
+ import { alpha } from "./utils.mjs";
4
+ import { CircularProgress } from "./CircularProgress.mjs";
5
+ import { t as ButtonGroupContext } from "./ButtonGroupContext-DS-kl9lG.mjs";
6
+ import { t as useDefaultProps } from "./useDefaultProps-CoApb4KT.mjs";
7
+ import { useContext } from "react";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ //#region src/Button/Button.tsx
10
+ const shouldForwardProp = createShouldForwardProp([
11
+ ...props,
12
+ "gap",
13
+ "variant",
14
+ "size",
15
+ "shape",
16
+ "fullWidth",
17
+ "loading",
18
+ "loadingPosition",
19
+ "startIcon",
20
+ "endIcon",
21
+ "loadingIndicator"
22
+ ]);
23
+ const ButtonLabel = styled("span", {
24
+ name: "Button",
25
+ slot: "label",
26
+ shouldForwardProp: (prop) => prop !== "invisible"
27
+ })(({ invisible }) => ({
28
+ display: "inherit",
29
+ alignItems: "inherit",
30
+ justifyContent: "inherit",
31
+ ...invisible && { opacity: 0 }
32
+ }));
33
+ const LoadingCenter = styled("span", {
34
+ name: "Button",
35
+ slot: "loader",
36
+ label: "ButtonLoader"
37
+ })({
38
+ position: "absolute",
39
+ left: "50%",
40
+ top: "50%",
41
+ transform: "translate(-50%, -50%)",
42
+ display: "flex",
43
+ alignItems: "center"
44
+ });
45
+ const ButtonIcon = styled("span", {
46
+ name: "Button",
47
+ slot: "icon"
48
+ })({
49
+ display: "inline-flex",
50
+ alignItems: "center",
51
+ fontSize: "inherit",
52
+ lineHeight: "inherit",
53
+ flexShrink: 0
54
+ });
55
+ const baseStyles = {
56
+ appearance: "none",
57
+ outline: "none",
58
+ cursor: "pointer",
59
+ position: "relative",
60
+ display: "inline-flex",
61
+ alignItems: "center",
62
+ justifyContent: "center",
63
+ fontFamily: "inherit",
64
+ textTransform: "uppercase",
65
+ textDecoration: "none",
66
+ lineHeight: 1,
67
+ transition: "background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease",
68
+ "&:disabled": {
69
+ cursor: "not-allowed",
70
+ opacity: .5
71
+ }
72
+ };
73
+ const buttonBaseSystem = (0, src_exports.system)({ gap: {
74
+ property: "gap",
75
+ scale: "space"
76
+ } });
77
+ const sizeVariants = ({ theme, size }) => {
78
+ const s = theme.sizes[size];
79
+ return {
80
+ paddingTop: theme.space[s.paddingTop],
81
+ paddingBottom: theme.space[s.paddingBottom],
82
+ paddingLeft: theme.space[s.paddingLeft],
83
+ paddingRight: theme.space[s.paddingRight],
84
+ fontSize: theme.fontSizes[s.fontSize]
85
+ };
86
+ };
87
+ const variantStyles = ({ variant = "contained", theme, color = themeDefault(theme, "color", "primary") }) => {
88
+ const { main, dark, contrastText } = theme.palette[color];
89
+ if (variant === "contained") return {
90
+ backgroundColor: main,
91
+ color: contrastText,
92
+ border: `${theme.borderWidths.thin} solid transparent`,
93
+ "&:hover:not(:disabled)": { backgroundColor: dark },
94
+ "&:active:not(:disabled)": { backgroundColor: dark }
95
+ };
96
+ const hoverBg = alpha(main, .08);
97
+ const activeBg = alpha(main, .125);
98
+ const borderColor = variant === "outlined" ? main : "transparent";
99
+ return {
100
+ backgroundColor: "transparent",
101
+ color: main,
102
+ border: `${theme.borderWidths.thin} solid ${borderColor}`,
103
+ "&:hover:not(:disabled)": { backgroundColor: hoverBg },
104
+ "&:active:not(:disabled)": { backgroundColor: activeBg }
105
+ };
106
+ };
107
+ const shapeVariants = ({ shape = "square", theme }) => {
108
+ if (shape === "pill") return { borderRadius: "9999px" };
109
+ if (shape === "rounded") return { borderRadius: theme.radii[themeDefault(theme, "borderRadius", "md")] };
110
+ return { borderRadius: 0 };
111
+ };
112
+ const fullWidthStyles = ({ fullWidth }) => fullWidth ? { width: "100%" } : {};
113
+ const focusVisibleStyles = ({ theme }) => ({ "&:focus-visible": {
114
+ outline: `2px solid ${theme.palette[themeDefault(theme, "color", "primary")].main}`,
115
+ outlineOffset: "2px"
116
+ } });
117
+ const safeLayout = (props) => (0, src_exports.layout)({
118
+ ...props,
119
+ size: void 0
120
+ });
121
+ const ButtonRoot = styled("button", {
122
+ name: "Button",
123
+ shouldForwardProp,
124
+ systemProps: [
125
+ src_exports.space,
126
+ safeLayout,
127
+ buttonBaseSystem,
128
+ src_exports.typography,
129
+ src_exports.border
130
+ ]
131
+ })(baseStyles, sizeVariants, variantStyles, shapeVariants, fullWidthStyles, focusVisibleStyles);
132
+ function Button({ variant, color, size, shape, gap = 1, fontWeight = "bold", letterSpacing = "tight", startIcon, endIcon, fullWidth, loading = false, loadingIndicator, loadingPosition = "center", children, disabled, href, ...rest }) {
133
+ const group = useContext(ButtonGroupContext);
134
+ const theme = useTheme();
135
+ const dp = useDefaultProps("Button");
136
+ const resolvedVariant = variant ?? group.variant ?? dp.variant ?? themeDefault(theme, "buttonVariant", "contained");
137
+ const resolvedColor = color ?? group.color ?? dp.color ?? themeDefault(theme, "color", "primary");
138
+ const resolvedSize = size ?? group.size ?? dp.size ?? themeDefault(theme, "size", "md");
139
+ const resolvedShape = shape ?? dp.shape ?? "square";
140
+ const resolvedFullWidth = fullWidth ?? group.fullWidth ?? false;
141
+ const resolvedDisabled = (disabled ?? group.disabled ?? false) || loading;
142
+ const indicator = loadingIndicator ?? /* @__PURE__ */ jsx(CircularProgress, {
143
+ size: 16,
144
+ color: "inherit"
145
+ });
146
+ const isCenter = loading && loadingPosition === "center";
147
+ const start = loading && loadingPosition === "start" ? indicator : startIcon;
148
+ const end = loading && loadingPosition === "end" ? indicator : endIcon;
149
+ return /* @__PURE__ */ jsxs(ButtonRoot, {
150
+ as: href == null ? void 0 : "a",
151
+ href,
152
+ variant: resolvedVariant,
153
+ color: resolvedColor,
154
+ size: resolvedSize,
155
+ shape: resolvedShape,
156
+ gap,
157
+ fontWeight,
158
+ letterSpacing,
159
+ fullWidth: resolvedFullWidth,
160
+ disabled: resolvedDisabled,
161
+ "aria-busy": loading || void 0,
162
+ ...rest,
163
+ children: [
164
+ start != null && /* @__PURE__ */ jsx(ButtonIcon, { children: start }),
165
+ /* @__PURE__ */ jsx(ButtonLabel, {
166
+ invisible: isCenter,
167
+ children
168
+ }),
169
+ isCenter && /* @__PURE__ */ jsx(LoadingCenter, { children: indicator }),
170
+ end != null && /* @__PURE__ */ jsx(ButtonIcon, { children: end })
171
+ ]
172
+ });
173
+ }
174
+ //#endregion
175
+ export { Button };
@@ -0,0 +1,110 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_src = require("./src-BiocWFSR.cjs");
3
+ const require_themeDefault = require("./themeDefault-B-QjpGEO.cjs");
4
+ const require_utils = require("./utils.cjs");
5
+ const require_ButtonGroupContext = require("./ButtonGroupContext-NtkVeDVE.cjs");
6
+ let react = require("react");
7
+ let react_jsx_runtime = require("react/jsx-runtime");
8
+ let _soroush_tech_styled_system_should_forward_prop = require("@soroush.tech/styled-system/should-forward-prop");
9
+ //#region src/ButtonGroup/ButtonGroup.tsx
10
+ const shouldForwardProp = (0, _soroush_tech_styled_system_should_forward_prop.createShouldForwardProp)([
11
+ ..._soroush_tech_styled_system_should_forward_prop.props,
12
+ "orientation",
13
+ "fullWidth",
14
+ "variant"
15
+ ]);
16
+ const orientationStyles = ({ theme, orientation = "horizontal", borderRadius }) => {
17
+ const overlap = `-${theme.borderWidths.thin}`;
18
+ const r = (0, require_src.src_exports.get)(theme, `radii.${borderRadius ?? require_themeDefault.themeDefault(theme, "borderRadius", "md")}`);
19
+ if (orientation === "vertical") return {
20
+ flexDirection: "column",
21
+ "& > *:first-of-type": {
22
+ borderTopLeftRadius: r,
23
+ borderTopRightRadius: r,
24
+ borderBottomLeftRadius: 0,
25
+ borderBottomRightRadius: 0
26
+ },
27
+ "& > *:last-of-type": {
28
+ borderBottomLeftRadius: r,
29
+ borderBottomRightRadius: r,
30
+ borderTopLeftRadius: 0,
31
+ borderTopRightRadius: 0
32
+ },
33
+ "& > *:not(:first-of-type):not(:last-of-type)": { borderRadius: 0 },
34
+ "& > *:only-child": { borderRadius: r },
35
+ "& > *:not(:first-of-type)": { marginTop: overlap }
36
+ };
37
+ return {
38
+ flexDirection: "row",
39
+ "& > *:first-of-type": {
40
+ borderTopLeftRadius: r,
41
+ borderBottomLeftRadius: r,
42
+ borderTopRightRadius: 0,
43
+ borderBottomRightRadius: 0
44
+ },
45
+ "& > *:last-of-type": {
46
+ borderTopRightRadius: r,
47
+ borderBottomRightRadius: r,
48
+ borderTopLeftRadius: 0,
49
+ borderBottomLeftRadius: 0
50
+ },
51
+ "& > *:not(:first-of-type):not(:last-of-type)": { borderRadius: 0 },
52
+ "& > *:only-child": { borderRadius: r },
53
+ "& > *:not(:first-of-type)": { marginLeft: overlap }
54
+ };
55
+ };
56
+ const dividerStyles = ({ theme, orientation = "horizontal", variant = "outlined", color: colorProp }) => {
57
+ const color = colorProp ?? require_themeDefault.themeDefault(theme, "color", "primary");
58
+ const edge = orientation === "vertical" ? "borderTopColor" : "borderLeftColor";
59
+ if (variant === "outlined") return { "& > *:not(:first-of-type)": { [edge]: "transparent" } };
60
+ const dividerColor = variant === "contained" ? (0, require_src.src_exports.get)(theme, `palette.${color}.dark`) : require_utils.alpha((0, require_src.src_exports.get)(theme, `palette.${color}.main`), .5);
61
+ return { "& > *:not(:first-of-type)": { [edge]: dividerColor } };
62
+ };
63
+ const fullWidthStyles = ({ fullWidth }) => fullWidth ? {
64
+ display: "flex",
65
+ width: "100%",
66
+ "& > *": { flex: 1 }
67
+ } : {};
68
+ const GroupRoot = require_src.styled("div", {
69
+ name: "ButtonGroup",
70
+ label: "ButtonGroup",
71
+ shouldForwardProp,
72
+ systemProps: [require_src.src_exports.space]
73
+ })({ display: "inline-flex" }, orientationStyles, dividerStyles, fullWidthStyles);
74
+ /**
75
+ * Groups related `Button` immediate children into a visually joined cluster and
76
+ * broadcasts `variant` / `color` / `size` / `disabled` / `fullWidth` to them via
77
+ * `ButtonGroupContext` (explicit props on a child win).
78
+ */
79
+ function ButtonGroup({ variant = "outlined", color, size, orientation = "horizontal", borderRadius, disabled = false, fullWidth = false, as, children, ...rest }) {
80
+ const context = (0, react.useMemo)(() => ({
81
+ variant,
82
+ color,
83
+ size,
84
+ disabled,
85
+ fullWidth
86
+ }), [
87
+ variant,
88
+ color,
89
+ size,
90
+ disabled,
91
+ fullWidth
92
+ ]);
93
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ButtonGroupContext.ButtonGroupContext.Provider, {
94
+ value: context,
95
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(GroupRoot, {
96
+ as,
97
+ role: "group",
98
+ orientation,
99
+ borderRadius,
100
+ variant,
101
+ color,
102
+ fullWidth,
103
+ ...rest,
104
+ children
105
+ })
106
+ });
107
+ }
108
+ //#endregion
109
+ exports.ButtonGroup = ButtonGroup;
110
+ exports.ButtonGroupContext = require_ButtonGroupContext.ButtonGroupContext;
@@ -0,0 +1,2 @@
1
+ import { a as ButtonGroupProps, i as ButtonGroupOrientation, n as ButtonGroupContextValue, o as ButtonGroupRadius, r as ButtonGroup, t as ButtonGroupContext } from "./index-CyZYXDn0.cjs";
2
+ export { ButtonGroup, ButtonGroupContext, ButtonGroupContextValue, ButtonGroupOrientation, ButtonGroupProps, ButtonGroupRadius };
@@ -0,0 +1,2 @@
1
+ import { a as ButtonGroupProps, i as ButtonGroupOrientation, n as ButtonGroupContextValue, o as ButtonGroupRadius, r as ButtonGroup, t as ButtonGroupContext } from "./index-BqVgv2B_.mjs";
2
+ export { ButtonGroup, ButtonGroupContext, ButtonGroupContextValue, ButtonGroupOrientation, ButtonGroupProps, ButtonGroupRadius };