@dxc-technology/halstack-react 0.0.0-0355f44 → 0.0.0-04a7d7c

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 (189) hide show
  1. package/README.md +27 -47
  2. package/dist/index.d.mts +3914 -0
  3. package/dist/index.d.ts +3914 -0
  4. package/dist/index.js +14376 -0
  5. package/dist/index.mjs +14288 -0
  6. package/package.json +91 -68
  7. package/babel.config.js +0 -8
  8. package/dist/BackgroundColorContext.js +0 -46
  9. package/dist/ThemeContext.js +0 -248
  10. package/dist/accordion/Accordion.js +0 -353
  11. package/dist/accordion-group/AccordionGroup.js +0 -186
  12. package/dist/alert/Alert.js +0 -403
  13. package/dist/alert/index.d.ts +0 -51
  14. package/dist/badge/Badge.js +0 -63
  15. package/dist/box/Box.js +0 -156
  16. package/dist/button/Button.js +0 -238
  17. package/dist/card/Card.js +0 -254
  18. package/dist/checkbox/Checkbox.js +0 -300
  19. package/dist/checkbox/Checkbox.stories.js +0 -144
  20. package/dist/checkbox/readme.md +0 -116
  21. package/dist/chip/Chip.js +0 -265
  22. package/dist/common/OpenSans.css +0 -81
  23. package/dist/common/RequiredComponent.js +0 -40
  24. package/dist/common/fonts/OpenSans-Bold.ttf +0 -0
  25. package/dist/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  26. package/dist/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  27. package/dist/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  28. package/dist/common/fonts/OpenSans-Italic.ttf +0 -0
  29. package/dist/common/fonts/OpenSans-Light.ttf +0 -0
  30. package/dist/common/fonts/OpenSans-LightItalic.ttf +0 -0
  31. package/dist/common/fonts/OpenSans-Regular.ttf +0 -0
  32. package/dist/common/fonts/OpenSans-SemiBold.ttf +0 -0
  33. package/dist/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  34. package/dist/common/utils.js +0 -22
  35. package/dist/common/variables.js +0 -1569
  36. package/dist/date/Date.js +0 -379
  37. package/dist/date/Date.stories.js +0 -205
  38. package/dist/date/readme.md +0 -73
  39. package/dist/date-input/DateInput.js +0 -400
  40. package/dist/date-input/index.d.ts +0 -95
  41. package/dist/dialog/Dialog.js +0 -218
  42. package/dist/dropdown/Dropdown.js +0 -544
  43. package/dist/file-input/FileInput.js +0 -644
  44. package/dist/file-input/FileItem.js +0 -280
  45. package/dist/file-input/index.d.ts +0 -81
  46. package/dist/footer/Footer.js +0 -395
  47. package/dist/footer/dxc_logo.svg +0 -15
  48. package/dist/footer/readme.md +0 -41
  49. package/dist/header/Header.js +0 -403
  50. package/dist/header/Header.stories.js +0 -176
  51. package/dist/header/close_icon.svg +0 -1
  52. package/dist/header/dxc_logo_black.svg +0 -8
  53. package/dist/header/hamb_menu_black.svg +0 -1
  54. package/dist/header/hamb_menu_white.svg +0 -1
  55. package/dist/header/readme.md +0 -33
  56. package/dist/heading/Heading.js +0 -218
  57. package/dist/input-text/InputText.js +0 -707
  58. package/dist/input-text/error.svg +0 -1
  59. package/dist/input-text/readme.md +0 -91
  60. package/dist/layout/ApplicationLayout.js +0 -331
  61. package/dist/layout/facebook.svg +0 -45
  62. package/dist/layout/linkedin.svg +0 -50
  63. package/dist/layout/twitter.svg +0 -53
  64. package/dist/link/Link.js +0 -237
  65. package/dist/link/readme.md +0 -51
  66. package/dist/main.d.ts +0 -8
  67. package/dist/main.js +0 -367
  68. package/dist/new-select/NewSelect.js +0 -836
  69. package/dist/new-select/index.d.ts +0 -53
  70. package/dist/new-textarea/NewTextarea.js +0 -369
  71. package/dist/new-textarea/index.d.ts +0 -117
  72. package/dist/number-input/NumberInput.js +0 -136
  73. package/dist/number-input/NumberInputContext.js +0 -16
  74. package/dist/number-input/index.d.ts +0 -113
  75. package/dist/paginator/Paginator.js +0 -289
  76. package/dist/paginator/images/next.svg +0 -3
  77. package/dist/paginator/images/nextPage.svg +0 -3
  78. package/dist/paginator/images/previous.svg +0 -3
  79. package/dist/paginator/images/previousPage.svg +0 -3
  80. package/dist/paginator/readme.md +0 -50
  81. package/dist/password-input/PasswordInput.js +0 -198
  82. package/dist/password-input/index.d.ts +0 -94
  83. package/dist/progress-bar/ProgressBar.js +0 -242
  84. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  85. package/dist/progress-bar/readme.md +0 -63
  86. package/dist/radio/Radio.js +0 -209
  87. package/dist/radio/Radio.stories.js +0 -166
  88. package/dist/radio/readme.md +0 -70
  89. package/dist/resultsetTable/ResultsetTable.js +0 -358
  90. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  91. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  92. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  93. package/dist/select/Select.js +0 -549
  94. package/dist/sidenav/Sidenav.js +0 -179
  95. package/dist/slider/Slider.js +0 -394
  96. package/dist/slider/readme.md +0 -64
  97. package/dist/spinner/Spinner.js +0 -381
  98. package/dist/spinner/Spinner.stories.js +0 -183
  99. package/dist/spinner/readme.md +0 -65
  100. package/dist/switch/Switch.js +0 -222
  101. package/dist/switch/Switch.stories.js +0 -134
  102. package/dist/switch/readme.md +0 -133
  103. package/dist/table/Table.js +0 -132
  104. package/dist/tabs/Tabs.js +0 -343
  105. package/dist/tabs/Tabs.stories.js +0 -130
  106. package/dist/tabs/readme.md +0 -78
  107. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  108. package/dist/tabs-for-sections/readme.md +0 -78
  109. package/dist/tag/Tag.js +0 -282
  110. package/dist/text-input/TextInput.js +0 -971
  111. package/dist/text-input/index.d.ts +0 -135
  112. package/dist/textarea/Textarea.js +0 -264
  113. package/dist/toggle/Toggle.js +0 -220
  114. package/dist/toggle/Toggle.stories.js +0 -297
  115. package/dist/toggle/readme.md +0 -80
  116. package/dist/toggle-group/ToggleGroup.js +0 -327
  117. package/dist/upload/Upload.js +0 -205
  118. package/dist/upload/Upload.stories.js +0 -72
  119. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -139
  120. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  121. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  122. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  123. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  124. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  125. package/dist/upload/file-upload/FileToUpload.js +0 -184
  126. package/dist/upload/file-upload/audio-icon.svg +0 -4
  127. package/dist/upload/file-upload/close.svg +0 -4
  128. package/dist/upload/file-upload/file-icon.svg +0 -4
  129. package/dist/upload/file-upload/video-icon.svg +0 -4
  130. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  131. package/dist/upload/readme.md +0 -37
  132. package/dist/upload/transaction/Transaction.js +0 -175
  133. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  134. package/dist/upload/transaction/audio-icon.svg +0 -4
  135. package/dist/upload/transaction/error-icon.svg +0 -4
  136. package/dist/upload/transaction/file-icon-err.svg +0 -4
  137. package/dist/upload/transaction/file-icon.svg +0 -4
  138. package/dist/upload/transaction/image-icon-err.svg +0 -4
  139. package/dist/upload/transaction/image-icon.svg +0 -4
  140. package/dist/upload/transaction/success-icon.svg +0 -4
  141. package/dist/upload/transaction/video-icon-err.svg +0 -4
  142. package/dist/upload/transaction/video-icon.svg +0 -4
  143. package/dist/upload/transactions/Transactions.js +0 -138
  144. package/dist/useTheme.js +0 -22
  145. package/dist/wizard/Wizard.js +0 -411
  146. package/dist/wizard/invalid_icon.svg +0 -5
  147. package/dist/wizard/valid_icon.svg +0 -5
  148. package/dist/wizard/validation-wrong.svg +0 -6
  149. package/test/Accordion.test.js +0 -33
  150. package/test/AccordionGroup.test.js +0 -125
  151. package/test/Alert.test.js +0 -53
  152. package/test/Box.test.js +0 -10
  153. package/test/Button.test.js +0 -18
  154. package/test/Card.test.js +0 -30
  155. package/test/Checkbox.test.js +0 -45
  156. package/test/Chip.test.js +0 -25
  157. package/test/Date.test.js +0 -397
  158. package/test/DateInput.test.js +0 -242
  159. package/test/Dialog.test.js +0 -23
  160. package/test/Dropdown.test.js +0 -145
  161. package/test/FileInput.test.js +0 -201
  162. package/test/Footer.test.js +0 -99
  163. package/test/Header.test.js +0 -39
  164. package/test/Heading.test.js +0 -35
  165. package/test/InputText.test.js +0 -248
  166. package/test/Link.test.js +0 -43
  167. package/test/NewTextarea.test.js +0 -195
  168. package/test/NumberInput.test.js +0 -259
  169. package/test/Paginator.test.js +0 -177
  170. package/test/PasswordInput.test.js +0 -83
  171. package/test/ProgressBar.test.js +0 -35
  172. package/test/Radio.test.js +0 -37
  173. package/test/ResultsetTable.test.js +0 -329
  174. package/test/Select.test.js +0 -212
  175. package/test/Sidenav.test.js +0 -45
  176. package/test/Slider.test.js +0 -82
  177. package/test/Spinner.test.js +0 -32
  178. package/test/Switch.test.js +0 -45
  179. package/test/Table.test.js +0 -36
  180. package/test/Tabs.test.js +0 -109
  181. package/test/TabsForSections.test.js +0 -34
  182. package/test/Tag.test.js +0 -32
  183. package/test/TextArea.test.js +0 -52
  184. package/test/TextInput.test.js +0 -732
  185. package/test/ToggleGroup.test.js +0 -85
  186. package/test/Upload.test.js +0 -60
  187. package/test/Wizard.test.js +0 -130
  188. package/test/mocks/pngMock.js +0 -1
  189. package/test/mocks/svgMock.js +0 -1
@@ -1,297 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
-
7
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
-
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
-
11
- var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime/helpers/objectDestructuringEmpty"));
12
-
13
- var _react = _interopRequireWildcard(require("react"));
14
-
15
- var _react2 = require("@storybook/react");
16
-
17
- var _addonActions = require("@storybook/addon-actions");
18
-
19
- var _addonKnobs = require("@storybook/addon-knobs");
20
-
21
- var _amazon = _interopRequireDefault(require("../../.storybook/public/amazon.svg"));
22
-
23
- var _Toggle = _interopRequireDefault(require("./Toggle.jsx"));
24
-
25
- var _readme = _interopRequireDefault(require("./readme.md"));
26
-
27
- var onClick = (0, _addonActions.action)("onClick");
28
-
29
- onClick.toString = function () {
30
- return "onClickHandler";
31
- };
32
-
33
- (0, _react2.storiesOf)("Form Components|Toggle", module).add("Types", function () {
34
- var ControlledStory = function ControlledStory(_ref) {
35
- (0, _objectDestructuringEmpty2["default"])(_ref);
36
-
37
- var _useState = (0, _react.useState)(false),
38
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
39
- selected = _useState2[0],
40
- setSelected = _useState2[1];
41
-
42
- var _useState3 = (0, _react.useState)(false),
43
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
44
- selected1 = _useState4[0],
45
- setselected1 = _useState4[1];
46
-
47
- var _useState5 = (0, _react.useState)(false),
48
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
49
- selected2 = _useState6[0],
50
- setselected2 = _useState6[1];
51
-
52
- var _useState7 = (0, _react.useState)(false),
53
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
54
- selected3 = _useState8[0],
55
- setselected3 = _useState8[1];
56
-
57
- var _useState9 = (0, _react.useState)(false),
58
- _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
59
- selected4 = _useState10[0],
60
- setselected4 = _useState10[1];
61
-
62
- var _useState11 = (0, _react.useState)(false),
63
- _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
64
- selected5 = _useState12[0],
65
- setselected5 = _useState12[1];
66
-
67
- var _useState13 = (0, _react.useState)(false),
68
- _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
69
- selected6 = _useState14[0],
70
- setSelected6 = _useState14[1];
71
-
72
- var _useState15 = (0, _react.useState)(false),
73
- _useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
74
- selected7 = _useState16[0],
75
- setselected7 = _useState16[1];
76
-
77
- var _useState17 = (0, _react.useState)(false),
78
- _useState18 = (0, _slicedToArray2["default"])(_useState17, 2),
79
- selected8 = _useState18[0],
80
- setselected8 = _useState18[1];
81
-
82
- var _useState19 = (0, _react.useState)(false),
83
- _useState20 = (0, _slicedToArray2["default"])(_useState19, 2),
84
- selected9 = _useState20[0],
85
- setselected9 = _useState20[1];
86
-
87
- var _useState21 = (0, _react.useState)(false),
88
- _useState22 = (0, _slicedToArray2["default"])(_useState21, 2),
89
- selected10 = _useState22[0],
90
- setselected10 = _useState22[1];
91
-
92
- var _useState23 = (0, _react.useState)(false),
93
- _useState24 = (0, _slicedToArray2["default"])(_useState23, 2),
94
- selected11 = _useState24[0],
95
- setselected11 = _useState24[1];
96
-
97
- var click = function click(value) {
98
- setSelected(!value);
99
- };
100
-
101
- var click1 = function click1(value) {
102
- setselected1(!value);
103
- };
104
-
105
- var click2 = function click2(value) {
106
- setselected2(!value);
107
- };
108
-
109
- var click3 = function click3(value) {
110
- setselected3(!value);
111
- };
112
-
113
- var click4 = function click4(value) {
114
- setselected4(!value);
115
- };
116
-
117
- var click5 = function click5(value) {
118
- setselected5(!value);
119
- };
120
-
121
- var click6 = function click6(value) {
122
- setSelected6(!value);
123
- };
124
-
125
- var click7 = function click7(value) {
126
- setselected7(!value);
127
- };
128
-
129
- var click8 = function click8(value) {
130
- setselected8(!value);
131
- };
132
-
133
- var click9 = function click9(value) {
134
- setselected9(!value);
135
- };
136
-
137
- var click10 = function click10(value) {
138
- setselected10(!value);
139
- };
140
-
141
- var click11 = function click11(value) {
142
- setselected11(!value);
143
- };
144
-
145
- return _react["default"].createElement("div", null, _react["default"].createElement("h3", null, "Light"), _react["default"].createElement("div", {
146
- style: {
147
- width: "100%",
148
- display: "inline-flex",
149
- alignItems: "center"
150
- }
151
- }, _react["default"].createElement(_Toggle["default"], {
152
- iconSrc: _amazon["default"],
153
- label: "Toggle 1",
154
- selected: selected,
155
- onClick: click
156
- }), _react["default"].createElement(_Toggle["default"], {
157
- label: "Toggle 2",
158
- selected: true,
159
- disabled: true
160
- }), _react["default"].createElement(_Toggle["default"], {
161
- iconSrc: _amazon["default"],
162
- selected: selected1,
163
- onClick: click1
164
- }), _react["default"].createElement(_Toggle["default"], {
165
- label: "Disabled Ripple",
166
- disableRipple: true,
167
- iconSrc: _amazon["default"],
168
- selected: selected2,
169
- onClick: click2
170
- }), _react["default"].createElement(_Toggle["default"], {
171
- iconSrc: _amazon["default"],
172
- label: "Toggle 1",
173
- mode: "outlined",
174
- selected: false,
175
- disabled: true
176
- }), _react["default"].createElement(_Toggle["default"], {
177
- label: "Toggle 2",
178
- mode: "outlined",
179
- selected: selected3,
180
- onClick: click3
181
- }), _react["default"].createElement(_Toggle["default"], {
182
- iconSrc: _amazon["default"],
183
- mode: "outlined",
184
- selected: selected4,
185
- onClick: click4
186
- }), _react["default"].createElement(_Toggle["default"], {
187
- label: "Disabled Ripple",
188
- disableRipple: true,
189
- iconSrc: _amazon["default"],
190
- mode: "outlined",
191
- selected: selected5,
192
- onClick: click5
193
- })), _react["default"].createElement("h3", null, "Dark"), _react["default"].createElement("div", {
194
- style: {
195
- width: "100%",
196
- display: "inline-flex",
197
- background: "black",
198
- alignItems: "center"
199
- }
200
- }, _react["default"].createElement(_Toggle["default"], {
201
- theme: "dark",
202
- iconSrc: _amazon["default"],
203
- label: "Toggle 1",
204
- selected: selected6,
205
- onClick: click6
206
- }), _react["default"].createElement(_Toggle["default"], {
207
- theme: "dark",
208
- label: "Toggle 2",
209
- selected: false,
210
- disabled: true
211
- }), _react["default"].createElement(_Toggle["default"], {
212
- theme: "dark",
213
- iconSrc: _amazon["default"],
214
- selected: selected7,
215
- onClick: click7
216
- }), _react["default"].createElement(_Toggle["default"], {
217
- label: "Disabled Ripple",
218
- disableRipple: true,
219
- theme: "dark",
220
- iconSrc: _amazon["default"],
221
- selected: selected8,
222
- onClick: click8
223
- }), _react["default"].createElement(_Toggle["default"], {
224
- theme: "dark",
225
- iconSrc: _amazon["default"],
226
- label: "Toggle 1",
227
- mode: "outlined",
228
- selected: true,
229
- disabled: true
230
- }), _react["default"].createElement(_Toggle["default"], {
231
- theme: "dark",
232
- label: "Toggle 2",
233
- mode: "outlined",
234
- selected: selected9,
235
- onClick: click9
236
- }), _react["default"].createElement(_Toggle["default"], {
237
- theme: "dark",
238
- iconSrc: _amazon["default"],
239
- mode: "outlined",
240
- selected: selected10,
241
- onClick: click10
242
- }), _react["default"].createElement(_Toggle["default"], {
243
- label: "Disabled Ripple",
244
- disableRipple: true,
245
- theme: "dark",
246
- iconSrc: _amazon["default"],
247
- mode: "outlined",
248
- selected: selected11,
249
- onClick: click11
250
- })));
251
- };
252
-
253
- return _react["default"].createElement(ControlledStory, null);
254
- }, {
255
- notes: {
256
- markdown: _readme["default"]
257
- }
258
- });
259
-
260
- var knobProps = function knobProps() {
261
- return {
262
- theme: (0, _addonKnobs.select)("Theme", {
263
- light: "light",
264
- dark: "dark"
265
- }, "light"),
266
- iconPosition: (0, _addonKnobs.select)("Icon Position", {
267
- after: "after",
268
- before: "before"
269
- }, "before"),
270
- mode: (0, _addonKnobs.select)("Mode", {
271
- "default": "basic",
272
- alternative: "outlined"
273
- }, "basic"),
274
- disabled: (0, _addonKnobs["boolean"])("Disabled", false),
275
- disableRipple: (0, _addonKnobs["boolean"])("Disable ripple", false),
276
- selected: (0, _addonKnobs["boolean"])("Selected", false),
277
- label: (0, _addonKnobs.text)("Label", "label")
278
- };
279
- };
280
-
281
- (0, _react2.storiesOf)("Form Components|Toggle", module).add("Knobs example", function () {
282
- var props = knobProps();
283
- return _react["default"].createElement("div", {
284
- style: {
285
- background: props.theme === "dark" && "black" || "transparent",
286
- display: "flex",
287
- alignItems: "center",
288
- flexWrap: "wrap"
289
- }
290
- }, _react["default"].createElement(_Toggle["default"], (0, _extends2["default"])({}, props, {
291
- iconSrc: _amazon["default"]
292
- })));
293
- }, {
294
- notes: {
295
- markdown: _readme["default"]
296
- }
297
- });
@@ -1,80 +0,0 @@
1
- # DXC Toggle Component
2
-
3
- ## Usage
4
-
5
- ```js
6
- import { DxcToggle } from "@dxc-technology/halstack-react";
7
-
8
- <DxcToggle onClick={handleClick} label="Test Button" />;
9
- ```
10
-
11
- ## Props
12
-
13
- <table>
14
- <tr style="background-color: grey">
15
- <td>Name</td>
16
- <td>Default</td>
17
- <td>Description</td>
18
- </tr>
19
- <tr>
20
- <td>selected: boolean</td>
21
- <td><code>false</code></td>
22
- <td>If true, the component is selected.</td>
23
- </tr>
24
- <tr>
25
- <td>mode: 'basic' | 'outlined'</td>
26
- <td><code>'basic'</code></td>
27
- <td>Uses on of the available toggle modes.</td>
28
- </tr>
29
- <tr>
30
- <td>iconPosition: 'before' | 'after'</td>
31
- <td><code>'before'</code></td>
32
- <td>Changes the position of the icon.</td>
33
- </tr>
34
- <tr>
35
- <td>theme: 'light' |'dark'</td>
36
- <td><code>'light'</code></td>
37
- <td>Uses one of the available component themes.</td>
38
- </tr>
39
- <tr>
40
- <td>label: string</td>
41
- <td><code>'basic'</code></td>
42
- <td>Text to be placed on the toggle.</td>
43
- </tr>
44
- <tr>
45
- <td>iconSrc: string</td>
46
- <td></td>
47
- <td>URL of the icon that will be placed on the toggle.</td>
48
- </tr>
49
- <tr>
50
- <td>disabled: boolean</td>
51
- <td><code>false</code></td>
52
- <td>If true, the component will be disabled.</td>
53
- </tr>
54
- <tr>
55
- <td>disableRipple: boolean</td>
56
- <td><code>false</code></td>
57
- <td>If true, the ripple effect will be disabled.</td>
58
- </tr>
59
- <tr>
60
- <td>onClick: function</td>
61
- <td></td>
62
- <td>This function will be called when the user clicks the button. The new state will be passed as a parameter.</td>
63
- </tr>
64
-
65
- </table>
66
-
67
- ## Examples
68
-
69
- ```js
70
- import { DxcToggle } from "@dxc-technology/halstack-react";
71
- <DxcToggle
72
- label="Disabled Ripple"
73
- disableRipple={true}
74
- theme="dark"
75
- iconSrc={amazon}
76
- mode="outlined"
77
- selected={selected}
78
- onClick={click}
79
- ></DxcToggle>;
80
- ```