@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.
- package/LICENSE +21 -0
- package/README.md +278 -0
- package/dist/AppBar.cjs +71 -0
- package/dist/AppBar.d.cts +23 -0
- package/dist/AppBar.d.mts +23 -0
- package/dist/AppBar.mjs +69 -0
- package/dist/Avatar.cjs +106 -0
- package/dist/Avatar.d.cts +28 -0
- package/dist/Avatar.d.mts +28 -0
- package/dist/Avatar.mjs +103 -0
- package/dist/Backdrop.cjs +26 -0
- package/dist/Backdrop.d.cts +10 -0
- package/dist/Backdrop.d.mts +10 -0
- package/dist/Backdrop.mjs +25 -0
- package/dist/Button.cjs +178 -0
- package/dist/Button.d.cts +2 -0
- package/dist/Button.d.mts +2 -0
- package/dist/Button.mjs +175 -0
- package/dist/ButtonGroup.cjs +110 -0
- package/dist/ButtonGroup.d.cts +2 -0
- package/dist/ButtonGroup.d.mts +2 -0
- package/dist/ButtonGroup.mjs +107 -0
- package/dist/ButtonGroupContext-DS-kl9lG.mjs +5 -0
- package/dist/ButtonGroupContext-NtkVeDVE.cjs +9 -0
- package/dist/Card.cjs +95 -0
- package/dist/Card.d.cts +18 -0
- package/dist/Card.d.mts +18 -0
- package/dist/Card.mjs +93 -0
- package/dist/Checkbox.cjs +192 -0
- package/dist/Checkbox.d.cts +2 -0
- package/dist/Checkbox.d.mts +2 -0
- package/dist/Checkbox.mjs +190 -0
- package/dist/CircularProgress.cjs +136 -0
- package/dist/CircularProgress.d.cts +34 -0
- package/dist/CircularProgress.d.mts +34 -0
- package/dist/CircularProgress.mjs +133 -0
- package/dist/CodeBlock.cjs +101 -0
- package/dist/CodeBlock.d.cts +2 -0
- package/dist/CodeBlock.d.mts +2 -0
- package/dist/CodeBlock.mjs +100 -0
- package/dist/Drawer.cjs +69 -0
- package/dist/Drawer.d.cts +22 -0
- package/dist/Drawer.d.mts +22 -0
- package/dist/Drawer.mjs +66 -0
- package/dist/Field.cjs +59 -0
- package/dist/Field.d.cts +36 -0
- package/dist/Field.d.mts +36 -0
- package/dist/Field.mjs +58 -0
- package/dist/Flex.cjs +21 -0
- package/dist/Flex.d.cts +2 -0
- package/dist/Flex.d.mts +2 -0
- package/dist/Flex.mjs +19 -0
- package/dist/FocusTrap.cjs +82 -0
- package/dist/FocusTrap.d.cts +24 -0
- package/dist/FocusTrap.d.mts +24 -0
- package/dist/FocusTrap.mjs +81 -0
- package/dist/Form.cjs +44 -0
- package/dist/Form.d.cts +41 -0
- package/dist/Form.d.mts +41 -0
- package/dist/Form.mjs +42 -0
- package/dist/FormContext-CRmRgDgu.cjs +10 -0
- package/dist/FormContext-_G3sxJyQ.mjs +6 -0
- package/dist/FormControl.cjs +84 -0
- package/dist/FormControl.d.cts +78 -0
- package/dist/FormControl.d.mts +78 -0
- package/dist/FormControl.mjs +81 -0
- package/dist/FormControlContext-CyxdOxdN.mjs +6 -0
- package/dist/FormControlContext-aeKTjRKY.cjs +10 -0
- package/dist/FormHelperText.cjs +40 -0
- package/dist/FormHelperText.d.cts +16 -0
- package/dist/FormHelperText.d.mts +16 -0
- package/dist/FormHelperText.mjs +39 -0
- package/dist/FormLabel.cjs +34 -0
- package/dist/FormLabel.d.cts +2 -0
- package/dist/FormLabel.d.mts +2 -0
- package/dist/FormLabel.mjs +33 -0
- package/dist/Grid.cjs +37 -0
- package/dist/Grid.d.cts +21 -0
- package/dist/Grid.d.mts +21 -0
- package/dist/Grid.mjs +32 -0
- package/dist/Icon-1YtNCUKo.cjs +755 -0
- package/dist/Icon-CAKRmFz3.mjs +742 -0
- package/dist/Icon.cjs +4 -0
- package/dist/Icon.d.cts +2 -0
- package/dist/Icon.d.mts +2 -0
- package/dist/Icon.mjs +2 -0
- package/dist/Image.cjs +82 -0
- package/dist/Image.d.cts +2 -0
- package/dist/Image.d.mts +2 -0
- package/dist/Image.mjs +80 -0
- package/dist/LinearProgress.cjs +217 -0
- package/dist/LinearProgress.d.cts +36 -0
- package/dist/LinearProgress.d.mts +36 -0
- package/dist/LinearProgress.mjs +214 -0
- package/dist/Link.cjs +64 -0
- package/dist/Link.d.cts +2 -0
- package/dist/Link.d.mts +2 -0
- package/dist/Link.mjs +62 -0
- package/dist/Markdown/Control.cjs +61 -0
- package/dist/Markdown/Control.d.cts +18 -0
- package/dist/Markdown/Control.d.mts +18 -0
- package/dist/Markdown/Control.mjs +60 -0
- package/dist/Markdown/Editor.cjs +130 -0
- package/dist/Markdown/Editor.d.cts +40 -0
- package/dist/Markdown/Editor.d.mts +40 -0
- package/dist/Markdown/Editor.mjs +128 -0
- package/dist/Markdown/Preview.cjs +241 -0
- package/dist/Markdown/Preview.d.cts +55 -0
- package/dist/Markdown/Preview.d.mts +55 -0
- package/dist/Markdown/Preview.mjs +236 -0
- package/dist/Markdown/Toolbar.cjs +4 -0
- package/dist/Markdown/Toolbar.d.cts +13 -0
- package/dist/Markdown/Toolbar.d.mts +13 -0
- package/dist/Markdown/Toolbar.mjs +2 -0
- package/dist/Markdown.cjs +13 -0
- package/dist/Markdown.d.cts +80 -0
- package/dist/Markdown.d.mts +80 -0
- package/dist/Markdown.mjs +6 -0
- package/dist/MarkdownContext-BN8A3W-J.mjs +11 -0
- package/dist/MarkdownContext-DSwjzpH8.cjs +22 -0
- package/dist/MenuItem.cjs +150 -0
- package/dist/MenuItem.d.cts +51 -0
- package/dist/MenuItem.d.mts +51 -0
- package/dist/MenuItem.mjs +147 -0
- package/dist/Modal-BDMPTSXv.cjs +351 -0
- package/dist/Modal-DR60peRg.mjs +327 -0
- package/dist/Modal.cjs +6 -0
- package/dist/Modal.d.cts +2 -0
- package/dist/Modal.d.mts +2 -0
- package/dist/Modal.mjs +2 -0
- package/dist/NativeSelect.cjs +189 -0
- package/dist/NativeSelect.d.cts +62 -0
- package/dist/NativeSelect.d.mts +62 -0
- package/dist/NativeSelect.mjs +186 -0
- package/dist/Pagination/PaginationItem.cjs +116 -0
- package/dist/Pagination/PaginationItem.d.cts +2 -0
- package/dist/Pagination/PaginationItem.d.mts +2 -0
- package/dist/Pagination/PaginationItem.mjs +114 -0
- package/dist/Pagination.cjs +134 -0
- package/dist/Pagination.d.cts +23 -0
- package/dist/Pagination.d.mts +23 -0
- package/dist/Pagination.mjs +130 -0
- package/dist/Paper.cjs +51 -0
- package/dist/Paper.d.cts +2 -0
- package/dist/Paper.d.mts +2 -0
- package/dist/Paper.mjs +48 -0
- package/dist/Popover-B61J7C79.mjs +252 -0
- package/dist/Popover-CRDLmywF.cjs +259 -0
- package/dist/Popover.cjs +3 -0
- package/dist/Popover.d.cts +84 -0
- package/dist/Popover.d.mts +84 -0
- package/dist/Popover.mjs +2 -0
- package/dist/Portal.cjs +20 -0
- package/dist/Portal.d.cts +18 -0
- package/dist/Portal.d.mts +18 -0
- package/dist/Portal.mjs +19 -0
- package/dist/Quote.cjs +11 -0
- package/dist/Quote.d.cts +2 -0
- package/dist/Quote.d.mts +2 -0
- package/dist/Quote.mjs +10 -0
- package/dist/Radio.cjs +143 -0
- package/dist/Radio.d.cts +38 -0
- package/dist/Radio.d.mts +38 -0
- package/dist/Radio.mjs +141 -0
- package/dist/Select.cjs +528 -0
- package/dist/Select.d.cts +68 -0
- package/dist/Select.d.mts +68 -0
- package/dist/Select.mjs +525 -0
- package/dist/Skeleton.cjs +82 -0
- package/dist/Skeleton.d.cts +21 -0
- package/dist/Skeleton.d.mts +21 -0
- package/dist/Skeleton.mjs +79 -0
- package/dist/Switch.cjs +332 -0
- package/dist/Switch.d.cts +40 -0
- package/dist/Switch.d.mts +40 -0
- package/dist/Switch.mjs +329 -0
- package/dist/Table/Table.cjs +65 -0
- package/dist/Table/Table.d.cts +2 -0
- package/dist/Table/Table.d.mts +2 -0
- package/dist/Table/Table.mjs +63 -0
- package/dist/Table/TableBody.cjs +42 -0
- package/dist/Table/TableBody.d.cts +2 -0
- package/dist/Table/TableBody.d.mts +2 -0
- package/dist/Table/TableBody.mjs +40 -0
- package/dist/Table/TableCell.cjs +93 -0
- package/dist/Table/TableCell.d.cts +2 -0
- package/dist/Table/TableCell.d.mts +2 -0
- package/dist/Table/TableCell.mjs +91 -0
- package/dist/Table/TableContainer.cjs +15 -0
- package/dist/Table/TableContainer.d.cts +2 -0
- package/dist/Table/TableContainer.d.mts +2 -0
- package/dist/Table/TableContainer.mjs +14 -0
- package/dist/Table/TableControl.cjs +42 -0
- package/dist/Table/TableControl.d.cts +2 -0
- package/dist/Table/TableControl.d.mts +2 -0
- package/dist/Table/TableControl.mjs +41 -0
- package/dist/Table/TableFooter.cjs +42 -0
- package/dist/Table/TableFooter.d.cts +2 -0
- package/dist/Table/TableFooter.d.mts +2 -0
- package/dist/Table/TableFooter.mjs +40 -0
- package/dist/Table/TableHead.cjs +42 -0
- package/dist/Table/TableHead.d.cts +2 -0
- package/dist/Table/TableHead.d.mts +2 -0
- package/dist/Table/TableHead.mjs +40 -0
- package/dist/Table/TablePagination.cjs +89 -0
- package/dist/Table/TablePagination.d.cts +2 -0
- package/dist/Table/TablePagination.d.mts +2 -0
- package/dist/Table/TablePagination.mjs +88 -0
- package/dist/Table/TablePaginationActions.cjs +65 -0
- package/dist/Table/TablePaginationActions.d.cts +2 -0
- package/dist/Table/TablePaginationActions.d.mts +2 -0
- package/dist/Table/TablePaginationActions.mjs +63 -0
- package/dist/Table/TableRow.cjs +56 -0
- package/dist/Table/TableRow.d.cts +2 -0
- package/dist/Table/TableRow.d.mts +2 -0
- package/dist/Table/TableRow.mjs +54 -0
- package/dist/Table/TableSortLabel.cjs +62 -0
- package/dist/Table/TableSortLabel.d.cts +2 -0
- package/dist/Table/TableSortLabel.d.mts +2 -0
- package/dist/Table/TableSortLabel.mjs +60 -0
- package/dist/Table/hooks.cjs +112 -0
- package/dist/Table/hooks.d.cts +3 -0
- package/dist/Table/hooks.d.mts +3 -0
- package/dist/Table/hooks.mjs +109 -0
- package/dist/Table.cjs +31 -0
- package/dist/Table.d.cts +16 -0
- package/dist/Table.d.mts +16 -0
- package/dist/Table.mjs +15 -0
- package/dist/TableContext-2qH7XYJB.d.cts +19 -0
- package/dist/TableContext-2qH7XYJB.d.mts +19 -0
- package/dist/TableContext-BRWPghAI.mjs +6 -0
- package/dist/TableContext-qqp35o8z.cjs +10 -0
- package/dist/TableSectionContext-meIG4lFZ.mjs +5 -0
- package/dist/TableSectionContext-pYlJ-duI.cjs +9 -0
- package/dist/TextInput-6o37Zddp.cjs +231 -0
- package/dist/TextInput-D_lHYJlL.mjs +224 -0
- package/dist/TextInput.cjs +3 -0
- package/dist/TextInput.d.cts +2 -0
- package/dist/TextInput.d.mts +2 -0
- package/dist/TextInput.mjs +2 -0
- package/dist/ThemeProvider.cjs +15 -0
- package/dist/ThemeProvider.d.cts +20 -0
- package/dist/ThemeProvider.d.mts +20 -0
- package/dist/ThemeProvider.mjs +14 -0
- package/dist/ToggleButton/ToggleButton.cjs +58 -0
- package/dist/ToggleButton/ToggleButton.d.cts +14 -0
- package/dist/ToggleButton/ToggleButton.d.mts +14 -0
- package/dist/ToggleButton/ToggleButton.mjs +56 -0
- package/dist/ToggleButton/ToggleButtonGroup.cjs +54 -0
- package/dist/ToggleButton/ToggleButtonGroup.d.cts +23 -0
- package/dist/ToggleButton/ToggleButtonGroup.d.mts +23 -0
- package/dist/ToggleButton/ToggleButtonGroup.mjs +52 -0
- package/dist/ToggleButton.cjs +7 -0
- package/dist/ToggleButton.d.cts +4 -0
- package/dist/ToggleButton.d.mts +4 -0
- package/dist/ToggleButton.mjs +4 -0
- package/dist/ToggleButtonGroupContext-CqD-Afho.d.cts +15 -0
- package/dist/ToggleButtonGroupContext-CqD-Afho.d.mts +15 -0
- package/dist/ToggleButtonGroupContext-DxIyy8ze.mjs +5 -0
- package/dist/ToggleButtonGroupContext-Ewc5Ixas.cjs +9 -0
- package/dist/Toolbar-B-W22Sk4.cjs +459 -0
- package/dist/Toolbar-KbR97iJS.mjs +448 -0
- package/dist/Typography.cjs +64 -0
- package/dist/Typography.d.cts +3 -0
- package/dist/Typography.d.mts +3 -0
- package/dist/Typography.mjs +61 -0
- package/dist/View.cjs +40 -0
- package/dist/View.d.cts +2 -0
- package/dist/View.d.mts +2 -0
- package/dist/View.mjs +38 -0
- package/dist/applyAction-B2B-hnP3.mjs +98 -0
- package/dist/applyAction-B2uVHxOE.cjs +103 -0
- package/dist/createTheme-Dts2F4R_.d.cts +21 -0
- package/dist/createTheme-Dts2F4R_.d.mts +21 -0
- package/dist/hooks/useCopyToClipboard.cjs +33 -0
- package/dist/hooks/useCopyToClipboard.d.cts +16 -0
- package/dist/hooks/useCopyToClipboard.d.mts +16 -0
- package/dist/hooks/useCopyToClipboard.mjs +31 -0
- package/dist/hooks.cjs +52 -0
- package/dist/hooks.d.cts +40 -0
- package/dist/hooks.d.mts +40 -0
- package/dist/hooks.mjs +41 -0
- package/dist/index-4rC2j7fR.d.cts +46 -0
- package/dist/index-8dzWTpFp.d.cts +24 -0
- package/dist/index-B1rCD6Oo.d.cts +17 -0
- package/dist/index-BH8jQOdF.d.mts +46 -0
- package/dist/index-BLRMuO_x.d.mts +24 -0
- package/dist/index-BLfFycfJ.d.mts +72 -0
- package/dist/index-BPrjvi7B.d.cts +13 -0
- package/dist/index-BX5-NfbX.d.cts +94 -0
- package/dist/index-Bihpwn75.d.cts +64 -0
- package/dist/index-BlfIbAMs.d.cts +45 -0
- package/dist/index-BnzUumAC2.d.mts +30 -0
- package/dist/index-BoqlPb3Z.d.mts +13 -0
- package/dist/index-BqVgv2B_.d.mts +42 -0
- package/dist/index-Bwi4kRpf.d.mts +79 -0
- package/dist/index-Bx24ZnOV.d.mts +43 -0
- package/dist/index-C-P_hipv.d.mts +21 -0
- package/dist/index-C0xMvDjL.d.mts +49 -0
- package/dist/index-C5_ciaeo.d.cts +79 -0
- package/dist/index-CDVnvjIE.d.cts +27 -0
- package/dist/index-CDcGTGR4.d.cts +21 -0
- package/dist/index-CEOZI-6L.d.mts +48 -0
- package/dist/index-CLU39rUS2.d.mts +30 -0
- package/dist/index-CM_KCTee.d.cts +48 -0
- package/dist/index-CT9uGKrs.d.cts +30 -0
- package/dist/index-CcYSvIJi.d.cts +21 -0
- package/dist/index-CdF_4ckE.d.mts +11 -0
- package/dist/index-CeYkEXU2.d.cts +68 -0
- package/dist/index-Cl_yBpzW2.d.mts +13 -0
- package/dist/index-Cv_UOfYx.d.mts +18 -0
- package/dist/index-CxSNNzBT2.d.mts +68 -0
- package/dist/index-CyZYXDn0.d.cts +42 -0
- package/dist/index-DASvoACZ.d.cts +49 -0
- package/dist/index-DBGE6yKw.d.mts +16 -0
- package/dist/index-DCQ2fsDu.d.mts +40 -0
- package/dist/index-DD2AVtiR.d.cts +16 -0
- package/dist/index-DE5PtzPn.d.mts +27 -0
- package/dist/index-DOPXpr2J.d.cts +43 -0
- package/dist/index-DSCMXFTn.d.cts +30 -0
- package/dist/index-DTkQSXQD.d.cts +11 -0
- package/dist/index-DeJWkpf9.d.cts +16 -0
- package/dist/index-DeiZHSwA.d.cts +12 -0
- package/dist/index-Des8BisQ.d.mts +12 -0
- package/dist/index-Dg8-CPOO.d.cts +18 -0
- package/dist/index-DgRS5Aqv.d.mts +16 -0
- package/dist/index-Dm9HfgV6.d.mts +63 -0
- package/dist/index-DmJIuQJj.d.mts +24 -0
- package/dist/index-Dp81rWM1.d.cts +72 -0
- package/dist/index-Dtzj8X58.d.cts +40 -0
- package/dist/index-DvW2eETV.d.mts +21 -0
- package/dist/index-Dy03o__A.d.mts +94 -0
- package/dist/index-FwTocqhP.d.cts +34 -0
- package/dist/index-GVsFY00r.d.cts +21 -0
- package/dist/index-Nqco3fsM.d.cts +13 -0
- package/dist/index-g-9DZ_KQ.d.cts +28 -0
- package/dist/index-g9EThkSg.d.mts +21 -0
- package/dist/index-kpk9e3xM2.d.mts +45 -0
- package/dist/index-pX7tBQdJ.d.mts +34 -0
- package/dist/index-u57CbuAU2.d.mts +28 -0
- package/dist/index-x80UG39F.d.cts +24 -0
- package/dist/index-z35LEYG8.d.mts +17 -0
- package/dist/index.cjs +68 -0
- package/dist/index.d.cts +4 -0
- package/dist/index.d.mts +4 -0
- package/dist/index.mjs +3 -0
- package/dist/inputVariantStyles-BBkkYQtE.cjs +32 -0
- package/dist/inputVariantStyles-CcqpGfuP.mjs +28 -0
- package/dist/rolldown-runtime-BBjsoOtd.mjs +27 -0
- package/dist/rolldown-runtime-DDXJien1.cjs +50 -0
- package/dist/src-BiocWFSR.cjs +60 -0
- package/dist/src-DcNT2aIK.mjs +49 -0
- package/dist/themeDefault-B-QjpGEO.cjs +16 -0
- package/dist/themeDefault-CjXaY3ok.mjs +11 -0
- package/dist/themes-D1SAp3SL.d.mts +500 -0
- package/dist/themes-D81JYbqm.d.cts +500 -0
- package/dist/themes.cjs +318 -0
- package/dist/themes.d.cts +3 -0
- package/dist/themes.d.mts +3 -0
- package/dist/themes.mjs +303 -0
- package/dist/useDefaultProps-Cb-5FNok.cjs +19 -0
- package/dist/useDefaultProps-CoApb4KT.mjs +14 -0
- package/dist/useTableSort--XMWjujs.d.cts +51 -0
- package/dist/useTableSort-CpDs4cGq.d.mts +51 -0
- package/dist/utils/styleCache.cjs +7 -0
- package/dist/utils/styleCache.d.cts +3 -0
- package/dist/utils/styleCache.d.mts +4 -0
- package/dist/utils/styleCache.mjs +5 -0
- package/dist/utils.cjs +65 -0
- package/dist/utils.d.cts +39 -0
- package/dist/utils.d.mts +39 -0
- package/dist/utils.mjs +58 -0
- package/package.json +125 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
const require_rolldown_runtime = require("./rolldown-runtime-DDXJien1.cjs");
|
|
2
|
+
let _emotion_styled = require("@emotion/styled");
|
|
3
|
+
_emotion_styled = require_rolldown_runtime.__toESM(_emotion_styled, 1);
|
|
4
|
+
let _emotion_react = require("@emotion/react");
|
|
5
|
+
let _soroush_tech_styled_system_should_forward_prop = require("@soroush.tech/styled-system/should-forward-prop");
|
|
6
|
+
//#region src/styled.ts
|
|
7
|
+
const resolveStyle = (style, props) => typeof style === "function" ? style({
|
|
8
|
+
theme: props.theme,
|
|
9
|
+
ownerState: props
|
|
10
|
+
}) : style;
|
|
11
|
+
const matchesProps = (props, matcher) => Object.entries(matcher).every(([key, value]) => props[key] === value);
|
|
12
|
+
const createThemedStyled = (tag, options = {}) => {
|
|
13
|
+
const { name, slot = "root", systemProps = [], overridesResolver, ...emotionOptions } = options;
|
|
14
|
+
const create = (0, _emotion_styled.default)(tag, emotionOptions);
|
|
15
|
+
if (name === void 0) return create;
|
|
16
|
+
const themeStyles = (props) => {
|
|
17
|
+
const config = props.theme.components?.[name];
|
|
18
|
+
if (!config) return null;
|
|
19
|
+
const applied = [];
|
|
20
|
+
if (config.styleOverrides) applied.push(overridesResolver ? overridesResolver(props, config.styleOverrides) : resolveStyle(config.styleOverrides[slot], props));
|
|
21
|
+
if (slot === "root" && config.variants) {
|
|
22
|
+
for (const entry of config.variants) if (matchesProps(props, entry.props)) applied.push(resolveStyle(entry.style, props));
|
|
23
|
+
}
|
|
24
|
+
return applied;
|
|
25
|
+
};
|
|
26
|
+
return (...styles) => create(...styles, themeStyles, ...systemProps);
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* The design system's `styled` — Emotion's styled plus theme-level component
|
|
30
|
+
* customization (`theme.components[name].styleOverrides` / `.variants`).
|
|
31
|
+
*/
|
|
32
|
+
const styled = Object.assign(createThemedStyled, _emotion_styled.default);
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/index.ts
|
|
35
|
+
var src_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({
|
|
36
|
+
CacheProvider: () => _emotion_react.CacheProvider,
|
|
37
|
+
EmotionThemeContext: () => _emotion_react.ThemeContext,
|
|
38
|
+
EmotionThemeProvider: () => _emotion_react.ThemeProvider,
|
|
39
|
+
Global: () => _emotion_react.Global,
|
|
40
|
+
createShouldForwardProp: () => _soroush_tech_styled_system_should_forward_prop.createShouldForwardProp,
|
|
41
|
+
css: () => _emotion_react.css,
|
|
42
|
+
keyframes: () => _emotion_react.keyframes,
|
|
43
|
+
props: () => _soroush_tech_styled_system_should_forward_prop.props,
|
|
44
|
+
styled: () => styled,
|
|
45
|
+
useTheme: () => _emotion_react.useTheme
|
|
46
|
+
});
|
|
47
|
+
require_rolldown_runtime.__reExport(src_exports, require("@soroush.tech/styled-system"));
|
|
48
|
+
//#endregion
|
|
49
|
+
Object.defineProperty(exports, "src_exports", {
|
|
50
|
+
enumerable: true,
|
|
51
|
+
get: function() {
|
|
52
|
+
return src_exports;
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
Object.defineProperty(exports, "styled", {
|
|
56
|
+
enumerable: true,
|
|
57
|
+
get: function() {
|
|
58
|
+
return styled;
|
|
59
|
+
}
|
|
60
|
+
});
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { n as __reExport, t as __exportAll } from "./rolldown-runtime-BBjsoOtd.mjs";
|
|
2
|
+
import emotionStyled from "@emotion/styled";
|
|
3
|
+
import { CacheProvider, Global, ThemeContext as EmotionThemeContext, ThemeProvider as EmotionThemeProvider, css, keyframes, useTheme } from "@emotion/react";
|
|
4
|
+
import { createShouldForwardProp, props } from "@soroush.tech/styled-system/should-forward-prop";
|
|
5
|
+
//#region src/styled.ts
|
|
6
|
+
const resolveStyle = (style, props) => typeof style === "function" ? style({
|
|
7
|
+
theme: props.theme,
|
|
8
|
+
ownerState: props
|
|
9
|
+
}) : style;
|
|
10
|
+
const matchesProps = (props, matcher) => Object.entries(matcher).every(([key, value]) => props[key] === value);
|
|
11
|
+
const createThemedStyled = (tag, options = {}) => {
|
|
12
|
+
const { name, slot = "root", systemProps = [], overridesResolver, ...emotionOptions } = options;
|
|
13
|
+
const create = emotionStyled(tag, emotionOptions);
|
|
14
|
+
if (name === void 0) return create;
|
|
15
|
+
const themeStyles = (props) => {
|
|
16
|
+
const config = props.theme.components?.[name];
|
|
17
|
+
if (!config) return null;
|
|
18
|
+
const applied = [];
|
|
19
|
+
if (config.styleOverrides) applied.push(overridesResolver ? overridesResolver(props, config.styleOverrides) : resolveStyle(config.styleOverrides[slot], props));
|
|
20
|
+
if (slot === "root" && config.variants) {
|
|
21
|
+
for (const entry of config.variants) if (matchesProps(props, entry.props)) applied.push(resolveStyle(entry.style, props));
|
|
22
|
+
}
|
|
23
|
+
return applied;
|
|
24
|
+
};
|
|
25
|
+
return (...styles) => create(...styles, themeStyles, ...systemProps);
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* The design system's `styled` — Emotion's styled plus theme-level component
|
|
29
|
+
* customization (`theme.components[name].styleOverrides` / `.variants`).
|
|
30
|
+
*/
|
|
31
|
+
const styled = Object.assign(createThemedStyled, emotionStyled);
|
|
32
|
+
//#endregion
|
|
33
|
+
//#region src/index.ts
|
|
34
|
+
var src_exports = /* @__PURE__ */ __exportAll({
|
|
35
|
+
CacheProvider: () => CacheProvider,
|
|
36
|
+
EmotionThemeContext: () => EmotionThemeContext,
|
|
37
|
+
EmotionThemeProvider: () => EmotionThemeProvider,
|
|
38
|
+
Global: () => Global,
|
|
39
|
+
createShouldForwardProp: () => createShouldForwardProp,
|
|
40
|
+
css: () => css,
|
|
41
|
+
keyframes: () => keyframes,
|
|
42
|
+
props: () => props,
|
|
43
|
+
styled: () => styled,
|
|
44
|
+
useTheme: () => useTheme
|
|
45
|
+
});
|
|
46
|
+
import * as import__soroush_tech_styled_system from "@soroush.tech/styled-system";
|
|
47
|
+
__reExport(src_exports, import__soroush_tech_styled_system);
|
|
48
|
+
//#endregion
|
|
49
|
+
export { createShouldForwardProp as a, props as c, styled as d, Global as i, src_exports as l, EmotionThemeContext as n, css as o, EmotionThemeProvider as r, keyframes as s, CacheProvider as t, useTheme as u };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/utils/themeDefault.ts
|
|
2
|
+
/**
|
|
3
|
+
* Resolves a component's default token/variant key: the theme's optional
|
|
4
|
+
* `defaults` override wins, otherwise the component's literal `fallback`.
|
|
5
|
+
* Components call this in their prop defaults (`size = themeDefault(theme,
|
|
6
|
+
* 'size', 'md')`) so every built-in default stays visible in the component
|
|
7
|
+
* yet overridable per theme or via `ThemeProvider`'s `defaults` prop.
|
|
8
|
+
*/
|
|
9
|
+
const themeDefault = (theme, key, fallback) => theme.defaults?.[key] ?? fallback;
|
|
10
|
+
//#endregion
|
|
11
|
+
Object.defineProperty(exports, "themeDefault", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function() {
|
|
14
|
+
return themeDefault;
|
|
15
|
+
}
|
|
16
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//#region src/utils/themeDefault.ts
|
|
2
|
+
/**
|
|
3
|
+
* Resolves a component's default token/variant key: the theme's optional
|
|
4
|
+
* `defaults` override wins, otherwise the component's literal `fallback`.
|
|
5
|
+
* Components call this in their prop defaults (`size = themeDefault(theme,
|
|
6
|
+
* 'size', 'md')`) so every built-in default stays visible in the component
|
|
7
|
+
* yet overridable per theme or via `ThemeProvider`'s `defaults` prop.
|
|
8
|
+
*/
|
|
9
|
+
const themeDefault = (theme, key, fallback) => theme.defaults?.[key] ?? fallback;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { themeDefault as t };
|
|
@@ -0,0 +1,500 @@
|
|
|
1
|
+
import "./createTheme-Dts2F4R_.mjs";
|
|
2
|
+
import { ButtonOwnerState as ButtonOwnerState$1, ButtonVariants as ButtonVariants$1, CSSObject, CardOwnerState as CardOwnerState$1, CardSlotIconProps as CardSlotIconProps$1, CardSlotTypographyProps as CardSlotTypographyProps$1, ComponentConfig as ComponentConfig$1, ComponentStyle as ComponentStyle$1, ComponentVariant as ComponentVariant$1, PaletteEntry as PaletteEntry$1, SizeEntry as SizeEntry$1, Theme, Theme as Theme$1, ThemeAvatarSizes as ThemeAvatarSizes$1, ThemeBackground as ThemeBackground$1, ThemeBorder as ThemeBorder$1, ThemeBorderWidths as ThemeBorderWidths$1, ThemeComponents as ThemeComponents$2, ThemeDefaults as ThemeDefaults$2, ThemeFontWeights as ThemeFontWeights$1, ThemeFonts as ThemeFonts$1, ThemeIconSizes, ThemeIconSizes as ThemeIconSizes$1, ThemeLetterSpacings as ThemeLetterSpacings$1, ThemeLineHeights as ThemeLineHeights$1, ThemePalette, ThemePalette as ThemePalette$1, ThemeRadii as ThemeRadii$1, ThemeShadow as ThemeShadow$1, ThemeSizes, ThemeSizes as ThemeSizes$1, ThemeSkeleton as ThemeSkeleton$1, ThemeSpace, ThemeSpace as ThemeSpace$1, ThemeSwitch as ThemeSwitch$1, ThemeSyntax as ThemeSyntax$1, ThemeText as ThemeText$1, ThemeTypographyVariants, ThemeTypographyVariants as ThemeTypographyVariants$1, ThemeZOrder as ThemeZOrder$1, TypographyVariantStyle as TypographyVariantStyle$1 } from "@emotion/react";
|
|
3
|
+
import { ElementType } from "react";
|
|
4
|
+
//#region src/themes.d.ts
|
|
5
|
+
declare module '@emotion/react' {
|
|
6
|
+
/**
|
|
7
|
+
* Re-opens a named scale interface as an anonymous mapped type. Named
|
|
8
|
+
* interfaces have no implicit index signature, which styled-system's
|
|
9
|
+
* Record-based `Theme` constraint requires — the mapped copy restores it
|
|
10
|
+
* while keeping the literal keys (and any consumer-augmented keys).
|
|
11
|
+
*/
|
|
12
|
+
type OpenScale<T> = { [K in keyof T]: T[K]; };
|
|
13
|
+
/** One semantic color of `theme.palette`. */
|
|
14
|
+
interface PaletteEntry {
|
|
15
|
+
main: string;
|
|
16
|
+
light: string;
|
|
17
|
+
dark: string;
|
|
18
|
+
contrastText: string;
|
|
19
|
+
}
|
|
20
|
+
interface ThemePalette {
|
|
21
|
+
default: PaletteEntry;
|
|
22
|
+
primary: PaletteEntry;
|
|
23
|
+
secondary: PaletteEntry;
|
|
24
|
+
success: PaletteEntry;
|
|
25
|
+
error: PaletteEntry;
|
|
26
|
+
info: PaletteEntry;
|
|
27
|
+
warning: PaletteEntry;
|
|
28
|
+
}
|
|
29
|
+
interface ThemeText {
|
|
30
|
+
inherit: string;
|
|
31
|
+
initial: string;
|
|
32
|
+
primary: string;
|
|
33
|
+
secondary: string;
|
|
34
|
+
disabled: string;
|
|
35
|
+
error: string;
|
|
36
|
+
success: string;
|
|
37
|
+
info: string;
|
|
38
|
+
warning: string;
|
|
39
|
+
}
|
|
40
|
+
interface ThemeBackground {
|
|
41
|
+
backdrop: string;
|
|
42
|
+
/** App bar / sticky header surface. Light in light theme; `backdrop` stays dark for scrims. */
|
|
43
|
+
appBar: string;
|
|
44
|
+
glass: string;
|
|
45
|
+
modal: string;
|
|
46
|
+
default: string;
|
|
47
|
+
primary: string;
|
|
48
|
+
secondary?: string;
|
|
49
|
+
paper: string;
|
|
50
|
+
terminal: string;
|
|
51
|
+
grid: string;
|
|
52
|
+
transparent: string;
|
|
53
|
+
}
|
|
54
|
+
interface ThemeBorder {
|
|
55
|
+
default?: string;
|
|
56
|
+
light?: string;
|
|
57
|
+
primary: string;
|
|
58
|
+
dark?: string;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Syntax-highlighting colors for fenced code blocks — mapped onto highlight.js
|
|
62
|
+
* token classes in `Markdown`'s code block. Values differ per theme so blocks
|
|
63
|
+
* stay legible on the `background.terminal` surface in both light and dark.
|
|
64
|
+
*/
|
|
65
|
+
interface ThemeSyntax {
|
|
66
|
+
/** Default code text — plain identifiers, operators, punctuation. */
|
|
67
|
+
base: string;
|
|
68
|
+
/** Keywords, built-ins, types, literals, selector tags. */
|
|
69
|
+
keyword: string;
|
|
70
|
+
/** Strings, template literals, regular expressions. */
|
|
71
|
+
string: string;
|
|
72
|
+
/** Numbers, symbols, links. */
|
|
73
|
+
number: string;
|
|
74
|
+
/** Function / class titles, section headings, attributes. */
|
|
75
|
+
title: string;
|
|
76
|
+
/** Fields, constants, and property keys. */
|
|
77
|
+
constant: string;
|
|
78
|
+
/** Type and class names. */
|
|
79
|
+
type: string;
|
|
80
|
+
/** Comments and quotes — rendered dimmed and italic. */
|
|
81
|
+
comment: string;
|
|
82
|
+
/** Markup tags/names, meta, variables, deletions. */
|
|
83
|
+
tag: string;
|
|
84
|
+
}
|
|
85
|
+
interface ThemeFonts {
|
|
86
|
+
body: string;
|
|
87
|
+
heading: string;
|
|
88
|
+
mono: string;
|
|
89
|
+
}
|
|
90
|
+
/** Skeleton placeholder tokens. `highlight` is the wave-animation shimmer band. */
|
|
91
|
+
interface ThemeSkeleton {
|
|
92
|
+
highlight: string;
|
|
93
|
+
}
|
|
94
|
+
/** Switch control tokens. The thumb stays light in both modes so it reads on any track. */
|
|
95
|
+
interface ThemeSwitch {
|
|
96
|
+
/** Thumb fill. Its elevation shadow composites from `theme.shadow.color`. */
|
|
97
|
+
thumb: string;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Shadow tokens — the single base color every shadow composites from
|
|
101
|
+
* (the `theme.shadows` elevation array and component shadows alike).
|
|
102
|
+
*/
|
|
103
|
+
interface ThemeShadow {
|
|
104
|
+
/** Opaque base color of all shadows. */
|
|
105
|
+
color: string;
|
|
106
|
+
/** Alpha applied per elevation step in the default `theme.shadows` array. */
|
|
107
|
+
opacity: number;
|
|
108
|
+
}
|
|
109
|
+
/** Stacking order for layered UI — ascending: appBar < drawer < modal. */
|
|
110
|
+
interface ThemeZOrder {
|
|
111
|
+
appBar: number;
|
|
112
|
+
drawer: number;
|
|
113
|
+
modal: number;
|
|
114
|
+
}
|
|
115
|
+
interface ThemeRadii {
|
|
116
|
+
sq: string;
|
|
117
|
+
sm: string;
|
|
118
|
+
md: string;
|
|
119
|
+
lg: string;
|
|
120
|
+
}
|
|
121
|
+
interface ThemeBorderWidths {
|
|
122
|
+
none: string;
|
|
123
|
+
thin: string;
|
|
124
|
+
base: string;
|
|
125
|
+
thick: string;
|
|
126
|
+
}
|
|
127
|
+
interface ThemeAvatarSizes {
|
|
128
|
+
sm: string;
|
|
129
|
+
md: string;
|
|
130
|
+
lg: string;
|
|
131
|
+
xl: string;
|
|
132
|
+
}
|
|
133
|
+
interface ThemeFontWeights {
|
|
134
|
+
thin: number;
|
|
135
|
+
extraLight: number;
|
|
136
|
+
light: number;
|
|
137
|
+
normal: number;
|
|
138
|
+
medium: number;
|
|
139
|
+
semiBold: number;
|
|
140
|
+
bold: number;
|
|
141
|
+
extraBold: number;
|
|
142
|
+
black: number;
|
|
143
|
+
}
|
|
144
|
+
interface ThemeLineHeights {
|
|
145
|
+
none: number;
|
|
146
|
+
tight: number;
|
|
147
|
+
snug: number;
|
|
148
|
+
base: number;
|
|
149
|
+
relaxed: number;
|
|
150
|
+
loose: number;
|
|
151
|
+
}
|
|
152
|
+
interface ThemeLetterSpacings {
|
|
153
|
+
tighter: string;
|
|
154
|
+
tight: string;
|
|
155
|
+
normal: string;
|
|
156
|
+
wide: string;
|
|
157
|
+
wider: string;
|
|
158
|
+
widest: string;
|
|
159
|
+
}
|
|
160
|
+
interface ThemeSpace {
|
|
161
|
+
auto: string;
|
|
162
|
+
0: number | string;
|
|
163
|
+
0.5: number | string;
|
|
164
|
+
1: number | string;
|
|
165
|
+
1.5: number | string;
|
|
166
|
+
2: number | string;
|
|
167
|
+
3: number | string;
|
|
168
|
+
4: number | string;
|
|
169
|
+
5: number | string;
|
|
170
|
+
6: number | string;
|
|
171
|
+
7: number | string;
|
|
172
|
+
8: number | string;
|
|
173
|
+
9: number | string;
|
|
174
|
+
10: number | string;
|
|
175
|
+
}
|
|
176
|
+
/** One padding/font preset of `theme.sizes`. */
|
|
177
|
+
interface SizeEntry {
|
|
178
|
+
paddingTop: Exclude<keyof ThemeSpace, 'auto'>;
|
|
179
|
+
paddingBottom: Exclude<keyof ThemeSpace, 'auto'>;
|
|
180
|
+
paddingLeft: Exclude<keyof ThemeSpace, 'auto'>;
|
|
181
|
+
paddingRight: Exclude<keyof ThemeSpace, 'auto'>;
|
|
182
|
+
/** Index into `theme.fontSizes`. */
|
|
183
|
+
fontSize: number;
|
|
184
|
+
}
|
|
185
|
+
interface ThemeSizes {
|
|
186
|
+
sm: SizeEntry;
|
|
187
|
+
md: SizeEntry;
|
|
188
|
+
lg: SizeEntry;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Square glyph dimension per density key — Icon token sizes and the
|
|
192
|
+
* Checkbox/Radio glyphs. Mapped over `ThemeSizes` so augmenting a size key
|
|
193
|
+
* forces the matching icon size to be supplied.
|
|
194
|
+
*/
|
|
195
|
+
type ThemeIconSizes = { [K in keyof ThemeSizes]: string; };
|
|
196
|
+
/** Style of one typography variant. */
|
|
197
|
+
interface TypographyVariantStyle {
|
|
198
|
+
element: ElementType;
|
|
199
|
+
fontSize?: number;
|
|
200
|
+
fontWeight?: string;
|
|
201
|
+
letterSpacing?: string;
|
|
202
|
+
textTransform?: CSSObject['textTransform'];
|
|
203
|
+
}
|
|
204
|
+
interface ThemeTypographyVariants {
|
|
205
|
+
h1: TypographyVariantStyle;
|
|
206
|
+
h2: TypographyVariantStyle;
|
|
207
|
+
h3: TypographyVariantStyle;
|
|
208
|
+
h4: TypographyVariantStyle;
|
|
209
|
+
h5: TypographyVariantStyle;
|
|
210
|
+
h6: TypographyVariantStyle;
|
|
211
|
+
subtitle1: TypographyVariantStyle;
|
|
212
|
+
subtitle2: TypographyVariantStyle;
|
|
213
|
+
body1: TypographyVariantStyle;
|
|
214
|
+
body2: TypographyVariantStyle;
|
|
215
|
+
caption: TypographyVariantStyle;
|
|
216
|
+
overline: TypographyVariantStyle;
|
|
217
|
+
button: TypographyVariantStyle;
|
|
218
|
+
inherit: TypographyVariantStyle;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Optional theme-driven component defaults. Components carry their own
|
|
222
|
+
* literal fallbacks (`size = 'md'`, `variant = 'outside'`, …) and resolve
|
|
223
|
+
* them through `themeDefault(theme, key, fallback)` — set any key here (or
|
|
224
|
+
* via `ThemeProvider`'s `defaults` prop) to override that fallback globally,
|
|
225
|
+
* e.g. when your theme uses entirely different size or palette keys.
|
|
226
|
+
*/
|
|
227
|
+
interface ThemeDefaults {
|
|
228
|
+
/** Density token for sized components. Fallback: `'md'`. */
|
|
229
|
+
size?: keyof ThemeSizes;
|
|
230
|
+
/** Compact density for dense secondary UI (table pagination actions). Fallback: `'sm'`. */
|
|
231
|
+
compactSize?: keyof ThemeSizes;
|
|
232
|
+
/** Accent palette color (buttons, links, progress, pagination…). Fallback: `'primary'`. */
|
|
233
|
+
color?: keyof ThemePalette;
|
|
234
|
+
/** Neutral palette color for toggle controls (checkbox, radio, switch…). Fallback: `'default'`. */
|
|
235
|
+
neutralColor?: keyof ThemePalette;
|
|
236
|
+
/** Body text color. Fallback: `'initial'`. */
|
|
237
|
+
textColor?: keyof ThemeText;
|
|
238
|
+
/** Accent text color (icons, input labels). Fallback: `'primary'`. */
|
|
239
|
+
accentTextColor?: keyof ThemeText;
|
|
240
|
+
/** General control background (switch track). Fallback: `'default'`. */
|
|
241
|
+
bg?: keyof ThemeBackground;
|
|
242
|
+
/** Elevated surface background (paper, cards). Fallback: `'paper'`. */
|
|
243
|
+
surfaceBg?: keyof ThemeBackground;
|
|
244
|
+
/** Input surface background (selects, text inputs). Fallback: `'terminal'`. */
|
|
245
|
+
inputBg?: keyof ThemeBackground;
|
|
246
|
+
/** Corner radius for grouped controls. Fallback: `'md'`. */
|
|
247
|
+
borderRadius?: keyof ThemeRadii;
|
|
248
|
+
/** Corner radius for surfaces. Fallback: `'sq'`. */
|
|
249
|
+
surfaceRadius?: keyof ThemeRadii;
|
|
250
|
+
/** Avatar size step. Fallback: `'md'`. */
|
|
251
|
+
avatarSize?: keyof ThemeAvatarSizes;
|
|
252
|
+
/** Icon glyph size step. Fallback: `'lg'`. */
|
|
253
|
+
iconSize?: keyof ThemeIconSizes;
|
|
254
|
+
/** Border/ring color. Fallback: `'primary'`. */
|
|
255
|
+
borderColor?: keyof ThemeBorder;
|
|
256
|
+
/** Border/ring width. Fallback: `'thin'`. */
|
|
257
|
+
borderWidth?: keyof ThemeBorderWidths;
|
|
258
|
+
/** Button visual variant. Fallback: `'contained'`. */
|
|
259
|
+
buttonVariant?: keyof ButtonVariants;
|
|
260
|
+
/** Switch thumb/track layout. Fallback: `'outside'`. */
|
|
261
|
+
switchVariant?: 'outside' | 'inside';
|
|
262
|
+
/** Input frame style (TextInput, Select, NativeSelect). Fallback: `'default'`. */
|
|
263
|
+
inputVariant?: 'default' | 'outlined' | 'text' | 'underline';
|
|
264
|
+
/** Avatar shape. Fallback: `'circular'`. */
|
|
265
|
+
avatarVariant?: 'circular' | 'rounded' | 'square';
|
|
266
|
+
/** Link underline behavior. Fallback: `'always'`. */
|
|
267
|
+
linkUnderline?: 'always' | 'hover' | 'none';
|
|
268
|
+
/** Card surface treatment. Fallback: `'paper'`. */
|
|
269
|
+
cardVariant?: 'paper' | 'bracketBox' | 'interactive';
|
|
270
|
+
/** Pagination item visual variant. Fallback: `'text'`. */
|
|
271
|
+
paginationVariant?: 'text' | 'outlined';
|
|
272
|
+
/** Pagination item shape. Fallback: `'circular'`. */
|
|
273
|
+
paginationShape?: 'circular' | 'rounded';
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* A style contributed from `theme.components` — a plain CSS object, or a
|
|
277
|
+
* callback receiving the theme and the styled root's resolved props
|
|
278
|
+
* (`ownerState`) for conditional styling.
|
|
279
|
+
*/
|
|
280
|
+
type ComponentStyle<OwnerState> = CSSObject | ((args: {
|
|
281
|
+
theme: Theme;
|
|
282
|
+
ownerState: OwnerState;
|
|
283
|
+
}) => CSSObject);
|
|
284
|
+
/** One theme-contributed variant: applied when every key in `props` matches the render props. */
|
|
285
|
+
interface ComponentVariant<OwnerState> {
|
|
286
|
+
props: Partial<OwnerState>;
|
|
287
|
+
style: ComponentStyle<OwnerState>;
|
|
288
|
+
}
|
|
289
|
+
/** Per-component customization: default prop values, per-slot CSS, extra variants. */
|
|
290
|
+
interface ComponentConfig<OwnerState = Record<string, unknown>, Slot extends string = 'root'> {
|
|
291
|
+
/** Default prop values — explicit props and group context always win. */
|
|
292
|
+
defaultProps?: Partial<OwnerState>;
|
|
293
|
+
/** Per-slot CSS merged after the component's own styles (theme wins). */
|
|
294
|
+
styleOverrides?: Partial<Record<Slot, ComponentStyle<OwnerState>>>;
|
|
295
|
+
/** Extra variants matched by props. Replaced wholesale by `createTheme`, never merged. */
|
|
296
|
+
variants?: ReadonlyArray<ComponentVariant<OwnerState>>;
|
|
297
|
+
}
|
|
298
|
+
/** Button's variant values — augment to register new ones (then style them via `variants`). */
|
|
299
|
+
interface ButtonVariants {
|
|
300
|
+
contained: true;
|
|
301
|
+
outlined: true;
|
|
302
|
+
text: true;
|
|
303
|
+
}
|
|
304
|
+
/** The resolved props Button's styled roots receive — what `ownerState` exposes. */
|
|
305
|
+
interface ButtonOwnerState {
|
|
306
|
+
variant?: keyof ButtonVariants;
|
|
307
|
+
color?: keyof ThemePalette;
|
|
308
|
+
size?: keyof ThemeSizes;
|
|
309
|
+
shape?: 'square' | 'rounded' | 'pill';
|
|
310
|
+
fullWidth?: boolean;
|
|
311
|
+
disabled?: boolean;
|
|
312
|
+
}
|
|
313
|
+
/** Token-typed Typography props a theme may set for Card's title/caption slots. */
|
|
314
|
+
interface CardSlotTypographyProps {
|
|
315
|
+
variant?: keyof ThemeTypographyVariants;
|
|
316
|
+
color?: keyof ThemeText;
|
|
317
|
+
fontFamily?: keyof ThemeFonts;
|
|
318
|
+
mb?: keyof ThemeSpace;
|
|
319
|
+
}
|
|
320
|
+
/** Token-typed Icon props a theme may set for Card's icon slot. */
|
|
321
|
+
interface CardSlotIconProps {
|
|
322
|
+
color?: keyof ThemeText;
|
|
323
|
+
size?: string | number;
|
|
324
|
+
}
|
|
325
|
+
/** Card's resolved props / theme-settable defaults. */
|
|
326
|
+
interface CardOwnerState {
|
|
327
|
+
variant?: 'paper' | 'bracketBox' | 'interactive';
|
|
328
|
+
/** Merged under any per-instance `titleProps` (instance wins). */
|
|
329
|
+
titleProps?: CardSlotTypographyProps;
|
|
330
|
+
/** Merged under any per-instance `captionProps` (instance wins). */
|
|
331
|
+
captionProps?: CardSlotTypographyProps;
|
|
332
|
+
/** Merged under any per-instance `iconProps` (instance wins). */
|
|
333
|
+
iconProps?: CardSlotIconProps;
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Per-component theme customization, keyed by component name. Augment this
|
|
337
|
+
* interface to register additional components (including your own, when their
|
|
338
|
+
* styled roots are created with this package's `styled(tag, { name })`).
|
|
339
|
+
*/
|
|
340
|
+
interface ThemeComponents {
|
|
341
|
+
AppBar?: ComponentConfig;
|
|
342
|
+
Avatar?: ComponentConfig<Record<string, unknown>, 'root' | 'img'>;
|
|
343
|
+
Backdrop?: ComponentConfig;
|
|
344
|
+
Button?: ComponentConfig<ButtonOwnerState, 'root' | 'label' | 'icon' | 'loader'>;
|
|
345
|
+
ButtonGroup?: ComponentConfig;
|
|
346
|
+
Card?: ComponentConfig<CardOwnerState, 'root' | 'title' | 'caption' | 'icon'>;
|
|
347
|
+
Checkbox?: ComponentConfig<Record<string, unknown>, 'root' | 'input' | 'icon'>;
|
|
348
|
+
CircularProgress?: ComponentConfig<Record<string, unknown>, 'root' | 'track' | 'circle'>;
|
|
349
|
+
CodeBlock?: ComponentConfig<Record<string, unknown>, 'root' | 'surface'>;
|
|
350
|
+
Drawer?: ComponentConfig;
|
|
351
|
+
Flex?: ComponentConfig;
|
|
352
|
+
FocusTrap?: ComponentConfig;
|
|
353
|
+
Form?: ComponentConfig;
|
|
354
|
+
FormControl?: ComponentConfig;
|
|
355
|
+
FormHelperText?: ComponentConfig;
|
|
356
|
+
FormLabel?: ComponentConfig;
|
|
357
|
+
Grid?: ComponentConfig;
|
|
358
|
+
Icon?: ComponentConfig;
|
|
359
|
+
Image?: ComponentConfig;
|
|
360
|
+
LinearProgress?: ComponentConfig<Record<string, unknown>, 'root' | 'track' | 'dash' | 'bar' | 'traveler' | 'segment' | 'secondaryBar'>;
|
|
361
|
+
Link?: ComponentConfig;
|
|
362
|
+
MarkdownEditor?: ComponentConfig;
|
|
363
|
+
MarkdownPreview?: ComponentConfig;
|
|
364
|
+
MarkdownToolbar?: ComponentConfig<Record<string, unknown>, 'root' | 'strike' | 'tablePickerCell'>;
|
|
365
|
+
MenuItem?: ComponentConfig<Record<string, unknown>, 'root' | 'check'>;
|
|
366
|
+
Modal?: ComponentConfig;
|
|
367
|
+
NativeSelect?: ComponentConfig<Record<string, unknown>, 'root' | 'select' | 'icon'>;
|
|
368
|
+
Pagination?: ComponentConfig<Record<string, unknown>, 'root' | 'list'>;
|
|
369
|
+
PaginationItem?: ComponentConfig<Record<string, unknown>, 'root' | 'ellipsis'>;
|
|
370
|
+
Paper?: ComponentConfig;
|
|
371
|
+
Popover?: ComponentConfig<Record<string, unknown>, 'root' | 'positioner'>;
|
|
372
|
+
Quote?: ComponentConfig;
|
|
373
|
+
Radio?: ComponentConfig<Record<string, unknown>, 'root' | 'input' | 'icon'>;
|
|
374
|
+
Select?: ComponentConfig<Record<string, unknown>, 'root' | 'value' | 'valueArea' | 'valueGhost' | 'listbox'>;
|
|
375
|
+
Skeleton?: ComponentConfig<Record<string, unknown>, 'root' | 'content'>;
|
|
376
|
+
Switch?: ComponentConfig<Record<string, unknown>, 'root' | 'input' | 'track' | 'thumb'>;
|
|
377
|
+
Table?: ComponentConfig;
|
|
378
|
+
TableBody?: ComponentConfig;
|
|
379
|
+
TableCell?: ComponentConfig;
|
|
380
|
+
TableContainer?: ComponentConfig;
|
|
381
|
+
TableFooter?: ComponentConfig;
|
|
382
|
+
TableHead?: ComponentConfig;
|
|
383
|
+
TablePagination?: ComponentConfig;
|
|
384
|
+
TablePaginationActions?: ComponentConfig;
|
|
385
|
+
TableRow?: ComponentConfig;
|
|
386
|
+
TableSortLabel?: ComponentConfig<Record<string, unknown>, 'root' | 'icon'>;
|
|
387
|
+
TextInput?: ComponentConfig<Record<string, unknown>, 'root' | 'input'>;
|
|
388
|
+
ToggleButton?: ComponentConfig;
|
|
389
|
+
ToggleButtonGroup?: ComponentConfig;
|
|
390
|
+
Typography?: ComponentConfig;
|
|
391
|
+
View?: ComponentConfig;
|
|
392
|
+
}
|
|
393
|
+
interface Theme {
|
|
394
|
+
name: string;
|
|
395
|
+
/** Optional overrides for component default token/variant keys — see `ThemeDefaults`. */
|
|
396
|
+
defaults?: OpenScale<ThemeDefaults>;
|
|
397
|
+
/** Optional per-component customization — see `ThemeComponents`. */
|
|
398
|
+
components?: OpenScale<ThemeComponents>;
|
|
399
|
+
space: OpenScale<ThemeSpace>;
|
|
400
|
+
border: OpenScale<ThemeBorder>;
|
|
401
|
+
text: OpenScale<ThemeText>;
|
|
402
|
+
background: OpenScale<ThemeBackground>;
|
|
403
|
+
typography: OpenScale<ThemeTypographyVariants>;
|
|
404
|
+
fonts: OpenScale<ThemeFonts>;
|
|
405
|
+
lineHeights: OpenScale<ThemeLineHeights>;
|
|
406
|
+
letterSpacings: OpenScale<ThemeLetterSpacings>;
|
|
407
|
+
fontSizes: number[];
|
|
408
|
+
radii: OpenScale<ThemeRadii>;
|
|
409
|
+
borderWidths: OpenScale<ThemeBorderWidths>;
|
|
410
|
+
avatar: OpenScale<ThemeAvatarSizes>;
|
|
411
|
+
icon: ThemeIconSizes;
|
|
412
|
+
skeleton: OpenScale<ThemeSkeleton>;
|
|
413
|
+
switch: OpenScale<ThemeSwitch>;
|
|
414
|
+
shadow: OpenScale<ThemeShadow>;
|
|
415
|
+
syntax: OpenScale<ThemeSyntax>;
|
|
416
|
+
sizes: { [K in keyof ThemeSizes]: OpenScale<ThemeSizes[K]>; };
|
|
417
|
+
colorScheme: 'light' | 'dark';
|
|
418
|
+
blur: string;
|
|
419
|
+
logoFilter: string;
|
|
420
|
+
/** mix-blend-mode for the AboutHero portrait — screen on dark, multiply on light. */
|
|
421
|
+
portraitBlend: string;
|
|
422
|
+
/** opacity for the AboutHero portrait. */
|
|
423
|
+
portraitOpacity: number;
|
|
424
|
+
shadows: string[];
|
|
425
|
+
fontWeights: OpenScale<ThemeFontWeights>;
|
|
426
|
+
palette: OpenScale<ThemePalette>;
|
|
427
|
+
zOrder: OpenScale<ThemeZOrder>;
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
/** The semantic color keys of `theme.palette`. */
|
|
431
|
+
type PaletteColor = keyof ThemePalette;
|
|
432
|
+
/** The variant keys of `theme.typography`. */
|
|
433
|
+
type TypographyVariant = keyof ThemeTypographyVariants;
|
|
434
|
+
declare const radii: {
|
|
435
|
+
sq: string;
|
|
436
|
+
sm: string;
|
|
437
|
+
md: string;
|
|
438
|
+
lg: string;
|
|
439
|
+
};
|
|
440
|
+
declare const borderWidths: {
|
|
441
|
+
none: string;
|
|
442
|
+
thin: string;
|
|
443
|
+
base: string;
|
|
444
|
+
thick: string;
|
|
445
|
+
};
|
|
446
|
+
declare const zOrder: {
|
|
447
|
+
appBar: number;
|
|
448
|
+
drawer: number;
|
|
449
|
+
modal: number;
|
|
450
|
+
};
|
|
451
|
+
declare const fontSizes: number[];
|
|
452
|
+
declare const lineHeights: {
|
|
453
|
+
none: number;
|
|
454
|
+
tight: number;
|
|
455
|
+
snug: number;
|
|
456
|
+
base: number;
|
|
457
|
+
relaxed: number;
|
|
458
|
+
loose: number;
|
|
459
|
+
};
|
|
460
|
+
declare const letterSpacings: {
|
|
461
|
+
tighter: string;
|
|
462
|
+
tight: string;
|
|
463
|
+
normal: string;
|
|
464
|
+
wide: string;
|
|
465
|
+
wider: string;
|
|
466
|
+
widest: string;
|
|
467
|
+
};
|
|
468
|
+
declare const fonts: {
|
|
469
|
+
body: string;
|
|
470
|
+
heading: string;
|
|
471
|
+
mono: string;
|
|
472
|
+
};
|
|
473
|
+
declare const fontWeights: {
|
|
474
|
+
thin: number;
|
|
475
|
+
extraLight: number;
|
|
476
|
+
light: number;
|
|
477
|
+
normal: number;
|
|
478
|
+
medium: number;
|
|
479
|
+
semiBold: number;
|
|
480
|
+
bold: number;
|
|
481
|
+
extraBold: number;
|
|
482
|
+
black: number;
|
|
483
|
+
};
|
|
484
|
+
declare const avatar: {
|
|
485
|
+
sm: string;
|
|
486
|
+
md: string;
|
|
487
|
+
lg: string;
|
|
488
|
+
xl: string;
|
|
489
|
+
};
|
|
490
|
+
declare const icon: ThemeIconSizes;
|
|
491
|
+
declare const sizes: ThemeSizes;
|
|
492
|
+
declare const space: ThemeSpace;
|
|
493
|
+
declare const typography: ThemeTypographyVariants;
|
|
494
|
+
/**
|
|
495
|
+
* The package's complete default theme (dark-schemed). Raw hex only — palettes
|
|
496
|
+
* belong to the consumer, who builds brand themes with `createTheme(baseTheme, …)`.
|
|
497
|
+
*/
|
|
498
|
+
declare const baseTheme: Theme;
|
|
499
|
+
//#endregion
|
|
500
|
+
export { ThemeSwitch$1 as A, fontSizes as B, ThemeLineHeights$1 as C, ThemeSizes$1 as D, ThemeShadow$1 as E, TypographyVariant as F, lineHeights as G, fonts as H, TypographyVariantStyle$1 as I, space as J, radii as K, avatar as L, ThemeText$1 as M, ThemeTypographyVariants$1 as N, ThemeSkeleton$1 as O, ThemeZOrder$1 as P, baseTheme as R, ThemeLetterSpacings$1 as S, ThemeRadii$1 as T, icon as U, fontWeights as V, letterSpacings as W, zOrder as X, typography as Y, ThemeComponents$2 as _, CardSlotTypographyProps$1 as a, ThemeFonts$1 as b, ComponentVariant$1 as c, SizeEntry$1 as d, Theme$1 as f, ThemeBorderWidths$1 as g, ThemeBorder$1 as h, CardSlotIconProps$1 as i, ThemeSyntax$1 as j, ThemeSpace$1 as k, PaletteColor as l, ThemeBackground$1 as m, ButtonVariants$1 as n, ComponentConfig$1 as o, ThemeAvatarSizes$1 as p, sizes as q, CardOwnerState$1 as r, ComponentStyle$1 as s, ButtonOwnerState$1 as t, PaletteEntry$1 as u, ThemeDefaults$2 as v, ThemePalette$1 as w, ThemeIconSizes$1 as x, ThemeFontWeights$1 as y, borderWidths as z };
|