@czi-sds/mcp 0.3.0 → 0.5.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/data/component-props/Accordion.json +14 -15
- package/data/component-props/Alert.json +2 -44
- package/data/component-props/Autocomplete.json +14 -32
- package/data/component-props/Banner.json +11 -12
- package/data/component-props/Button.json +17 -82
- package/data/component-props/ButtonDropdown.json +26 -0
- package/data/component-props/ButtonIcon.json +4 -60
- package/data/component-props/ButtonToggle.json +2 -66
- package/data/component-props/Callout.json +11 -65
- package/data/component-props/CellBasic.json +28 -56
- package/data/component-props/CellComponent.json +4 -32
- package/data/component-props/CellHeader.json +13 -49
- package/data/component-props/ComplexFilter.json +24 -4
- package/data/component-props/ContentCard.json +66 -2
- package/data/component-props/Dialog.json +26 -0
- package/data/component-props/Dropdown.json +29 -67
- package/data/component-props/DropdownMenu.json +16 -56
- package/data/component-props/HeatmapChart.json +6 -87
- package/data/component-props/Icon.json +3 -8
- package/data/component-props/InputCheckbox.json +5 -53
- package/data/component-props/InputDropdown.json +11 -33
- package/data/component-props/InputRadio.json +5 -53
- package/data/component-props/InputSearch.json +6 -70
- package/data/component-props/InputSlider.json +21 -35
- package/data/component-props/InputText.json +7 -63
- package/data/component-props/InputToggle.json +5 -54
- package/data/component-props/Link.json +18 -0
- package/data/component-props/LoadingIndicator.json +1 -2
- package/data/component-props/MenuItem.json +11 -41
- package/data/component-props/MenuSelect.json +4 -67
- package/data/component-props/NavigationFooter.json +0 -8
- package/data/component-props/NavigationHeader.json +14 -65
- package/data/component-props/NavigationJumpTo.json +0 -40
- package/data/component-props/Notification.json +14 -58
- package/data/component-props/Pagination.json +8 -33
- package/data/component-props/Panel.json +4 -54
- package/data/component-props/SegmentedControl.json +0 -55
- package/data/component-props/TableRow.json +10 -38
- package/data/component-props/Tabs.json +18 -0
- package/data/component-props/Tag.json +10 -56
- package/data/component-props/TagFilter.json +0 -47
- package/data/component-props/Tooltip.json +12 -61
- package/data/component-props/TooltipCondensed.json +18 -0
- package/data/component-props/TooltipTable.json +0 -4
- package/data/resources/figma-rules.md +101 -0
- package/data/resources/sds-component-rules.md +189 -0
- package/data/resources/zeroheight-rules.md +180 -0
- package/data/zeroheight-cache.json +1 -1
- package/data/zeroheight-exports/Accordion.md +167 -125
- package/data/zeroheight-exports/Banner.md +71 -48
- package/data/zeroheight-exports/Borders.md +72 -73
- package/data/zeroheight-exports/Buttons.md +375 -330
- package/data/zeroheight-exports/Callout.md +138 -116
- package/data/zeroheight-exports/Colors.md +254 -255
- package/data/zeroheight-exports/Content-Card.md +36 -37
- package/data/zeroheight-exports/Contributing-to-SDS.md +34 -35
- package/data/zeroheight-exports/Control-Inputs.md +289 -234
- package/data/zeroheight-exports/Corners.md +63 -64
- package/data/zeroheight-exports/Cover-page.md +0 -1
- package/data/zeroheight-exports/Dialog.md +237 -179
- package/data/zeroheight-exports/Downloads.md +10 -11
- package/data/zeroheight-exports/Drop-Shadows.md +40 -41
- package/data/zeroheight-exports/Dropdown-Input.md +158 -127
- package/data/zeroheight-exports/Dropdown-Menu.md +814 -718
- package/data/zeroheight-exports/Element-Status-Tracker.md +191 -192
- package/data/zeroheight-exports/Field-Inputs.md +149 -130
- package/data/zeroheight-exports/Filters.md +114 -94
- package/data/zeroheight-exports/Getting-Started.md +112 -249
- package/data/zeroheight-exports/Hero.md +43 -37
- package/data/zeroheight-exports/Icons.md +205 -206
- package/data/zeroheight-exports/Intent.md +6 -7
- package/data/zeroheight-exports/Introduction-to-Bases.md +8 -9
- package/data/zeroheight-exports/Introduction-to-Cells.md +11 -12
- package/data/zeroheight-exports/Introduction-to-DNA.md +8 -9
- package/data/zeroheight-exports/Introduction-to-Genes.md +8 -9
- package/data/zeroheight-exports/Introduction.md +52 -53
- package/data/zeroheight-exports/Link.md +50 -37
- package/data/zeroheight-exports/Lists.md +78 -63
- package/data/zeroheight-exports/Loading-Indicator.md +7 -8
- package/data/zeroheight-exports/Navigation.md +163 -142
- package/data/zeroheight-exports/Notification.md +132 -102
- package/data/zeroheight-exports/Panel.md +231 -115
- package/data/zeroheight-exports/README.md +1 -1
- package/data/zeroheight-exports/Responsive-Design.md +35 -32
- package/data/zeroheight-exports/Search-Input.md +9 -10
- package/data/zeroheight-exports/Search.md +87 -104
- package/data/zeroheight-exports/Segmented-Control.md +68 -45
- package/data/zeroheight-exports/Spacing.md +210 -211
- package/data/zeroheight-exports/Table.md +414 -302
- package/data/zeroheight-exports/Tabs.md +126 -98
- package/data/zeroheight-exports/Tags.md +148 -118
- package/data/zeroheight-exports/Text-Link.md +32 -33
- package/data/zeroheight-exports/Theming.md +48 -29
- package/data/zeroheight-exports/Tooltips.md +253 -237
- package/data/zeroheight-exports/Typography.md +463 -464
- package/dist/stdio.js +136 -135
- package/package.json +3 -4
- package/data/component-props/Chip.json +0 -73
- package/data/component-props/List.json +0 -43
- package/data/component-props/Menu.json +0 -48
- package/data/component-props/Table.json +0 -26
- package/data/component-props-storybook/Accordion-storybook.json +0 -45
- package/data/component-props-storybook/Alert-storybook.json +0 -30
- package/data/component-props-storybook/Autocomplete-storybook.json +0 -67
- package/data/component-props-storybook/Banner-storybook.json +0 -78
- package/data/component-props-storybook/Button-storybook.json +0 -115
- package/data/component-props-storybook/ButtonDropdown-storybook.json +0 -73
- package/data/component-props-storybook/ButtonIcon-storybook.json +0 -60
- package/data/component-props-storybook/ButtonToggle-storybook.json +0 -68
- package/data/component-props-storybook/Callout-storybook.json +0 -90
- package/data/component-props-storybook/CellBasic-storybook.json +0 -138
- package/data/component-props-storybook/CellComponent-storybook.json +0 -48
- package/data/component-props-storybook/CellHeader-storybook.json +0 -71
- package/data/component-props-storybook/Chip-storybook.json +0 -26
- package/data/component-props-storybook/ComplexFilter-storybook.json +0 -60
- package/data/component-props-storybook/ContentCard-storybook.json +0 -175
- package/data/component-props-storybook/Dialog-storybook.json +0 -56
- package/data/component-props-storybook/Dropdown-storybook.json +0 -93
- package/data/component-props-storybook/DropdownMenu-storybook.json +0 -73
- package/data/component-props-storybook/HeatmapChart-storybook.json +0 -55
- package/data/component-props-storybook/Icon-storybook.json +0 -75
- package/data/component-props-storybook/InputCheckbox-storybook.json +0 -57
- package/data/component-props-storybook/InputDropdown-storybook.json +0 -80
- package/data/component-props-storybook/InputRadio-storybook.json +0 -56
- package/data/component-props-storybook/InputSearch-storybook.json +0 -55
- package/data/component-props-storybook/InputSlider-storybook.json +0 -55
- package/data/component-props-storybook/InputText-storybook.json +0 -59
- package/data/component-props-storybook/InputToggle-storybook.json +0 -42
- package/data/component-props-storybook/Link-storybook.json +0 -50
- package/data/component-props-storybook/List-storybook.json +0 -26
- package/data/component-props-storybook/LoadingIndicator-storybook.json +0 -34
- package/data/component-props-storybook/Menu-storybook.json +0 -26
- package/data/component-props-storybook/MenuItem-storybook.json +0 -74
- package/data/component-props-storybook/MenuSelect-storybook.json +0 -38
- package/data/component-props-storybook/NavigationFooter-storybook.json +0 -67
- package/data/component-props-storybook/NavigationHeader-storybook.json +0 -115
- package/data/component-props-storybook/NavigationJumpTo-storybook.json +0 -41
- package/data/component-props-storybook/Notification-storybook.json +0 -89
- package/data/component-props-storybook/Pagination-storybook.json +0 -50
- package/data/component-props-storybook/Panel-storybook.json +0 -52
- package/data/component-props-storybook/SegmentedControl-storybook.json +0 -30
- package/data/component-props-storybook/Table-storybook.json +0 -26
- package/data/component-props-storybook/TableHeader-storybook.json +0 -26
- package/data/component-props-storybook/TableRow-storybook.json +0 -62
- package/data/component-props-storybook/Tabs-storybook.json +0 -45
- package/data/component-props-storybook/Tag-storybook.json +0 -78
- package/data/component-props-storybook/TagFilter-storybook.json +0 -30
- package/data/component-props-storybook/Tooltip-storybook.json +0 -85
- package/data/component-props-storybook/TooltipCondensed-storybook.json +0 -38
- package/data/component-props-storybook/TooltipTable-storybook.json +0 -47
|
@@ -1,71 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"Panel": {
|
|
3
3
|
"props": {
|
|
4
|
-
"
|
|
5
|
-
"type": "ReactNode",
|
|
6
|
-
"isRequired": false,
|
|
7
|
-
"description": "The content of the component."
|
|
8
|
-
},
|
|
9
|
-
"className": {
|
|
10
|
-
"type": "string",
|
|
11
|
-
"isRequired": false,
|
|
12
|
-
"description": "@ignore"
|
|
13
|
-
},
|
|
14
|
-
"onClose": {
|
|
15
|
-
"type": "\"backdropClick\" | \"escapeKeyDown\"",
|
|
16
|
-
"isRequired": false,
|
|
17
|
-
"description": "Callback fired when the component requests to be closed.\nThe `reason` parameter can optionally be used to control the response to `onClose`.\n@param event The event source of the callback.\n@param reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`."
|
|
18
|
-
},
|
|
19
|
-
"open": {
|
|
4
|
+
"isBackdropClickEnabled": {
|
|
20
5
|
"type": "\"false\" | \"true\"",
|
|
21
|
-
"isRequired": false,
|
|
22
|
-
"description": "If `true`, the component is shown.",
|
|
23
|
-
"defaultValue": false
|
|
24
|
-
},
|
|
25
|
-
"style": {
|
|
26
|
-
"type": "CSSProperties",
|
|
27
|
-
"isRequired": false
|
|
28
|
-
},
|
|
29
|
-
"id": {
|
|
30
|
-
"type": "string",
|
|
31
6
|
"isRequired": false
|
|
32
7
|
},
|
|
33
|
-
"
|
|
34
|
-
"type": "
|
|
35
|
-
"isRequired": false
|
|
36
|
-
},
|
|
37
|
-
"onClick": {
|
|
38
|
-
"type": "function",
|
|
8
|
+
"position": {
|
|
9
|
+
"type": "\"bottom\" | \"left\" | \"right\"",
|
|
39
10
|
"isRequired": false
|
|
40
11
|
},
|
|
41
12
|
"sdsType": {
|
|
42
13
|
"type": "\"overlay\" | \"basic\"",
|
|
43
|
-
"isRequired": true
|
|
44
|
-
"description": "The type/variant of the component"
|
|
45
|
-
},
|
|
46
|
-
"position": {
|
|
47
|
-
"type": "\"bottom\" | \"left\" | \"right\"",
|
|
48
|
-
"isRequired": false
|
|
14
|
+
"isRequired": true
|
|
49
15
|
},
|
|
50
16
|
"width": {
|
|
51
17
|
"type": "\"string\" | \"number\"",
|
|
52
18
|
"isRequired": false
|
|
53
|
-
},
|
|
54
|
-
"isBackdropClickEnabled": {
|
|
55
|
-
"type": "\"false\" | \"true\"",
|
|
56
|
-
"isRequired": false
|
|
57
|
-
},
|
|
58
|
-
"HeaderComponent": {
|
|
59
|
-
"type": "ReactNode",
|
|
60
|
-
"isRequired": false
|
|
61
|
-
},
|
|
62
|
-
"closeButtonOnClick": {
|
|
63
|
-
"type": "function",
|
|
64
|
-
"isRequired": false
|
|
65
|
-
},
|
|
66
|
-
"CloseButtonComponent": {
|
|
67
|
-
"type": "ReactNode",
|
|
68
|
-
"isRequired": false
|
|
69
19
|
}
|
|
70
20
|
}
|
|
71
21
|
}
|
|
@@ -4,61 +4,6 @@
|
|
|
4
4
|
"buttonDefinition": {
|
|
5
5
|
"type": "SingleButtonDefinition[]",
|
|
6
6
|
"isRequired": true
|
|
7
|
-
},
|
|
8
|
-
"children": {
|
|
9
|
-
"type": "ReactNode",
|
|
10
|
-
"isRequired": false,
|
|
11
|
-
"description": "The content of the component."
|
|
12
|
-
},
|
|
13
|
-
"color": {
|
|
14
|
-
"type": "\"standard\" | \"primary\" | \"secondary\" | \"error\" | \"info\" | \"success\" | \"warning\"",
|
|
15
|
-
"isRequired": false,
|
|
16
|
-
"description": "The color of the button when it is selected.\nIt supports both default and custom theme colors, which can be added as shown in the\n[palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).",
|
|
17
|
-
"defaultValue": "standard"
|
|
18
|
-
},
|
|
19
|
-
"disabled": {
|
|
20
|
-
"type": "\"false\" | \"true\"",
|
|
21
|
-
"isRequired": false,
|
|
22
|
-
"description": "If `true`, the component is disabled. This implies that all ToggleButton children will be disabled.",
|
|
23
|
-
"defaultValue": false
|
|
24
|
-
},
|
|
25
|
-
"fullWidth": {
|
|
26
|
-
"type": "\"false\" | \"true\"",
|
|
27
|
-
"isRequired": false,
|
|
28
|
-
"description": "If `true`, the button group will take up the full width of its container.",
|
|
29
|
-
"defaultValue": false
|
|
30
|
-
},
|
|
31
|
-
"onChange": {
|
|
32
|
-
"type": "function",
|
|
33
|
-
"isRequired": false,
|
|
34
|
-
"description": "Callback fired when the value changes.\n@param event The event source of the callback.\n@param value of the selected buttons. When `exclusive` is true\nthis is a single value; when false an array of selected values. If no value\nis selected and `exclusive` is true the value is null; when false an empty array."
|
|
35
|
-
},
|
|
36
|
-
"size": {
|
|
37
|
-
"type": "\"small\" | \"medium\" | \"large\"",
|
|
38
|
-
"isRequired": false,
|
|
39
|
-
"description": "The size of the component.",
|
|
40
|
-
"defaultValue": "medium"
|
|
41
|
-
},
|
|
42
|
-
"value": {
|
|
43
|
-
"type": "any",
|
|
44
|
-
"isRequired": false,
|
|
45
|
-
"description": "The currently selected value within the group or an array of selected\nvalues when `exclusive` is false.\n\nThe value must have reference equality with the option in order to be selected."
|
|
46
|
-
},
|
|
47
|
-
"className": {
|
|
48
|
-
"type": "string",
|
|
49
|
-
"isRequired": false
|
|
50
|
-
},
|
|
51
|
-
"id": {
|
|
52
|
-
"type": "string",
|
|
53
|
-
"isRequired": false
|
|
54
|
-
},
|
|
55
|
-
"style": {
|
|
56
|
-
"type": "CSSProperties",
|
|
57
|
-
"isRequired": false
|
|
58
|
-
},
|
|
59
|
-
"onClick": {
|
|
60
|
-
"type": "function",
|
|
61
|
-
"isRequired": false
|
|
62
7
|
}
|
|
63
8
|
}
|
|
64
9
|
}
|
|
@@ -5,44 +5,16 @@
|
|
|
5
5
|
"type": "\"false\" | \"true\"",
|
|
6
6
|
"isRequired": false
|
|
7
7
|
},
|
|
8
|
-
"
|
|
9
|
-
"type": "string",
|
|
10
|
-
"isRequired": false
|
|
11
|
-
},
|
|
12
|
-
"selected": {
|
|
8
|
+
"hover": {
|
|
13
9
|
"type": "\"false\" | \"true\"",
|
|
14
10
|
"isRequired": false
|
|
15
11
|
},
|
|
16
|
-
"
|
|
17
|
-
"type": "
|
|
18
|
-
"isRequired": false
|
|
19
|
-
},
|
|
20
|
-
"className": {
|
|
21
|
-
"type": "string",
|
|
22
|
-
"isRequired": false
|
|
23
|
-
},
|
|
24
|
-
"id": {
|
|
25
|
-
"type": "string",
|
|
26
|
-
"isRequired": false
|
|
27
|
-
},
|
|
28
|
-
"style": {
|
|
29
|
-
"type": "CSSProperties",
|
|
30
|
-
"isRequired": false
|
|
31
|
-
},
|
|
32
|
-
"onChange": {
|
|
33
|
-
"type": "FormEventHandler<HTMLTableRowElement>",
|
|
34
|
-
"isRequired": false
|
|
35
|
-
},
|
|
36
|
-
"onClick": {
|
|
37
|
-
"type": "function",
|
|
38
|
-
"isRequired": false
|
|
39
|
-
},
|
|
40
|
-
"tooltipText": {
|
|
41
|
-
"type": "string",
|
|
12
|
+
"rowHeight": {
|
|
13
|
+
"type": "number",
|
|
42
14
|
"isRequired": false
|
|
43
15
|
},
|
|
44
|
-
"
|
|
45
|
-
"type": "
|
|
16
|
+
"selected": {
|
|
17
|
+
"type": "\"false\" | \"true\"",
|
|
46
18
|
"isRequired": false
|
|
47
19
|
},
|
|
48
20
|
"shouldShowTooltipOnHover": {
|
|
@@ -53,15 +25,15 @@
|
|
|
53
25
|
"type": "TooltipProps",
|
|
54
26
|
"isRequired": false
|
|
55
27
|
},
|
|
56
|
-
"
|
|
57
|
-
"type": "
|
|
28
|
+
"tooltipSubtitle": {
|
|
29
|
+
"type": "string",
|
|
58
30
|
"isRequired": false
|
|
59
31
|
},
|
|
60
|
-
"
|
|
61
|
-
"type": "
|
|
32
|
+
"tooltipText": {
|
|
33
|
+
"type": "string",
|
|
62
34
|
"isRequired": false
|
|
63
35
|
},
|
|
64
|
-
"
|
|
36
|
+
"useDivider": {
|
|
65
37
|
"type": "\"false\" | \"true\"",
|
|
66
38
|
"isRequired": false
|
|
67
39
|
}
|
|
@@ -1,84 +1,38 @@
|
|
|
1
1
|
{
|
|
2
2
|
"Tag": {
|
|
3
3
|
"props": {
|
|
4
|
-
"label": {
|
|
5
|
-
"type": "string",
|
|
6
|
-
"isRequired": true,
|
|
7
|
-
"description": "The content of the component."
|
|
8
|
-
},
|
|
9
4
|
"color": {
|
|
10
5
|
"type": "\"info\" | \"positive\" | \"notice\" | \"negative\" | \"neutral\" | \"beta\" | \"[string, string]\" | \"[string, string, string]\"",
|
|
11
6
|
"isRequired": false
|
|
12
7
|
},
|
|
13
|
-
"
|
|
14
|
-
"type": "string",
|
|
15
|
-
"isRequired": false
|
|
16
|
-
},
|
|
17
|
-
"style": {
|
|
18
|
-
"type": "CSSProperties",
|
|
19
|
-
"isRequired": false
|
|
20
|
-
},
|
|
21
|
-
"children": {
|
|
22
|
-
"type": "null",
|
|
23
|
-
"isRequired": false,
|
|
24
|
-
"description": "This prop isn't supported.\nUse the `component` prop if you need to change the children structure."
|
|
25
|
-
},
|
|
26
|
-
"disabled": {
|
|
8
|
+
"hover": {
|
|
27
9
|
"type": "\"false\" | \"true\"",
|
|
28
|
-
"isRequired": false
|
|
29
|
-
"description": "If `true`, the component is disabled.",
|
|
30
|
-
"defaultValue": false
|
|
10
|
+
"isRequired": false
|
|
31
11
|
},
|
|
32
12
|
"icon": {
|
|
33
13
|
"type": "ReactElement",
|
|
34
14
|
"isRequired": false,
|
|
35
15
|
"description": "Icon element."
|
|
36
16
|
},
|
|
37
|
-
"
|
|
38
|
-
"type": "\"small\" | \"medium\"",
|
|
39
|
-
"isRequired": false,
|
|
40
|
-
"description": "The size of the component.",
|
|
41
|
-
"defaultValue": "medium"
|
|
42
|
-
},
|
|
43
|
-
"variant": {
|
|
44
|
-
"type": "\"outlined\" | \"filled\"",
|
|
45
|
-
"isRequired": false,
|
|
46
|
-
"description": "The variant to use.",
|
|
47
|
-
"defaultValue": "filled"
|
|
48
|
-
},
|
|
49
|
-
"id": {
|
|
17
|
+
"label": {
|
|
50
18
|
"type": "string",
|
|
51
|
-
"isRequired":
|
|
52
|
-
|
|
53
|
-
"onChange": {
|
|
54
|
-
"type": "FormEventHandler<HTMLDivElement>",
|
|
55
|
-
"isRequired": false
|
|
19
|
+
"isRequired": true,
|
|
20
|
+
"description": "The content of the component."
|
|
56
21
|
},
|
|
57
22
|
"onClick": {
|
|
58
23
|
"type": "function",
|
|
59
24
|
"isRequired": false
|
|
60
25
|
},
|
|
61
|
-
"
|
|
62
|
-
"type": "\"
|
|
26
|
+
"sdsSize": {
|
|
27
|
+
"type": "\"s\" | \"l\"",
|
|
63
28
|
"isRequired": false
|
|
64
29
|
},
|
|
65
|
-
"sdsType": {
|
|
66
|
-
"type": "\"primary\" | \"secondary\"",
|
|
67
|
-
"isRequired": false,
|
|
68
|
-
"description": "The type/variant of the component"
|
|
69
|
-
},
|
|
70
30
|
"sdsStyle": {
|
|
71
31
|
"type": "\"square\" | \"rounded\"",
|
|
72
|
-
"isRequired": false
|
|
73
|
-
"description": "The visual style variant of the component"
|
|
74
|
-
},
|
|
75
|
-
"sdsSize": {
|
|
76
|
-
"type": "\"s\" | \"l\"",
|
|
77
|
-
"isRequired": false,
|
|
78
|
-
"description": "The size of the component"
|
|
32
|
+
"isRequired": false
|
|
79
33
|
},
|
|
80
|
-
"
|
|
81
|
-
"type": "\"
|
|
34
|
+
"sdsType": {
|
|
35
|
+
"type": "\"primary\" | \"secondary\"",
|
|
82
36
|
"isRequired": false
|
|
83
37
|
}
|
|
84
38
|
}
|
|
@@ -5,53 +5,6 @@
|
|
|
5
5
|
"type": "string",
|
|
6
6
|
"isRequired": true,
|
|
7
7
|
"description": "The content of the component."
|
|
8
|
-
},
|
|
9
|
-
"onDelete": {
|
|
10
|
-
"type": "(event: any) => void",
|
|
11
|
-
"isRequired": true,
|
|
12
|
-
"description": "Callback fired when the delete icon is clicked.\nIf set, the delete icon will be shown."
|
|
13
|
-
},
|
|
14
|
-
"className": {
|
|
15
|
-
"type": "string",
|
|
16
|
-
"isRequired": false
|
|
17
|
-
},
|
|
18
|
-
"style": {
|
|
19
|
-
"type": "CSSProperties",
|
|
20
|
-
"isRequired": false
|
|
21
|
-
},
|
|
22
|
-
"children": {
|
|
23
|
-
"type": "null",
|
|
24
|
-
"isRequired": false,
|
|
25
|
-
"description": "This prop isn't supported.\nUse the `component` prop if you need to change the children structure."
|
|
26
|
-
},
|
|
27
|
-
"disabled": {
|
|
28
|
-
"type": "\"false\" | \"true\"",
|
|
29
|
-
"isRequired": false,
|
|
30
|
-
"description": "If `true`, the component is disabled.",
|
|
31
|
-
"defaultValue": false
|
|
32
|
-
},
|
|
33
|
-
"icon": {
|
|
34
|
-
"type": "ReactElement",
|
|
35
|
-
"isRequired": false,
|
|
36
|
-
"description": "Icon element."
|
|
37
|
-
},
|
|
38
|
-
"size": {
|
|
39
|
-
"type": "\"small\" | \"medium\"",
|
|
40
|
-
"isRequired": false,
|
|
41
|
-
"description": "The size of the component.",
|
|
42
|
-
"defaultValue": "medium"
|
|
43
|
-
},
|
|
44
|
-
"id": {
|
|
45
|
-
"type": "string",
|
|
46
|
-
"isRequired": false
|
|
47
|
-
},
|
|
48
|
-
"onChange": {
|
|
49
|
-
"type": "FormEventHandler<HTMLDivElement>",
|
|
50
|
-
"isRequired": false
|
|
51
|
-
},
|
|
52
|
-
"onClick": {
|
|
53
|
-
"type": "function",
|
|
54
|
-
"isRequired": false
|
|
55
8
|
}
|
|
56
9
|
}
|
|
57
10
|
}
|
|
@@ -1,85 +1,36 @@
|
|
|
1
1
|
{
|
|
2
2
|
"Tooltip": {
|
|
3
3
|
"props": {
|
|
4
|
-
"title": {
|
|
5
|
-
"type": "ReactNode",
|
|
6
|
-
"isRequired": false,
|
|
7
|
-
"description": "Tooltip title. Zero-length titles string, undefined, null and false are never displayed."
|
|
8
|
-
},
|
|
9
|
-
"className": {
|
|
10
|
-
"type": "string",
|
|
11
|
-
"isRequired": false
|
|
12
|
-
},
|
|
13
|
-
"id": {
|
|
14
|
-
"type": "string",
|
|
15
|
-
"isRequired": false,
|
|
16
|
-
"description": "This prop is used to help implement the accessibility logic.\nIf you don't provide this prop. It falls back to a randomly generated id."
|
|
17
|
-
},
|
|
18
|
-
"style": {
|
|
19
|
-
"type": "CSSProperties",
|
|
20
|
-
"isRequired": false
|
|
21
|
-
},
|
|
22
|
-
"children": {
|
|
23
|
-
"type": "ReactElement",
|
|
24
|
-
"isRequired": true,
|
|
25
|
-
"description": "Tooltip reference element."
|
|
26
|
-
},
|
|
27
|
-
"onChange": {
|
|
28
|
-
"type": "FormEventHandler<HTMLDivElement>",
|
|
29
|
-
"isRequired": false
|
|
30
|
-
},
|
|
31
|
-
"onClick": {
|
|
32
|
-
"type": "function",
|
|
33
|
-
"isRequired": false
|
|
34
|
-
},
|
|
35
4
|
"arrowOffset": {
|
|
36
5
|
"type": "number",
|
|
37
6
|
"isRequired": false
|
|
38
7
|
},
|
|
39
|
-
"
|
|
40
|
-
"type": "
|
|
41
|
-
"isRequired": false,
|
|
42
|
-
"description": "If `true`, the tooltip follow the cursor over the wrapped element.",
|
|
43
|
-
"defaultValue": false
|
|
44
|
-
},
|
|
45
|
-
"inverted": {
|
|
46
|
-
"type": "\"false\" | \"true\"",
|
|
8
|
+
"componentSlot": {
|
|
9
|
+
"type": "ReactNode",
|
|
47
10
|
"isRequired": false
|
|
48
11
|
},
|
|
49
|
-
"sdsStyle": {
|
|
50
|
-
"type": "\"dark\" | \"light\"",
|
|
51
|
-
"isRequired": false,
|
|
52
|
-
"description": "The visual style variant of the component"
|
|
53
|
-
},
|
|
54
12
|
"hasInvertedStyle": {
|
|
55
13
|
"type": "\"false\" | \"true\"",
|
|
56
14
|
"isRequired": false
|
|
57
15
|
},
|
|
58
|
-
"
|
|
59
|
-
"type": "
|
|
60
|
-
"isRequired": false
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
"type": "\"default\" | \"wide\"",
|
|
64
|
-
"isRequired": false
|
|
16
|
+
"placement": {
|
|
17
|
+
"type": "complex",
|
|
18
|
+
"isRequired": false,
|
|
19
|
+
"description": "Tooltip placement.",
|
|
20
|
+
"defaultValue": "bottom"
|
|
65
21
|
},
|
|
66
22
|
"textAlign": {
|
|
67
23
|
"type": "\"left\" | \"right\" | \"center\"",
|
|
68
24
|
"isRequired": false
|
|
69
25
|
},
|
|
70
|
-
"
|
|
26
|
+
"title": {
|
|
71
27
|
"type": "ReactNode",
|
|
72
|
-
"isRequired": false
|
|
73
|
-
},
|
|
74
|
-
"onClose": {
|
|
75
|
-
"type": "(event: Event | SyntheticEvent<Element, Event>) => void",
|
|
76
28
|
"isRequired": false,
|
|
77
|
-
"description": "
|
|
29
|
+
"description": "Tooltip title. Zero-length titles string, undefined, null and false are never displayed."
|
|
78
30
|
},
|
|
79
|
-
"
|
|
80
|
-
"type": "\"
|
|
81
|
-
"isRequired": false
|
|
82
|
-
"description": "If `true`, the component is shown."
|
|
31
|
+
"width": {
|
|
32
|
+
"type": "\"default\" | \"wide\"",
|
|
33
|
+
"isRequired": false
|
|
83
34
|
}
|
|
84
35
|
}
|
|
85
36
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"TooltipCondensed": {
|
|
3
|
+
"props": {
|
|
4
|
+
"hasInvertedStyle": {
|
|
5
|
+
"type": "any",
|
|
6
|
+
"isRequired": false
|
|
7
|
+
},
|
|
8
|
+
"indicator": {
|
|
9
|
+
"type": "any",
|
|
10
|
+
"isRequired": false
|
|
11
|
+
},
|
|
12
|
+
"indicatorColor": {
|
|
13
|
+
"type": "any",
|
|
14
|
+
"isRequired": false
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"TooltipTable": {
|
|
3
3
|
"props": {
|
|
4
|
-
"data": {
|
|
5
|
-
"type": "{ label?: string; dataRows: { label: string; value: string | number; }[]; disabled?: boolean; }[]",
|
|
6
|
-
"isRequired": false
|
|
7
|
-
},
|
|
8
4
|
"contentAlert": {
|
|
9
5
|
"type": "\"string\" | \"Element\"",
|
|
10
6
|
"isRequired": false
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# Figma to Code Translation Rules
|
|
2
|
+
|
|
3
|
+
These rules guide Claude Code when translating Figma designs to code using the CZI Science Design System (SDS).
|
|
4
|
+
|
|
5
|
+
## Design Token Priority
|
|
6
|
+
|
|
7
|
+
### Spacing Values
|
|
8
|
+
|
|
9
|
+
- **ALWAYS use SDS spacing tokens** instead of hardcoded pixel values
|
|
10
|
+
- Map Figma spacing to SDS Tailwind classes: `p-sds-{size}`, `m-sds-{size}`, `gap-sds-{size}`
|
|
11
|
+
- SDS spacing scale: `xs`, `s`, `m`, `l`, `xl`
|
|
12
|
+
- Examples: `mb-sds-xs`, `px-sds-l`, `gap-sds-xl`
|
|
13
|
+
|
|
14
|
+
### Color Values
|
|
15
|
+
|
|
16
|
+
- **Prefer SDS color tokens** over hardcoded hex values from Figma
|
|
17
|
+
- Use SDS semantic color classes: `text-light-sds-color-semantic-base-text-primary`
|
|
18
|
+
- Include dark mode variants: `dark:text-dark-sds-color-semantic-base-text-primary`
|
|
19
|
+
- Only use Figma hex values when no appropriate SDS token exists
|
|
20
|
+
|
|
21
|
+
### Typography
|
|
22
|
+
|
|
23
|
+
- **Map Figma text styles to SDS typography classes**
|
|
24
|
+
- Format: `prose-sds-{type}-{size}-{weight}-{variant}`
|
|
25
|
+
- Examples: `prose-sds-header-xl-600-wide`, `prose-sds-body-s-400-wide`
|
|
26
|
+
- Use SDS font families: `font-sds-body`, `font-sds-header`, `font-sds-code`
|
|
27
|
+
- Use SDS font weights: `font-sds-regular`, `font-sds-semibold`
|
|
28
|
+
|
|
29
|
+
## Component Mapping Rules
|
|
30
|
+
|
|
31
|
+
### SDS Component Priority
|
|
32
|
+
|
|
33
|
+
- **Always prefer SDS components** over custom implementations
|
|
34
|
+
- Import from `@czi-sds/components`: `import { Button, Icon, Link } from "@czi-sds/components"`
|
|
35
|
+
- Use SDS-specific props: `sdsStyle`, `sdsType`, `sdsSize`, `sdsIcon`
|
|
36
|
+
|
|
37
|
+
### Common Figma → SDS Mappings
|
|
38
|
+
|
|
39
|
+
- **Figma Buttons** → `<Button sdsStyle="square|rounded|minimal" sdsType="primary|secondary">`
|
|
40
|
+
- **Figma Icons** → `<Icon sdsIcon="IconName" sdsSize="xs|s|m|l|xl">`
|
|
41
|
+
- **Figma Input Fields** → `<InputText>`, `<InputSlider>`, `<Autocomplete>`
|
|
42
|
+
- **Figma Cards/Containers** → Use SDS spacing classes with `<div>` elements
|
|
43
|
+
|
|
44
|
+
### Layout Translation
|
|
45
|
+
|
|
46
|
+
- **Figma Auto Layout** → Tailwind Flexbox: `flex`, `flex-col`, `items-center`, `justify-between`
|
|
47
|
+
- **Figma Grid** → Tailwind Grid: `grid`, `grid-cols-{n}`, `gap-sds-{size}`
|
|
48
|
+
- **Figma Constraints** → Tailwind responsive utilities: `w-full`, `max-w-{size}`, `mx-auto`
|
|
49
|
+
|
|
50
|
+
## Implementation Guidelines
|
|
51
|
+
|
|
52
|
+
### Code Structure
|
|
53
|
+
|
|
54
|
+
- Follow fractal file structure with colocated components
|
|
55
|
+
- Use TypeScript interfaces for props
|
|
56
|
+
- Implement responsive design with SDS breakpoints: `sm`, `md`, `lg`
|
|
57
|
+
|
|
58
|
+
### Accessibility
|
|
59
|
+
|
|
60
|
+
- Include ARIA labels and semantic HTML
|
|
61
|
+
- Use SDS color tokens that meet contrast requirements
|
|
62
|
+
- Follow SDS accessibility patterns for interactive elements
|
|
63
|
+
|
|
64
|
+
### Best Practices
|
|
65
|
+
|
|
66
|
+
- Extract repeated spacing patterns into reusable components
|
|
67
|
+
- Use SDS design tokens consistently across related components
|
|
68
|
+
- Document any deviations from SDS patterns with comments explaining why
|
|
69
|
+
- Test components in both light and dark modes
|
|
70
|
+
|
|
71
|
+
## Examples
|
|
72
|
+
|
|
73
|
+
### Good - Using SDS Values
|
|
74
|
+
|
|
75
|
+
```tsx
|
|
76
|
+
import { Button, Icon } from "@czi-sds/components";
|
|
77
|
+
|
|
78
|
+
<div className="flex items-center gap-sds-m p-sds-l">
|
|
79
|
+
<Button sdsStyle="square" sdsType="primary" className="font-sds-semibold">
|
|
80
|
+
Save Changes
|
|
81
|
+
</Button>
|
|
82
|
+
<Icon sdsIcon="Save" sdsSize="s" />
|
|
83
|
+
</div>;
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Avoid - Hardcoded Values
|
|
87
|
+
|
|
88
|
+
```tsx
|
|
89
|
+
// Don't do this
|
|
90
|
+
<div className="flex items-center gap-4 p-6">
|
|
91
|
+
<button className="bg-blue-500 px-4 py-2 font-bold">Save Changes</button>
|
|
92
|
+
<svg className="w-4 h-4">...</svg>
|
|
93
|
+
</div>
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Design System Integration
|
|
97
|
+
|
|
98
|
+
- Always check Zeroheight documentation for component usage guidelines
|
|
99
|
+
- Verify SDS component APIs before implementing
|
|
100
|
+
- Use SDS Storybook for component examples and prop references
|
|
101
|
+
- When in doubt, prefer SDS patterns over custom solutions
|