@dxc-technology/halstack-react 0.0.0-e628009 → 0.0.0-e78f5f5
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/BackgroundColorContext.d.ts +10 -0
- package/BackgroundColorContext.js +47 -0
- package/ThemeContext.d.ts +10 -0
- package/ThemeContext.js +243 -0
- package/accordion/Accordion.d.ts +4 -0
- package/accordion/Accordion.js +247 -0
- package/accordion/Accordion.stories.tsx +307 -0
- package/accordion/Accordion.test.js +57 -0
- package/accordion/types.d.ts +64 -0
- package/accordion/types.js +5 -0
- package/accordion-group/AccordionGroup.d.ts +7 -0
- package/accordion-group/AccordionGroup.js +170 -0
- package/accordion-group/AccordionGroup.stories.tsx +225 -0
- package/accordion-group/AccordionGroup.test.js +133 -0
- package/accordion-group/types.d.ts +68 -0
- package/accordion-group/types.js +5 -0
- package/alert/Alert.d.ts +4 -0
- package/{dist/alert → alert}/Alert.js +40 -153
- package/alert/Alert.stories.tsx +170 -0
- package/alert/Alert.test.js +92 -0
- package/alert/types.d.ts +49 -0
- package/alert/types.js +5 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +59 -0
- package/badge/types.d.ts +4 -0
- package/badge/types.js +5 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +84 -0
- package/bleed/Bleed.stories.tsx +342 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.d.ts +4 -0
- package/{dist/box → box}/Box.js +15 -45
- package/box/Box.stories.tsx +132 -0
- package/box/Box.test.js +18 -0
- package/box/types.d.ts +43 -0
- package/box/types.js +5 -0
- package/button/Button.d.ts +4 -0
- package/{dist/button → button}/Button.js +26 -93
- package/button/Button.stories.tsx +274 -0
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +53 -0
- package/button/types.js +5 -0
- package/card/Card.d.ts +4 -0
- package/{dist/card → card}/Card.js +34 -124
- package/card/Card.stories.tsx +201 -0
- package/card/Card.test.js +50 -0
- package/card/ice-cream.jpg +0 -0
- package/card/types.d.ts +67 -0
- package/card/types.js +5 -0
- package/checkbox/Checkbox.d.ts +4 -0
- package/{dist/checkbox → checkbox}/Checkbox.js +18 -65
- package/checkbox/Checkbox.stories.tsx +192 -0
- package/checkbox/Checkbox.test.js +65 -0
- package/checkbox/types.d.ts +60 -0
- package/checkbox/types.js +5 -0
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +161 -0
- package/chip/Chip.stories.tsx +119 -0
- package/chip/Chip.test.js +56 -0
- package/chip/types.d.ts +45 -0
- package/chip/types.js +5 -0
- package/{dist/common → common}/OpenSans.css +0 -0
- package/{dist/common → common}/RequiredComponent.js +3 -11
- package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/{dist/common → common}/utils.js +0 -0
- package/{dist/common → common}/variables.js +145 -341
- package/date-input/DateInput.d.ts +4 -0
- package/{dist/date-input → date-input}/DateInput.js +47 -93
- package/date-input/DateInput.stories.tsx +138 -0
- package/date-input/DateInput.test.js +492 -0
- package/date-input/types.d.ts +104 -0
- package/date-input/types.js +5 -0
- package/dialog/Dialog.d.ts +4 -0
- package/{dist/dialog → dialog}/Dialog.js +24 -76
- package/dialog/Dialog.stories.tsx +212 -0
- package/dialog/Dialog.test.js +40 -0
- package/dialog/types.d.ts +43 -0
- package/dialog/types.js +5 -0
- package/dropdown/Dropdown.d.ts +4 -0
- package/{dist/dropdown → dropdown}/Dropdown.js +48 -197
- package/dropdown/Dropdown.stories.tsx +249 -0
- package/dropdown/Dropdown.test.js +189 -0
- package/dropdown/types.d.ts +80 -0
- package/dropdown/types.js +5 -0
- package/file-input/FileInput.d.ts +4 -0
- package/file-input/FileInput.js +590 -0
- package/file-input/FileInput.stories.tsx +507 -0
- package/file-input/FileInput.test.js +457 -0
- package/file-input/FileItem.d.ts +14 -0
- package/file-input/FileItem.js +184 -0
- package/file-input/types.d.ts +112 -0
- package/file-input/types.js +5 -0
- package/footer/Footer.d.ts +4 -0
- package/footer/Footer.js +258 -0
- package/footer/Footer.stories.tsx +130 -0
- package/footer/Footer.test.js +109 -0
- package/footer/Icons.d.ts +2 -0
- package/{dist/footer → footer}/Icons.js +15 -15
- package/footer/types.d.ts +65 -0
- package/footer/types.js +5 -0
- package/header/Header.d.ts +7 -0
- package/header/Header.js +324 -0
- package/header/Header.stories.tsx +162 -0
- package/header/Header.test.js +63 -0
- package/header/Icons.d.ts +2 -0
- package/{dist/header → header}/Icons.js +7 -32
- package/header/types.d.ts +47 -0
- package/header/types.js +5 -0
- package/heading/Heading.d.ts +4 -0
- package/{dist/heading → heading}/Heading.js +25 -96
- package/heading/Heading.stories.tsx +54 -0
- package/heading/Heading.test.js +186 -0
- package/heading/types.d.ts +33 -0
- package/heading/types.js +5 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +84 -0
- package/inset/Inset.stories.tsx +229 -0
- package/inset/types.d.ts +13 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +10 -0
- package/{dist/layout → layout}/ApplicationLayout.js +47 -143
- package/layout/ApplicationLayout.stories.tsx +171 -0
- package/{dist/layout → layout}/Icons.js +7 -7
- package/layout/types.d.ts +57 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +3 -0
- package/{dist/link → link}/Link.js +22 -106
- package/link/Link.stories.tsx +151 -0
- package/link/Link.test.js +91 -0
- package/link/types.d.ts +70 -0
- package/link/types.js +5 -0
- package/list/List.d.ts +4 -0
- package/list/List.js +47 -0
- package/list/List.stories.tsx +95 -0
- package/list/types.d.ts +7 -0
- package/list/types.js +5 -0
- package/main.d.ts +46 -0
- package/{dist/main.js → main.js} +113 -101
- package/number-input/NumberInput.d.ts +4 -0
- package/number-input/NumberInput.js +83 -0
- package/number-input/NumberInput.stories.tsx +115 -0
- package/number-input/NumberInput.test.js +508 -0
- package/number-input/NumberInputContext.d.ts +4 -0
- package/{dist/number-input → number-input}/NumberInputContext.js +5 -2
- package/number-input/numberInputContextTypes.d.ts +19 -0
- package/number-input/numberInputContextTypes.js +5 -0
- package/number-input/types.d.ts +117 -0
- package/number-input/types.js +5 -0
- package/package.json +34 -25
- package/{dist/paginator → paginator}/Icons.js +9 -9
- package/paginator/Paginator.d.ts +4 -0
- package/paginator/Paginator.js +192 -0
- package/paginator/Paginator.stories.tsx +63 -0
- package/paginator/Paginator.test.js +266 -0
- package/paginator/types.d.ts +38 -0
- package/paginator/types.js +5 -0
- package/password-input/PasswordInput.d.ts +4 -0
- package/{dist/password-input → password-input}/PasswordInput.js +43 -78
- package/password-input/PasswordInput.stories.tsx +131 -0
- package/password-input/PasswordInput.test.js +183 -0
- package/password-input/types.d.ts +107 -0
- package/password-input/types.js +5 -0
- package/progress-bar/ProgressBar.d.ts +4 -0
- package/{dist/progress-bar → progress-bar}/ProgressBar.js +22 -94
- package/progress-bar/ProgressBar.stories.jsx +58 -0
- package/progress-bar/ProgressBar.test.js +65 -0
- package/progress-bar/types.d.ts +37 -0
- package/progress-bar/types.js +5 -0
- package/radio/Radio.d.ts +4 -0
- package/{dist/radio → radio}/Radio.js +17 -52
- package/radio/Radio.stories.tsx +192 -0
- package/radio/Radio.test.js +71 -0
- package/radio/types.d.ts +54 -0
- package/radio/types.js +5 -0
- package/radio-group/Radio.d.ts +4 -0
- package/radio-group/Radio.js +141 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +280 -0
- package/radio-group/RadioGroup.stories.tsx +100 -0
- package/radio-group/RadioGroup.test.js +695 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultsetTable/ResultsetTable.d.ts +4 -0
- package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +43 -147
- package/resultsetTable/ResultsetTable.stories.tsx +275 -0
- package/resultsetTable/ResultsetTable.test.js +306 -0
- package/resultsetTable/types.d.ts +67 -0
- package/resultsetTable/types.js +5 -0
- package/row/Row.d.ts +3 -0
- package/row/Row.js +127 -0
- package/row/Row.stories.tsx +237 -0
- package/row/types.d.ts +10 -0
- package/row/types.js +5 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +110 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +740 -0
- package/select/Select.stories.tsx +582 -0
- package/select/Select.test.js +2016 -0
- package/select/types.d.ts +191 -0
- package/select/types.js +5 -0
- package/sidenav/Sidenav.d.ts +9 -0
- package/{dist/sidenav → sidenav}/Sidenav.js +21 -64
- package/sidenav/Sidenav.stories.tsx +182 -0
- package/sidenav/Sidenav.test.js +56 -0
- package/sidenav/types.d.ts +50 -0
- package/sidenav/types.js +5 -0
- package/slider/Slider.d.ts +4 -0
- package/{dist/slider → slider}/Slider.js +74 -161
- package/slider/Slider.stories.tsx +177 -0
- package/slider/Slider.test.js +129 -0
- package/slider/types.d.ts +78 -0
- package/slider/types.js +5 -0
- package/spinner/Spinner.d.ts +4 -0
- package/spinner/Spinner.js +250 -0
- package/spinner/Spinner.stories.jsx +103 -0
- package/spinner/Spinner.test.js +64 -0
- package/spinner/types.d.ts +32 -0
- package/spinner/types.js +5 -0
- package/stack/Stack.d.ts +3 -0
- package/stack/Stack.js +97 -0
- package/stack/Stack.stories.tsx +164 -0
- package/stack/types.d.ts +24 -0
- package/stack/types.js +5 -0
- package/switch/Switch.d.ts +4 -0
- package/{dist/switch → switch}/Switch.js +28 -71
- package/switch/Switch.stories.tsx +160 -0
- package/switch/Switch.test.js +73 -0
- package/switch/types.d.ts +58 -0
- package/switch/types.js +5 -0
- package/table/Table.d.ts +4 -0
- package/{dist/table → table}/Table.js +12 -26
- package/table/Table.stories.jsx +277 -0
- package/table/Table.test.js +26 -0
- package/table/types.d.ts +21 -0
- package/table/types.js +5 -0
- package/tabs/Tabs.d.ts +4 -0
- package/tabs/Tabs.js +213 -0
- package/tabs/Tabs.stories.tsx +120 -0
- package/tabs/Tabs.test.js +123 -0
- package/tabs/types.d.ts +78 -0
- package/tabs/types.js +5 -0
- package/tag/Tag.d.ts +4 -0
- package/tag/Tag.js +186 -0
- package/tag/Tag.stories.tsx +142 -0
- package/tag/Tag.test.js +60 -0
- package/tag/types.d.ts +69 -0
- package/tag/types.js +5 -0
- package/text/Text.d.ts +7 -0
- package/text/Text.js +30 -0
- package/text/Text.stories.tsx +19 -0
- package/text-input/TextInput.d.ts +4 -0
- package/{dist/text-input → text-input}/TextInput.js +286 -459
- package/text-input/TextInput.stories.tsx +474 -0
- package/text-input/TextInput.test.js +1725 -0
- package/text-input/types.d.ts +163 -0
- package/text-input/types.js +5 -0
- package/textarea/Textarea.d.ts +4 -0
- package/{dist/textarea → textarea}/Textarea.js +46 -127
- package/textarea/Textarea.stories.jsx +157 -0
- package/textarea/Textarea.test.js +447 -0
- package/textarea/types.d.ts +134 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.d.ts +4 -0
- package/{dist/toggle-group → toggle-group}/ToggleGroup.js +35 -148
- package/toggle-group/ToggleGroup.stories.tsx +173 -0
- package/toggle-group/ToggleGroup.test.js +125 -0
- package/toggle-group/types.d.ts +97 -0
- package/toggle-group/types.js +5 -0
- package/useTheme.d.ts +2 -0
- package/{dist/useTheme.js → useTheme.js} +1 -1
- package/wizard/Wizard.d.ts +4 -0
- package/wizard/Wizard.js +281 -0
- package/wizard/Wizard.stories.tsx +224 -0
- package/wizard/Wizard.test.js +128 -0
- package/wizard/types.d.ts +60 -0
- package/wizard/types.js +5 -0
- package/README.md +0 -66
- package/babel.config.js +0 -8
- package/dist/BackgroundColorContext.js +0 -46
- package/dist/ThemeContext.js +0 -248
- package/dist/V3Textarea/V3Textarea.js +0 -264
- package/dist/accordion/Accordion.js +0 -353
- package/dist/accordion-group/AccordionGroup.js +0 -186
- package/dist/alert/index.d.ts +0 -51
- package/dist/badge/Badge.js +0 -63
- package/dist/chip/Chip.js +0 -265
- package/dist/date/Date.js +0 -379
- package/dist/date-input/index.d.ts +0 -95
- package/dist/file-input/FileInput.js +0 -644
- package/dist/file-input/FileItem.js +0 -280
- package/dist/file-input/index.d.ts +0 -81
- package/dist/footer/Footer.js +0 -421
- package/dist/header/Header.js +0 -434
- package/dist/input-text/Icons.js +0 -22
- package/dist/input-text/InputText.js +0 -705
- package/dist/main.d.ts +0 -8
- package/dist/new-select/NewSelect.js +0 -836
- package/dist/new-select/index.d.ts +0 -53
- package/dist/number-input/NumberInput.js +0 -136
- package/dist/number-input/index.d.ts +0 -113
- package/dist/paginator/Paginator.js +0 -283
- package/dist/password-input/index.d.ts +0 -94
- package/dist/select/Select.js +0 -549
- package/dist/spinner/Spinner.js +0 -381
- package/dist/tabs/Tabs.js +0 -343
- package/dist/tabs-for-sections/TabsForSections.js +0 -92
- package/dist/tag/Tag.js +0 -282
- package/dist/text-input/index.d.ts +0 -135
- package/dist/textarea/index.d.ts +0 -117
- package/dist/toggle/Toggle.js +0 -220
- package/dist/upload/Upload.js +0 -205
- package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
- package/dist/upload/buttons-upload/Icons.js +0 -40
- package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
- package/dist/upload/dragAndDropArea/Icons.js +0 -39
- package/dist/upload/file-upload/FileToUpload.js +0 -189
- package/dist/upload/file-upload/Icons.js +0 -66
- package/dist/upload/files-upload/FilesToUpload.js +0 -123
- package/dist/upload/transaction/Icons.js +0 -160
- package/dist/upload/transaction/Transaction.js +0 -148
- package/dist/upload/transactions/Transactions.js +0 -138
- package/dist/wizard/Icons.js +0 -65
- package/dist/wizard/Wizard.js +0 -405
- package/test/Accordion.test.js +0 -33
- package/test/AccordionGroup.test.js +0 -125
- package/test/Alert.test.js +0 -53
- package/test/Box.test.js +0 -10
- package/test/Button.test.js +0 -18
- package/test/Card.test.js +0 -30
- package/test/Checkbox.test.js +0 -45
- package/test/Chip.test.js +0 -25
- package/test/Date.test.js +0 -397
- package/test/DateInput.test.js +0 -242
- package/test/Dialog.test.js +0 -23
- package/test/Dropdown.test.js +0 -145
- package/test/FileInput.test.js +0 -201
- package/test/Footer.test.js +0 -94
- package/test/Header.test.js +0 -34
- package/test/Heading.test.js +0 -83
- package/test/InputText.test.js +0 -248
- package/test/Link.test.js +0 -43
- package/test/NumberInput.test.js +0 -259
- package/test/Paginator.test.js +0 -177
- package/test/PasswordInput.test.js +0 -83
- package/test/ProgressBar.test.js +0 -35
- package/test/Radio.test.js +0 -37
- package/test/ResultsetTable.test.js +0 -329
- package/test/Select.test.js +0 -212
- package/test/Sidenav.test.js +0 -45
- package/test/Slider.test.js +0 -74
- package/test/Spinner.test.js +0 -32
- package/test/Switch.test.js +0 -45
- package/test/Table.test.js +0 -36
- package/test/Tabs.test.js +0 -109
- package/test/TabsForSections.test.js +0 -34
- package/test/Tag.test.js +0 -32
- package/test/TextInput.test.js +0 -732
- package/test/Textarea.test.js +0 -193
- package/test/ToggleGroup.test.js +0 -85
- package/test/Upload.test.js +0 -60
- package/test/V3TextArea.test.js +0 -51
- package/test/Wizard.test.js +0 -130
- package/test/mocks/pngMock.js +0 -1
- package/test/mocks/svgMock.js +0 -1
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
-
|
|
5
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
4
|
|
|
5
|
+
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
10
|
exports["default"] = void 0;
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
13
|
|
|
14
14
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
15
|
|
|
16
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
17
|
-
|
|
18
16
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
19
17
|
|
|
20
18
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -23,101 +21,15 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
|
23
21
|
|
|
24
22
|
var _uuid = require("uuid");
|
|
25
23
|
|
|
26
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
27
|
-
|
|
28
24
|
var _variables = require("../common/variables.js");
|
|
29
25
|
|
|
30
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
31
|
-
|
|
32
|
-
function _templateObject9() {
|
|
33
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n height: 24px;\n width: 24px;\n overflow: hidden;\n display: flex;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
|
|
34
|
-
|
|
35
|
-
_templateObject9 = function _templateObject9() {
|
|
36
|
-
return data;
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
return data;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
function _templateObject8() {
|
|
43
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n height: 24px;\n width: 24px;\n margin-right: ", ";\n"]);
|
|
26
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
44
27
|
|
|
45
|
-
|
|
46
|
-
return data;
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
return data;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function _templateObject7() {
|
|
53
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n"]);
|
|
54
|
-
|
|
55
|
-
_templateObject7 = function _templateObject7() {
|
|
56
|
-
return data;
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
return data;
|
|
60
|
-
}
|
|
28
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
|
|
61
29
|
|
|
62
|
-
function
|
|
63
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"]);
|
|
30
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
64
31
|
|
|
65
|
-
|
|
66
|
-
return data;
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
return data;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
function _templateObject5() {
|
|
73
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-right: ", ";\n\n ", "\n"]);
|
|
74
|
-
|
|
75
|
-
_templateObject5 = function _templateObject5() {
|
|
76
|
-
return data;
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
return data;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
function _templateObject4() {
|
|
83
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n opacity: 1;\n height: calc(48px - 4px - 4px);\n border-width: ", ";\n border-style: ", ";\n border-radius: ", ";\n border-color: ", ";\n background-color: ", ";\n padding: 4px;\n margin-top: ", ";\n"]);
|
|
84
|
-
|
|
85
|
-
_templateObject4 = function _templateObject4() {
|
|
86
|
-
return data;
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
return data;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
function _templateObject3() {
|
|
93
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: column;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"]);
|
|
94
|
-
|
|
95
|
-
_templateObject3 = function _templateObject3() {
|
|
96
|
-
return data;
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
return data;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
function _templateObject2() {
|
|
103
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"]);
|
|
104
|
-
|
|
105
|
-
_templateObject2 = function _templateObject2() {
|
|
106
|
-
return data;
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
return data;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
function _templateObject() {
|
|
113
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"]);
|
|
114
|
-
|
|
115
|
-
_templateObject = function _templateObject() {
|
|
116
|
-
return data;
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
return data;
|
|
120
|
-
}
|
|
32
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
121
33
|
|
|
122
34
|
var DxcToggleGroup = function DxcToggleGroup(_ref) {
|
|
123
35
|
var label = _ref.label,
|
|
@@ -126,8 +38,7 @@ var DxcToggleGroup = function DxcToggleGroup(_ref) {
|
|
|
126
38
|
onChange = _ref.onChange,
|
|
127
39
|
_ref$disabled = _ref.disabled,
|
|
128
40
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
129
|
-
|
|
130
|
-
options = _ref$options === void 0 ? [] : _ref$options,
|
|
41
|
+
options = _ref.options,
|
|
131
42
|
margin = _ref.margin,
|
|
132
43
|
_ref$multiple = _ref.multiple,
|
|
133
44
|
multiple = _ref$multiple === void 0 ? false : _ref$multiple,
|
|
@@ -135,7 +46,7 @@ var DxcToggleGroup = function DxcToggleGroup(_ref) {
|
|
|
135
46
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
136
47
|
var colorsTheme = (0, _useTheme["default"])();
|
|
137
48
|
|
|
138
|
-
var _useState = (0, _react.useState)(multiple ? [] :
|
|
49
|
+
var _useState = (0, _react.useState)(multiple ? [] : -1),
|
|
139
50
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
140
51
|
selectedValue = _useState2[0],
|
|
141
52
|
setSelectedValue = _useState2[1];
|
|
@@ -148,7 +59,7 @@ var DxcToggleGroup = function DxcToggleGroup(_ref) {
|
|
|
148
59
|
var newSelectedOptions;
|
|
149
60
|
|
|
150
61
|
if (value == null) {
|
|
151
|
-
if (multiple) {
|
|
62
|
+
if (multiple && Array.isArray(selectedValue)) {
|
|
152
63
|
newSelectedOptions = selectedValue.map(function (value) {
|
|
153
64
|
return value;
|
|
154
65
|
});
|
|
@@ -163,9 +74,9 @@ var DxcToggleGroup = function DxcToggleGroup(_ref) {
|
|
|
163
74
|
setSelectedValue(newSelectedOptions);
|
|
164
75
|
} else setSelectedValue(selectedOption === selectedValue ? null : selectedOption);
|
|
165
76
|
} else if (multiple) {
|
|
166
|
-
newSelectedOptions = value.map(function (v) {
|
|
77
|
+
newSelectedOptions = Array.isArray(value) ? value.map(function (v) {
|
|
167
78
|
return v;
|
|
168
|
-
});
|
|
79
|
+
}) : value;
|
|
169
80
|
|
|
170
81
|
if (newSelectedOptions.includes(selectedOption)) {
|
|
171
82
|
var _index = newSelectedOptions.indexOf(selectedOption);
|
|
@@ -174,7 +85,7 @@ var DxcToggleGroup = function DxcToggleGroup(_ref) {
|
|
|
174
85
|
} else newSelectedOptions.push(selectedOption);
|
|
175
86
|
}
|
|
176
87
|
|
|
177
|
-
|
|
88
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(multiple ? newSelectedOptions : selectedOption);
|
|
178
89
|
};
|
|
179
90
|
|
|
180
91
|
var handleKeyPress = function handleKeyPress(event, optionValue) {
|
|
@@ -182,47 +93,46 @@ var DxcToggleGroup = function DxcToggleGroup(_ref) {
|
|
|
182
93
|
if (!disabled && (event.nativeEvent.code === "Enter" || event.nativeEvent.code === "Space")) handleToggleChange(optionValue);
|
|
183
94
|
};
|
|
184
95
|
|
|
185
|
-
return _react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
96
|
+
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
186
97
|
theme: colorsTheme.toggleGroup
|
|
187
|
-
}, _react["default"].createElement(ToggleGroup, {
|
|
98
|
+
}, /*#__PURE__*/_react["default"].createElement(ToggleGroup, {
|
|
188
99
|
margin: margin,
|
|
189
100
|
disabled: disabled
|
|
190
|
-
}, _react["default"].createElement(Label, {
|
|
101
|
+
}, /*#__PURE__*/_react["default"].createElement(Label, {
|
|
191
102
|
htmlFor: toggleGroupId,
|
|
192
103
|
disabled: disabled
|
|
193
|
-
}, label), _react["default"].createElement(HelperText, {
|
|
104
|
+
}, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
194
105
|
disabled: disabled
|
|
195
|
-
}, helperText), _react["default"].createElement(OptionsContainer, {
|
|
106
|
+
}, helperText), /*#__PURE__*/_react["default"].createElement(OptionsContainer, {
|
|
196
107
|
id: toggleGroupId,
|
|
197
108
|
role: multiple ? "group" : "radiogroup"
|
|
198
109
|
}, options.map(function (option, i) {
|
|
199
|
-
return _react["default"].createElement(ToggleContainer, {
|
|
200
|
-
selected: multiple ? value ? value.includes(option.value) : selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue,
|
|
110
|
+
return /*#__PURE__*/_react["default"].createElement(ToggleContainer, {
|
|
111
|
+
selected: multiple && Array.isArray(value) ? value ? value.includes(option.value) : Array.isArray(selectedValue) && selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue,
|
|
201
112
|
role: multiple ? "switch" : "radio",
|
|
202
|
-
"aria-checked": multiple ? value ? value.includes(option.value) : selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue,
|
|
113
|
+
"aria-checked": multiple && Array.isArray(value) ? value ? value.includes(option.value) : Array.isArray(selectedValue) && selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue,
|
|
203
114
|
tabIndex: !disabled ? tabIndex : -1,
|
|
204
115
|
onClick: function onClick() {
|
|
205
116
|
return !disabled && handleToggleChange(option.value);
|
|
206
117
|
},
|
|
207
118
|
isFirst: i === 0,
|
|
208
119
|
isLast: i === options.length - 1,
|
|
209
|
-
isIcon: option.
|
|
120
|
+
isIcon: option.icon,
|
|
210
121
|
optionLabel: option.label,
|
|
211
122
|
disabled: disabled,
|
|
212
123
|
onKeyPress: function onKeyPress(event) {
|
|
213
124
|
handleKeyPress(event, option.value);
|
|
214
125
|
},
|
|
215
126
|
key: "toggle-".concat(i, "-").concat(option.label)
|
|
216
|
-
}, _react["default"].createElement(OptionContent, null, option.icon && _react["default"].createElement(IconContainer, {
|
|
217
|
-
optionLabel: option.label
|
|
218
|
-
}, (0, _typeof2["default"])(option.icon) === "object" ? option.icon : _react["default"].createElement(option.icon)), option.iconSrc && _react["default"].createElement(Icon, {
|
|
219
|
-
src: option.iconSrc,
|
|
127
|
+
}, /*#__PURE__*/_react["default"].createElement(OptionContent, null, option.icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
|
|
220
128
|
optionLabel: option.label
|
|
221
|
-
}
|
|
129
|
+
}, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(Icon, {
|
|
130
|
+
src: option.icon
|
|
131
|
+
}) : option.icon), option.label && /*#__PURE__*/_react["default"].createElement(LabelContainer, null, option.label)));
|
|
222
132
|
}))));
|
|
223
133
|
};
|
|
224
134
|
|
|
225
|
-
var Label = _styledComponents["default"].label(_templateObject(), function (props) {
|
|
135
|
+
var Label = _styledComponents["default"].label(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
|
|
226
136
|
return props.disabled ? props.theme.disabledLabelFontColor : props.theme.labelFontColor;
|
|
227
137
|
}, function (props) {
|
|
228
138
|
return props.theme.labelFontFamily;
|
|
@@ -236,7 +146,7 @@ var Label = _styledComponents["default"].label(_templateObject(), function (prop
|
|
|
236
146
|
return props.theme.labelLineHeight;
|
|
237
147
|
});
|
|
238
148
|
|
|
239
|
-
var HelperText = _styledComponents["default"].span(_templateObject2(), function (props) {
|
|
149
|
+
var HelperText = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
|
|
240
150
|
return props.disabled ? props.theme.disabledHelperTextFontcolor : props.theme.helperTextFontColor;
|
|
241
151
|
}, function (props) {
|
|
242
152
|
return props.theme.helperTextFontFamily;
|
|
@@ -250,7 +160,7 @@ var HelperText = _styledComponents["default"].span(_templateObject2(), function
|
|
|
250
160
|
return props.theme.helperTextLineHeight;
|
|
251
161
|
});
|
|
252
162
|
|
|
253
|
-
var ToggleGroup = _styledComponents["default"].div(_templateObject3(), function (props) {
|
|
163
|
+
var ToggleGroup = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: column;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
254
164
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
255
165
|
}, function (props) {
|
|
256
166
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
|
|
@@ -262,7 +172,7 @@ var ToggleGroup = _styledComponents["default"].div(_templateObject3(), function
|
|
|
262
172
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
263
173
|
});
|
|
264
174
|
|
|
265
|
-
var OptionsContainer = _styledComponents["default"].div(_templateObject4(), function (props) {
|
|
175
|
+
var OptionsContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n opacity: 1;\n height: calc(48px - 4px - 4px);\n border-width: ", ";\n border-style: ", ";\n border-radius: ", ";\n border-color: ", ";\n background-color: ", ";\n padding: 4px;\n margin-top: ", ";\n"])), function (props) {
|
|
266
176
|
return props.theme.containerBorderThickness;
|
|
267
177
|
}, function (props) {
|
|
268
178
|
return props.theme.containerBorderStyle;
|
|
@@ -276,13 +186,13 @@ var OptionsContainer = _styledComponents["default"].div(_templateObject4(), func
|
|
|
276
186
|
return props.theme.containerMarginTop;
|
|
277
187
|
});
|
|
278
188
|
|
|
279
|
-
var ToggleContainer = _styledComponents["default"].div(_templateObject5(), function (props) {
|
|
189
|
+
var ToggleContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-right: ", ";\n\n ", "\n"])), function (props) {
|
|
280
190
|
return !props.isLast && "4px";
|
|
281
191
|
}, function (props) {
|
|
282
192
|
return "\n background-color: ".concat(props.selected ? props.disabled ? props.theme.selectedDisabledBackgroundColor : props.theme.selectedBackgroundColor : props.disabled ? props.theme.unselectedDisabledBackgroundColor : props.theme.unselectedBackgroundColor, ";\n border-width: ").concat(props.theme.optionBorderThickness, ";\n border-style: ").concat(props.theme.optionBorderStyle, ";\n border-radius: ").concat(props.theme.optionBorderRadius, ";\n padding-left: ").concat(props.optionLabel && props.isIcon || props.optionLabel && !props.isIcon ? props.theme.labelPaddingLeft : props.theme.iconPaddingLeft, ";\n padding-right: ").concat(props.optionLabel && props.isIcon || props.optionLabel && !props.isIcon ? props.theme.labelPaddingRight : props.theme.iconPaddingRight, ";\n ").concat(!props.disabled ? ":hover {\n background-color: ".concat(props.selected ? props.theme.selectedHoverBackgroundColor : props.theme.unselectedHoverBackgroundColor, ";\n }\n :active {\n background-color: ").concat(props.selected ? props.theme.selectedActiveBackgroundColor : props.theme.unselectedActiveBackgroundColor, ";\n color: #ffffff;\n } \n :focus {\n border-color: transparent;\n box-shadow: 0 0 0 ").concat(props.theme.optionFocusBorderThickness, " ").concat(props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor, ";\n }\n &:focus-visible {\n outline: none;\n }\n cursor: pointer;\n color: ").concat(props.selected ? props.theme.selectedFontColor : props.theme.unselectedFontColor, ";\n") : "color: ".concat(props.selected ? props.theme.selectedDisabledFontColor : props.theme.unselectedDisabledFontColor, ";\n cursor: not-allowed;"), "\n ");
|
|
283
193
|
});
|
|
284
194
|
|
|
285
|
-
var LabelContainer = _styledComponents["default"].span(_templateObject6(), function (props) {
|
|
195
|
+
var LabelContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
286
196
|
return props.theme.optionLabelFontFamily;
|
|
287
197
|
}, function (props) {
|
|
288
198
|
return props.theme.optionLabelFontSize;
|
|
@@ -292,36 +202,13 @@ var LabelContainer = _styledComponents["default"].span(_templateObject6(), funct
|
|
|
292
202
|
return props.theme.optionLabelFontWeight;
|
|
293
203
|
});
|
|
294
204
|
|
|
295
|
-
var OptionContent = _styledComponents["default"].div(_templateObject7());
|
|
205
|
+
var OptionContent = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n align-items: center;\n"])));
|
|
296
206
|
|
|
297
|
-
var Icon = _styledComponents["default"].img(_templateObject8(
|
|
298
|
-
return props.optionLabel && props.theme.iconMarginRight;
|
|
299
|
-
});
|
|
207
|
+
var Icon = _styledComponents["default"].img(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
300
208
|
|
|
301
|
-
var IconContainer = _styledComponents["default"].div(_templateObject9(), function (props) {
|
|
209
|
+
var IconContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n height: 24px;\n width: 24px;\n overflow: hidden;\n display: flex;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
|
|
302
210
|
return props.optionLabel && props.theme.iconMarginRight;
|
|
303
211
|
});
|
|
304
212
|
|
|
305
|
-
DxcToggleGroup.propTypes = {
|
|
306
|
-
label: _propTypes["default"].string,
|
|
307
|
-
helperText: _propTypes["default"].string,
|
|
308
|
-
value: _propTypes["default"].any,
|
|
309
|
-
onChange: _propTypes["default"].func,
|
|
310
|
-
disabled: _propTypes["default"].bool,
|
|
311
|
-
multiple: _propTypes["default"].bool,
|
|
312
|
-
options: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
313
|
-
value: _propTypes["default"].any.isRequired,
|
|
314
|
-
label: _propTypes["default"].string,
|
|
315
|
-
icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
|
|
316
|
-
iconSrc: _propTypes["default"].string
|
|
317
|
-
})),
|
|
318
|
-
margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
319
|
-
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
320
|
-
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
321
|
-
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
322
|
-
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
323
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
|
|
324
|
-
tabIndex: _propTypes["default"].number
|
|
325
|
-
};
|
|
326
213
|
var _default = DxcToggleGroup;
|
|
327
214
|
exports["default"] = _default;
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { userEvent, within } from "@storybook/testing-library";
|
|
3
|
+
import DxcToggleGroup from "./ToggleGroup";
|
|
4
|
+
import Title from "../../.storybook/components/Title";
|
|
5
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
title: "ToggleGroup",
|
|
9
|
+
component: DxcToggleGroup,
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const ethernetSVG = (
|
|
13
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
|
|
14
|
+
<path d="M0 0h24v24H0V0z" fill="none" />
|
|
15
|
+
<path d="M7.77 6.76L6.23 5.48.82 12l5.41 6.52 1.54-1.28L3.42 12l4.35-5.24zM7 13h2v-2H7v2zm10-2h-2v2h2v-2zm-6 2h2v-2h-2v2zm6.77-7.52l-1.54 1.28L20.58 12l-4.35 5.24 1.54 1.28L23.18 12l-5.41-6.52z" />
|
|
16
|
+
</svg>
|
|
17
|
+
);
|
|
18
|
+
const gMobileSVG = (
|
|
19
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
|
|
20
|
+
<g>
|
|
21
|
+
<path d="M0,0h24v24H0V0z" fill="none" />
|
|
22
|
+
</g>
|
|
23
|
+
<g>
|
|
24
|
+
<g>
|
|
25
|
+
<path d="M3,7v2h5v2H4v2h4v2H3v2h5c1.1,0,2-0.9,2-2v-1.5c0-0.83-0.67-1.5-1.5-1.5c0.83,0,1.5-0.67,1.5-1.5V9c0-1.1-0.9-2-2-2H3z M21,11v4c0,1.1-0.9,2-2,2h-5c-1.1,0-2-0.9-2-2V9c0-1.1,0.9-2,2-2h5c1.1,0,2,0.9,2,2h-7v6h5v-2h-2.5v-2H21z" />
|
|
26
|
+
</g>
|
|
27
|
+
</g>
|
|
28
|
+
</svg>
|
|
29
|
+
);
|
|
30
|
+
const wifiSVG = (
|
|
31
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
|
|
32
|
+
<path d="M0 0h24v24H0V0zm0 0h24v24H0V0z" fill="none" />
|
|
33
|
+
<path d="M1 9l2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9zm8 8l3 3 3-3c-1.65-1.66-4.34-1.66-6 0zm-4-4l2 2c2.76-2.76 7.24-2.76 10 0l2-2C15.14 9.14 8.87 9.14 5 13z" />
|
|
34
|
+
</svg>
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
const options = [
|
|
38
|
+
{
|
|
39
|
+
value: 1,
|
|
40
|
+
label: "Facebook",
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
value: 2,
|
|
44
|
+
label: "Twitter",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
value: 3,
|
|
48
|
+
label: "Linkedin",
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
const optionsWithIcon = [
|
|
52
|
+
{
|
|
53
|
+
value: 1,
|
|
54
|
+
icon: wifiSVG,
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
value: 2,
|
|
58
|
+
icon: ethernetSVG,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
value: 3,
|
|
62
|
+
icon: gMobileSVG,
|
|
63
|
+
},
|
|
64
|
+
];
|
|
65
|
+
const optionsWithIconAndLabel = [
|
|
66
|
+
{
|
|
67
|
+
value: 1,
|
|
68
|
+
label: "Wi-fi",
|
|
69
|
+
icon: wifiSVG,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
value: 2,
|
|
73
|
+
label: "Ethernet",
|
|
74
|
+
icon: ethernetSVG,
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
value: 3,
|
|
78
|
+
label: "3G Mobile",
|
|
79
|
+
icon: gMobileSVG,
|
|
80
|
+
},
|
|
81
|
+
];
|
|
82
|
+
const twoOptions = [
|
|
83
|
+
{
|
|
84
|
+
value: 1,
|
|
85
|
+
label: "Facebook",
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
value: 2,
|
|
89
|
+
label: "Twitter",
|
|
90
|
+
},
|
|
91
|
+
];
|
|
92
|
+
export const Chromatic = () => (
|
|
93
|
+
<>
|
|
94
|
+
<ExampleContainer>
|
|
95
|
+
<Title title="Basic toggle group" theme="light" level={4} />
|
|
96
|
+
<DxcToggleGroup label="Toggle group" helperText="HelperText" options={options} />
|
|
97
|
+
</ExampleContainer>
|
|
98
|
+
<ExampleContainer>
|
|
99
|
+
<Title title="Selected" theme="light" level={4} />
|
|
100
|
+
<DxcToggleGroup label="Selected" helperText="HelperText" value={2} options={options} />
|
|
101
|
+
</ExampleContainer>
|
|
102
|
+
<ExampleContainer>
|
|
103
|
+
<Title title="Icons toggle group" theme="light" level={4} />
|
|
104
|
+
<DxcToggleGroup label="Icons group" options={optionsWithIcon} />
|
|
105
|
+
</ExampleContainer>
|
|
106
|
+
<ExampleContainer>
|
|
107
|
+
<Title title="Icons & label toggle group" theme="light" level={4} />
|
|
108
|
+
<DxcToggleGroup label="Icons & label" options={optionsWithIconAndLabel} />
|
|
109
|
+
</ExampleContainer>
|
|
110
|
+
<ExampleContainer>
|
|
111
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
112
|
+
<DxcToggleGroup label="Disabled" value={2} options={options} disabled />
|
|
113
|
+
</ExampleContainer>
|
|
114
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
115
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
116
|
+
<DxcToggleGroup label="Hovered" options={twoOptions} value={2} />
|
|
117
|
+
</ExampleContainer>
|
|
118
|
+
<ExampleContainer>
|
|
119
|
+
<Title title="Multiple toggleGroup" theme="light" level={4} />
|
|
120
|
+
<DxcToggleGroup
|
|
121
|
+
label="Toggle group"
|
|
122
|
+
helperText="Please select one or more"
|
|
123
|
+
options={options}
|
|
124
|
+
value={[1, 3]}
|
|
125
|
+
multiple
|
|
126
|
+
></DxcToggleGroup>
|
|
127
|
+
</ExampleContainer>
|
|
128
|
+
<Title title="Margins" theme="light" level={2} />
|
|
129
|
+
<ExampleContainer>
|
|
130
|
+
<Title title="xxSmall" theme="light" level={4} />
|
|
131
|
+
<DxcToggleGroup label="xxSmall margin" options={options} margin="xxsmall" />
|
|
132
|
+
</ExampleContainer>
|
|
133
|
+
<ExampleContainer>
|
|
134
|
+
<Title title="xSmall" theme="light" level={4} />
|
|
135
|
+
<DxcToggleGroup label="xSmall margin" options={options} margin="xsmall" />
|
|
136
|
+
</ExampleContainer>
|
|
137
|
+
<ExampleContainer>
|
|
138
|
+
<Title title="Small" theme="light" level={4} />
|
|
139
|
+
<DxcToggleGroup label="Small margin" options={options} margin="small" />
|
|
140
|
+
</ExampleContainer>
|
|
141
|
+
<ExampleContainer>
|
|
142
|
+
<Title title="Medium" theme="light" level={4} />
|
|
143
|
+
<DxcToggleGroup label="Medium margin" options={options} margin="medium" />
|
|
144
|
+
</ExampleContainer>
|
|
145
|
+
<ExampleContainer>
|
|
146
|
+
<Title title="Large" theme="light" level={4} />
|
|
147
|
+
<DxcToggleGroup label="Large margin" options={options} margin="large" />
|
|
148
|
+
</ExampleContainer>
|
|
149
|
+
<ExampleContainer>
|
|
150
|
+
<Title title="xLarge" theme="light" level={4} />
|
|
151
|
+
<DxcToggleGroup label="xLarge margin" options={options} margin="xlarge" />
|
|
152
|
+
</ExampleContainer>
|
|
153
|
+
<ExampleContainer>
|
|
154
|
+
<Title title="xxLarge" theme="light" level={4} />
|
|
155
|
+
<DxcToggleGroup label="xxLarge margin" options={options} margin="xxlarge" />
|
|
156
|
+
</ExampleContainer>
|
|
157
|
+
</>
|
|
158
|
+
);
|
|
159
|
+
const OptionSelected = () => <DxcToggleGroup label="Toggle group" helperText="HelperText" options={options} />;
|
|
160
|
+
|
|
161
|
+
export const ToggleGroupSelectedActived = OptionSelected.bind({});
|
|
162
|
+
ToggleGroupSelectedActived.play = async ({ canvasElement }) => {
|
|
163
|
+
const canvas = within(canvasElement);
|
|
164
|
+
const option = canvas.getByText("Linkedin");
|
|
165
|
+
await userEvent.click(option);
|
|
166
|
+
};
|
|
167
|
+
export const ToggleGroupUnselectedActived = OptionSelected.bind({});
|
|
168
|
+
ToggleGroupUnselectedActived.play = async ({ canvasElement }) => {
|
|
169
|
+
const canvas = within(canvasElement);
|
|
170
|
+
const option = canvas.getByText("Twitter");
|
|
171
|
+
await userEvent.click(option);
|
|
172
|
+
userEvent.tab();
|
|
173
|
+
};
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
|
|
9
|
+
var _ToggleGroup = _interopRequireDefault(require("./ToggleGroup"));
|
|
10
|
+
|
|
11
|
+
var options = [{
|
|
12
|
+
value: 1,
|
|
13
|
+
label: "Amazon"
|
|
14
|
+
}, {
|
|
15
|
+
value: 2,
|
|
16
|
+
label: "Ebay"
|
|
17
|
+
}, {
|
|
18
|
+
value: 3,
|
|
19
|
+
label: "Apple"
|
|
20
|
+
}, {
|
|
21
|
+
value: 4,
|
|
22
|
+
label: "Google"
|
|
23
|
+
}];
|
|
24
|
+
describe("Toggle group component tests", function () {
|
|
25
|
+
test("Toggle group renders with correct labels", function () {
|
|
26
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
|
|
27
|
+
label: "Toggle group label",
|
|
28
|
+
helperText: "Toggle group helper text",
|
|
29
|
+
options: options
|
|
30
|
+
})),
|
|
31
|
+
getByText = _render.getByText;
|
|
32
|
+
|
|
33
|
+
expect(getByText("Toggle group label")).toBeTruthy();
|
|
34
|
+
expect(getByText("Toggle group helper text")).toBeTruthy();
|
|
35
|
+
expect(getByText("Amazon")).toBeTruthy();
|
|
36
|
+
expect(getByText("Ebay")).toBeTruthy();
|
|
37
|
+
expect(getByText("Apple")).toBeTruthy();
|
|
38
|
+
expect(getByText("Google")).toBeTruthy();
|
|
39
|
+
});
|
|
40
|
+
test("Uncontrolled toggle group calls correct function on change with value", function () {
|
|
41
|
+
var onChange = jest.fn();
|
|
42
|
+
|
|
43
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
|
|
44
|
+
options: options,
|
|
45
|
+
onChange: onChange
|
|
46
|
+
})),
|
|
47
|
+
getByText = _render2.getByText;
|
|
48
|
+
|
|
49
|
+
var option = getByText("Ebay");
|
|
50
|
+
|
|
51
|
+
_react2.fireEvent.click(option);
|
|
52
|
+
|
|
53
|
+
expect(onChange).toHaveBeenCalledWith(2);
|
|
54
|
+
});
|
|
55
|
+
test("Controlled toggle group calls correct function on change with value", function () {
|
|
56
|
+
var onChange = jest.fn();
|
|
57
|
+
|
|
58
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
|
|
59
|
+
options: options,
|
|
60
|
+
onChange: onChange,
|
|
61
|
+
value: 1
|
|
62
|
+
})),
|
|
63
|
+
getByText = _render3.getByText;
|
|
64
|
+
|
|
65
|
+
var option = getByText("Ebay");
|
|
66
|
+
|
|
67
|
+
_react2.fireEvent.click(option);
|
|
68
|
+
|
|
69
|
+
expect(onChange).toHaveBeenCalledWith(2);
|
|
70
|
+
});
|
|
71
|
+
test("Function on change is not called when disable", function () {
|
|
72
|
+
var onChange = jest.fn();
|
|
73
|
+
|
|
74
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
|
|
75
|
+
options: options,
|
|
76
|
+
onChange: onChange,
|
|
77
|
+
disabled: true
|
|
78
|
+
})),
|
|
79
|
+
getByText = _render4.getByText;
|
|
80
|
+
|
|
81
|
+
var option = getByText("Ebay");
|
|
82
|
+
|
|
83
|
+
_react2.fireEvent.click(option);
|
|
84
|
+
|
|
85
|
+
expect(onChange).toHaveBeenCalledTimes(0);
|
|
86
|
+
});
|
|
87
|
+
test("Uncontrolled multiple toggle group calls correct function on change with value when is multiple", function () {
|
|
88
|
+
var onChange = jest.fn();
|
|
89
|
+
|
|
90
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
|
|
91
|
+
options: options,
|
|
92
|
+
onChange: onChange,
|
|
93
|
+
multiple: true
|
|
94
|
+
})),
|
|
95
|
+
getByText = _render5.getByText;
|
|
96
|
+
|
|
97
|
+
var option = getByText("Ebay");
|
|
98
|
+
|
|
99
|
+
_react2.fireEvent.click(option);
|
|
100
|
+
|
|
101
|
+
expect(onChange).toHaveBeenCalledWith([2]);
|
|
102
|
+
});
|
|
103
|
+
test("Controlled multiple toggle returns always same values", function () {
|
|
104
|
+
var onChange = jest.fn();
|
|
105
|
+
|
|
106
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
|
|
107
|
+
options: options,
|
|
108
|
+
onChange: onChange,
|
|
109
|
+
value: [1],
|
|
110
|
+
multiple: true
|
|
111
|
+
})),
|
|
112
|
+
getByText = _render6.getByText;
|
|
113
|
+
|
|
114
|
+
var option = getByText("Ebay");
|
|
115
|
+
|
|
116
|
+
_react2.fireEvent.click(option);
|
|
117
|
+
|
|
118
|
+
expect(onChange).toHaveBeenCalledWith([1, 2]);
|
|
119
|
+
var option2 = getByText("Google");
|
|
120
|
+
|
|
121
|
+
_react2.fireEvent.click(option2);
|
|
122
|
+
|
|
123
|
+
expect(onChange).toHaveBeenNthCalledWith(2, [1, 4]);
|
|
124
|
+
});
|
|
125
|
+
});
|