@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
|
@@ -4,15 +4,15 @@ Filters are used to narrow down large amounts of data based on specific criteria
|
|
|
4
4
|
|
|
5
5
|
## Overview
|
|
6
6
|
|
|
7
|
-
|
|
|
8
|
-
| --- |
|
|
7
|
+
| | In Figma | | | Meets Accessibility | | | In napari hub + .org Codebases |
|
|
8
|
+
| --- | -------- | --- | --- | ------------------- | --- | --- | ------------------------------ |
|
|
9
9
|
|
|
10
10
|
Filters are comprised of a Dropdown Input which serves as a clickable Filter label combined with a Dropdown Menu to show the Filter Input options when the Filter Label is active, and Tags to display which options are currently being filtered on. The Dropdown Menu activated when the Filter Label is clicked displays the Filter Input options available.
|
|
11
11
|
|
|
12
12
|
Users can filter using any combination of Filter options presented to them—see the Filtering Logic section below for an overview of how applied Filters affect the dataset being filtered on.
|
|
13
13
|
|
|
14
14
|
| **Closed** | **Open** | **Active** |
|
|
15
|
-
|
|
|
15
|
+
| ---------- | -------- | ---------- |
|
|
16
16
|
|
|
17
17
|
### Filter Variants
|
|
18
18
|
|
|
@@ -38,12 +38,12 @@ Filtering logic is handled at the product level; however, this section offers so
|
|
|
38
38
|
|
|
39
39
|
## Filter Components
|
|
40
40
|
|
|
41
|
-
| Below you will find an interactive Storybook iframe for Filters.
|
|
42
|
-
|
|
|
41
|
+
| Below you will find an interactive Storybook iframe for Filters. 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:** FilterComplex |
|
|
42
|
+
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --- | ------------------------------------ |
|
|
43
43
|
|
|
44
44
|
---
|
|
45
45
|
|
|
46
|
-
>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.
|
|
46
|
+
> 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.
|
|
47
47
|
|
|
48
48
|
### FilterComplex
|
|
49
49
|
|
|
@@ -57,15 +57,15 @@ Filters are used to narrow down large amounts of data based on specific criteria
|
|
|
57
57
|
|
|
58
58
|
## Overview
|
|
59
59
|
|
|
60
|
-
|
|
|
61
|
-
| --- |
|
|
60
|
+
| | In Figma | | | Meets Accessibility | | | In CZ GEN EPI Codebase |
|
|
61
|
+
| --- | -------- | --- | --- | ------------------- | --- | --- | ---------------------- |
|
|
62
62
|
|
|
63
63
|
Filters are comprised of a Dropdown Input which serves as a clickable Filter label combined with a Dropdown Menu to show the Filter Input options when the Filter Label is active, and Filter Tags to display which options are currently being filtered on.
|
|
64
64
|
|
|
65
65
|
The Dropdown Menu that is activated when the Filter Label is clicked displays the Filter Input options available and, depending on the needs of the dataset, can be Single-select (Radio Lockup), Multi-select (Checkbox Lockup), or a Range (Slider). Users can filter using any combination of Filter options presented to them—see the Filtering Logic section below for an overview of how applied Filters affect the dataset being filtered on.
|
|
66
66
|
|
|
67
67
|
| **Closed** | **Open** | **Active** |
|
|
68
|
-
|
|
|
68
|
+
| ---------- | -------- | ---------- |
|
|
69
69
|
|
|
70
70
|
### Filter Variants
|
|
71
71
|
|
|
@@ -75,7 +75,7 @@ The Dropdown Menu that is activated when the Filter Label is clicked displays th
|
|
|
75
75
|
|
|
76
76
|
---
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
|
|
79
79
|
|
|
80
80
|
### Filter Example
|
|
81
81
|
|
|
@@ -99,12 +99,12 @@ Filtering logic is handled at the product level, however, this section offers so
|
|
|
99
99
|
|
|
100
100
|
## Filter Components
|
|
101
101
|
|
|
102
|
-
| Below you will find an interactive Storybook iframe for Filters.
|
|
103
|
-
|
|
|
102
|
+
| Below you will find an interactive Storybook iframe for Filters. 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:** FilterComplex |
|
|
103
|
+
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --- | ------------------------------------ |
|
|
104
104
|
|
|
105
105
|
---
|
|
106
106
|
|
|
107
|
-
>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.
|
|
107
|
+
> 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.
|
|
108
108
|
|
|
109
109
|
### FilterComplex
|
|
110
110
|
|
|
@@ -118,15 +118,15 @@ Filters are used to narrow down large amounts of data based on specific criteria
|
|
|
118
118
|
|
|
119
119
|
## Filter Variants
|
|
120
120
|
|
|
121
|
-
| Filters come in two different variants for designers to use depending on the filtering needs of the dataset the filter applies to. Simple Filters are used when the dataset has few filter options and there is space within the layout to fit them all, whereas Complex Filters are used when there are multiple filters needed to fit into one layout, necessitating a more compact design.
|
|
122
|
-
|
|
|
121
|
+
| Filters come in two different variants for designers to use depending on the filtering needs of the dataset the filter applies to. Simple Filters are used when the dataset has few filter options and there is space within the layout to fit them all, whereas Complex Filters are used when there are multiple filters needed to fit into one layout, necessitating a more compact design. Follow the usage criteria accompanying each variant as a guide for selecting the correct Filter for any given use case. | | **Jump to variant:** Simple Complex Filtering Logic |
|
|
122
|
+
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | --------------------------------------------------- |
|
|
123
123
|
|
|
124
124
|
---
|
|
125
125
|
|
|
126
126
|
## Simple Filter
|
|
127
127
|
|
|
128
|
-
|
|
|
129
|
-
| --- |
|
|
128
|
+
| | In Figma | | | Meets Accessibility | | | In CZ ID Codebase |
|
|
129
|
+
| --- | -------- | --- | --- | ------------------- | --- | --- | ----------------- |
|
|
130
130
|
|
|
131
131
|
Use the Simple Filter when there are only a few options to filter on or there are only a few filter categories needed for a given dataset. Simple Filters are comprised of a Filter Label combined with a Filter Input that is Single-select (Radio Lockup), Multi-select (Checkbox Lockup), or a Range (Slider) depending on the filtering needs of the dataset. In contrast to Complex Filters which keep filter options contained within a Dropdown Menu, Simple Filters have all of the options for each filter exposed in the UI and viewable by the user. Users can filter using any combination of Filter options presented to them—see the Filtering Logic section below for an overview of how applied Filters affect the dataset being filtered.
|
|
132
132
|
|
|
@@ -138,7 +138,7 @@ Use the Simple Filter when there are only a few options to filter on or there ar
|
|
|
138
138
|
|
|
139
139
|
The example below shows Simple Filters being used as part of a Basic Panel in CZ ID.
|
|
140
140
|
|
|
141
|
-
|
|
141
|
+
|
|
142
142
|
|
|
143
143
|
---
|
|
144
144
|
|
|
@@ -150,15 +150,15 @@ These rules establish how much margin should exist between and around elements.
|
|
|
150
150
|
|
|
151
151
|
## Complex Filter
|
|
152
152
|
|
|
153
|
-
|
|
|
154
|
-
| --- |
|
|
153
|
+
| | In Figma | | | Meets Accessibility | | | In CZ ID Codebase |
|
|
154
|
+
| --- | -------- | --- | --- | ------------------- | --- | --- | ----------------- |
|
|
155
155
|
|
|
156
156
|
Use the Complex Filter when there are multiple filters needed to fit into one layout, necessitating a more compact design than a Simple Filter would allow for. Complex Filters are comprised of a Dropdown Input which serves as a clickable Filter Label combined with a Dropdown Menu to show the Filter Input options when the Filter Label is active, and Filter Tags to display which options are currently being filtered on.
|
|
157
157
|
|
|
158
158
|
The Dropdown Menu that is activated when the Filter Label is clicked displays the Filter Input options available and, depending on the needs of the dataset, can be Single-select (Radio Lockup), Multi-select (Checkbox Lockup), or a Range (Slider). Users can filter using any combination of Filter options presented to them—see the Filtering Logic section below for an overview of how applied Filters affect the dataset being filtered on.
|
|
159
159
|
|
|
160
160
|
| **Closed** | **Open** | **Active** |
|
|
161
|
-
|
|
|
161
|
+
| ---------- | -------- | ---------- |
|
|
162
162
|
|
|
163
163
|
### Complex Filter Variants
|
|
164
164
|
|
|
@@ -170,7 +170,7 @@ The Dropdown Menu that is activated when the Filter Label is clicked displays th
|
|
|
170
170
|
|
|
171
171
|
---
|
|
172
172
|
|
|
173
|
-
|
|
173
|
+
|
|
174
174
|
|
|
175
175
|
### Complex Filter Example
|
|
176
176
|
|
|
@@ -194,8 +194,8 @@ Filtering logic is handled at the product level, however, this section offers so
|
|
|
194
194
|
|
|
195
195
|
## Filter Components
|
|
196
196
|
|
|
197
|
-
| Below you will find an interactive Storybook iframe for Panels.
|
|
198
|
-
|
|
|
197
|
+
| Below you will find an interactive Storybook iframe for Panels. 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:** FilterSimple FilterComplex |
|
|
198
|
+
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | ------------------------------------------------- |
|
|
199
199
|
|
|
200
200
|
---
|
|
201
201
|
|
|
@@ -215,8 +215,8 @@ Filters are used to narrow down large amounts of data based on specific criteria
|
|
|
215
215
|
|
|
216
216
|
## Filter Components
|
|
217
217
|
|
|
218
|
-
| There are two Filter components available to use depending on the filtering needs of the dataset. Simple Filter is used when the dataset has few filters and there is space within the layout to fit them all, whereas Complex Filter is used when there are many filters needed to fit into one layout, necessitating a more compact design. |
|
|
219
|
-
|
|
|
218
|
+
| There are two Filter components available to use depending on the filtering needs of the dataset. Simple Filter is used when the dataset has few filters and there is space within the layout to fit them all, whereas Complex Filter is used when there are many filters needed to fit into one layout, necessitating a more compact design. | | **Jump to component:** Simple Filter Complex Filter |
|
|
219
|
+
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | --------------------------------------------------- |
|
|
220
220
|
|
|
221
221
|
### Visual Preview
|
|
222
222
|
|
|
@@ -224,12 +224,12 @@ Filters are used to narrow down large amounts of data based on specific criteria
|
|
|
224
224
|
|
|
225
225
|
## Simple Filter
|
|
226
226
|
|
|
227
|
-
|
|
|
228
|
-
| --- |
|
|
227
|
+
| | In Figma | | | Meets Accessibility | | | In Code |
|
|
228
|
+
| --- | -------- | --- | --- | ------------------- | --- | --- | ------- |
|
|
229
229
|
|
|
230
230
|
### Live Instance
|
|
231
231
|
|
|
232
|
-
|
|
232
|
+
> **Note:** Live instance for Simple Filter will be added soon.
|
|
233
233
|
|
|
234
234
|
---
|
|
235
235
|
|
|
@@ -238,7 +238,7 @@ Filters are used to narrow down large amounts of data based on specific criteria
|
|
|
238
238
|
Use Simple Filter when there are only a few filter categories or a few options per category needed for a given dataset. Simple Filter is comprised of a label combined with an input that is Single-select (Radio Input), Multi-select (Checkbox Input), or a Range (Slider) depending on the filtering needs of the dataset. It has all of the options for each filter exposed in the UI and viewable by the user. Users can filter using any combination of Filter options presented to them—see the Filtering Logic section below for an overview of how applied Filters affect the dataset being filtered.
|
|
239
239
|
|
|
240
240
|
| Single-select | Multi-select | Range |
|
|
241
|
-
|
|
|
241
|
+
| ------------- | ------------ | ----- |
|
|
242
242
|
|
|
243
243
|
---
|
|
244
244
|
|
|
@@ -256,8 +256,8 @@ These rules establish how much margin should exist between and around elements.
|
|
|
256
256
|
|
|
257
257
|
## Complex Filter
|
|
258
258
|
|
|
259
|
-
|
|
|
260
|
-
| --- |
|
|
259
|
+
| | In Figma | | | Meets Accessibility | | | In Code |
|
|
260
|
+
| --- | -------- | --- | --- | ------------------- | --- | --- | ------- |
|
|
261
261
|
|
|
262
262
|
### Live Instance
|
|
263
263
|
|
|
@@ -274,12 +274,12 @@ Use Complex Filter when there are many filters needed to fit into one layout, ne
|
|
|
274
274
|
The Dropdown Menu triggered when the Dropdown Input is clicked can be Single-select, Multi-select, or a Range (Slider) depending on the needs of the dataset. Users can filter using any combination of Filter options presented to them—see the Filtering Logic section below for an overview of how applied Filters affect the dataset being filtered on.
|
|
275
275
|
|
|
276
276
|
| Single-select | Single-select + Search | Multi-select | Multi-select + Search | Range |
|
|
277
|
-
|
|
|
277
|
+
| ------------- | ---------------------- | ------------ | --------------------- | ----- |
|
|
278
278
|
|
|
279
279
|
#### **Complex Filter states**
|
|
280
280
|
|
|
281
281
|
| Closed | Open | Active |
|
|
282
|
-
|
|
|
282
|
+
| ------ | ---- | ------ |
|
|
283
283
|
|
|
284
284
|
---
|
|
285
285
|
|
|
@@ -303,18 +303,18 @@ Filtering logic is handled at the product level, however, this section offers so
|
|
|
303
303
|
|
|
304
304
|
## Filter Components
|
|
305
305
|
|
|
306
|
-
| There are two `Filter` components available to use depending on the filtering needs of the dataset. `SimpleFilter` is used when the dataset has few filters and there is space within the layout to fit them all, whereas `ComplexFilter` is used when there are many filters needed to fit into one layout, necessitating a more compact design. |
|
|
307
|
-
|
|
|
306
|
+
| There are two `Filter` components available to use depending on the filtering needs of the dataset. `SimpleFilter` is used when the dataset has few filters and there is space within the layout to fit them all, whereas `ComplexFilter` is used when there are many filters needed to fit into one layout, necessitating a more compact design. | | **Jump to component:** SimpleFilter ComplexFilter |
|
|
307
|
+
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | ------------------------------------------------- |
|
|
308
308
|
|
|
309
309
|
### Visual Preview
|
|
310
310
|
|
|
311
|
-
|
|
311
|
+
> **Note:** The code examples below must install dependencies before displaying and may take extra time to load
|
|
312
312
|
|
|
313
313
|
---
|
|
314
314
|
|
|
315
315
|
## SimpleFilter
|
|
316
316
|
|
|
317
|
-
|
|
317
|
+
> **Note:** Code details for `SimpleFilter` will be added soon.
|
|
318
318
|
|
|
319
319
|
---
|
|
320
320
|
|
|
@@ -328,21 +328,21 @@ The component's source code in the SDS codebase can be found here.
|
|
|
328
328
|
|
|
329
329
|
The `ComplexFilter` is not directly based on any MUI component, but it does use the SDS `Dropdown` component, which in turn is ultimately based on MUI's `Autocomplete` component. As such, props that are available to either SDS's `Dropdown` and / or MUI's `Autocomplete` can be passed to `ComplexFilter` as such:
|
|
330
330
|
|
|
331
|
-
|
|
332
|
-
|
|
331
|
+
- **`DropdownMenuProps`\*\***:\*\* use this prop to pass MUI`Autocomplete`-specific props to `ComplexFilter`
|
|
332
|
+
- **`InputDropdownProps`\*\***:\*\* use this prop to pass SDS `InputDropdown`-specific props to `ComplexFilter`
|
|
333
333
|
|
|
334
334
|
### Props
|
|
335
335
|
|
|
336
336
|
Any custom SDS props and MUI props required for implementation are found in the table below. See the MUI documentation for additional optional props.
|
|
337
337
|
|
|
338
|
-
| Name
|
|
339
|
-
|
|
|
340
|
-
| `isTriggerChangeOnOptionClick` | `bool`
|
|
341
|
-
| `keepSearchOnSelect`
|
|
342
|
-
| `label`
|
|
343
|
-
| `multiple`
|
|
344
|
-
| `onChange`
|
|
345
|
-
| `search`
|
|
338
|
+
| Name | Type | Default | Description |
|
|
339
|
+
| ------------------------------ | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
340
|
+
| `isTriggerChangeOnOptionClick` | `bool` | `false` | Determines whether changes are triggered in real-time upon clicking an option |
|
|
341
|
+
| `keepSearchOnSelect` | `bool` | | Maintains a search input when a user selects an option (only if multiple selections are allowed via the `multiple` prop; otherwise the dropdown closes upon selection) |
|
|
342
|
+
| `label` | `string` | `""` | Sets the label of filter, shown both when closed and open |
|
|
343
|
+
| `multiple` | `bool` | `false` | Defines whether multiple selections or can be made from the filter simultaneously or only one |
|
|
344
|
+
| `onChange` | `func` | `-` | Function to set what happens when a new value is set via the filter |
|
|
345
|
+
| `search` | `bool` | `false` | Provides a search bar at the top of the filter from which users can narrow the list of menu items |
|
|
346
346
|
|
|
347
347
|
### Code Examples
|
|
348
348
|
|
|
@@ -375,13 +375,11 @@ h1 {
|
|
|
375
375
|
|
|
376
376
|
```json
|
|
377
377
|
{
|
|
378
|
-
"include": [
|
|
379
|
-
"./**/*"
|
|
380
|
-
],
|
|
378
|
+
"include": ["./**/*"],
|
|
381
379
|
"compilerOptions": {
|
|
382
380
|
"strict": true,
|
|
383
381
|
"esModuleInterop": true,
|
|
384
|
-
"lib": [
|
|
382
|
+
"lib": ["dom", "es2015"],
|
|
385
383
|
"jsx": "react-jsx"
|
|
386
384
|
}
|
|
387
385
|
}
|
|
@@ -397,35 +395,34 @@ const MENU_ITEMS: DefaultDropdownMenuOption[] = [
|
|
|
397
395
|
{
|
|
398
396
|
name: "Fruit: Apple",
|
|
399
397
|
section: "Fruit",
|
|
400
|
-
count: 10
|
|
398
|
+
count: 10,
|
|
401
399
|
},
|
|
402
400
|
{
|
|
403
401
|
name: "Fruit: Cherry",
|
|
404
402
|
section: "Fruit",
|
|
405
|
-
count: 150
|
|
403
|
+
count: 150,
|
|
406
404
|
},
|
|
407
405
|
{
|
|
408
406
|
name: "Fruit: Orange",
|
|
409
407
|
section: "Fruit",
|
|
410
|
-
count: 15
|
|
408
|
+
count: 15,
|
|
411
409
|
},
|
|
412
410
|
{
|
|
413
411
|
name: "Vegetable: Carrot",
|
|
414
412
|
section: "Vegetable",
|
|
415
|
-
count: 34
|
|
413
|
+
count: 34,
|
|
416
414
|
},
|
|
417
415
|
{
|
|
418
416
|
name: "Vegetable: Kale",
|
|
419
|
-
section: "Vegetable"
|
|
417
|
+
section: "Vegetable",
|
|
420
418
|
},
|
|
421
419
|
{
|
|
422
420
|
name: "Vegetable: Lettuce",
|
|
423
|
-
section: "Vegetable"
|
|
421
|
+
section: "Vegetable",
|
|
424
422
|
},
|
|
425
423
|
];
|
|
426
424
|
|
|
427
425
|
function App() {
|
|
428
|
-
|
|
429
426
|
return (
|
|
430
427
|
<div className="app">
|
|
431
428
|
<ComplexFilter
|
|
@@ -477,13 +474,12 @@ root.render(
|
|
|
477
474
|
<RootApp />
|
|
478
475
|
</React.StrictMode>
|
|
479
476
|
);
|
|
480
|
-
|
|
481
477
|
```
|
|
482
478
|
|
|
483
479
|
**/public/index.html**
|
|
484
480
|
|
|
485
481
|
```html
|
|
486
|
-
<!
|
|
482
|
+
<!doctype html>
|
|
487
483
|
<html lang="en">
|
|
488
484
|
<head>
|
|
489
485
|
<meta charset="UTF-8" />
|
|
@@ -504,13 +500,24 @@ root.render(
|
|
|
504
500
|
<div id="root"></div>
|
|
505
501
|
</body>
|
|
506
502
|
</html>
|
|
507
|
-
|
|
508
503
|
```
|
|
509
504
|
|
|
510
505
|
**/package.json**
|
|
511
506
|
|
|
512
507
|
```json
|
|
513
|
-
{
|
|
508
|
+
{
|
|
509
|
+
"dependencies": {
|
|
510
|
+
"react": "^18.0.0",
|
|
511
|
+
"react-dom": "^18.0.0",
|
|
512
|
+
"react-scripts": "^4.0.0"
|
|
513
|
+
},
|
|
514
|
+
"devDependencies": {
|
|
515
|
+
"@types/react": "^18.0.0",
|
|
516
|
+
"@types/react-dom": "^18.0.0",
|
|
517
|
+
"typescript": "^4.0.0"
|
|
518
|
+
},
|
|
519
|
+
"main": "/index.tsx"
|
|
520
|
+
}
|
|
514
521
|
```
|
|
515
522
|
|
|
516
523
|
---
|
|
@@ -544,13 +551,11 @@ h1 {
|
|
|
544
551
|
|
|
545
552
|
```json
|
|
546
553
|
{
|
|
547
|
-
"include": [
|
|
548
|
-
"./**/*"
|
|
549
|
-
],
|
|
554
|
+
"include": ["./**/*"],
|
|
550
555
|
"compilerOptions": {
|
|
551
556
|
"strict": true,
|
|
552
557
|
"esModuleInterop": true,
|
|
553
|
-
"lib": [
|
|
558
|
+
"lib": ["dom", "es2015"],
|
|
554
559
|
"jsx": "react-jsx"
|
|
555
560
|
}
|
|
556
561
|
}
|
|
@@ -566,35 +571,34 @@ const MENU_ITEMS: DefaultDropdownMenuOption[] = [
|
|
|
566
571
|
{
|
|
567
572
|
name: "Fruit: Apple",
|
|
568
573
|
section: "Fruit",
|
|
569
|
-
count: 10
|
|
574
|
+
count: 10,
|
|
570
575
|
},
|
|
571
576
|
{
|
|
572
577
|
name: "Fruit: Cherry",
|
|
573
578
|
section: "Fruit",
|
|
574
|
-
count: 150
|
|
579
|
+
count: 150,
|
|
575
580
|
},
|
|
576
581
|
{
|
|
577
582
|
name: "Fruit: Orange",
|
|
578
583
|
section: "Fruit",
|
|
579
|
-
count: 15
|
|
584
|
+
count: 15,
|
|
580
585
|
},
|
|
581
586
|
{
|
|
582
587
|
name: "Vegetable: Carrot",
|
|
583
588
|
section: "Vegetable",
|
|
584
|
-
count: 34
|
|
589
|
+
count: 34,
|
|
585
590
|
},
|
|
586
591
|
{
|
|
587
592
|
name: "Vegetable: Kale",
|
|
588
|
-
section: "Vegetable"
|
|
593
|
+
section: "Vegetable",
|
|
589
594
|
},
|
|
590
595
|
{
|
|
591
596
|
name: "Vegetable: Lettuce",
|
|
592
|
-
section: "Vegetable"
|
|
597
|
+
section: "Vegetable",
|
|
593
598
|
},
|
|
594
599
|
];
|
|
595
600
|
|
|
596
601
|
function App() {
|
|
597
|
-
|
|
598
602
|
return (
|
|
599
603
|
<div className="app">
|
|
600
604
|
<ComplexFilter
|
|
@@ -652,13 +656,12 @@ root.render(
|
|
|
652
656
|
<RootApp />
|
|
653
657
|
</React.StrictMode>
|
|
654
658
|
);
|
|
655
|
-
|
|
656
659
|
```
|
|
657
660
|
|
|
658
661
|
**/public/index.html**
|
|
659
662
|
|
|
660
663
|
```html
|
|
661
|
-
<!
|
|
664
|
+
<!doctype html>
|
|
662
665
|
<html lang="en">
|
|
663
666
|
<head>
|
|
664
667
|
<meta charset="UTF-8" />
|
|
@@ -679,13 +682,24 @@ root.render(
|
|
|
679
682
|
<div id="root"></div>
|
|
680
683
|
</body>
|
|
681
684
|
</html>
|
|
682
|
-
|
|
683
685
|
```
|
|
684
686
|
|
|
685
687
|
**/package.json**
|
|
686
688
|
|
|
687
689
|
```json
|
|
688
|
-
{
|
|
690
|
+
{
|
|
691
|
+
"dependencies": {
|
|
692
|
+
"react": "^18.0.0",
|
|
693
|
+
"react-dom": "^18.0.0",
|
|
694
|
+
"react-scripts": "^4.0.0"
|
|
695
|
+
},
|
|
696
|
+
"devDependencies": {
|
|
697
|
+
"@types/react": "^18.0.0",
|
|
698
|
+
"@types/react-dom": "^18.0.0",
|
|
699
|
+
"typescript": "^4.0.0"
|
|
700
|
+
},
|
|
701
|
+
"main": "/index.tsx"
|
|
702
|
+
}
|
|
689
703
|
```
|
|
690
704
|
|
|
691
705
|
---
|
|
@@ -719,13 +733,11 @@ h1 {
|
|
|
719
733
|
|
|
720
734
|
```json
|
|
721
735
|
{
|
|
722
|
-
"include": [
|
|
723
|
-
"./**/*"
|
|
724
|
-
],
|
|
736
|
+
"include": ["./**/*"],
|
|
725
737
|
"compilerOptions": {
|
|
726
738
|
"strict": true,
|
|
727
739
|
"esModuleInterop": true,
|
|
728
|
-
"lib": [
|
|
740
|
+
"lib": ["dom", "es2015"],
|
|
729
741
|
"jsx": "react-jsx"
|
|
730
742
|
}
|
|
731
743
|
}
|
|
@@ -741,35 +753,34 @@ const MENU_ITEMS: DefaultDropdownMenuOption[] = [
|
|
|
741
753
|
{
|
|
742
754
|
name: "Fruit: Apple",
|
|
743
755
|
section: "Fruit",
|
|
744
|
-
count: 10
|
|
756
|
+
count: 10,
|
|
745
757
|
},
|
|
746
758
|
{
|
|
747
759
|
name: "Fruit: Cherry",
|
|
748
760
|
section: "Fruit",
|
|
749
|
-
count: 150
|
|
761
|
+
count: 150,
|
|
750
762
|
},
|
|
751
763
|
{
|
|
752
764
|
name: "Fruit: Orange",
|
|
753
765
|
section: "Fruit",
|
|
754
|
-
count: 15
|
|
766
|
+
count: 15,
|
|
755
767
|
},
|
|
756
768
|
{
|
|
757
769
|
name: "Vegetable: Carrot",
|
|
758
770
|
section: "Vegetable",
|
|
759
|
-
count: 34
|
|
771
|
+
count: 34,
|
|
760
772
|
},
|
|
761
773
|
{
|
|
762
774
|
name: "Vegetable: Kale",
|
|
763
|
-
section: "Vegetable"
|
|
775
|
+
section: "Vegetable",
|
|
764
776
|
},
|
|
765
777
|
{
|
|
766
778
|
name: "Vegetable: Lettuce",
|
|
767
|
-
section: "Vegetable"
|
|
779
|
+
section: "Vegetable",
|
|
768
780
|
},
|
|
769
781
|
];
|
|
770
782
|
|
|
771
783
|
function App() {
|
|
772
|
-
|
|
773
784
|
return (
|
|
774
785
|
<div className="app">
|
|
775
786
|
<ComplexFilter
|
|
@@ -828,13 +839,12 @@ root.render(
|
|
|
828
839
|
<RootApp />
|
|
829
840
|
</React.StrictMode>
|
|
830
841
|
);
|
|
831
|
-
|
|
832
842
|
```
|
|
833
843
|
|
|
834
844
|
**/public/index.html**
|
|
835
845
|
|
|
836
846
|
```html
|
|
837
|
-
<!
|
|
847
|
+
<!doctype html>
|
|
838
848
|
<html lang="en">
|
|
839
849
|
<head>
|
|
840
850
|
<meta charset="UTF-8" />
|
|
@@ -855,14 +865,24 @@ root.render(
|
|
|
855
865
|
<div id="root"></div>
|
|
856
866
|
</body>
|
|
857
867
|
</html>
|
|
858
|
-
|
|
859
868
|
```
|
|
860
869
|
|
|
861
870
|
**/package.json**
|
|
862
871
|
|
|
863
872
|
```json
|
|
864
|
-
{
|
|
873
|
+
{
|
|
874
|
+
"dependencies": {
|
|
875
|
+
"react": "^18.0.0",
|
|
876
|
+
"react-dom": "^18.0.0",
|
|
877
|
+
"react-scripts": "^4.0.0"
|
|
878
|
+
},
|
|
879
|
+
"devDependencies": {
|
|
880
|
+
"@types/react": "^18.0.0",
|
|
881
|
+
"@types/react-dom": "^18.0.0",
|
|
882
|
+
"typescript": "^4.0.0"
|
|
883
|
+
},
|
|
884
|
+
"main": "/index.tsx"
|
|
885
|
+
}
|
|
865
886
|
```
|
|
866
887
|
|
|
867
888
|
---
|
|
868
|
-
|