@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,51 @@
|
|
|
1
|
+
import { n as TableSortLabelDirection } from "./index-DmJIuQJj.mjs";
|
|
2
|
+
//#region src/Table/hooks/useTablePagination.d.ts
|
|
3
|
+
interface UseTablePaginationOptions {
|
|
4
|
+
/** Initial zero-based page. Default: `0`. */
|
|
5
|
+
defaultPage?: number;
|
|
6
|
+
/** Initial rows per page; `-1` shows all rows. Default: `10`. */
|
|
7
|
+
defaultRowsPerPage?: number;
|
|
8
|
+
}
|
|
9
|
+
/** Paging state — property names mirror `TablePagination`'s props so it spreads in one go. */
|
|
10
|
+
interface TablePaginationState {
|
|
11
|
+
page: number;
|
|
12
|
+
rowsPerPage: number;
|
|
13
|
+
onPageChange: (page: number) => void;
|
|
14
|
+
/** Changing the page size resets to the first page. */
|
|
15
|
+
onRowsPerPageChange: (rowsPerPage: number) => void;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Pagination state for tables.
|
|
19
|
+
*
|
|
20
|
+
* ```tsx
|
|
21
|
+
* const pagination = useTablePagination({ defaultRowsPerPage: 10 })
|
|
22
|
+
* <TablePagination count={data.length} {...pagination} />
|
|
23
|
+
* <TableControl data={data} pagination={pagination}>{(row) => …}</TableControl>
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
declare function useTablePagination({ defaultPage, defaultRowsPerPage }?: UseTablePaginationOptions): TablePaginationState;
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region src/Table/hooks/useTableSort.d.ts
|
|
29
|
+
/** One column's sort state — spreads directly onto `TableSortLabel`. */
|
|
30
|
+
interface TableSortEntry {
|
|
31
|
+
isActive: boolean;
|
|
32
|
+
direction: TableSortLabelDirection;
|
|
33
|
+
/** Activates the column and flips its stored direction. */
|
|
34
|
+
onClick: () => void;
|
|
35
|
+
}
|
|
36
|
+
type TableSortMap<K extends string = string> = Record<K, TableSortEntry>;
|
|
37
|
+
/**
|
|
38
|
+
* Column-keyed sort state for sortable tables. Each column remembers its own
|
|
39
|
+
* direction (initially `'asc'`); clicking a column activates it AND flips its
|
|
40
|
+
* stored direction — so the first click on a column sorts `'desc'`.
|
|
41
|
+
* `keys` is read once on mount.
|
|
42
|
+
*
|
|
43
|
+
* ```tsx
|
|
44
|
+
* const sort = useTableSort(['name', 'latency'])
|
|
45
|
+
* <TableSortLabel {...sort.name}>Service</TableSortLabel>
|
|
46
|
+
* <TableControl data={rows} sort={sort}>{(row) => …}</TableControl>
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
declare function useTableSort<K extends string>(keys: readonly K[], onChange?: (key: K, direction: TableSortLabelDirection) => void): TableSortMap<K>;
|
|
50
|
+
//#endregion
|
|
51
|
+
export { UseTablePaginationOptions as a, TablePaginationState as i, TableSortMap as n, useTablePagination as o, useTableSort as r, TableSortEntry as t };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const require_rolldown_runtime = require("../rolldown-runtime-DDXJien1.cjs");
|
|
2
|
+
let _emotion_cache = require("@emotion/cache");
|
|
3
|
+
_emotion_cache = require_rolldown_runtime.__toESM(_emotion_cache, 1);
|
|
4
|
+
//#region src/utils/styleCache.ts
|
|
5
|
+
var styleCache_default = (0, _emotion_cache.default)({ key: "soroush" });
|
|
6
|
+
//#endregion
|
|
7
|
+
module.exports = styleCache_default;
|
package/dist/utils.cjs
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_themeDefault = require("./themeDefault-B-QjpGEO.cjs");
|
|
3
|
+
//#region src/utils/spacing.ts
|
|
4
|
+
const spacing = (units) => `${8 * units}px`;
|
|
5
|
+
//#endregion
|
|
6
|
+
//#region src/utils/generateBoxShadow.ts
|
|
7
|
+
const generateBoxShadow = (elevation, shadowColor) => {
|
|
8
|
+
return `0 ${elevation}px ${elevation * 2}px ${shadowColor}`;
|
|
9
|
+
};
|
|
10
|
+
//#endregion
|
|
11
|
+
//#region src/utils/clamp.ts
|
|
12
|
+
/** Clamps `value` to the inclusive range `[min, max]`. */
|
|
13
|
+
function clamp(value, min, max) {
|
|
14
|
+
return Math.min(Math.max(value, min), max);
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region src/utils/luminance.ts
|
|
18
|
+
function luminance(hex) {
|
|
19
|
+
const r = Number.parseInt(hex.slice(1, 3), 16);
|
|
20
|
+
const g = Number.parseInt(hex.slice(3, 5), 16);
|
|
21
|
+
const b = Number.parseInt(hex.slice(5, 7), 16);
|
|
22
|
+
return (.299 * r + .587 * g + .114 * b) / 255;
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
//#region src/utils/alpha.ts
|
|
26
|
+
/**
|
|
27
|
+
* Appends an alpha channel to a 6-digit hex color, producing an 8-digit `#RRGGBBAA` hex.
|
|
28
|
+
* @param color - 6-digit hex string, e.g. `'#4ade80'`
|
|
29
|
+
* @param opacity - alpha from `0` (transparent) to `1` (opaque)
|
|
30
|
+
* @returns 8-digit hex string, e.g. `'#4ade801A'`
|
|
31
|
+
* @example alpha('#4ade80', 0.1) // '#4ade801A'
|
|
32
|
+
*/
|
|
33
|
+
const alpha = (color, opacity) => {
|
|
34
|
+
return `${color}${Math.round(clamp(opacity, 0, 1) * 255).toString(16).padStart(2, "0").toUpperCase()}`;
|
|
35
|
+
};
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region src/utils/createTheme.ts
|
|
38
|
+
const isPlainObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
39
|
+
const deepMerge = (base, overrides) => {
|
|
40
|
+
const merged = { ...base };
|
|
41
|
+
for (const [key, value] of Object.entries(overrides)) {
|
|
42
|
+
if (value === void 0) continue;
|
|
43
|
+
const baseValue = merged[key];
|
|
44
|
+
merged[key] = isPlainObject(baseValue) && isPlainObject(value) ? deepMerge(baseValue, value) : value;
|
|
45
|
+
}
|
|
46
|
+
return merged;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Builds a theme by deep-merging sparse `overrides` onto `base`.
|
|
50
|
+
*
|
|
51
|
+
* - Recurses only where both sides are plain objects; arrays (`shadows`,
|
|
52
|
+
* `fontSizes`) and functions replace wholesale.
|
|
53
|
+
* - `undefined` override values are ignored — a key can be added or replaced,
|
|
54
|
+
* never removed.
|
|
55
|
+
* - Neither argument is mutated; untouched branches keep referential identity.
|
|
56
|
+
*/
|
|
57
|
+
const createTheme = (base, overrides) => deepMerge(base, overrides);
|
|
58
|
+
//#endregion
|
|
59
|
+
exports.alpha = alpha;
|
|
60
|
+
exports.clamp = clamp;
|
|
61
|
+
exports.createTheme = createTheme;
|
|
62
|
+
exports.generateBoxShadow = generateBoxShadow;
|
|
63
|
+
exports.luminance = luminance;
|
|
64
|
+
exports.spacing = spacing;
|
|
65
|
+
exports.themeDefault = require_themeDefault.themeDefault;
|
package/dist/utils.d.cts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { n as ThemeOverride, r as createTheme, t as DeepPartial } from "./createTheme-Dts2F4R_.cjs";
|
|
2
|
+
import { Theme, ThemeDefaults } from "@emotion/react";
|
|
3
|
+
//#region src/utils/spacing.d.ts
|
|
4
|
+
/** The default `theme.space` steps. Kept for back-compat; `spacing()` accepts any
|
|
5
|
+
* number so values can be built for consumer-augmented space keys. */
|
|
6
|
+
type SpaceUnits = 0 | 0.5 | 1 | 1.5 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;
|
|
7
|
+
declare const spacing: (units: number) => string;
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region src/utils/generateBoxShadow.d.ts
|
|
10
|
+
declare const generateBoxShadow: (elevation: number, shadowColor: string) => string;
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region src/utils/clamp.d.ts
|
|
13
|
+
/** Clamps `value` to the inclusive range `[min, max]`. */
|
|
14
|
+
declare function clamp(value: number, min: number, max: number): number;
|
|
15
|
+
//#endregion
|
|
16
|
+
//#region src/utils/luminance.d.ts
|
|
17
|
+
declare function luminance(hex: string): number;
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/utils/alpha.d.ts
|
|
20
|
+
/**
|
|
21
|
+
* Appends an alpha channel to a 6-digit hex color, producing an 8-digit `#RRGGBBAA` hex.
|
|
22
|
+
* @param color - 6-digit hex string, e.g. `'#4ade80'`
|
|
23
|
+
* @param opacity - alpha from `0` (transparent) to `1` (opaque)
|
|
24
|
+
* @returns 8-digit hex string, e.g. `'#4ade801A'`
|
|
25
|
+
* @example alpha('#4ade80', 0.1) // '#4ade801A'
|
|
26
|
+
*/
|
|
27
|
+
declare const alpha: (color: string, opacity: number) => string;
|
|
28
|
+
//#endregion
|
|
29
|
+
//#region src/utils/themeDefault.d.ts
|
|
30
|
+
/**
|
|
31
|
+
* Resolves a component's default token/variant key: the theme's optional
|
|
32
|
+
* `defaults` override wins, otherwise the component's literal `fallback`.
|
|
33
|
+
* Components call this in their prop defaults (`size = themeDefault(theme,
|
|
34
|
+
* 'size', 'md')`) so every built-in default stays visible in the component
|
|
35
|
+
* yet overridable per theme or via `ThemeProvider`'s `defaults` prop.
|
|
36
|
+
*/
|
|
37
|
+
declare const themeDefault: <K extends keyof ThemeDefaults>(theme: Theme, key: K, fallback: NonNullable<ThemeDefaults[K]>) => NonNullable<ThemeDefaults[K]>;
|
|
38
|
+
//#endregion
|
|
39
|
+
export { DeepPartial, SpaceUnits, ThemeOverride, alpha, clamp, createTheme, generateBoxShadow, luminance, spacing, themeDefault };
|
package/dist/utils.d.mts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { n as ThemeOverride, r as createTheme, t as DeepPartial } from "./createTheme-Dts2F4R_.mjs";
|
|
2
|
+
import { Theme, ThemeDefaults } from "@emotion/react";
|
|
3
|
+
//#region src/utils/spacing.d.ts
|
|
4
|
+
/** The default `theme.space` steps. Kept for back-compat; `spacing()` accepts any
|
|
5
|
+
* number so values can be built for consumer-augmented space keys. */
|
|
6
|
+
type SpaceUnits = 0 | 0.5 | 1 | 1.5 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;
|
|
7
|
+
declare const spacing: (units: number) => string;
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region src/utils/generateBoxShadow.d.ts
|
|
10
|
+
declare const generateBoxShadow: (elevation: number, shadowColor: string) => string;
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region src/utils/clamp.d.ts
|
|
13
|
+
/** Clamps `value` to the inclusive range `[min, max]`. */
|
|
14
|
+
declare function clamp(value: number, min: number, max: number): number;
|
|
15
|
+
//#endregion
|
|
16
|
+
//#region src/utils/luminance.d.ts
|
|
17
|
+
declare function luminance(hex: string): number;
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/utils/alpha.d.ts
|
|
20
|
+
/**
|
|
21
|
+
* Appends an alpha channel to a 6-digit hex color, producing an 8-digit `#RRGGBBAA` hex.
|
|
22
|
+
* @param color - 6-digit hex string, e.g. `'#4ade80'`
|
|
23
|
+
* @param opacity - alpha from `0` (transparent) to `1` (opaque)
|
|
24
|
+
* @returns 8-digit hex string, e.g. `'#4ade801A'`
|
|
25
|
+
* @example alpha('#4ade80', 0.1) // '#4ade801A'
|
|
26
|
+
*/
|
|
27
|
+
declare const alpha: (color: string, opacity: number) => string;
|
|
28
|
+
//#endregion
|
|
29
|
+
//#region src/utils/themeDefault.d.ts
|
|
30
|
+
/**
|
|
31
|
+
* Resolves a component's default token/variant key: the theme's optional
|
|
32
|
+
* `defaults` override wins, otherwise the component's literal `fallback`.
|
|
33
|
+
* Components call this in their prop defaults (`size = themeDefault(theme,
|
|
34
|
+
* 'size', 'md')`) so every built-in default stays visible in the component
|
|
35
|
+
* yet overridable per theme or via `ThemeProvider`'s `defaults` prop.
|
|
36
|
+
*/
|
|
37
|
+
declare const themeDefault: <K extends keyof ThemeDefaults>(theme: Theme, key: K, fallback: NonNullable<ThemeDefaults[K]>) => NonNullable<ThemeDefaults[K]>;
|
|
38
|
+
//#endregion
|
|
39
|
+
export { DeepPartial, SpaceUnits, ThemeOverride, alpha, clamp, createTheme, generateBoxShadow, luminance, spacing, themeDefault };
|
package/dist/utils.mjs
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { t as themeDefault } from "./themeDefault-CjXaY3ok.mjs";
|
|
2
|
+
//#region src/utils/spacing.ts
|
|
3
|
+
const spacing = (units) => `${8 * units}px`;
|
|
4
|
+
//#endregion
|
|
5
|
+
//#region src/utils/generateBoxShadow.ts
|
|
6
|
+
const generateBoxShadow = (elevation, shadowColor) => {
|
|
7
|
+
return `0 ${elevation}px ${elevation * 2}px ${shadowColor}`;
|
|
8
|
+
};
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/utils/clamp.ts
|
|
11
|
+
/** Clamps `value` to the inclusive range `[min, max]`. */
|
|
12
|
+
function clamp(value, min, max) {
|
|
13
|
+
return Math.min(Math.max(value, min), max);
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
//#region src/utils/luminance.ts
|
|
17
|
+
function luminance(hex) {
|
|
18
|
+
const r = Number.parseInt(hex.slice(1, 3), 16);
|
|
19
|
+
const g = Number.parseInt(hex.slice(3, 5), 16);
|
|
20
|
+
const b = Number.parseInt(hex.slice(5, 7), 16);
|
|
21
|
+
return (.299 * r + .587 * g + .114 * b) / 255;
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region src/utils/alpha.ts
|
|
25
|
+
/**
|
|
26
|
+
* Appends an alpha channel to a 6-digit hex color, producing an 8-digit `#RRGGBBAA` hex.
|
|
27
|
+
* @param color - 6-digit hex string, e.g. `'#4ade80'`
|
|
28
|
+
* @param opacity - alpha from `0` (transparent) to `1` (opaque)
|
|
29
|
+
* @returns 8-digit hex string, e.g. `'#4ade801A'`
|
|
30
|
+
* @example alpha('#4ade80', 0.1) // '#4ade801A'
|
|
31
|
+
*/
|
|
32
|
+
const alpha = (color, opacity) => {
|
|
33
|
+
return `${color}${Math.round(clamp(opacity, 0, 1) * 255).toString(16).padStart(2, "0").toUpperCase()}`;
|
|
34
|
+
};
|
|
35
|
+
//#endregion
|
|
36
|
+
//#region src/utils/createTheme.ts
|
|
37
|
+
const isPlainObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
38
|
+
const deepMerge = (base, overrides) => {
|
|
39
|
+
const merged = { ...base };
|
|
40
|
+
for (const [key, value] of Object.entries(overrides)) {
|
|
41
|
+
if (value === void 0) continue;
|
|
42
|
+
const baseValue = merged[key];
|
|
43
|
+
merged[key] = isPlainObject(baseValue) && isPlainObject(value) ? deepMerge(baseValue, value) : value;
|
|
44
|
+
}
|
|
45
|
+
return merged;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Builds a theme by deep-merging sparse `overrides` onto `base`.
|
|
49
|
+
*
|
|
50
|
+
* - Recurses only where both sides are plain objects; arrays (`shadows`,
|
|
51
|
+
* `fontSizes`) and functions replace wholesale.
|
|
52
|
+
* - `undefined` override values are ignored — a key can be added or replaced,
|
|
53
|
+
* never removed.
|
|
54
|
+
* - Neither argument is mutated; untouched branches keep referential identity.
|
|
55
|
+
*/
|
|
56
|
+
const createTheme = (base, overrides) => deepMerge(base, overrides);
|
|
57
|
+
//#endregion
|
|
58
|
+
export { alpha, clamp, createTheme, generateBoxShadow, luminance, spacing, themeDefault };
|
package/package.json
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@soroush.tech/design-system",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Emotion + @soroush.tech/styled-system React component library — token-driven light/dark themes, layout primitives, forms, overlays, and a headless markdown editor/renderer.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"design-system",
|
|
7
|
+
"react",
|
|
8
|
+
"emotion",
|
|
9
|
+
"styled-system",
|
|
10
|
+
"components",
|
|
11
|
+
"theme",
|
|
12
|
+
"markdown",
|
|
13
|
+
"typescript"
|
|
14
|
+
],
|
|
15
|
+
"author": "Masoud Soroush <masoud@soroush.tech>",
|
|
16
|
+
"license": "MIT",
|
|
17
|
+
"homepage": "https://soroush.tech",
|
|
18
|
+
"repository": {
|
|
19
|
+
"type": "git",
|
|
20
|
+
"url": "git+https://github.com/soroush-tech/core.git",
|
|
21
|
+
"directory": "packages/design-system"
|
|
22
|
+
},
|
|
23
|
+
"bugs": {
|
|
24
|
+
"url": "https://github.com/soroush-tech/core/issues"
|
|
25
|
+
},
|
|
26
|
+
"type": "module",
|
|
27
|
+
"sideEffects": false,
|
|
28
|
+
"files": [
|
|
29
|
+
"dist"
|
|
30
|
+
],
|
|
31
|
+
"exports": {
|
|
32
|
+
".": {
|
|
33
|
+
"import": {
|
|
34
|
+
"types": "./dist/index.d.mts",
|
|
35
|
+
"default": "./dist/index.mjs"
|
|
36
|
+
},
|
|
37
|
+
"require": {
|
|
38
|
+
"types": "./dist/index.d.cts",
|
|
39
|
+
"default": "./dist/index.cjs"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"./*": {
|
|
43
|
+
"import": {
|
|
44
|
+
"types": "./dist/*.d.mts",
|
|
45
|
+
"default": "./dist/*.mjs"
|
|
46
|
+
},
|
|
47
|
+
"require": {
|
|
48
|
+
"types": "./dist/*.d.cts",
|
|
49
|
+
"default": "./dist/*.cjs"
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"types": "./dist/index.d.mts",
|
|
54
|
+
"publishConfig": {
|
|
55
|
+
"access": "public"
|
|
56
|
+
},
|
|
57
|
+
"dependencies": {
|
|
58
|
+
"@emotion/cache": "^11.14.0",
|
|
59
|
+
"react-markdown": "^10.1.0",
|
|
60
|
+
"rehype-highlight": "^7.0.2",
|
|
61
|
+
"remark-gfm": "^4.0.1",
|
|
62
|
+
"@soroush.tech/styled-system": "^5.7.1"
|
|
63
|
+
},
|
|
64
|
+
"peerDependencies": {
|
|
65
|
+
"@emotion/react": "^11.14.0",
|
|
66
|
+
"@emotion/styled": "^11.14.1",
|
|
67
|
+
"@tanstack/react-form": "^1.33.2",
|
|
68
|
+
"react": "^19.0.0",
|
|
69
|
+
"react-dom": "^19.0.0"
|
|
70
|
+
},
|
|
71
|
+
"peerDependenciesMeta": {
|
|
72
|
+
"@tanstack/react-form": {
|
|
73
|
+
"optional": true
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"devDependencies": {
|
|
77
|
+
"@emotion/css": "^11.13.5",
|
|
78
|
+
"@emotion/react": "^11.14.0",
|
|
79
|
+
"@emotion/styled": "^11.14.1",
|
|
80
|
+
"@storybook/react-vite": "^10.5.0",
|
|
81
|
+
"@tanstack/react-form": "^1.33.2",
|
|
82
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
83
|
+
"@testing-library/react": "^16.3.2",
|
|
84
|
+
"@types/node": "^26.1.1",
|
|
85
|
+
"@types/react": "^19.2.17",
|
|
86
|
+
"@types/react-dom": "^19.2.3",
|
|
87
|
+
"@vitest/browser-playwright": "^4.1.10",
|
|
88
|
+
"@vitest/coverage-v8": "^4.1.10",
|
|
89
|
+
"eslint": "^10.7.0",
|
|
90
|
+
"eslint-plugin-react": "^7.37.5",
|
|
91
|
+
"eslint-plugin-react-hooks": "^7.1.1",
|
|
92
|
+
"eslint-plugin-react-refresh": "^0.5.3",
|
|
93
|
+
"eslint-plugin-storybook": "^10.5.0",
|
|
94
|
+
"globals": "^17.7.0",
|
|
95
|
+
"jsdom": "^29.1.1",
|
|
96
|
+
"playwright": "^1.61.1",
|
|
97
|
+
"react": "^19.2.7",
|
|
98
|
+
"react-dom": "^19.2.7",
|
|
99
|
+
"storybook": "^10.5.0",
|
|
100
|
+
"tsdown": "^0.22.7",
|
|
101
|
+
"typescript": "~6.0.3",
|
|
102
|
+
"vitest": "^4.1.10",
|
|
103
|
+
"zod": "^4.4.3",
|
|
104
|
+
"@soroush.tech/eslint-config": "0.0.0"
|
|
105
|
+
},
|
|
106
|
+
"scripts": {
|
|
107
|
+
"build": "tsdown",
|
|
108
|
+
"storybook": "pnpm --filter @soroush/web storybook",
|
|
109
|
+
"lint": "eslint . --max-warnings 0",
|
|
110
|
+
"typecheck": "tsc --noEmit",
|
|
111
|
+
"test": "vitest run",
|
|
112
|
+
"test:coverage": "vitest run --coverage",
|
|
113
|
+
"test:types": "pnpm build && tsc -p type-tests/tsconfig.json",
|
|
114
|
+
"audit:styled": "node scripts/audit-styled.mjs"
|
|
115
|
+
},
|
|
116
|
+
"main": "./dist/index.cjs",
|
|
117
|
+
"module": "./dist/index.mjs",
|
|
118
|
+
"typesVersions": {
|
|
119
|
+
"*": {
|
|
120
|
+
"*": [
|
|
121
|
+
"./dist/*.d.cts"
|
|
122
|
+
]
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|