@czi-sds/mcp 0.3.0 → 0.4.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/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/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 +44 -132
- 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
|
@@ -6,15 +6,15 @@ Tabs allow users to switch between different sets of information or content that
|
|
|
6
6
|
|
|
7
7
|
## Tab Variants
|
|
8
8
|
|
|
9
|
-
| There are two sizes of Tabs available for use determined by their location in the UI. Individual tabs within each size can optionally include an alert to draw user's attention to something specific on that tab, such as to communicate the content on the tab is newly added or updated. They can also be paired with an underline that spans the width of the entire div the tab group is placed within to provide visual separation between the Tabs and the content beneath them.
|
|
10
|
-
|
|
|
9
|
+
| There are two sizes of Tabs available for use determined by their location in the UI. Individual tabs within each size can optionally include an alert to draw user's attention to something specific on that tab, such as to communicate the content on the tab is newly added or updated. They can also be paired with an underline that spans the width of the entire div the tab group is placed within to provide visual separation between the Tabs and the content beneath them. Follow the usage criteria accompanying each variant as a guide for selecting the correct Tab size for any given use case. | | **Jump to variant:** Large Small |
|
|
10
|
+
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | -------------------------------- |
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
## Tabs
|
|
15
15
|
|
|
16
|
-
|
|
|
17
|
-
| --- |
|
|
16
|
+
| | In Figma | | | Meets Accessibility | | | In napari hub + .org Codebases |
|
|
17
|
+
| --- | -------- | --- | --- | ------------------- | --- | --- | ------------------------------ |
|
|
18
18
|
|
|
19
19
|
### Large Tabs
|
|
20
20
|
|
|
@@ -25,32 +25,32 @@ An optional alert can be added on a per Tab basis to communicate additional deta
|
|
|
25
25
|
Tabs can also optionally be paired with an underline beneath them that spans the width of the entire div the Tab group is placed within.
|
|
26
26
|
|
|
27
27
|
| **Default** | **Hover** | **Active** | **Disabled** |
|
|
28
|
-
|
|
|
28
|
+
| ----------- | --------- | ---------- | ------------ |
|
|
29
29
|
|
|
30
30
|
| **Default + Alert** | **Hover** | **Active** | **Disabled** |
|
|
31
|
-
|
|
|
31
|
+
| ------------------- | --------- | ---------- | ------------ |
|
|
32
32
|
|
|
33
33
|
| **Default + Underline** | **Hover** | **Active** | **Disabled** |
|
|
34
|
-
|
|
|
34
|
+
| ----------------------- | --------- | ---------- | ------------ |
|
|
35
35
|
|
|
36
36
|
| **Default + Alert + Underline** | **Hover** | **Active** | **Disabled** |
|
|
37
|
-
|
|
|
37
|
+
| ------------------------------- | --------- | ---------- | ------------ |
|
|
38
38
|
|
|
39
39
|
### Small Tabs
|
|
40
40
|
|
|
41
41
|
Alternative Tab size to be used in napari hub on plugin detail pages for plugins whose authors are using official formatting for their plugin citations.
|
|
42
42
|
|
|
43
43
|
| **Default** | **Hover** | **Active** | **Disabled** |
|
|
44
|
-
|
|
|
44
|
+
| ----------- | --------- | ---------- | ------------ |
|
|
45
45
|
|
|
46
46
|
| **Default + Alert** | **Hover** | **Active** | **Disabled** |
|
|
47
|
-
|
|
|
47
|
+
| ------------------- | --------- | ---------- | ------------ |
|
|
48
48
|
|
|
49
49
|
| **Default + Underline** | **Hover** | **Active** | **Disabled** |
|
|
50
|
-
|
|
|
50
|
+
| ----------------------- | --------- | ---------- | ------------ |
|
|
51
51
|
|
|
52
52
|
| **Default + Alert + Underline** | **Hover** | **Active** | **Disabled** |
|
|
53
|
-
|
|
|
53
|
+
| ------------------------------- | --------- | ---------- | ------------ |
|
|
54
54
|
|
|
55
55
|
---
|
|
56
56
|
|
|
@@ -58,18 +58,18 @@ Alternative Tab size to be used in napari hub on plugin detail pages for plugins
|
|
|
58
58
|
|
|
59
59
|
These rules establish how much margin should exist between and around elements.
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
|
|
62
62
|
|
|
63
63
|
## Code
|
|
64
64
|
|
|
65
65
|
## Tabs Component
|
|
66
66
|
|
|
67
|
-
| Below you will find an interactive Storybook iframe for Tabs.
|
|
68
|
-
|
|
|
67
|
+
| Below you will find an interactive Storybook iframe for Tabs. Tabs within each iframe provide a different set of tools: The Controls tab allows you to see and adjust all available props. The Actions tab shows you data displayed by event handler arguments. | | **Jump to component:** Tabs |
|
|
68
|
+
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | --------------------------- |
|
|
69
69
|
|
|
70
70
|
---
|
|
71
71
|
|
|
72
|
-
>This component appears as it is in the default SDS codebase. Once imported into the napari hub or napari.org codebases, use a theme file to enable the napari visual appearance customization.
|
|
72
|
+
> This component appears as it is in the default SDS codebase. Once imported into the napari hub or napari.org codebases, use a theme file to enable the napari visual appearance customization.
|
|
73
73
|
|
|
74
74
|
### Tabs
|
|
75
75
|
|
|
@@ -83,15 +83,15 @@ Tabs allow users to switch between different sets of information or content that
|
|
|
83
83
|
|
|
84
84
|
## Tab Variants
|
|
85
85
|
|
|
86
|
-
| There are two sizes of Tabs available for use determined by their location in the UI. Each size can include a counter to indicate the number of items on that tab’s screen such as search or filter results. They can also be paired with an underline that spans the width of the entire div the tab group is placed within to provide visual separation between the Tabs and the content beneath them.
|
|
87
|
-
|
|
|
86
|
+
| There are two sizes of Tabs available for use determined by their location in the UI. Each size can include a counter to indicate the number of items on that tab’s screen such as search or filter results. They can also be paired with an underline that spans the width of the entire div the tab group is placed within to provide visual separation between the Tabs and the content beneath them. Follow the usage criteria accompanying each variant as a guide for selecting the correct Tab size for any given use case. | | **Jump to variant:** Large Small |
|
|
87
|
+
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | -------------------------------- |
|
|
88
88
|
|
|
89
89
|
---
|
|
90
90
|
|
|
91
91
|
## Tabs
|
|
92
92
|
|
|
93
|
-
|
|
|
94
|
-
| --- |
|
|
93
|
+
| | In Figma | | | Meets Accessibility | | | In CZ GEN EPI Codebase |
|
|
94
|
+
| --- | -------- | --- | --- | ------------------- | --- | --- | ---------------------- |
|
|
95
95
|
|
|
96
96
|
### Large Tabs
|
|
97
97
|
|
|
@@ -102,18 +102,18 @@ In CZ GEN EPI, Large Tabs holding quantifiable data sets (like a sample table) s
|
|
|
102
102
|
Overall, include a counter when necessary to indicate the number of items on that Tab's screen, whether visible or not visible, such as when displaying search or filter results.
|
|
103
103
|
|
|
104
104
|
| **Default** | **Hover** | **Active** | **Disabled** |
|
|
105
|
-
|
|
|
105
|
+
| ----------- | --------- | ---------- | ------------ |
|
|
106
106
|
|
|
107
107
|
| **Default + Count** | **Hover** | **Active** | **Disabled** |
|
|
108
|
-
|
|
|
108
|
+
| ------------------- | --------- | ---------- | ------------ |
|
|
109
109
|
|
|
110
110
|
| **Default + Underline** | **Hover** | **Active** | **Disabled** |
|
|
111
|
-
|
|
|
111
|
+
| ----------------------- | --------- | ---------- | ------------ |
|
|
112
|
+
|
|
112
113
|
|
|
113
|
-
|
|
114
114
|
|
|
115
115
|
| **Default + Count + Underline** | **Hover** | **Active** | **Disabled** |
|
|
116
|
-
|
|
|
116
|
+
| ------------------------------- | --------- | ---------- | ------------ |
|
|
117
117
|
|
|
118
118
|
### Small Tabs
|
|
119
119
|
|
|
@@ -122,16 +122,16 @@ Alternative Tab size to be used only in conjunction with Large Tabs when a secon
|
|
|
122
122
|
Include a counter when necessary to indicate the number of items on that Tab's screen, such as in the Members section of CZ GEN EPI, to help delineate between active members and outstanding invitations to the group.
|
|
123
123
|
|
|
124
124
|
| **Default** | **Hover** | **Active** | **Disabled** |
|
|
125
|
-
|
|
|
125
|
+
| ----------- | --------- | ---------- | ------------ |
|
|
126
126
|
|
|
127
127
|
| **Default + Count** | **Hover** | **Active** | **Disabled** |
|
|
128
|
-
|
|
|
128
|
+
| ------------------- | --------- | ---------- | ------------ |
|
|
129
129
|
|
|
130
130
|
| **Default + Underline** | **Hover** | **Active** | **Disabled** |
|
|
131
|
-
|
|
|
131
|
+
| ----------------------- | --------- | ---------- | ------------ |
|
|
132
132
|
|
|
133
133
|
| **Default + Count + Underline** | **Hover** | **Active** | **Disabled** |
|
|
134
|
-
|
|
|
134
|
+
| ------------------------------- | --------- | ---------- | ------------ |
|
|
135
135
|
|
|
136
136
|
---
|
|
137
137
|
|
|
@@ -139,24 +139,24 @@ Include a counter when necessary to indicate the number of items on that Tab's s
|
|
|
139
139
|
|
|
140
140
|
These rules establish how much margin should exist between and around elements.
|
|
141
141
|
|
|
142
|
-
|
|
142
|
+
|
|
143
143
|
|
|
144
144
|
## Code
|
|
145
145
|
|
|
146
146
|
## Tabs Component
|
|
147
147
|
|
|
148
|
-
| Below you will find an interactive Storybook iframe for Tabs.
|
|
149
|
-
|
|
|
148
|
+
| Below you will find an interactive Storybook iframe for Tabs. Tabs within each iframe provide a different set of tools: The Controls tab allows you to see and adjust all available props. The Actions tab shows you data displayed by event handler arguments. | | **Jump to component:** Tabs |
|
|
149
|
+
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | --------------------------- |
|
|
150
150
|
|
|
151
151
|
---
|
|
152
152
|
|
|
153
|
-
>This component appears as it is in the default SDS codebase. Once imported into the CZ GEN EPI codebase, use a theme file to enable the CZ GEN EPI visual appearance customization.
|
|
153
|
+
> This component appears as it is in the default SDS codebase. Once imported into the CZ GEN EPI codebase, use a theme file to enable the CZ GEN EPI visual appearance customization.
|
|
154
154
|
|
|
155
155
|
### Tabs
|
|
156
156
|
|
|
157
157
|
Storybook
|
|
158
158
|
|
|
159
|
-
|
|
159
|
+
|
|
160
160
|
|
|
161
161
|
---
|
|
162
162
|
|
|
@@ -166,15 +166,15 @@ Tabs allow users to switch between different sets of information or content that
|
|
|
166
166
|
|
|
167
167
|
## Tab Variants
|
|
168
168
|
|
|
169
|
-
| There are two sizes of Tabs available for use determined by their location in the UI. Each size can include a counter to indicate the number of items on that tab’s screen such as search or filter results. They can also be paired with an underline that spans the width of the entire div the tab group is placed within to provide visual separation between the Tabs and the content beneath them.
|
|
170
|
-
|
|
|
169
|
+
| There are two sizes of Tabs available for use determined by their location in the UI. Each size can include a counter to indicate the number of items on that tab’s screen such as search or filter results. They can also be paired with an underline that spans the width of the entire div the tab group is placed within to provide visual separation between the Tabs and the content beneath them. Follow the usage criteria accompanying each variant as a guide for selecting the correct Tab size for any given use case. | | **Jump to variant:** Large Small |
|
|
170
|
+
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | -------------------------------- |
|
|
171
171
|
|
|
172
172
|
---
|
|
173
173
|
|
|
174
174
|
## Tabs
|
|
175
175
|
|
|
176
|
-
|
|
|
177
|
-
| --- |
|
|
176
|
+
| | In Figma | | | Meets Accessibility | | | In CZ ID Codebase |
|
|
177
|
+
| --- | -------- | --- | --- | ------------------- | --- | --- | ----------------- |
|
|
178
178
|
|
|
179
179
|
### Large Tabs
|
|
180
180
|
|
|
@@ -185,18 +185,18 @@ In CZ ID, Large Tabs should include a Count when used in conjunction with header
|
|
|
185
185
|
Include a counter when necessary to indicate the number of items on that Tab's screen such as when displaying search or filter results.
|
|
186
186
|
|
|
187
187
|
| **Default** | **Hover** | **Active** | **Disabled** |
|
|
188
|
-
|
|
|
188
|
+
| ----------- | --------- | ---------- | ------------ |
|
|
189
189
|
|
|
190
190
|
| **Default + Count** | **Hover** | **Active** | **Disabled** |
|
|
191
|
-
|
|
|
191
|
+
| ------------------- | --------- | ---------- | ------------ |
|
|
192
192
|
|
|
193
193
|
| **Default + Underline** | **Hover** | **Active** | **Disabled** |
|
|
194
|
-
|
|
|
194
|
+
| ----------------------- | --------- | ---------- | ------------ |
|
|
195
195
|
|
|
196
196
|
| **Default + Count + Underline** | **Hover** | **Active** | **Disabled** |
|
|
197
|
-
|
|
|
197
|
+
| ------------------------------- | --------- | ---------- | ------------ |
|
|
198
|
+
|
|
198
199
|
|
|
199
|
-
|
|
200
200
|
|
|
201
201
|
### Small Tabs
|
|
202
202
|
|
|
@@ -205,16 +205,16 @@ Alternative Tab size to be used only in conjunction with Large Tabs when a secon
|
|
|
205
205
|
Include a counter when necessary to indicate the number of items on that Tab's screen such as when displaying search or filter results.
|
|
206
206
|
|
|
207
207
|
| **Default** | **Hover** | **Active** | **Disabled** |
|
|
208
|
-
|
|
|
208
|
+
| ----------- | --------- | ---------- | ------------ |
|
|
209
209
|
|
|
210
210
|
| **Default + Count** | **Hover** | **Active** | **Disabled** |
|
|
211
|
-
|
|
|
211
|
+
| ------------------- | --------- | ---------- | ------------ |
|
|
212
212
|
|
|
213
213
|
| **Default + Underline** | **Hover** | **Active** | **Disabled** |
|
|
214
|
-
|
|
|
214
|
+
| ----------------------- | --------- | ---------- | ------------ |
|
|
215
215
|
|
|
216
216
|
| **Default + Count + Underline** | **Hover** | **Active** | **Disabled** |
|
|
217
|
-
|
|
|
217
|
+
| ------------------------------- | --------- | ---------- | ------------ |
|
|
218
218
|
|
|
219
219
|
---
|
|
220
220
|
|
|
@@ -226,8 +226,8 @@ These rules establish how much margin should exist between and around elements.
|
|
|
226
226
|
|
|
227
227
|
## Tabs Component
|
|
228
228
|
|
|
229
|
-
| Below you will find an interactive Storybook iframe for Tabs.
|
|
230
|
-
|
|
|
229
|
+
| Below you will find an interactive Storybook iframe for Tabs. Tabs within each iframe provide a different set of tools: The Controls tab allows you to see and adjust all available props. The Actions tab shows you data displayed by event handler arguments. | | **Jump to component:** Tabs |
|
|
230
|
+
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | --------------------------- |
|
|
231
231
|
|
|
232
232
|
---
|
|
233
233
|
|
|
@@ -243,8 +243,8 @@ Tabs allow users to switch between different sets of information or content that
|
|
|
243
243
|
|
|
244
244
|
## Overview
|
|
245
245
|
|
|
246
|
-
|
|
|
247
|
-
| --- |
|
|
246
|
+
| | In Figma | | | Meets Accessibility | | | In Code |
|
|
247
|
+
| --- | -------- | --- | --- | ------------------- | --- | --- | ------- |
|
|
248
248
|
|
|
249
249
|
### Tabs Sizes
|
|
250
250
|
|
|
@@ -267,7 +267,7 @@ Tabs – Large is used at a top level within the UI. If a secondary layer of tab
|
|
|
267
267
|
Include a counter when necessary to indicate the number of viewable items available when navigating to that Tab's screen.
|
|
268
268
|
|
|
269
269
|
| Default | Hover | Active | Disabled |
|
|
270
|
-
|
|
|
270
|
+
| ------- | ----- | ------ | -------- |
|
|
271
271
|
|
|
272
272
|
---
|
|
273
273
|
|
|
@@ -278,7 +278,7 @@ Tabs – Small is an alternative size to be used only in conjunction with Tabs
|
|
|
278
278
|
Include a counter when necessary to indicate the number of viewable items available when navigating to that Tab's screen.
|
|
279
279
|
|
|
280
280
|
| Default | Hover | Active | Disabled |
|
|
281
|
-
|
|
|
281
|
+
| ------- | ----- | ------ | -------- |
|
|
282
282
|
|
|
283
283
|
---
|
|
284
284
|
|
|
@@ -288,7 +288,7 @@ These rules establish how much margin should exist between and around elements.
|
|
|
288
288
|
|
|
289
289
|
## Code
|
|
290
290
|
|
|
291
|
-
|
|
291
|
+
> **Note:** The code examples below must install dependencies before displaying and may take extra time to load
|
|
292
292
|
|
|
293
293
|
## Tabs
|
|
294
294
|
|
|
@@ -300,15 +300,15 @@ The component's source code in the SDS codebase can be found here.
|
|
|
300
300
|
|
|
301
301
|
The SDS `Tabs` component is built on the MUI `Tabs` component, but the SDS version has a few additional props to provide stylistic options that fit within the SDS designs:
|
|
302
302
|
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
303
|
+
- **`sdsSize`\*\***:\*\* Takes `large` (default) or `small` as values, and sizes the Tabs component and its label text accordingly
|
|
304
|
+
- **`underlined`\*\***:\*\* This boolean prop extends a light gray underline beneath the whole of the `Tabs` component when true; without this prop, only the selected tab has an underline of the primary color
|
|
305
|
+
- **count, metadata, and / or component:** Each individual tab within the `Tabs` component can be assigned a count, via a prop associated to that tab's position, such as `tabOneCount` for the first tab. These props take a number value to represent a count, but they can also take text or even another component, for example:
|
|
306
306
|
|
|
307
|
-
|
|
307
|
+
`count={123}`
|
|
308
308
|
|
|
309
|
-
|
|
309
|
+
`count={"Hello!"}`
|
|
310
310
|
|
|
311
|
-
|
|
311
|
+
`tabThreeCount={<Tag />}`
|
|
312
312
|
|
|
313
313
|
This example demonstrates passing a ReactNode as the count prop to a `Tabs` component.
|
|
314
314
|
|
|
@@ -320,10 +320,10 @@ Documentation for the underlying MUI component can be found here.
|
|
|
320
320
|
|
|
321
321
|
Any custom SDS props and MUI props required for implementation are found on the table below. See the MUI documentation for additional optional props.
|
|
322
322
|
|
|
323
|
-
| Name
|
|
324
|
-
|
|
|
325
|
-
| `sdsSize`
|
|
326
|
-
| `underlined` | `boolean`
|
|
323
|
+
| Name | Type | Default | Description |
|
|
324
|
+
| ------------ | ----------- | -------- | ------------------------------------------------------------------------------------------------------ | -------------------------------------- |
|
|
325
|
+
| `sdsSize` | `"small"` ` | "large"` | `"large"` | Specifies the size of the Tab element. |
|
|
326
|
+
| `underlined` | `boolean` | `false` | when set to `true`, adds a gray bottom border to the tab group, providing a distinctive visual effect. |
|
|
327
327
|
|
|
328
328
|
### Code examples
|
|
329
329
|
|
|
@@ -356,13 +356,11 @@ h1 {
|
|
|
356
356
|
|
|
357
357
|
```json
|
|
358
358
|
{
|
|
359
|
-
"include": [
|
|
360
|
-
"./**/*"
|
|
361
|
-
],
|
|
359
|
+
"include": ["./**/*"],
|
|
362
360
|
"compilerOptions": {
|
|
363
361
|
"strict": true,
|
|
364
362
|
"esModuleInterop": true,
|
|
365
|
-
"lib": [
|
|
363
|
+
"lib": ["dom", "es2015"],
|
|
366
364
|
"jsx": "react-jsx"
|
|
367
365
|
}
|
|
368
366
|
}
|
|
@@ -381,12 +379,12 @@ function App() {
|
|
|
381
379
|
const handleTabsChange = (_: SyntheticEvent, tabsValue: unknown) => {
|
|
382
380
|
setValue(tabsValue as number);
|
|
383
381
|
};
|
|
384
|
-
|
|
382
|
+
|
|
385
383
|
return (
|
|
386
384
|
<div className="app">
|
|
387
385
|
<Tabs value={value} sdsSize="large" onChange={handleTabsChange}>
|
|
388
|
-
<Tab label="First Tab"/>
|
|
389
|
-
<Tab label="Second Tab"/>
|
|
386
|
+
<Tab label="First Tab" />
|
|
387
|
+
<Tab label="Second Tab" />
|
|
390
388
|
</Tabs>
|
|
391
389
|
</div>
|
|
392
390
|
);
|
|
@@ -432,13 +430,12 @@ root.render(
|
|
|
432
430
|
<RootApp />
|
|
433
431
|
</React.StrictMode>
|
|
434
432
|
);
|
|
435
|
-
|
|
436
433
|
```
|
|
437
434
|
|
|
438
435
|
**/public/index.html**
|
|
439
436
|
|
|
440
437
|
```html
|
|
441
|
-
<!
|
|
438
|
+
<!doctype html>
|
|
442
439
|
<html lang="en">
|
|
443
440
|
<head>
|
|
444
441
|
<meta charset="UTF-8" />
|
|
@@ -459,13 +456,24 @@ root.render(
|
|
|
459
456
|
<div id="root"></div>
|
|
460
457
|
</body>
|
|
461
458
|
</html>
|
|
462
|
-
|
|
463
459
|
```
|
|
464
460
|
|
|
465
461
|
**/package.json**
|
|
466
462
|
|
|
467
463
|
```json
|
|
468
|
-
{
|
|
464
|
+
{
|
|
465
|
+
"dependencies": {
|
|
466
|
+
"react": "^18.0.0",
|
|
467
|
+
"react-dom": "^18.0.0",
|
|
468
|
+
"react-scripts": "^4.0.0"
|
|
469
|
+
},
|
|
470
|
+
"devDependencies": {
|
|
471
|
+
"@types/react": "^18.0.0",
|
|
472
|
+
"@types/react-dom": "^18.0.0",
|
|
473
|
+
"typescript": "^4.0.0"
|
|
474
|
+
},
|
|
475
|
+
"main": "/index.tsx"
|
|
476
|
+
}
|
|
469
477
|
```
|
|
470
478
|
|
|
471
479
|
---
|
|
@@ -499,13 +507,11 @@ h1 {
|
|
|
499
507
|
|
|
500
508
|
```json
|
|
501
509
|
{
|
|
502
|
-
"include": [
|
|
503
|
-
"./**/*"
|
|
504
|
-
],
|
|
510
|
+
"include": ["./**/*"],
|
|
505
511
|
"compilerOptions": {
|
|
506
512
|
"strict": true,
|
|
507
513
|
"esModuleInterop": true,
|
|
508
|
-
"lib": [
|
|
514
|
+
"lib": ["dom", "es2015"],
|
|
509
515
|
"jsx": "react-jsx"
|
|
510
516
|
}
|
|
511
517
|
}
|
|
@@ -524,12 +530,12 @@ function App() {
|
|
|
524
530
|
const handleTabsChange = (_: SyntheticEvent, tabsValue: unknown) => {
|
|
525
531
|
setValue(tabsValue as number);
|
|
526
532
|
};
|
|
527
|
-
|
|
533
|
+
|
|
528
534
|
return (
|
|
529
535
|
<div className="app">
|
|
530
536
|
<Tabs value={value} sdsSize="small" onChange={handleTabsChange}>
|
|
531
|
-
<Tab label="First Tab"/>
|
|
532
|
-
<Tab label="Second Tab"/>
|
|
537
|
+
<Tab label="First Tab" />
|
|
538
|
+
<Tab label="Second Tab" />
|
|
533
539
|
</Tabs>
|
|
534
540
|
</div>
|
|
535
541
|
);
|
|
@@ -575,13 +581,12 @@ root.render(
|
|
|
575
581
|
<RootApp />
|
|
576
582
|
</React.StrictMode>
|
|
577
583
|
);
|
|
578
|
-
|
|
579
584
|
```
|
|
580
585
|
|
|
581
586
|
**/public/index.html**
|
|
582
587
|
|
|
583
588
|
```html
|
|
584
|
-
<!
|
|
589
|
+
<!doctype html>
|
|
585
590
|
<html lang="en">
|
|
586
591
|
<head>
|
|
587
592
|
<meta charset="UTF-8" />
|
|
@@ -602,13 +607,24 @@ root.render(
|
|
|
602
607
|
<div id="root"></div>
|
|
603
608
|
</body>
|
|
604
609
|
</html>
|
|
605
|
-
|
|
606
610
|
```
|
|
607
611
|
|
|
608
612
|
**/package.json**
|
|
609
613
|
|
|
610
614
|
```json
|
|
611
|
-
{
|
|
615
|
+
{
|
|
616
|
+
"dependencies": {
|
|
617
|
+
"react": "^18.0.0",
|
|
618
|
+
"react-dom": "^18.0.0",
|
|
619
|
+
"react-scripts": "^4.0.0"
|
|
620
|
+
},
|
|
621
|
+
"devDependencies": {
|
|
622
|
+
"@types/react": "^18.0.0",
|
|
623
|
+
"@types/react-dom": "^18.0.0",
|
|
624
|
+
"typescript": "^4.0.0"
|
|
625
|
+
},
|
|
626
|
+
"main": "/index.tsx"
|
|
627
|
+
}
|
|
612
628
|
```
|
|
613
629
|
|
|
614
630
|
---
|
|
@@ -642,13 +658,11 @@ h1 {
|
|
|
642
658
|
|
|
643
659
|
```json
|
|
644
660
|
{
|
|
645
|
-
"include": [
|
|
646
|
-
"./**/*"
|
|
647
|
-
],
|
|
661
|
+
"include": ["./**/*"],
|
|
648
662
|
"compilerOptions": {
|
|
649
663
|
"strict": true,
|
|
650
664
|
"esModuleInterop": true,
|
|
651
|
-
"lib": [
|
|
665
|
+
"lib": ["dom", "es2015"],
|
|
652
666
|
"jsx": "react-jsx"
|
|
653
667
|
}
|
|
654
668
|
}
|
|
@@ -672,7 +686,7 @@ function App() {
|
|
|
672
686
|
const CountWrapper = styled("span")`
|
|
673
687
|
margin-right: 5px;
|
|
674
688
|
`;
|
|
675
|
-
|
|
689
|
+
|
|
676
690
|
function BetaTagWithCount() {
|
|
677
691
|
return (
|
|
678
692
|
<>
|
|
@@ -681,10 +695,15 @@ function App() {
|
|
|
681
695
|
</>
|
|
682
696
|
);
|
|
683
697
|
}
|
|
684
|
-
|
|
698
|
+
|
|
685
699
|
return (
|
|
686
700
|
<div className="app">
|
|
687
|
-
<Tabs
|
|
701
|
+
<Tabs
|
|
702
|
+
value={value}
|
|
703
|
+
sdsSize="large"
|
|
704
|
+
onChange={handleTabsChange}
|
|
705
|
+
underlined
|
|
706
|
+
>
|
|
688
707
|
<Tab label="First Tab" count="4" />
|
|
689
708
|
<Tab label="Second Tab" count="20" />
|
|
690
709
|
<Tab label="Third Tab" count={<BetaTagWithCount />} />
|
|
@@ -733,13 +752,12 @@ root.render(
|
|
|
733
752
|
<RootApp />
|
|
734
753
|
</React.StrictMode>
|
|
735
754
|
);
|
|
736
|
-
|
|
737
755
|
```
|
|
738
756
|
|
|
739
757
|
**/public/index.html**
|
|
740
758
|
|
|
741
759
|
```html
|
|
742
|
-
<!
|
|
760
|
+
<!doctype html>
|
|
743
761
|
<html lang="en">
|
|
744
762
|
<head>
|
|
745
763
|
<meta charset="UTF-8" />
|
|
@@ -760,14 +778,24 @@ root.render(
|
|
|
760
778
|
<div id="root"></div>
|
|
761
779
|
</body>
|
|
762
780
|
</html>
|
|
763
|
-
|
|
764
781
|
```
|
|
765
782
|
|
|
766
783
|
**/package.json**
|
|
767
784
|
|
|
768
785
|
```json
|
|
769
|
-
{
|
|
786
|
+
{
|
|
787
|
+
"dependencies": {
|
|
788
|
+
"react": "^18.0.0",
|
|
789
|
+
"react-dom": "^18.0.0",
|
|
790
|
+
"react-scripts": "^4.0.0"
|
|
791
|
+
},
|
|
792
|
+
"devDependencies": {
|
|
793
|
+
"@types/react": "^18.0.0",
|
|
794
|
+
"@types/react-dom": "^18.0.0",
|
|
795
|
+
"typescript": "^4.0.0"
|
|
796
|
+
},
|
|
797
|
+
"main": "/index.tsx"
|
|
798
|
+
}
|
|
770
799
|
```
|
|
771
800
|
|
|
772
801
|
---
|
|
773
|
-
|