@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,14 @@
1
+ import { i as ButtonProps } from "../index-DASvoACZ.cjs";
2
+ import { r as ToggleButtonValue } from "../ToggleButtonGroupContext-CqD-Afho.cjs";
3
+ //#region src/ToggleButton/ToggleButton/ToggleButton.d.ts
4
+ interface ToggleButtonProps extends Omit<ButtonProps, 'variant' | 'href' | 'target' | 'rel' | 'value' | 'onChange'> {
5
+ /** The value associated with the button inside a `ToggleButtonGroup`. */
6
+ value: ToggleButtonValue;
7
+ /** Active state — inferred from the group's value when omitted. Drives `aria-pressed`. */
8
+ isSelected?: boolean;
9
+ /** Fired with the button's `value` when toggled. */
10
+ onChange?: (value: ToggleButtonValue) => void;
11
+ }
12
+ declare function ToggleButton({ value, isSelected, color, onChange, onClick, type, ...rest }: Readonly<ToggleButtonProps>): import("react").JSX.Element;
13
+ //#endregion
14
+ export { ToggleButton, ToggleButtonProps };
@@ -0,0 +1,14 @@
1
+ import { i as ButtonProps } from "../index-C0xMvDjL.mjs";
2
+ import { r as ToggleButtonValue } from "../ToggleButtonGroupContext-CqD-Afho.mjs";
3
+ //#region src/ToggleButton/ToggleButton/ToggleButton.d.ts
4
+ interface ToggleButtonProps extends Omit<ButtonProps, 'variant' | 'href' | 'target' | 'rel' | 'value' | 'onChange'> {
5
+ /** The value associated with the button inside a `ToggleButtonGroup`. */
6
+ value: ToggleButtonValue;
7
+ /** Active state — inferred from the group's value when omitted. Drives `aria-pressed`. */
8
+ isSelected?: boolean;
9
+ /** Fired with the button's `value` when toggled. */
10
+ onChange?: (value: ToggleButtonValue) => void;
11
+ }
12
+ declare function ToggleButton({ value, isSelected, color, onChange, onClick, type, ...rest }: Readonly<ToggleButtonProps>): import("react").JSX.Element;
13
+ //#endregion
14
+ export { ToggleButton, ToggleButtonProps };
@@ -0,0 +1,56 @@
1
+ import { 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 { t as ButtonGroupContext } from "../ButtonGroupContext-DS-kl9lG.mjs";
5
+ import { Button } from "../Button.mjs";
6
+ import { t as ToggleButtonGroupContext } from "../ToggleButtonGroupContext-DxIyy8ze.mjs";
7
+ import { useContext } from "react";
8
+ import { jsx } from "react/jsx-runtime";
9
+ //#region src/ToggleButton/ToggleButton/ToggleButton.tsx
10
+ const stateStyles = ({ theme, color = themeDefault(theme, "neutralColor", "default"), isSelected }) => {
11
+ const c = theme.palette[color];
12
+ if (isSelected) return {
13
+ backgroundColor: alpha(c.main, .16),
14
+ color: c.main,
15
+ borderColor: c.main,
16
+ "&:hover:not(:disabled)": { backgroundColor: alpha(c.main, .24) },
17
+ "&:active:not(:disabled)": { backgroundColor: alpha(c.main, .24) }
18
+ };
19
+ return {
20
+ color: (0, src_exports.get)(theme, "text.primary"),
21
+ borderColor: (0, src_exports.get)(theme, "border.light")
22
+ };
23
+ };
24
+ const ToggleButtonRoot = styled(Button, {
25
+ name: "ToggleButton",
26
+ label: "ToggleButton",
27
+ shouldForwardProp: (prop) => prop !== "isSelected"
28
+ })(stateStyles);
29
+ const isValueSelected = (value, groupValue) => {
30
+ if (groupValue == null) return false;
31
+ return Array.isArray(groupValue) ? groupValue.includes(value) : groupValue === value;
32
+ };
33
+ function ToggleButton({ value, isSelected, color, onChange, onClick, type = "button", ...rest }) {
34
+ const group = useContext(ToggleButtonGroupContext);
35
+ const buttonGroup = useContext(ButtonGroupContext);
36
+ const theme = useTheme();
37
+ const selected = isSelected ?? isValueSelected(value, group.value);
38
+ const resolvedColor = color ?? buttonGroup.color ?? themeDefault(theme, "neutralColor", "default");
39
+ const handleClick = (event) => {
40
+ onClick?.(event);
41
+ group.onToggle?.(value);
42
+ onChange?.(value);
43
+ };
44
+ return /* @__PURE__ */ jsx(ToggleButtonRoot, {
45
+ type,
46
+ variant: "outlined",
47
+ isSelected: selected,
48
+ color: resolvedColor,
49
+ "aria-pressed": selected,
50
+ onClick: handleClick,
51
+ value,
52
+ ...rest
53
+ });
54
+ }
55
+ //#endregion
56
+ export { ToggleButton };
@@ -0,0 +1,54 @@
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_ButtonGroup = require("../ButtonGroup.cjs");
5
+ const require_ToggleButtonGroupContext = require("../ToggleButtonGroupContext-Ewc5Ixas.cjs");
6
+ let react = require("react");
7
+ let react_jsx_runtime = require("react/jsx-runtime");
8
+ let _emotion_react = require("@emotion/react");
9
+ //#region src/ToggleButton/ToggleButtonGroup/ToggleButtonGroup.tsx
10
+ const selectedEdgeStyles = ({ theme, orientation = "horizontal", color = require_themeDefault.themeDefault(theme, "neutralColor", "default") }) => {
11
+ return { "& > [aria-pressed=\"true\"]:not(:first-of-type)": { [orientation === "vertical" ? "borderTopColor" : "borderLeftColor"]: theme.palette[color].main } };
12
+ };
13
+ const ToggleButtonGroupRoot = require_src.styled(require_ButtonGroup.ButtonGroup, {
14
+ name: "ToggleButtonGroup",
15
+ label: "ToggleButtonGroup"
16
+ })(selectedEdgeStyles);
17
+ /**
18
+ * A `ButtonGroup` of `ToggleButton`s with single (exclusive) or multiple selection,
19
+ * provided to children via `ToggleButtonGroupContext`. Controlled — the consumer
20
+ * owns `value`. Visual props (`color` / `size` / `disabled` / `fullWidth`) broadcast
21
+ * through `ButtonGroup` as usual.
22
+ */
23
+ function ToggleButtonGroup({ value = null, onChange, isExclusive = false, color: colorProp, children, ...rest }) {
24
+ const theme = (0, _emotion_react.useTheme)();
25
+ const color = colorProp ?? require_themeDefault.themeDefault(theme, "neutralColor", "default");
26
+ const context = (0, react.useMemo)(() => {
27
+ const handleToggle = (buttonValue) => {
28
+ if (isExclusive) {
29
+ onChange?.(value === buttonValue ? null : buttonValue);
30
+ return;
31
+ }
32
+ const current = Array.isArray(value) ? value : [];
33
+ onChange?.(current.includes(buttonValue) ? current.filter((v) => v !== buttonValue) : [...current, buttonValue]);
34
+ };
35
+ return {
36
+ value,
37
+ onToggle: handleToggle
38
+ };
39
+ }, [
40
+ value,
41
+ onChange,
42
+ isExclusive
43
+ ]);
44
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ToggleButtonGroupContext.ToggleButtonGroupContext.Provider, {
45
+ value: context,
46
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToggleButtonGroupRoot, {
47
+ color,
48
+ ...rest,
49
+ children
50
+ })
51
+ });
52
+ }
53
+ //#endregion
54
+ exports.ToggleButtonGroup = ToggleButtonGroup;
@@ -0,0 +1,23 @@
1
+ import { a as ButtonGroupProps } from "../index-CyZYXDn0.cjs";
2
+ import { r as ToggleButtonValue } from "../ToggleButtonGroupContext-CqD-Afho.cjs";
3
+ //#region src/ToggleButton/ToggleButtonGroup/ToggleButtonGroup.d.ts
4
+ interface ToggleButtonGroupProps extends Omit<ButtonGroupProps, 'variant' | 'onChange'> {
5
+ /** Selected value(s) — single when `isExclusive`, array otherwise. Controlled. */
6
+ value?: ToggleButtonValue | ToggleButtonValue[] | null;
7
+ /**
8
+ * Fired with the next selection: a single value or `null` when `isExclusive`,
9
+ * an array (possibly empty) otherwise.
10
+ */
11
+ onChange?: (value: ToggleButtonValue | ToggleButtonValue[] | null) => void;
12
+ /** Only one child value can be selected at a time. Default: `false`. */
13
+ isExclusive?: boolean;
14
+ }
15
+ /**
16
+ * A `ButtonGroup` of `ToggleButton`s with single (exclusive) or multiple selection,
17
+ * provided to children via `ToggleButtonGroupContext`. Controlled — the consumer
18
+ * owns `value`. Visual props (`color` / `size` / `disabled` / `fullWidth`) broadcast
19
+ * through `ButtonGroup` as usual.
20
+ */
21
+ declare function ToggleButtonGroup({ value, onChange, isExclusive, color: colorProp, children, ...rest }: Readonly<ToggleButtonGroupProps>): import("react").JSX.Element;
22
+ //#endregion
23
+ export { ToggleButtonGroup, ToggleButtonGroupProps };
@@ -0,0 +1,23 @@
1
+ import { a as ButtonGroupProps } from "../index-BqVgv2B_.mjs";
2
+ import { r as ToggleButtonValue } from "../ToggleButtonGroupContext-CqD-Afho.mjs";
3
+ //#region src/ToggleButton/ToggleButtonGroup/ToggleButtonGroup.d.ts
4
+ interface ToggleButtonGroupProps extends Omit<ButtonGroupProps, 'variant' | 'onChange'> {
5
+ /** Selected value(s) — single when `isExclusive`, array otherwise. Controlled. */
6
+ value?: ToggleButtonValue | ToggleButtonValue[] | null;
7
+ /**
8
+ * Fired with the next selection: a single value or `null` when `isExclusive`,
9
+ * an array (possibly empty) otherwise.
10
+ */
11
+ onChange?: (value: ToggleButtonValue | ToggleButtonValue[] | null) => void;
12
+ /** Only one child value can be selected at a time. Default: `false`. */
13
+ isExclusive?: boolean;
14
+ }
15
+ /**
16
+ * A `ButtonGroup` of `ToggleButton`s with single (exclusive) or multiple selection,
17
+ * provided to children via `ToggleButtonGroupContext`. Controlled — the consumer
18
+ * owns `value`. Visual props (`color` / `size` / `disabled` / `fullWidth`) broadcast
19
+ * through `ButtonGroup` as usual.
20
+ */
21
+ declare function ToggleButtonGroup({ value, onChange, isExclusive, color: colorProp, children, ...rest }: Readonly<ToggleButtonGroupProps>): import("react").JSX.Element;
22
+ //#endregion
23
+ export { ToggleButtonGroup, ToggleButtonGroupProps };
@@ -0,0 +1,52 @@
1
+ import { d as styled, u as useTheme } from "../src-DcNT2aIK.mjs";
2
+ import { t as themeDefault } from "../themeDefault-CjXaY3ok.mjs";
3
+ import { ButtonGroup } from "../ButtonGroup.mjs";
4
+ import { t as ToggleButtonGroupContext } from "../ToggleButtonGroupContext-DxIyy8ze.mjs";
5
+ import { useMemo } from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ //#region src/ToggleButton/ToggleButtonGroup/ToggleButtonGroup.tsx
8
+ const selectedEdgeStyles = ({ theme, orientation = "horizontal", color = themeDefault(theme, "neutralColor", "default") }) => {
9
+ return { "& > [aria-pressed=\"true\"]:not(:first-of-type)": { [orientation === "vertical" ? "borderTopColor" : "borderLeftColor"]: theme.palette[color].main } };
10
+ };
11
+ const ToggleButtonGroupRoot = styled(ButtonGroup, {
12
+ name: "ToggleButtonGroup",
13
+ label: "ToggleButtonGroup"
14
+ })(selectedEdgeStyles);
15
+ /**
16
+ * A `ButtonGroup` of `ToggleButton`s with single (exclusive) or multiple selection,
17
+ * provided to children via `ToggleButtonGroupContext`. Controlled — the consumer
18
+ * owns `value`. Visual props (`color` / `size` / `disabled` / `fullWidth`) broadcast
19
+ * through `ButtonGroup` as usual.
20
+ */
21
+ function ToggleButtonGroup({ value = null, onChange, isExclusive = false, color: colorProp, children, ...rest }) {
22
+ const theme = useTheme();
23
+ const color = colorProp ?? themeDefault(theme, "neutralColor", "default");
24
+ const context = useMemo(() => {
25
+ const handleToggle = (buttonValue) => {
26
+ if (isExclusive) {
27
+ onChange?.(value === buttonValue ? null : buttonValue);
28
+ return;
29
+ }
30
+ const current = Array.isArray(value) ? value : [];
31
+ onChange?.(current.includes(buttonValue) ? current.filter((v) => v !== buttonValue) : [...current, buttonValue]);
32
+ };
33
+ return {
34
+ value,
35
+ onToggle: handleToggle
36
+ };
37
+ }, [
38
+ value,
39
+ onChange,
40
+ isExclusive
41
+ ]);
42
+ return /* @__PURE__ */ jsx(ToggleButtonGroupContext.Provider, {
43
+ value: context,
44
+ children: /* @__PURE__ */ jsx(ToggleButtonGroupRoot, {
45
+ color,
46
+ ...rest,
47
+ children
48
+ })
49
+ });
50
+ }
51
+ //#endregion
52
+ export { ToggleButtonGroup };
@@ -0,0 +1,7 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_ToggleButtonGroupContext = require("./ToggleButtonGroupContext-Ewc5Ixas.cjs");
3
+ const require_ToggleButton_ToggleButton = require("./ToggleButton/ToggleButton.cjs");
4
+ const require_ToggleButton_ToggleButtonGroup = require("./ToggleButton/ToggleButtonGroup.cjs");
5
+ exports.ToggleButton = require_ToggleButton_ToggleButton.ToggleButton;
6
+ exports.ToggleButtonGroup = require_ToggleButton_ToggleButtonGroup.ToggleButtonGroup;
7
+ exports.ToggleButtonGroupContext = require_ToggleButtonGroupContext.ToggleButtonGroupContext;
@@ -0,0 +1,4 @@
1
+ import { n as ToggleButtonGroupContextValue, r as ToggleButtonValue, t as ToggleButtonGroupContext } from "./ToggleButtonGroupContext-CqD-Afho.cjs";
2
+ import { ToggleButtonGroup, ToggleButtonGroupProps } from "./ToggleButton/ToggleButtonGroup.cjs";
3
+ import { ToggleButton, ToggleButtonProps } from "./ToggleButton/ToggleButton.cjs";
4
+ export { ToggleButton, ToggleButtonGroup, ToggleButtonGroupContext, ToggleButtonGroupContextValue, ToggleButtonGroupProps, ToggleButtonProps, ToggleButtonValue };
@@ -0,0 +1,4 @@
1
+ import { n as ToggleButtonGroupContextValue, r as ToggleButtonValue, t as ToggleButtonGroupContext } from "./ToggleButtonGroupContext-CqD-Afho.mjs";
2
+ import { ToggleButtonGroup, ToggleButtonGroupProps } from "./ToggleButton/ToggleButtonGroup.mjs";
3
+ import { ToggleButton, ToggleButtonProps } from "./ToggleButton/ToggleButton.mjs";
4
+ export { ToggleButton, ToggleButtonGroup, ToggleButtonGroupContext, ToggleButtonGroupContextValue, ToggleButtonGroupProps, ToggleButtonProps, ToggleButtonValue };
@@ -0,0 +1,4 @@
1
+ import { t as ToggleButtonGroupContext } from "./ToggleButtonGroupContext-DxIyy8ze.mjs";
2
+ import { ToggleButton } from "./ToggleButton/ToggleButton.mjs";
3
+ import { ToggleButtonGroup } from "./ToggleButton/ToggleButtonGroup.mjs";
4
+ export { ToggleButton, ToggleButtonGroup, ToggleButtonGroupContext };
@@ -0,0 +1,15 @@
1
+ //#region src/ToggleButton/ToggleButtonGroupContext.d.ts
2
+ type ToggleButtonValue = string | number;
3
+ /**
4
+ * Selection state provided by `ToggleButtonGroup` and consumed by `ToggleButton`.
5
+ * Visual config (color / size / disabled / fullWidth) travels via `ButtonGroupContext`.
6
+ */
7
+ interface ToggleButtonGroupContextValue {
8
+ /** Selected value(s) — single when exclusive, array otherwise. */
9
+ value?: ToggleButtonValue | ToggleButtonValue[] | null;
10
+ /** Fired with the clicked button's value — the group resolves the next selection. */
11
+ onToggle?: (value: ToggleButtonValue) => void;
12
+ }
13
+ declare const ToggleButtonGroupContext: import("react").Context<ToggleButtonGroupContextValue>;
14
+ //#endregion
15
+ export { ToggleButtonGroupContextValue as n, ToggleButtonValue as r, ToggleButtonGroupContext as t };
@@ -0,0 +1,15 @@
1
+ //#region src/ToggleButton/ToggleButtonGroupContext.d.ts
2
+ type ToggleButtonValue = string | number;
3
+ /**
4
+ * Selection state provided by `ToggleButtonGroup` and consumed by `ToggleButton`.
5
+ * Visual config (color / size / disabled / fullWidth) travels via `ButtonGroupContext`.
6
+ */
7
+ interface ToggleButtonGroupContextValue {
8
+ /** Selected value(s) — single when exclusive, array otherwise. */
9
+ value?: ToggleButtonValue | ToggleButtonValue[] | null;
10
+ /** Fired with the clicked button's value — the group resolves the next selection. */
11
+ onToggle?: (value: ToggleButtonValue) => void;
12
+ }
13
+ declare const ToggleButtonGroupContext: import("react").Context<ToggleButtonGroupContextValue>;
14
+ //#endregion
15
+ export { ToggleButtonGroupContextValue as n, ToggleButtonValue as r, ToggleButtonGroupContext as t };
@@ -0,0 +1,5 @@
1
+ import { createContext } from "react";
2
+ //#region src/ToggleButton/ToggleButtonGroupContext.ts
3
+ const ToggleButtonGroupContext = createContext({});
4
+ //#endregion
5
+ export { ToggleButtonGroupContext as t };
@@ -0,0 +1,9 @@
1
+ //#region src/ToggleButton/ToggleButtonGroupContext.ts
2
+ const ToggleButtonGroupContext = (0, require("react").createContext)({});
3
+ //#endregion
4
+ Object.defineProperty(exports, "ToggleButtonGroupContext", {
5
+ enumerable: true,
6
+ get: function() {
7
+ return ToggleButtonGroupContext;
8
+ }
9
+ });