@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.
Files changed (145) hide show
  1. package/data/component-props/Accordion.json +14 -15
  2. package/data/component-props/Alert.json +2 -44
  3. package/data/component-props/Autocomplete.json +14 -32
  4. package/data/component-props/Banner.json +11 -12
  5. package/data/component-props/Button.json +17 -82
  6. package/data/component-props/ButtonDropdown.json +26 -0
  7. package/data/component-props/ButtonIcon.json +4 -60
  8. package/data/component-props/ButtonToggle.json +2 -66
  9. package/data/component-props/Callout.json +11 -65
  10. package/data/component-props/CellBasic.json +28 -56
  11. package/data/component-props/CellComponent.json +4 -32
  12. package/data/component-props/CellHeader.json +13 -49
  13. package/data/component-props/ComplexFilter.json +24 -4
  14. package/data/component-props/ContentCard.json +66 -2
  15. package/data/component-props/Dialog.json +26 -0
  16. package/data/component-props/Dropdown.json +29 -67
  17. package/data/component-props/DropdownMenu.json +16 -56
  18. package/data/component-props/HeatmapChart.json +6 -87
  19. package/data/component-props/Icon.json +3 -8
  20. package/data/component-props/InputCheckbox.json +5 -53
  21. package/data/component-props/InputDropdown.json +11 -33
  22. package/data/component-props/InputRadio.json +5 -53
  23. package/data/component-props/InputSearch.json +6 -70
  24. package/data/component-props/InputSlider.json +21 -35
  25. package/data/component-props/InputText.json +7 -63
  26. package/data/component-props/InputToggle.json +5 -54
  27. package/data/component-props/Link.json +18 -0
  28. package/data/component-props/LoadingIndicator.json +1 -2
  29. package/data/component-props/MenuItem.json +11 -41
  30. package/data/component-props/MenuSelect.json +4 -67
  31. package/data/component-props/NavigationFooter.json +0 -8
  32. package/data/component-props/NavigationHeader.json +14 -65
  33. package/data/component-props/NavigationJumpTo.json +0 -40
  34. package/data/component-props/Notification.json +14 -58
  35. package/data/component-props/Pagination.json +8 -33
  36. package/data/component-props/Panel.json +4 -54
  37. package/data/component-props/SegmentedControl.json +0 -55
  38. package/data/component-props/TableRow.json +10 -38
  39. package/data/component-props/Tabs.json +18 -0
  40. package/data/component-props/Tag.json +10 -56
  41. package/data/component-props/TagFilter.json +0 -47
  42. package/data/component-props/Tooltip.json +12 -61
  43. package/data/component-props/TooltipCondensed.json +18 -0
  44. package/data/component-props/TooltipTable.json +0 -4
  45. package/data/zeroheight-exports/Accordion.md +167 -125
  46. package/data/zeroheight-exports/Banner.md +71 -48
  47. package/data/zeroheight-exports/Borders.md +72 -73
  48. package/data/zeroheight-exports/Buttons.md +375 -330
  49. package/data/zeroheight-exports/Callout.md +138 -116
  50. package/data/zeroheight-exports/Colors.md +254 -255
  51. package/data/zeroheight-exports/Content-Card.md +36 -37
  52. package/data/zeroheight-exports/Contributing-to-SDS.md +34 -35
  53. package/data/zeroheight-exports/Control-Inputs.md +289 -234
  54. package/data/zeroheight-exports/Corners.md +63 -64
  55. package/data/zeroheight-exports/Cover-page.md +0 -1
  56. package/data/zeroheight-exports/Dialog.md +237 -179
  57. package/data/zeroheight-exports/Downloads.md +10 -11
  58. package/data/zeroheight-exports/Drop-Shadows.md +40 -41
  59. package/data/zeroheight-exports/Dropdown-Input.md +158 -127
  60. package/data/zeroheight-exports/Dropdown-Menu.md +814 -718
  61. package/data/zeroheight-exports/Element-Status-Tracker.md +191 -192
  62. package/data/zeroheight-exports/Field-Inputs.md +149 -130
  63. package/data/zeroheight-exports/Filters.md +114 -94
  64. package/data/zeroheight-exports/Getting-Started.md +112 -249
  65. package/data/zeroheight-exports/Hero.md +43 -37
  66. package/data/zeroheight-exports/Icons.md +205 -206
  67. package/data/zeroheight-exports/Intent.md +6 -7
  68. package/data/zeroheight-exports/Introduction-to-Bases.md +8 -9
  69. package/data/zeroheight-exports/Introduction-to-Cells.md +11 -12
  70. package/data/zeroheight-exports/Introduction-to-DNA.md +8 -9
  71. package/data/zeroheight-exports/Introduction-to-Genes.md +8 -9
  72. package/data/zeroheight-exports/Introduction.md +52 -53
  73. package/data/zeroheight-exports/Link.md +50 -37
  74. package/data/zeroheight-exports/Lists.md +78 -63
  75. package/data/zeroheight-exports/Loading-Indicator.md +7 -8
  76. package/data/zeroheight-exports/Navigation.md +163 -142
  77. package/data/zeroheight-exports/Notification.md +132 -102
  78. package/data/zeroheight-exports/Panel.md +231 -115
  79. package/data/zeroheight-exports/Responsive-Design.md +35 -32
  80. package/data/zeroheight-exports/Search-Input.md +9 -10
  81. package/data/zeroheight-exports/Search.md +87 -104
  82. package/data/zeroheight-exports/Segmented-Control.md +68 -45
  83. package/data/zeroheight-exports/Spacing.md +210 -211
  84. package/data/zeroheight-exports/Table.md +414 -302
  85. package/data/zeroheight-exports/Tabs.md +126 -98
  86. package/data/zeroheight-exports/Tags.md +148 -118
  87. package/data/zeroheight-exports/Text-Link.md +32 -33
  88. package/data/zeroheight-exports/Theming.md +48 -29
  89. package/data/zeroheight-exports/Tooltips.md +253 -237
  90. package/data/zeroheight-exports/Typography.md +463 -464
  91. package/dist/stdio.js +44 -132
  92. package/package.json +3 -4
  93. package/data/component-props/Chip.json +0 -73
  94. package/data/component-props/List.json +0 -43
  95. package/data/component-props/Menu.json +0 -48
  96. package/data/component-props/Table.json +0 -26
  97. package/data/component-props-storybook/Accordion-storybook.json +0 -45
  98. package/data/component-props-storybook/Alert-storybook.json +0 -30
  99. package/data/component-props-storybook/Autocomplete-storybook.json +0 -67
  100. package/data/component-props-storybook/Banner-storybook.json +0 -78
  101. package/data/component-props-storybook/Button-storybook.json +0 -115
  102. package/data/component-props-storybook/ButtonDropdown-storybook.json +0 -73
  103. package/data/component-props-storybook/ButtonIcon-storybook.json +0 -60
  104. package/data/component-props-storybook/ButtonToggle-storybook.json +0 -68
  105. package/data/component-props-storybook/Callout-storybook.json +0 -90
  106. package/data/component-props-storybook/CellBasic-storybook.json +0 -138
  107. package/data/component-props-storybook/CellComponent-storybook.json +0 -48
  108. package/data/component-props-storybook/CellHeader-storybook.json +0 -71
  109. package/data/component-props-storybook/Chip-storybook.json +0 -26
  110. package/data/component-props-storybook/ComplexFilter-storybook.json +0 -60
  111. package/data/component-props-storybook/ContentCard-storybook.json +0 -175
  112. package/data/component-props-storybook/Dialog-storybook.json +0 -56
  113. package/data/component-props-storybook/Dropdown-storybook.json +0 -93
  114. package/data/component-props-storybook/DropdownMenu-storybook.json +0 -73
  115. package/data/component-props-storybook/HeatmapChart-storybook.json +0 -55
  116. package/data/component-props-storybook/Icon-storybook.json +0 -75
  117. package/data/component-props-storybook/InputCheckbox-storybook.json +0 -57
  118. package/data/component-props-storybook/InputDropdown-storybook.json +0 -80
  119. package/data/component-props-storybook/InputRadio-storybook.json +0 -56
  120. package/data/component-props-storybook/InputSearch-storybook.json +0 -55
  121. package/data/component-props-storybook/InputSlider-storybook.json +0 -55
  122. package/data/component-props-storybook/InputText-storybook.json +0 -59
  123. package/data/component-props-storybook/InputToggle-storybook.json +0 -42
  124. package/data/component-props-storybook/Link-storybook.json +0 -50
  125. package/data/component-props-storybook/List-storybook.json +0 -26
  126. package/data/component-props-storybook/LoadingIndicator-storybook.json +0 -34
  127. package/data/component-props-storybook/Menu-storybook.json +0 -26
  128. package/data/component-props-storybook/MenuItem-storybook.json +0 -74
  129. package/data/component-props-storybook/MenuSelect-storybook.json +0 -38
  130. package/data/component-props-storybook/NavigationFooter-storybook.json +0 -67
  131. package/data/component-props-storybook/NavigationHeader-storybook.json +0 -115
  132. package/data/component-props-storybook/NavigationJumpTo-storybook.json +0 -41
  133. package/data/component-props-storybook/Notification-storybook.json +0 -89
  134. package/data/component-props-storybook/Pagination-storybook.json +0 -50
  135. package/data/component-props-storybook/Panel-storybook.json +0 -52
  136. package/data/component-props-storybook/SegmentedControl-storybook.json +0 -30
  137. package/data/component-props-storybook/Table-storybook.json +0 -26
  138. package/data/component-props-storybook/TableHeader-storybook.json +0 -26
  139. package/data/component-props-storybook/TableRow-storybook.json +0 -62
  140. package/data/component-props-storybook/Tabs-storybook.json +0 -45
  141. package/data/component-props-storybook/Tag-storybook.json +0 -78
  142. package/data/component-props-storybook/TagFilter-storybook.json +0 -30
  143. package/data/component-props-storybook/Tooltip-storybook.json +0 -85
  144. package/data/component-props-storybook/TooltipCondensed-storybook.json +0 -38
  145. package/data/component-props-storybook/TooltipTable-storybook.json +0 -47
@@ -6,27 +6,27 @@ Panels are elements that contain supplementary information or actions for the pa
6
6
 
7
7
  ## Basic Panel
8
8
 
9
- | | In Figma | | | Meets Accessibility | | | In CZ GEN EPI Codebase |
10
- | --- | --- | --- | --- | --- | --- | --- | --- |
9
+ | | In Figma | | | Meets Accessibility | | | In CZ GEN EPI Codebase |
10
+ | --- | -------- | --- | --- | ------------------- | --- | --- | ---------------------- |
11
11
 
12
- Panels are comprised of containers within which other elements are placed. Use the Basic Panel when the elements contained within it are able to functionally adjust the content on the page next to it. In CZ GEN EPI's case, the Basic Panel is positioned on the left-hand side of the screen and contains Filters. 
12
+ Panels are comprised of containers within which other elements are placed. Use the Basic Panel when the elements contained within it are able to functionally adjust the content on the page next to it. In CZ GEN EPI's case, the Basic Panel is positioned on the left-hand side of the screen and contains Filters.
13
13
 
14
14
  ### Basic Panel Example
15
15
 
16
16
  The example below shows where in CZ GEN EPI the Basic Panel is used.
17
17
 
18
-  
18
+
19
19
 
20
20
  ## Code
21
21
 
22
22
  ## Panel Components
23
23
 
24
- | 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:** PanelBasic |
25
- | --- | --- | --- |
24
+ | 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:** PanelBasic |
25
+ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | --------------------------------- |
26
26
 
27
27
  ---
28
28
 
29
- >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.
29
+ > 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.
30
30
 
31
31
  ### PanelBasic (coming soon) 
32
32
 
@@ -38,15 +38,15 @@ Panels are elements that contain supplementary information or actions for the pa
38
38
 
39
39
  ## Panel Variants
40
40
 
41
- | Panels are comprised of containers within which other elements are placed. They come in two different variants for designers to use depending on the type of content and elements contained within them. These variants also establish how the Panel functions and appears on the page, whether within the flow of the page's content or outside of it, on top of other elements. Follow the usage criteria accompanying each variant as a guide for selecting the correct Panel for any given use case. | | **Jump to variant:** Basic Overlay |
42
- | --- | --- | --- |
41
+ | Panels are comprised of containers within which other elements are placed. They come in two different variants for designers to use depending on the type of content and elements contained within them. These variants also establish how the Panel functions and appears on the page, whether within the flow of the page's content or outside of it, on top of other elements. Follow the usage criteria accompanying each variant as a guide for selecting the correct Panel for any given use case. | | **Jump to variant:** Basic Overlay |
42
+ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | ---------------------------------- |
43
43
 
44
44
  ---
45
45
 
46
46
  ## Basic Panel
47
47
 
48
- | | In Figma | | | Meets Accessibility | | | In CZ ID Codebase |
49
- | --- | --- | --- | --- | --- | --- | --- | --- |
48
+ | | In Figma | | | Meets Accessibility | | | In CZ ID Codebase |
49
+ | --- | -------- | --- | --- | ------------------- | --- | --- | ----------------- |
50
50
 
51
51
  ### Basic Panel
52
52
 
@@ -66,8 +66,8 @@ The examples below show where in CZ ID the Basic Panel is currently being used.
66
66
 
67
67
  ## Overlay Panel
68
68
 
69
- | | In Figma | | | Meets Accessibility | | | In CZ ID Codebase |
70
- | --- | --- | --- | --- | --- | --- | --- | --- |
69
+ | | In Figma | | | Meets Accessibility | | | In CZ ID Codebase |
70
+ | --- | -------- | --- | --- | ------------------- | --- | --- | ----------------- |
71
71
 
72
72
  ### Overlay Panel
73
73
 
@@ -77,7 +77,7 @@ Overlay Panels can be positioned on the bottom or right side of the screen using
77
77
 
78
78
  Although Overlay Panels can be designed to contain a wide range of elements, there are a few common configurations used within the products today that have been turned into templates: Sample Details, Taxon Details, Genes Details, and Pipeline Information (templates coming soon).
79
79
 
80
-  
80
+
81
81
 
82
82
  ### Overlay Panel Examples
83
83
 
@@ -89,20 +89,20 @@ The examples below show where in CZ ID the Overlay Panel is currently being used
89
89
 
90
90
  ## Panel Components
91
91
 
92
- | 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:** PanelBasic PanelOverlay |
93
- | --- | --- | --- |
92
+ | 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:** PanelBasic PanelOverlay |
93
+ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | ---------------------------------------------- |
94
94
 
95
95
  ---
96
96
 
97
97
  ### PanelBasic (coming soon)
98
98
 
99
-  
99
+
100
100
 
101
101
  ---
102
102
 
103
103
  ### PanelOverlay (coming soon)
104
104
 
105
-  
105
+
106
106
 
107
107
  ---
108
108
 
@@ -112,15 +112,15 @@ Panels are elements that contain supplementary information or actions for the pa
112
112
 
113
113
  ## Panel Components
114
114
 
115
- | Panels contain containers within which other elements are placed. They come in two different variants depending on the type of content and elements contained within them and their functionality, whether appearing on the page, within the flow of the page's content or outside of it, on top of other elements. | | **Jump to variant:** Basic Overlay |
116
- | --- | --- | --- |
115
+ | Panels contain containers within which other elements are placed. They come in two different variants depending on the type of content and elements contained within them and their functionality, whether appearing on the page, within the flow of the page's content or outside of it, on top of other elements. | | **Jump to variant:** Basic Overlay |
116
+ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | ---------------------------------- |
117
117
 
118
118
  ---
119
119
 
120
120
  ## Panel – Basic
121
121
 
122
- | | In Figma | | | Meets Accessibility | | | In Code |
123
- | --- | --- | --- | --- | --- | --- | --- | --- |
122
+ | | In Figma | | | Meets Accessibility | | | In Code |
123
+ | --- | -------- | --- | --- | ------------------- | --- | --- | ------- |
124
124
 
125
125
  ### Panel – Basic Anatomy
126
126
 
@@ -133,7 +133,7 @@ Use Panel – Basic when the elements contained within it are able to make adjus
133
133
  Panel – Basic can be positioned on the left or right side of the screen. Both sides can be open at the same time.
134
134
 
135
135
  | Left | Right |
136
- | :---: | :---: |
136
+ | :--: | :---: |
137
137
 
138
138
  ---
139
139
 
@@ -145,8 +145,8 @@ These rules establish how much margin should exist to the left or right of an op
145
145
 
146
146
  ## Panel – Overlay
147
147
 
148
- | | In Figma | | | Meets Accessibility | | | In Code |
149
- | --- | --- | --- | --- | --- | --- | --- | --- |
148
+ | | In Figma | | | Meets Accessibility | | | In Code |
149
+ | --- | -------- | --- | --- | ------------------- | --- | --- | ------- |
150
150
 
151
151
  ### Panel – Overlay Anatomy
152
152
 
@@ -159,11 +159,11 @@ Use Panel – Overlay when needing to display supplementary information about a
159
159
  Panel – Overlay can be positioned on the bottom, left, or right side of the screen; use the bottom-positioned Panel – Overlay when the content contained on it is wider than it is tall. A page can contain as many Panel - Overlays per page as needed, but only one can be open at a time. If one is currently open and another is triggered to open, the currently opened Panel – Overlay will close before the newly triggered one opens.
160
160
 
161
161
  | Bottom | Left | Right |
162
- | :---: | :---: | :---: |
162
+ | :----: | :--: | :---: |
163
163
 
164
164
  ## Code
165
165
 
166
- >**Note:** The code examples below must install dependencies before displaying and may take extra time to load
166
+ > **Note:** The code examples below must install dependencies before displaying and may take extra time to load
167
167
 
168
168
  ## Panel
169
169
 
@@ -175,16 +175,16 @@ The component's source code in the SDS codebase can be found here.
175
175
 
176
176
  The SDS `Panel` component is built upon the MUI `Drawer` component, but with several key differences:
177
177
 
178
- * **Variant vs sdsType:** In MUI’s Drawer, the `variant` prop determines the type of drawer (e.g., persistent, temporary). However, in SDS’s Panel, this is replaced by the `sdsType` prop, which takes two values: `"basic"` and `"overlay"`.
179
- * `"basic"` corresponds to MUI’s persistent drawer.
180
- * `"overlay"` corresponds to MUI’s temporary drawer.
181
- * **Position vs Anchor**: Unlike MUI’s Drawer, which uses the `anchor` prop to determine the placement of the drawer (left, right, top, or bottom), the SDS Panel uses a `position` prop.
182
- * The `"basic"` Panel can only be positioned to the `left` or `right`.
183
- * The `"overlay"` Panel can be positioned to the `left`, `right`, or `bottom`.
184
- * **Width Prop:** The SDS Panel allows control over the width of the panel using the width prop.
185
- * The default width is **240px** for the `"basic"` panel.
186
- * The default width is **320px** for the `"overlay"` panel.
187
- * **Custom Header and Close Button Components:** The `"overlay"` Panel in SDS introduces two additional props that are not available in MUI’s Drawer: `headerComponent` and `closeButtonComponent`. These allow for custom components to be rendered in the panel’s header section, providing greater flexibility for design and functionality.
178
+ - **Variant vs sdsType:** In MUI’s Drawer, the `variant` prop determines the type of drawer (e.g., persistent, temporary). However, in SDS’s Panel, this is replaced by the `sdsType` prop, which takes two values: `"basic"` and `"overlay"`.
179
+ - `"basic"` corresponds to MUI’s persistent drawer.
180
+ - `"overlay"` corresponds to MUI’s temporary drawer.
181
+ - **Position vs Anchor**: Unlike MUI’s Drawer, which uses the `anchor` prop to determine the placement of the drawer (left, right, top, or bottom), the SDS Panel uses a `position` prop.
182
+ - The `"basic"` Panel can only be positioned to the `left` or `right`.
183
+ - The `"overlay"` Panel can be positioned to the `left`, `right`, or `bottom`.
184
+ - **Width Prop:** The SDS Panel allows control over the width of the panel using the width prop.
185
+ - The default width is **240px** for the `"basic"` panel.
186
+ - The default width is **320px** for the `"overlay"` panel.
187
+ - **Custom Header and Close Button Components:** The `"overlay"` Panel in SDS introduces two additional props that are not available in MUI’s Drawer: `headerComponent` and `closeButtonComponent`. These allow for custom components to be rendered in the panel’s header section, providing greater flexibility for design and functionality.
188
188
 
189
189
  ### MUI Documentation
190
190
 
@@ -194,14 +194,14 @@ Documentation for the underlying MUI component can be found here.
194
194
 
195
195
  Any custom SDS props and MUI props required for implementation are found on the table below. See the MUI documentation for additional optional props.
196
196
 
197
- | Name | Type | Default | Description |
198
- | --- | --- | --- | --- |
199
- | `sdsType` | `"basic"` | `"overlay"` | `"basic"` | `"basic"` corresponds to a persistent drawer, and `"overlay"` corresponds to a temporary drawer. |
200
- | `position` | `"left"` | `"right"` | `"bottom"` (only for overlay) | `"left"` | Determines the panel’s position. The `"basic"` panel supports only `"left"` and `"right"`, while the `"overlay"` panel also supports `"bottom"`. |
201
- | `width` | `number` | `string` | `"240px"` (basic) | `"320px"` (overlay) | Specifies the `width` of the panel.  |
202
- | `headerComponent` | `React.ReactNode` | `undefined` | For the `"overlay"` panel only, this prop allows you to pass a custom component to be rendered as the panel’s header. |
203
- | `closeButtonComponent` | `React.ReactNode` | <Button sdsStyle="icon" sdsType="tertiary" icon="XMark" aria-label="Panel Toggle" /> | For the `"overlay"` panel only, this prop allows you to pass a custom component to be rendered as the close button. |
204
- | `closeButtonOnClick` | `React.MouseEventHandler<HTMLDivElement>` | `undefined` | For the `"overlay"` panel only, this is the onClick event handler for the close button. |
197
+ | Name | Type | Default | Description |
198
+ | ---------------------- | ----------------------------------------- | ------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
199
+ | `sdsType` | `"basic"` | `"overlay"` | `"basic"` | `"basic"` corresponds to a persistent drawer, and `"overlay"` corresponds to a temporary drawer. |
200
+ | `position` | `"left"` | `"right"` | `"bottom"` (only for overlay) | `"left"` | Determines the panel’s position. The `"basic"` panel supports only `"left"` and `"right"`, while the `"overlay"` panel also supports `"bottom"`. |
201
+ | `width` | `number` | `string` | `"240px"` (basic) | `"320px"` (overlay) | Specifies the `width` of the panel.  |
202
+ | `headerComponent` | `React.ReactNode` | `undefined` | For the `"overlay"` panel only, this prop allows you to pass a custom component to be rendered as the panel’s header. |
203
+ | `closeButtonComponent` | `React.ReactNode` | <Button sdsStyle="icon" sdsType="tertiary" icon="XMark" aria-label="Panel Toggle" /> | For the `"overlay"` panel only, this prop allows you to pass a custom component to be rendered as the close button. |
204
+ | `closeButtonOnClick` | `React.MouseEventHandler<HTMLDivElement>` | `undefined` | For the `"overlay"` panel only, this is the onClick event handler for the close button. |
205
205
 
206
206
  ### Code examples
207
207
 
@@ -234,13 +234,11 @@ h1 {
234
234
 
235
235
  ```json
236
236
  {
237
- "include": [
238
- "./**/*"
239
- ],
237
+ "include": ["./**/*"],
240
238
  "compilerOptions": {
241
239
  "strict": true,
242
240
  "esModuleInterop": true,
243
- "lib": [ "dom", "es2015" ],
241
+ "lib": ["dom", "es2015"],
244
242
  "jsx": "react-jsx"
245
243
  }
246
244
  }
@@ -257,13 +255,11 @@ import "./styles.css";
257
255
  function App() {
258
256
  const [open, setOpen] = useState(true);
259
257
 
260
- const Main = (
261
- props: { open: boolean; children?: React.ReactNode }
262
- ) => {
258
+ const Main = (props: { open: boolean; children?: React.ReactNode }) => {
263
259
  const { open, children } = props;
264
-
260
+
265
261
  const margin = "0 0 0 250px";
266
-
262
+
267
263
  return (
268
264
  <Box
269
265
  sx={{
@@ -274,7 +270,7 @@ function App() {
274
270
  </Box>
275
271
  );
276
272
  };
277
-
273
+
278
274
  return (
279
275
  <div className="app">
280
276
  <Main open={open}>
@@ -287,11 +283,33 @@ function App() {
287
283
  >
288
284
  Toggle Panel
289
285
  </Button>
290
- <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus facilisis tortor et pellentesque pulvinar. Ut at convallis ipsum. Nullam scelerisque tempor arcu, quis pretium magna semper eu. Nam hendrerit lectus in enim scelerisque, sed ornare sapien consequat. Proin sed congue quam. Integer consequat elit tristique sodales rhoncus. In bibendum dolor sit amet erat porta, nec posuere nibh consectetur. Cras scelerisque interdum eros ut porta. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Ut in lacus et mi efficitur scelerisque. Pellentesque congue purus eu feugiat cursus. Phasellus urna massa, sollicitudin id elit et, efficitur faucibus nibh.</p>
291
- <p>Nam sit amet tortor varius, lacinia velit quis, lacinia metus. Quisque dictum, nulla at luctus fringilla, ligula diam fringilla nisl, non consequat nulla turpis at ex. Donec hendrerit facilisis nisl at fringilla. Pellentesque posuere tortor ac ante luctus, at euismod augue vulputate. Vivamus pretium pretium nisi, non convallis nunc volutpat ac. Nam finibus justo leo, vel pellentesque velit gravida vel. Sed in turpis non sem efficitur eleifend vel ac lacus. Sed volutpat feugiat dictum. Pellentesque tristique mollis magna sit amet vestibulum. Nulla ac tellus eu orci volutpat congue. In vitae dolor et est feugiat fringilla. Sed varius neque nunc, sed pulvinar neque lobortis posuere.</p>
292
- <Panel open={open}>
293
- [Panel Content]
294
- </Panel>
286
+ <p>
287
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus
288
+ facilisis tortor et pellentesque pulvinar. Ut at convallis ipsum.
289
+ Nullam scelerisque tempor arcu, quis pretium magna semper eu. Nam
290
+ hendrerit lectus in enim scelerisque, sed ornare sapien consequat.
291
+ Proin sed congue quam. Integer consequat elit tristique sodales
292
+ rhoncus. In bibendum dolor sit amet erat porta, nec posuere nibh
293
+ consectetur. Cras scelerisque interdum eros ut porta. Pellentesque
294
+ habitant morbi tristique senectus et netus et malesuada fames ac
295
+ turpis egestas. Ut in lacus et mi efficitur scelerisque. Pellentesque
296
+ congue purus eu feugiat cursus. Phasellus urna massa, sollicitudin id
297
+ elit et, efficitur faucibus nibh.
298
+ </p>
299
+ <p>
300
+ Nam sit amet tortor varius, lacinia velit quis, lacinia metus. Quisque
301
+ dictum, nulla at luctus fringilla, ligula diam fringilla nisl, non
302
+ consequat nulla turpis at ex. Donec hendrerit facilisis nisl at
303
+ fringilla. Pellentesque posuere tortor ac ante luctus, at euismod
304
+ augue vulputate. Vivamus pretium pretium nisi, non convallis nunc
305
+ volutpat ac. Nam finibus justo leo, vel pellentesque velit gravida
306
+ vel. Sed in turpis non sem efficitur eleifend vel ac lacus. Sed
307
+ volutpat feugiat dictum. Pellentesque tristique mollis magna sit amet
308
+ vestibulum. Nulla ac tellus eu orci volutpat congue. In vitae dolor et
309
+ est feugiat fringilla. Sed varius neque nunc, sed pulvinar neque
310
+ lobortis posuere.
311
+ </p>
312
+ <Panel open={open}>[Panel Content]</Panel>
295
313
  </Main>
296
314
  </div>
297
315
  );
@@ -337,13 +355,12 @@ root.render(
337
355
  <RootApp />
338
356
  </React.StrictMode>
339
357
  );
340
-
341
358
  ```
342
359
 
343
360
  **/public/index.html**
344
361
 
345
362
  ```html
346
- <!DOCTYPE html>
363
+ <!doctype html>
347
364
  <html lang="en">
348
365
  <head>
349
366
  <meta charset="UTF-8" />
@@ -364,13 +381,24 @@ root.render(
364
381
  <div id="root"></div>
365
382
  </body>
366
383
  </html>
367
-
368
384
  ```
369
385
 
370
386
  **/package.json**
371
387
 
372
388
  ```json
373
- {"dependencies":{"react":"^18.0.0","react-dom":"^18.0.0","react-scripts":"^4.0.0"},"devDependencies":{"@types/react":"^18.0.0","@types/react-dom":"^18.0.0","typescript":"^4.0.0"},"main":"/index.tsx"}
389
+ {
390
+ "dependencies": {
391
+ "react": "^18.0.0",
392
+ "react-dom": "^18.0.0",
393
+ "react-scripts": "^4.0.0"
394
+ },
395
+ "devDependencies": {
396
+ "@types/react": "^18.0.0",
397
+ "@types/react-dom": "^18.0.0",
398
+ "typescript": "^4.0.0"
399
+ },
400
+ "main": "/index.tsx"
401
+ }
374
402
  ```
375
403
 
376
404
  ---
@@ -404,13 +432,11 @@ h1 {
404
432
 
405
433
  ```json
406
434
  {
407
- "include": [
408
- "./**/*"
409
- ],
435
+ "include": ["./**/*"],
410
436
  "compilerOptions": {
411
437
  "strict": true,
412
438
  "esModuleInterop": true,
413
- "lib": [ "dom", "es2015" ],
439
+ "lib": ["dom", "es2015"],
414
440
  "jsx": "react-jsx"
415
441
  }
416
442
  }
@@ -426,7 +452,7 @@ import "./styles.css";
426
452
 
427
453
  function App() {
428
454
  const [open, setOpen] = useState(true);
429
-
455
+
430
456
  return (
431
457
  <div className="app">
432
458
  <Button
@@ -438,9 +464,36 @@ function App() {
438
464
  >
439
465
  Toggle Panel
440
466
  </Button>
441
- <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus facilisis tortor et pellentesque pulvinar. Ut at convallis ipsum. Nullam scelerisque tempor arcu, quis pretium magna semper eu. Nam hendrerit lectus in enim scelerisque, sed ornare sapien consequat. Proin sed congue quam. Integer consequat elit tristique sodales rhoncus. In bibendum dolor sit amet erat porta, nec posuere nibh consectetur. Cras scelerisque interdum eros ut porta. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Ut in lacus et mi efficitur scelerisque. Pellentesque congue purus eu feugiat cursus. Phasellus urna massa, sollicitudin id elit et, efficitur faucibus nibh.</p>
442
- <p>Nam sit amet tortor varius, lacinia velit quis, lacinia metus. Quisque dictum, nulla at luctus fringilla, ligula diam fringilla nisl, non consequat nulla turpis at ex. Donec hendrerit facilisis nisl at fringilla. Pellentesque posuere tortor ac ante luctus, at euismod augue vulputate. Vivamus pretium pretium nisi, non convallis nunc volutpat ac. Nam finibus justo leo, vel pellentesque velit gravida vel. Sed in turpis non sem efficitur eleifend vel ac lacus. Sed volutpat feugiat dictum. Pellentesque tristique mollis magna sit amet vestibulum. Nulla ac tellus eu orci volutpat congue. In vitae dolor et est feugiat fringilla. Sed varius neque nunc, sed pulvinar neque lobortis posuere.</p>
443
- <Panel open={open} sdsType="overlay" closeButtonOnClick={() => setOpen(false)}>
467
+ <p>
468
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus
469
+ facilisis tortor et pellentesque pulvinar. Ut at convallis ipsum. Nullam
470
+ scelerisque tempor arcu, quis pretium magna semper eu. Nam hendrerit
471
+ lectus in enim scelerisque, sed ornare sapien consequat. Proin sed
472
+ congue quam. Integer consequat elit tristique sodales rhoncus. In
473
+ bibendum dolor sit amet erat porta, nec posuere nibh consectetur. Cras
474
+ scelerisque interdum eros ut porta. Pellentesque habitant morbi
475
+ tristique senectus et netus et malesuada fames ac turpis egestas. Ut in
476
+ lacus et mi efficitur scelerisque. Pellentesque congue purus eu feugiat
477
+ cursus. Phasellus urna massa, sollicitudin id elit et, efficitur
478
+ faucibus nibh.
479
+ </p>
480
+ <p>
481
+ Nam sit amet tortor varius, lacinia velit quis, lacinia metus. Quisque
482
+ dictum, nulla at luctus fringilla, ligula diam fringilla nisl, non
483
+ consequat nulla turpis at ex. Donec hendrerit facilisis nisl at
484
+ fringilla. Pellentesque posuere tortor ac ante luctus, at euismod augue
485
+ vulputate. Vivamus pretium pretium nisi, non convallis nunc volutpat ac.
486
+ Nam finibus justo leo, vel pellentesque velit gravida vel. Sed in turpis
487
+ non sem efficitur eleifend vel ac lacus. Sed volutpat feugiat dictum.
488
+ Pellentesque tristique mollis magna sit amet vestibulum. Nulla ac tellus
489
+ eu orci volutpat congue. In vitae dolor et est feugiat fringilla. Sed
490
+ varius neque nunc, sed pulvinar neque lobortis posuere.
491
+ </p>
492
+ <Panel
493
+ open={open}
494
+ sdsType="overlay"
495
+ closeButtonOnClick={() => setOpen(false)}
496
+ >
444
497
  [Panel Content]
445
498
  </Panel>
446
499
  </div>
@@ -487,13 +540,12 @@ root.render(
487
540
  <RootApp />
488
541
  </React.StrictMode>
489
542
  );
490
-
491
543
  ```
492
544
 
493
545
  **/public/index.html**
494
546
 
495
547
  ```html
496
- <!DOCTYPE html>
548
+ <!doctype html>
497
549
  <html lang="en">
498
550
  <head>
499
551
  <meta charset="UTF-8" />
@@ -514,13 +566,24 @@ root.render(
514
566
  <div id="root"></div>
515
567
  </body>
516
568
  </html>
517
-
518
569
  ```
519
570
 
520
571
  **/package.json**
521
572
 
522
573
  ```json
523
- {"dependencies":{"react":"^18.0.0","react-dom":"^18.0.0","react-scripts":"^4.0.0"},"devDependencies":{"@types/react":"^18.0.0","@types/react-dom":"^18.0.0","typescript":"^4.0.0"},"main":"/index.tsx"}
574
+ {
575
+ "dependencies": {
576
+ "react": "^18.0.0",
577
+ "react-dom": "^18.0.0",
578
+ "react-scripts": "^4.0.0"
579
+ },
580
+ "devDependencies": {
581
+ "@types/react": "^18.0.0",
582
+ "@types/react-dom": "^18.0.0",
583
+ "typescript": "^4.0.0"
584
+ },
585
+ "main": "/index.tsx"
586
+ }
524
587
  ```
525
588
 
526
589
  ---
@@ -554,13 +617,11 @@ h1 {
554
617
 
555
618
  ```json
556
619
  {
557
- "include": [
558
- "./**/*"
559
- ],
620
+ "include": ["./**/*"],
560
621
  "compilerOptions": {
561
622
  "strict": true,
562
623
  "esModuleInterop": true,
563
- "lib": [ "dom", "es2015" ],
624
+ "lib": ["dom", "es2015"],
564
625
  "jsx": "react-jsx"
565
626
  }
566
627
  }
@@ -577,12 +638,8 @@ import "./styles.css";
577
638
  function App() {
578
639
  const [open, setOpen] = useState(true);
579
640
 
580
- const HeaderComponent = (
581
- <Typography variant="h2">
582
- Panel Header
583
- </Typography>
584
- );
585
-
641
+ const HeaderComponent = <Typography variant="h2">Panel Header</Typography>;
642
+
586
643
  return (
587
644
  <div className="app">
588
645
  <Button
@@ -594,11 +651,34 @@ function App() {
594
651
  >
595
652
  Toggle Panel
596
653
  </Button>
597
- <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus facilisis tortor et pellentesque pulvinar. Ut at convallis ipsum. Nullam scelerisque tempor arcu, quis pretium magna semper eu. Nam hendrerit lectus in enim scelerisque, sed ornare sapien consequat. Proin sed congue quam. Integer consequat elit tristique sodales rhoncus. In bibendum dolor sit amet erat porta, nec posuere nibh consectetur. Cras scelerisque interdum eros ut porta. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Ut in lacus et mi efficitur scelerisque. Pellentesque congue purus eu feugiat cursus. Phasellus urna massa, sollicitudin id elit et, efficitur faucibus nibh.</p>
598
- <p>Nam sit amet tortor varius, lacinia velit quis, lacinia metus. Quisque dictum, nulla at luctus fringilla, ligula diam fringilla nisl, non consequat nulla turpis at ex. Donec hendrerit facilisis nisl at fringilla. Pellentesque posuere tortor ac ante luctus, at euismod augue vulputate. Vivamus pretium pretium nisi, non convallis nunc volutpat ac. Nam finibus justo leo, vel pellentesque velit gravida vel. Sed in turpis non sem efficitur eleifend vel ac lacus. Sed volutpat feugiat dictum. Pellentesque tristique mollis magna sit amet vestibulum. Nulla ac tellus eu orci volutpat congue. In vitae dolor et est feugiat fringilla. Sed varius neque nunc, sed pulvinar neque lobortis posuere.</p>
599
- <Panel
600
- open={open}
601
- sdsType="overlay"
654
+ <p>
655
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus
656
+ facilisis tortor et pellentesque pulvinar. Ut at convallis ipsum. Nullam
657
+ scelerisque tempor arcu, quis pretium magna semper eu. Nam hendrerit
658
+ lectus in enim scelerisque, sed ornare sapien consequat. Proin sed
659
+ congue quam. Integer consequat elit tristique sodales rhoncus. In
660
+ bibendum dolor sit amet erat porta, nec posuere nibh consectetur. Cras
661
+ scelerisque interdum eros ut porta. Pellentesque habitant morbi
662
+ tristique senectus et netus et malesuada fames ac turpis egestas. Ut in
663
+ lacus et mi efficitur scelerisque. Pellentesque congue purus eu feugiat
664
+ cursus. Phasellus urna massa, sollicitudin id elit et, efficitur
665
+ faucibus nibh.
666
+ </p>
667
+ <p>
668
+ Nam sit amet tortor varius, lacinia velit quis, lacinia metus. Quisque
669
+ dictum, nulla at luctus fringilla, ligula diam fringilla nisl, non
670
+ consequat nulla turpis at ex. Donec hendrerit facilisis nisl at
671
+ fringilla. Pellentesque posuere tortor ac ante luctus, at euismod augue
672
+ vulputate. Vivamus pretium pretium nisi, non convallis nunc volutpat ac.
673
+ Nam finibus justo leo, vel pellentesque velit gravida vel. Sed in turpis
674
+ non sem efficitur eleifend vel ac lacus. Sed volutpat feugiat dictum.
675
+ Pellentesque tristique mollis magna sit amet vestibulum. Nulla ac tellus
676
+ eu orci volutpat congue. In vitae dolor et est feugiat fringilla. Sed
677
+ varius neque nunc, sed pulvinar neque lobortis posuere.
678
+ </p>
679
+ <Panel
680
+ open={open}
681
+ sdsType="overlay"
602
682
  closeButtonOnClick={() => setOpen(false)}
603
683
  HeaderComponent={HeaderComponent}
604
684
  position="right"
@@ -649,13 +729,12 @@ root.render(
649
729
  <RootApp />
650
730
  </React.StrictMode>
651
731
  );
652
-
653
732
  ```
654
733
 
655
734
  **/public/index.html**
656
735
 
657
736
  ```html
658
- <!DOCTYPE html>
737
+ <!doctype html>
659
738
  <html lang="en">
660
739
  <head>
661
740
  <meta charset="UTF-8" />
@@ -676,13 +755,24 @@ root.render(
676
755
  <div id="root"></div>
677
756
  </body>
678
757
  </html>
679
-
680
758
  ```
681
759
 
682
760
  **/package.json**
683
761
 
684
762
  ```json
685
- {"dependencies":{"react":"^18.0.0","react-dom":"^18.0.0","react-scripts":"^4.0.0"},"devDependencies":{"@types/react":"^18.0.0","@types/react-dom":"^18.0.0","typescript":"^4.0.0"},"main":"/index.tsx"}
763
+ {
764
+ "dependencies": {
765
+ "react": "^18.0.0",
766
+ "react-dom": "^18.0.0",
767
+ "react-scripts": "^4.0.0"
768
+ },
769
+ "devDependencies": {
770
+ "@types/react": "^18.0.0",
771
+ "@types/react-dom": "^18.0.0",
772
+ "typescript": "^4.0.0"
773
+ },
774
+ "main": "/index.tsx"
775
+ }
686
776
  ```
687
777
 
688
778
  ---
@@ -716,13 +806,11 @@ h1 {
716
806
 
717
807
  ```json
718
808
  {
719
- "include": [
720
- "./**/*"
721
- ],
809
+ "include": ["./**/*"],
722
810
  "compilerOptions": {
723
811
  "strict": true,
724
812
  "esModuleInterop": true,
725
- "lib": [ "dom", "es2015" ],
813
+ "lib": ["dom", "es2015"],
726
814
  "jsx": "react-jsx"
727
815
  }
728
816
  }
@@ -739,11 +827,7 @@ import "./styles.css";
739
827
  function App() {
740
828
  const [open, setOpen] = useState(true);
741
829
 
742
- const HeaderComponent = (
743
- <Typography variant="h2">
744
- Panel Header
745
- </Typography>
746
- );
830
+ const HeaderComponent = <Typography variant="h2">Panel Header</Typography>;
747
831
 
748
832
  const CloseButton = (
749
833
  <Button
@@ -754,7 +838,7 @@ function App() {
754
838
  aria-label="Panel Toggle"
755
839
  />
756
840
  );
757
-
841
+
758
842
  return (
759
843
  <div className="app">
760
844
  <Button
@@ -766,11 +850,34 @@ function App() {
766
850
  >
767
851
  Toggle Panel
768
852
  </Button>
769
- <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus facilisis tortor et pellentesque pulvinar. Ut at convallis ipsum. Nullam scelerisque tempor arcu, quis pretium magna semper eu. Nam hendrerit lectus in enim scelerisque, sed ornare sapien consequat. Proin sed congue quam. Integer consequat elit tristique sodales rhoncus. In bibendum dolor sit amet erat porta, nec posuere nibh consectetur. Cras scelerisque interdum eros ut porta. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Ut in lacus et mi efficitur scelerisque. Pellentesque congue purus eu feugiat cursus. Phasellus urna massa, sollicitudin id elit et, efficitur faucibus nibh.</p>
770
- <p>Nam sit amet tortor varius, lacinia velit quis, lacinia metus. Quisque dictum, nulla at luctus fringilla, ligula diam fringilla nisl, non consequat nulla turpis at ex. Donec hendrerit facilisis nisl at fringilla. Pellentesque posuere tortor ac ante luctus, at euismod augue vulputate. Vivamus pretium pretium nisi, non convallis nunc volutpat ac. Nam finibus justo leo, vel pellentesque velit gravida vel. Sed in turpis non sem efficitur eleifend vel ac lacus. Sed volutpat feugiat dictum. Pellentesque tristique mollis magna sit amet vestibulum. Nulla ac tellus eu orci volutpat congue. In vitae dolor et est feugiat fringilla. Sed varius neque nunc, sed pulvinar neque lobortis posuere.</p>
771
- <Panel
772
- open={open}
773
- sdsType="overlay"
853
+ <p>
854
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus
855
+ facilisis tortor et pellentesque pulvinar. Ut at convallis ipsum. Nullam
856
+ scelerisque tempor arcu, quis pretium magna semper eu. Nam hendrerit
857
+ lectus in enim scelerisque, sed ornare sapien consequat. Proin sed
858
+ congue quam. Integer consequat elit tristique sodales rhoncus. In
859
+ bibendum dolor sit amet erat porta, nec posuere nibh consectetur. Cras
860
+ scelerisque interdum eros ut porta. Pellentesque habitant morbi
861
+ tristique senectus et netus et malesuada fames ac turpis egestas. Ut in
862
+ lacus et mi efficitur scelerisque. Pellentesque congue purus eu feugiat
863
+ cursus. Phasellus urna massa, sollicitudin id elit et, efficitur
864
+ faucibus nibh.
865
+ </p>
866
+ <p>
867
+ Nam sit amet tortor varius, lacinia velit quis, lacinia metus. Quisque
868
+ dictum, nulla at luctus fringilla, ligula diam fringilla nisl, non
869
+ consequat nulla turpis at ex. Donec hendrerit facilisis nisl at
870
+ fringilla. Pellentesque posuere tortor ac ante luctus, at euismod augue
871
+ vulputate. Vivamus pretium pretium nisi, non convallis nunc volutpat ac.
872
+ Nam finibus justo leo, vel pellentesque velit gravida vel. Sed in turpis
873
+ non sem efficitur eleifend vel ac lacus. Sed volutpat feugiat dictum.
874
+ Pellentesque tristique mollis magna sit amet vestibulum. Nulla ac tellus
875
+ eu orci volutpat congue. In vitae dolor et est feugiat fringilla. Sed
876
+ varius neque nunc, sed pulvinar neque lobortis posuere.
877
+ </p>
878
+ <Panel
879
+ open={open}
880
+ sdsType="overlay"
774
881
  closeButtonOnClick={() => setOpen(false)}
775
882
  HeaderComponent={HeaderComponent}
776
883
  CloseButtonComponent={CloseButton}
@@ -822,13 +929,12 @@ root.render(
822
929
  <RootApp />
823
930
  </React.StrictMode>
824
931
  );
825
-
826
932
  ```
827
933
 
828
934
  **/public/index.html**
829
935
 
830
936
  ```html
831
- <!DOCTYPE html>
937
+ <!doctype html>
832
938
  <html lang="en">
833
939
  <head>
834
940
  <meta charset="UTF-8" />
@@ -849,14 +955,24 @@ root.render(
849
955
  <div id="root"></div>
850
956
  </body>
851
957
  </html>
852
-
853
958
  ```
854
959
 
855
960
  **/package.json**
856
961
 
857
962
  ```json
858
- {"dependencies":{"react":"^18.0.0","react-dom":"^18.0.0","react-scripts":"^4.0.0"},"devDependencies":{"@types/react":"^18.0.0","@types/react-dom":"^18.0.0","typescript":"^4.0.0"},"main":"/index.tsx"}
963
+ {
964
+ "dependencies": {
965
+ "react": "^18.0.0",
966
+ "react-dom": "^18.0.0",
967
+ "react-scripts": "^4.0.0"
968
+ },
969
+ "devDependencies": {
970
+ "@types/react": "^18.0.0",
971
+ "@types/react-dom": "^18.0.0",
972
+ "typescript": "^4.0.0"
973
+ },
974
+ "main": "/index.tsx"
975
+ }
859
976
  ```
860
977
 
861
978
  ---
862
-