@soroush.tech/design-system 2.0.0-rc.1 → 2.0.0-rc.3
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/README.md +30 -10
- package/dist/AppBar.d.cts +1 -3
- package/dist/AppBar.d.mts +1 -3
- package/dist/Avatar.cjs +1 -1
- package/dist/Avatar.d.cts +1 -3
- package/dist/Avatar.d.mts +1 -3
- package/dist/Avatar.mjs +1 -1
- package/dist/Backdrop.d.cts +1 -1
- package/dist/Backdrop.d.mts +1 -1
- package/dist/Breadcrumbs.cjs +132 -0
- package/dist/Breadcrumbs.d.cts +40 -0
- package/dist/Breadcrumbs.d.mts +40 -0
- package/dist/Breadcrumbs.mjs +131 -0
- package/dist/Button.cjs +1 -1
- package/dist/Button.d.cts +1 -1
- package/dist/Button.d.mts +1 -1
- package/dist/Button.mjs +1 -1
- package/dist/ButtonGroup.d.cts +1 -1
- package/dist/ButtonGroup.d.mts +1 -1
- package/dist/Card.cjs +3 -3
- package/dist/Card.d.cts +4 -3
- package/dist/Card.d.mts +4 -3
- package/dist/Card.mjs +3 -3
- package/dist/Checkbox.d.cts +1 -2
- package/dist/Checkbox.d.mts +1 -2
- package/dist/CircularProgress.d.cts +2 -3
- package/dist/CircularProgress.d.mts +2 -3
- package/dist/Drawer.d.cts +3 -2
- package/dist/Drawer.d.mts +3 -2
- package/dist/Flex.d.cts +1 -1
- package/dist/Flex.d.mts +1 -1
- package/dist/Form.d.cts +1 -1
- package/dist/Form.d.mts +1 -1
- package/dist/FormControl.cjs +10 -2
- package/dist/FormControl.d.cts +9 -2
- package/dist/FormControl.d.mts +9 -2
- package/dist/FormControl.mjs +10 -2
- package/dist/FormHelperText.d.cts +1 -1
- package/dist/FormHelperText.d.mts +1 -1
- package/dist/FormLabel.cjs +9 -1
- package/dist/FormLabel.d.cts +2 -2
- package/dist/FormLabel.d.mts +2 -2
- package/dist/FormLabel.mjs +10 -2
- package/dist/Grid.d.cts +1 -3
- package/dist/Grid.d.mts +1 -3
- package/dist/{Icon-CH3asUJu.mjs → Icon-BihOAP4u.mjs} +52 -2
- package/dist/{Icon-CI6q2Eyi.cjs → Icon-D-EWsBVg.cjs} +52 -2
- package/dist/Icon.cjs +1 -1
- package/dist/Icon.d.cts +1 -1
- package/dist/Icon.d.mts +1 -1
- package/dist/Icon.mjs +1 -1
- package/dist/Image.d.cts +1 -2
- package/dist/Image.d.mts +1 -2
- package/dist/InputRange.cjs +675 -0
- package/dist/InputRange.d.cts +79 -0
- package/dist/InputRange.d.mts +79 -0
- package/dist/InputRange.mjs +673 -0
- package/dist/LinearProgress.d.cts +2 -3
- package/dist/LinearProgress.d.mts +2 -3
- package/dist/Link.cjs +1 -1
- package/dist/Link.d.cts +1 -1
- package/dist/Link.d.mts +1 -1
- package/dist/Link.mjs +1 -1
- package/dist/Menu/ContextMenu.cjs +146 -0
- package/dist/Menu/ContextMenu.d.cts +52 -0
- package/dist/Menu/ContextMenu.d.mts +52 -0
- package/dist/Menu/ContextMenu.mjs +145 -0
- package/dist/Menu/Menu.cjs +3 -0
- package/dist/Menu/Menu.d.cts +2 -0
- package/dist/Menu/Menu.d.mts +2 -0
- package/dist/Menu/Menu.mjs +2 -0
- package/dist/Menu/MenuDivider.cjs +29 -0
- package/dist/Menu/MenuDivider.d.cts +12 -0
- package/dist/Menu/MenuDivider.d.mts +12 -0
- package/dist/Menu/MenuDivider.mjs +28 -0
- package/dist/Menu/MenuItems.cjs +29 -0
- package/dist/Menu/MenuItems.d.cts +2 -0
- package/dist/Menu/MenuItems.d.mts +2 -0
- package/dist/Menu/MenuItems.mjs +28 -0
- package/dist/Menu/MenuList.cjs +3 -0
- package/dist/Menu/MenuList.d.cts +38 -0
- package/dist/Menu/MenuList.d.mts +38 -0
- package/dist/Menu/MenuList.mjs +2 -0
- package/dist/Menu-Cgg-sX4W.cjs +173 -0
- package/dist/Menu-CrzHc_cn.mjs +168 -0
- package/dist/Menu.cjs +13 -0
- package/dist/Menu.d.cts +7 -0
- package/dist/Menu.d.mts +7 -0
- package/dist/Menu.mjs +6 -0
- package/dist/MenuItem-BTP7Ijwi.cjs +673 -0
- package/dist/MenuItem-DUn4IZKK.mjs +649 -0
- package/dist/MenuItem.cjs +2 -148
- package/dist/MenuItem.d.cts +2 -52
- package/dist/MenuItem.d.mts +2 -52
- package/dist/MenuItem.mjs +1 -147
- package/dist/MenuList-B7msJ1IG.mjs +187 -0
- package/dist/MenuList-D4imLXAa.cjs +223 -0
- package/dist/MenuListContext-DKUOhNyw.d.cts +21 -0
- package/dist/MenuListContext-x-7lH4CH.d.mts +21 -0
- package/dist/Modal.d.cts +1 -1
- package/dist/Modal.d.mts +1 -1
- package/dist/NativeSelect.cjs +9 -8
- package/dist/NativeSelect.d.cts +3 -4
- package/dist/NativeSelect.d.mts +3 -4
- package/dist/NativeSelect.mjs +9 -8
- package/dist/NumberField.cjs +476 -0
- package/dist/NumberField.d.cts +74 -0
- package/dist/NumberField.d.mts +74 -0
- package/dist/NumberField.mjs +474 -0
- package/dist/Pagination/PaginationItem.cjs +1 -1
- package/dist/Pagination/PaginationItem.d.cts +1 -1
- package/dist/Pagination/PaginationItem.d.mts +1 -1
- package/dist/Pagination/PaginationItem.mjs +1 -1
- package/dist/Pagination.d.cts +2 -2
- package/dist/Pagination.d.mts +2 -2
- package/dist/Paper.cjs +1 -1
- package/dist/Paper.d.cts +2 -1
- package/dist/Paper.d.mts +2 -1
- package/dist/Paper.mjs +1 -1
- package/dist/{Popover-TpwRSORC.cjs → Popover-CiZfgiKE.cjs} +5 -125
- package/dist/Popover-QjM5Z1CR.mjs +133 -0
- package/dist/Popover.cjs +1 -1
- package/dist/Popover.d.cts +6 -7
- package/dist/Popover.d.mts +6 -7
- package/dist/Popover.mjs +1 -1
- package/dist/Pressable.cjs +1 -1
- package/dist/Pressable.d.cts +1 -1
- package/dist/Pressable.d.mts +1 -1
- package/dist/Pressable.mjs +1 -1
- package/dist/Quote.d.cts +2 -3
- package/dist/Quote.d.mts +2 -3
- package/dist/Radio.d.cts +1 -2
- package/dist/Radio.d.mts +1 -2
- package/dist/Rating.cjs +373 -0
- package/dist/Rating.d.cts +57 -0
- package/dist/Rating.d.mts +57 -0
- package/dist/Rating.mjs +371 -0
- package/dist/Select.cjs +5 -4
- package/dist/Select.d.cts +3 -4
- package/dist/Select.d.mts +3 -4
- package/dist/Select.mjs +7 -6
- package/dist/Sidebar/Sidebar.d.cts +1 -1
- package/dist/Sidebar/Sidebar.d.mts +1 -1
- package/dist/Sidebar/SidebarItem.cjs +1 -1
- package/dist/Sidebar/SidebarItem.d.cts +3 -4
- package/dist/Sidebar/SidebarItem.d.mts +3 -4
- package/dist/Sidebar/SidebarItem.mjs +3 -3
- package/dist/Skeleton.d.cts +1 -2
- package/dist/Skeleton.d.mts +1 -2
- package/dist/Switch.cjs +23 -16
- package/dist/Switch.d.cts +2 -3
- package/dist/Switch.d.mts +2 -3
- package/dist/Switch.mjs +25 -18
- package/dist/Table/Table.d.cts +2 -3
- package/dist/Table/Table.d.mts +2 -3
- package/dist/Table/TableBody.d.cts +1 -2
- package/dist/Table/TableBody.d.mts +1 -2
- package/dist/Table/TableCell.d.cts +1 -1
- package/dist/Table/TableCell.d.mts +1 -1
- package/dist/Table/TableContainer.d.cts +1 -3
- package/dist/Table/TableContainer.d.mts +1 -3
- package/dist/Table/TableControl.d.cts +1 -1
- package/dist/Table/TableControl.d.mts +1 -1
- package/dist/Table/TableControl.mjs +2 -2
- package/dist/Table/TableFooter.d.cts +1 -2
- package/dist/Table/TableFooter.d.mts +1 -2
- package/dist/Table/TableHead.d.cts +1 -2
- package/dist/Table/TableHead.d.mts +1 -2
- package/dist/Table/TablePagination.d.cts +2 -2
- package/dist/Table/TablePagination.d.mts +2 -2
- package/dist/Table/TablePaginationActions.cjs +1 -1
- package/dist/Table/TablePaginationActions.d.cts +1 -1
- package/dist/Table/TablePaginationActions.d.mts +1 -1
- package/dist/Table/TablePaginationActions.mjs +1 -1
- package/dist/Table/TableRow.d.cts +1 -2
- package/dist/Table/TableRow.d.mts +1 -2
- package/dist/Table/TableSortLabel.cjs +1 -1
- package/dist/Table/TableSortLabel.d.cts +1 -1
- package/dist/Table/TableSortLabel.d.mts +1 -1
- package/dist/Table/TableSortLabel.mjs +1 -1
- package/dist/Table/hooks.d.cts +1 -1
- package/dist/Table/hooks.d.mts +1 -1
- package/dist/Table.d.cts +5 -5
- package/dist/Table.d.mts +5 -5
- package/dist/{TableContext-BeCxbtHH.d.cts → TableContext-DhuRf6Wy.d.mts} +1 -1
- package/dist/{TableContext-BiRiYkVZ.d.mts → TableContext-Duj1nVG7.d.cts} +1 -1
- package/dist/Tabs/Tab.cjs +306 -0
- package/dist/Tabs/Tab.d.cts +62 -0
- package/dist/Tabs/Tab.d.mts +62 -0
- package/dist/Tabs/Tab.mjs +305 -0
- package/dist/Tabs/TabContext.cjs +34 -0
- package/dist/Tabs/TabContext.d.cts +20 -0
- package/dist/Tabs/TabContext.d.mts +20 -0
- package/dist/Tabs/TabContext.mjs +33 -0
- package/dist/Tabs/TabList.cjs +31 -0
- package/dist/Tabs/TabList.d.cts +11 -0
- package/dist/Tabs/TabList.d.mts +11 -0
- package/dist/Tabs/TabList.mjs +30 -0
- package/dist/Tabs/TabPanel.cjs +40 -0
- package/dist/Tabs/TabPanel.d.cts +27 -0
- package/dist/Tabs/TabPanel.d.mts +27 -0
- package/dist/Tabs/TabPanel.mjs +38 -0
- package/dist/Tabs/TabScrollButton.cjs +93 -0
- package/dist/Tabs/TabScrollButton.d.cts +2 -0
- package/dist/Tabs/TabScrollButton.d.mts +2 -0
- package/dist/Tabs/TabScrollButton.mjs +91 -0
- package/dist/Tabs/Tabs.cjs +3 -0
- package/dist/Tabs/Tabs.d.cts +3 -0
- package/dist/Tabs/Tabs.d.mts +3 -0
- package/dist/Tabs/Tabs.mjs +2 -0
- package/dist/Tabs-BTNOJx5v.mjs +634 -0
- package/dist/Tabs-D4tWCq78.cjs +646 -0
- package/dist/Tabs.cjs +13 -0
- package/dist/Tabs.d.cts +8 -0
- package/dist/Tabs.d.mts +8 -0
- package/dist/Tabs.mjs +7 -0
- package/dist/TabsContext-B_XHbjcS.d.cts +6 -0
- package/dist/TabsContext-Dn2kqUwr.d.mts +6 -0
- package/dist/TabsValueContext-D40zGCpE.cjs +19 -0
- package/dist/TabsValueContext-DvL3inf7.mjs +8 -0
- package/dist/TextInput.cjs +4 -4
- package/dist/TextInput.d.cts +2 -3
- package/dist/TextInput.d.mts +2 -3
- package/dist/TextInput.mjs +4 -4
- package/dist/ToggleButton/ToggleButton.cjs +1 -1
- package/dist/ToggleButton/ToggleButton.d.cts +1 -1
- package/dist/ToggleButton/ToggleButton.d.mts +1 -1
- package/dist/ToggleButton/ToggleButton.mjs +1 -1
- package/dist/ToggleButton/ToggleButtonGroup.cjs +1 -1
- package/dist/ToggleButton/ToggleButtonGroup.d.cts +1 -1
- package/dist/ToggleButton/ToggleButtonGroup.d.mts +1 -1
- package/dist/ToggleButton/ToggleButtonGroup.mjs +1 -1
- package/dist/TransferList.cjs +356 -0
- package/dist/TransferList.d.cts +67 -0
- package/dist/TransferList.d.mts +67 -0
- package/dist/TransferList.mjs +354 -0
- package/dist/Typography.cjs +1 -1
- package/dist/Typography.d.cts +2 -2
- package/dist/Typography.d.mts +2 -2
- package/dist/Typography.mjs +1 -1
- package/dist/View.d.cts +1 -1
- package/dist/View.d.mts +1 -1
- package/dist/catalog.cjs +4568 -0
- package/dist/catalog.d.cts +90 -0
- package/dist/catalog.d.mts +90 -0
- package/dist/catalog.mjs +4567 -0
- package/dist/computePopoverPosition-BIprs_xo.mjs +123 -0
- package/dist/computePopoverPosition-DiyEOHnU.cjs +128 -0
- package/dist/dividerLine-BNljcGlv.cjs +66 -0
- package/dist/dividerLine-FahY-M6_.mjs +31 -0
- package/dist/engine.d.cts +1 -1
- package/dist/engine.d.mts +1 -1
- package/dist/index-B1RFybA_.d.mts +72 -0
- package/dist/index-B4TeaB7b.d.cts +72 -0
- package/dist/{index-BUoVTCqX.d.mts → index-BGbTuHP9.d.mts} +1 -2
- package/dist/{index-Celm-8iN.d.cts → index-BHKgEOZJ.d.cts} +2 -3
- package/dist/{index-Chg6pSrr.d.mts → index-BQWjh4rK.d.mts} +2 -3
- package/dist/{index-B78VkB0-.d.cts → index-BelFIizY.d.cts} +2 -3
- package/dist/index-BkzZxHVj.d.mts +35 -0
- package/dist/{index-DbEnSf2m.d.cts → index-BrgwkY6z.d.mts} +3 -4
- package/dist/{index-Wnv6jCR3.d.mts → index-Bx0-6yeX.d.mts} +1 -2
- package/dist/index-BxVTIMnB.d.cts +1 -0
- package/dist/{index-BfZuh9c2.d.mts → index-ByYxVl9O.d.mts} +2 -3
- package/dist/index-CE5JG1us.d.mts +34 -0
- package/dist/{index-BhibLnZ0.d.cts → index-CG_1uPrD.d.mts} +2 -3
- package/dist/{themes-RX2UX5gD.d.mts → index-CJhK7JND.d.mts} +265 -8
- package/dist/{index-BB-dLv5V.d.mts → index-CQfJZADG.d.cts} +3 -4
- package/dist/{index-CxUsrlg1.d.cts → index-CUz2h5xY.d.mts} +2 -3
- package/dist/{index-Bid71KeF.d.cts → index-CbFaWtjK.d.mts} +2 -2
- package/dist/{index-DdqdSOct.d.cts → index-ChXeKJCk.d.cts} +1 -2
- package/dist/index-CknoXDLQ.d.cts +35 -0
- package/dist/{index-BSqet8aO.d.cts → index-ClZyaZrR.d.mts} +2 -3
- package/dist/{index-DXvQ-JVZ.d.mts → index-DAwcmIjN.d.cts} +2 -3
- package/dist/index-DGnXJwLj.d.mts +72 -0
- package/dist/{themes-Kbk9h5cN.d.cts → index-DJ0f69wh.d.cts} +262 -5
- package/dist/index-DWjz5ZzG.d.cts +72 -0
- package/dist/{index-DNwF3DUX.d.cts → index-DYF8sRE-.d.cts} +2 -3
- package/dist/index-DaIIo5QU.d.mts +1 -0
- package/dist/{index-CrN4MSUF.d.cts → index-DchHf5cF.d.cts} +1 -1
- package/dist/{index-S-ClM6WM.d.mts → index-DtYjdBvO.d.cts} +2 -2
- package/dist/{index-Ctqajtac.d.cts → index-Dv_fk1_F.d.cts} +27 -3
- package/dist/{index-smqjMLAZ.d.mts → index-K5exjvnX.d.cts} +2 -3
- package/dist/index-KnXhlKMr.d.cts +34 -0
- package/dist/index-WHFhjfgy.d.cts +98 -0
- package/dist/{index-GpnmW6vu.d.mts → index-YKrfFC_I.d.cts} +2 -3
- package/dist/index-bpnLB_4K.d.mts +98 -0
- package/dist/{index-VOsBSWEu.d.mts → index-h4dYtVrp.d.mts} +1 -1
- package/dist/{index-DO9J-Fla.d.mts → index-ha1WjSZ5.d.mts} +27 -3
- package/dist/{index-Belxmt1X.d.cts → index-nqUA_6J_.d.cts} +1 -2
- package/dist/{index-nc4Sxiy9.d.mts → index-pTNq3iQn.d.mts} +2 -3
- package/dist/index.d.cts +1 -2
- package/dist/index.d.mts +1 -2
- package/dist/isRtl-BJDtm86G.mjs +7 -0
- package/dist/isRtl-DTkYHRPo.cjs +12 -0
- package/dist/precision-B1lhxnnO.mjs +25 -0
- package/dist/precision-B58cTPB2.cjs +48 -0
- package/dist/style.cjs +1 -1
- package/dist/style.d.cts +2 -2
- package/dist/style.d.mts +2 -2
- package/dist/style.mjs +1 -1
- package/dist/surfaceSystem-BGQBoXv_.cjs +38 -0
- package/dist/surfaceSystem-D8TbmKy3.mjs +21 -0
- package/dist/theme-BxXuXRgQ.cjs +137 -0
- package/dist/theme-Z9_QludW.mjs +102 -0
- package/dist/theme.cjs +25 -24
- package/dist/theme.d.cts +3 -3
- package/dist/theme.d.mts +3 -3
- package/dist/theme.mjs +2 -1
- package/dist/{theme-CDVxig_g.mjs → themes-L-dE7_ck.mjs} +10 -110
- package/dist/{theme-BXlAP3xf.cjs → themes-gd6tcmqS.cjs} +0 -136
- package/dist/useControlled-C666KpQ0.cjs +18 -0
- package/dist/useControlled-CBRLsO-H.mjs +13 -0
- package/dist/{useTablePagination-COTiNH_8.d.mts → useTablePagination-C-u3ru4N.d.cts} +1 -1
- package/dist/{useTablePagination-WFkaUZu8.d.cts → useTablePagination-D-39ZmQh.d.mts} +1 -1
- package/package.json +83 -2
- package/dist/Popover-DwnSLpp1.mjs +0 -253
- package/dist/index-B_dKjEDR.d.mts +0 -23
- package/dist/index-C1WqEDtQ.d.mts +0 -69
- package/dist/index-CA7HnbtH.d.cts +0 -21
- package/dist/index-CKZaErxJ.d.mts +0 -21
- package/dist/index-DBUwu65Z.d.cts +0 -69
- package/dist/index-DzQJSYIh.d.cts +0 -23
- package/dist/index-cuv3o-L7.d.mts +0 -34
- package/dist/index-nB94D7UM.d.cts +0 -34
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { W as Theme } from "./index-DJ0f69wh.cjs";
|
|
2
|
+
//#region src/catalog/types.d.ts
|
|
3
|
+
/** A value that survives `JSON.stringify` - all a catalog holds. */
|
|
4
|
+
type JsonValue = string | number | boolean | null | JsonValue[] | {
|
|
5
|
+
[key: string]: JsonValue;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* An element as data: a component by name, its props, and its children - more nodes, or
|
|
9
|
+
* text. The same shape a tool writes into source: `{ component: 'MenuItem', props: { value:
|
|
10
|
+
* 'web' }, children: ['Web'] }` is `<MenuItem value="web">Web</MenuItem>`.
|
|
11
|
+
*/
|
|
12
|
+
interface ExampleNode {
|
|
13
|
+
component: string;
|
|
14
|
+
props: Record<string, JsonValue>;
|
|
15
|
+
children: (ExampleNode | string)[];
|
|
16
|
+
}
|
|
17
|
+
/** A theme scale a prop's values come from - `theme.palette`'s keys for `color`. */
|
|
18
|
+
type ThemeScale = keyof Theme;
|
|
19
|
+
/** A prop a picker offers, and where its values come from. */
|
|
20
|
+
interface CatalogOption {
|
|
21
|
+
/** The theme scale whose keys are the values, so an app's own theme widens them. */
|
|
22
|
+
scale?: ThemeScale;
|
|
23
|
+
/** A closed set of values, such as a variant's. */
|
|
24
|
+
values?: readonly (string | number | boolean)[];
|
|
25
|
+
/** The value the component takes when the prop is unset. */
|
|
26
|
+
default?: JsonValue;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* How a node-taking prop is written: as JSX children, as one child element, as text, or not
|
|
30
|
+
* at all (a prop a tool shouldn't write).
|
|
31
|
+
*/
|
|
32
|
+
type CatalogContent = 'children' | 'child' | 'text' | 'none';
|
|
33
|
+
/** A prop that both shows a value and reports changes to it - and how to read the change. */
|
|
34
|
+
interface CatalogTwoWay {
|
|
35
|
+
prop: string;
|
|
36
|
+
event: string;
|
|
37
|
+
read: 'target.value' | 'target.checked' | 'argument';
|
|
38
|
+
}
|
|
39
|
+
/** A named look, shown as a picture. */
|
|
40
|
+
interface CatalogVariant {
|
|
41
|
+
name: string;
|
|
42
|
+
label: string;
|
|
43
|
+
example: ExampleNode;
|
|
44
|
+
}
|
|
45
|
+
/** One component, as a tool needs it. */
|
|
46
|
+
interface CatalogEntry {
|
|
47
|
+
name: string;
|
|
48
|
+
/** Where it is imported from: `'@soroush.tech/design-system/Select'`. */
|
|
49
|
+
module: string;
|
|
50
|
+
/** Its category in the docs' taxonomy. */
|
|
51
|
+
category: string;
|
|
52
|
+
summary: string;
|
|
53
|
+
/** Offered in a palette to place by hand. Components a palette shouldn't offer - `Portal`, `TableCell` - still have entries, for editing pages that use them. */
|
|
54
|
+
isPlaceable: boolean;
|
|
55
|
+
/** What a freshly placed one is. */
|
|
56
|
+
example: ExampleNode;
|
|
57
|
+
variants: CatalogVariant[];
|
|
58
|
+
options: Record<string, CatalogOption>;
|
|
59
|
+
content: Record<string, CatalogContent>;
|
|
60
|
+
twoWay?: CatalogTwoWay;
|
|
61
|
+
/** React event handlers worth offering. */
|
|
62
|
+
domEvents?: string[];
|
|
63
|
+
/** The room its picture needs to look right, in pixels. */
|
|
64
|
+
preview?: {
|
|
65
|
+
width?: number;
|
|
66
|
+
height?: number;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/** Every component of the design system, as a tool needs it. */
|
|
70
|
+
interface DesignSystemCatalog {
|
|
71
|
+
/** The docs' categories, in their order, each with its components. */
|
|
72
|
+
categories: {
|
|
73
|
+
label: string;
|
|
74
|
+
components: string[];
|
|
75
|
+
}[];
|
|
76
|
+
/** A styled-system prop's theme scale: `p` → `space`, `borderRadius` → `radii`. */
|
|
77
|
+
styleScales: Record<string, string>;
|
|
78
|
+
components: Record<string, CatalogEntry>;
|
|
79
|
+
}
|
|
80
|
+
//#endregion
|
|
81
|
+
//#region src/catalog/index.d.ts
|
|
82
|
+
/**
|
|
83
|
+
* @description Every component of the design system as data a tool can read - its
|
|
84
|
+
* category, where it is imported from, what a freshly placed one is, its looks as
|
|
85
|
+
* pictures, the props a picker offers and their theme scales, and how its node props and
|
|
86
|
+
* two-way props are written. Pure data: it loads in Node with no DOM, React or Emotion.
|
|
87
|
+
*/
|
|
88
|
+
declare const catalog: DesignSystemCatalog;
|
|
89
|
+
//#endregion
|
|
90
|
+
export { type CatalogContent, type CatalogEntry, type CatalogOption, type CatalogTwoWay, type CatalogVariant, type DesignSystemCatalog, type ExampleNode, type JsonValue, type ThemeScale, catalog };
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { W as Theme } from "./index-CJhK7JND.mjs";
|
|
2
|
+
//#region src/catalog/types.d.ts
|
|
3
|
+
/** A value that survives `JSON.stringify` - all a catalog holds. */
|
|
4
|
+
type JsonValue = string | number | boolean | null | JsonValue[] | {
|
|
5
|
+
[key: string]: JsonValue;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* An element as data: a component by name, its props, and its children - more nodes, or
|
|
9
|
+
* text. The same shape a tool writes into source: `{ component: 'MenuItem', props: { value:
|
|
10
|
+
* 'web' }, children: ['Web'] }` is `<MenuItem value="web">Web</MenuItem>`.
|
|
11
|
+
*/
|
|
12
|
+
interface ExampleNode {
|
|
13
|
+
component: string;
|
|
14
|
+
props: Record<string, JsonValue>;
|
|
15
|
+
children: (ExampleNode | string)[];
|
|
16
|
+
}
|
|
17
|
+
/** A theme scale a prop's values come from - `theme.palette`'s keys for `color`. */
|
|
18
|
+
type ThemeScale = keyof Theme;
|
|
19
|
+
/** A prop a picker offers, and where its values come from. */
|
|
20
|
+
interface CatalogOption {
|
|
21
|
+
/** The theme scale whose keys are the values, so an app's own theme widens them. */
|
|
22
|
+
scale?: ThemeScale;
|
|
23
|
+
/** A closed set of values, such as a variant's. */
|
|
24
|
+
values?: readonly (string | number | boolean)[];
|
|
25
|
+
/** The value the component takes when the prop is unset. */
|
|
26
|
+
default?: JsonValue;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* How a node-taking prop is written: as JSX children, as one child element, as text, or not
|
|
30
|
+
* at all (a prop a tool shouldn't write).
|
|
31
|
+
*/
|
|
32
|
+
type CatalogContent = 'children' | 'child' | 'text' | 'none';
|
|
33
|
+
/** A prop that both shows a value and reports changes to it - and how to read the change. */
|
|
34
|
+
interface CatalogTwoWay {
|
|
35
|
+
prop: string;
|
|
36
|
+
event: string;
|
|
37
|
+
read: 'target.value' | 'target.checked' | 'argument';
|
|
38
|
+
}
|
|
39
|
+
/** A named look, shown as a picture. */
|
|
40
|
+
interface CatalogVariant {
|
|
41
|
+
name: string;
|
|
42
|
+
label: string;
|
|
43
|
+
example: ExampleNode;
|
|
44
|
+
}
|
|
45
|
+
/** One component, as a tool needs it. */
|
|
46
|
+
interface CatalogEntry {
|
|
47
|
+
name: string;
|
|
48
|
+
/** Where it is imported from: `'@soroush.tech/design-system/Select'`. */
|
|
49
|
+
module: string;
|
|
50
|
+
/** Its category in the docs' taxonomy. */
|
|
51
|
+
category: string;
|
|
52
|
+
summary: string;
|
|
53
|
+
/** Offered in a palette to place by hand. Components a palette shouldn't offer - `Portal`, `TableCell` - still have entries, for editing pages that use them. */
|
|
54
|
+
isPlaceable: boolean;
|
|
55
|
+
/** What a freshly placed one is. */
|
|
56
|
+
example: ExampleNode;
|
|
57
|
+
variants: CatalogVariant[];
|
|
58
|
+
options: Record<string, CatalogOption>;
|
|
59
|
+
content: Record<string, CatalogContent>;
|
|
60
|
+
twoWay?: CatalogTwoWay;
|
|
61
|
+
/** React event handlers worth offering. */
|
|
62
|
+
domEvents?: string[];
|
|
63
|
+
/** The room its picture needs to look right, in pixels. */
|
|
64
|
+
preview?: {
|
|
65
|
+
width?: number;
|
|
66
|
+
height?: number;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/** Every component of the design system, as a tool needs it. */
|
|
70
|
+
interface DesignSystemCatalog {
|
|
71
|
+
/** The docs' categories, in their order, each with its components. */
|
|
72
|
+
categories: {
|
|
73
|
+
label: string;
|
|
74
|
+
components: string[];
|
|
75
|
+
}[];
|
|
76
|
+
/** A styled-system prop's theme scale: `p` → `space`, `borderRadius` → `radii`. */
|
|
77
|
+
styleScales: Record<string, string>;
|
|
78
|
+
components: Record<string, CatalogEntry>;
|
|
79
|
+
}
|
|
80
|
+
//#endregion
|
|
81
|
+
//#region src/catalog/index.d.ts
|
|
82
|
+
/**
|
|
83
|
+
* @description Every component of the design system as data a tool can read - its
|
|
84
|
+
* category, where it is imported from, what a freshly placed one is, its looks as
|
|
85
|
+
* pictures, the props a picker offers and their theme scales, and how its node props and
|
|
86
|
+
* two-way props are written. Pure data: it loads in Node with no DOM, React or Emotion.
|
|
87
|
+
*/
|
|
88
|
+
declare const catalog: DesignSystemCatalog;
|
|
89
|
+
//#endregion
|
|
90
|
+
export { type CatalogContent, type CatalogEntry, type CatalogOption, type CatalogTwoWay, type CatalogVariant, type DesignSystemCatalog, type ExampleNode, type JsonValue, type ThemeScale, catalog };
|