@dxc-technology/halstack-react 0.0.0-de7c6b0 → 0.0.0-dec566a
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 +1 -10
- package/BackgroundColorContext.js +4 -21
- package/HalstackContext.d.ts +52 -139
- package/HalstackContext.js +11 -36
- package/README.md +47 -0
- package/accordion/Accordion.js +31 -84
- package/accordion/Accordion.stories.tsx +5 -50
- package/accordion/Accordion.test.js +18 -33
- package/accordion/types.d.ts +6 -6
- package/accordion-group/AccordionGroup.d.ts +2 -3
- package/accordion-group/AccordionGroup.js +17 -44
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +42 -60
- package/accordion-group/AccordionGroupAccordion.js +11 -23
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/accordion-group/types.d.ts +7 -7
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +48 -0
- package/action-icon/ActionIcon.stories.tsx +41 -0
- package/action-icon/ActionIcon.test.js +64 -0
- package/action-icon/types.d.ts +26 -0
- package/alert/Alert.js +29 -118
- package/alert/Alert.test.js +28 -45
- package/alert/types.d.ts +5 -5
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +141 -43
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +52 -3
- package/bleed/Bleed.js +13 -21
- package/bleed/types.d.ts +2 -2
- package/box/Box.js +11 -33
- package/box/Box.test.js +1 -6
- package/box/types.d.ts +3 -3
- package/bulleted-list/BulletedList.js +22 -55
- package/bulleted-list/BulletedList.stories.tsx +2 -93
- package/bulleted-list/types.d.ts +5 -5
- package/button/Button.d.ts +1 -1
- package/button/Button.js +68 -100
- package/button/Button.stories.tsx +33 -132
- package/button/Button.test.js +19 -16
- package/button/types.d.ts +9 -5
- package/card/Card.js +21 -44
- package/card/Card.test.js +10 -21
- package/card/types.d.ts +5 -5
- package/checkbox/Checkbox.js +85 -120
- package/checkbox/Checkbox.stories.tsx +16 -54
- package/checkbox/Checkbox.test.js +107 -63
- package/checkbox/types.d.ts +8 -4
- package/chip/Chip.js +12 -31
- package/chip/Chip.stories.tsx +1 -1
- package/chip/Chip.test.js +15 -28
- package/chip/types.d.ts +4 -4
- package/common/coreTokens.d.ts +105 -14
- package/common/coreTokens.js +41 -24
- package/common/utils.js +2 -8
- package/common/variables.d.ts +52 -139
- package/common/variables.js +63 -157
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/contextual-menu/ContextualMenu.d.ts +7 -0
- package/contextual-menu/ContextualMenu.js +71 -0
- package/contextual-menu/ContextualMenu.stories.tsx +182 -0
- package/contextual-menu/ContextualMenu.test.js +71 -0
- package/contextual-menu/MenuItemAction.d.ts +4 -0
- package/contextual-menu/MenuItemAction.js +46 -0
- package/contextual-menu/types.d.ts +22 -0
- package/contextual-menu/types.js +5 -0
- package/date-input/Calendar.js +15 -59
- package/date-input/DateInput.js +50 -96
- package/date-input/DateInput.stories.tsx +11 -30
- package/date-input/DateInput.test.js +674 -701
- package/date-input/DatePicker.js +11 -42
- package/date-input/Icons.d.ts +6 -6
- package/date-input/Icons.js +6 -23
- package/date-input/YearPicker.js +8 -34
- package/date-input/types.d.ts +28 -22
- package/dialog/Dialog.js +13 -40
- package/dialog/Dialog.stories.tsx +170 -0
- package/dialog/Dialog.test.js +125 -187
- package/dialog/types.d.ts +18 -13
- package/divider/Divider.d.ts +4 -0
- package/divider/Divider.js +36 -0
- package/divider/Divider.stories.tsx +223 -0
- package/divider/Divider.test.js +38 -0
- package/divider/types.d.ts +21 -0
- package/divider/types.js +5 -0
- package/dropdown/Dropdown.js +59 -128
- package/dropdown/Dropdown.stories.tsx +5 -16
- package/dropdown/Dropdown.test.js +391 -378
- package/dropdown/DropdownMenu.js +8 -19
- package/dropdown/DropdownMenuItem.js +11 -20
- package/dropdown/types.d.ts +20 -24
- package/file-input/FileInput.js +180 -248
- package/file-input/FileInput.stories.tsx +1 -1
- package/file-input/FileInput.test.js +356 -354
- package/file-input/FileItem.js +14 -41
- package/file-input/types.d.ts +10 -10
- package/flex/Flex.js +25 -39
- package/flex/types.d.ts +6 -6
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +70 -102
- package/footer/Footer.stories.tsx +37 -6
- package/footer/Footer.test.js +21 -33
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +66 -7
- package/footer/types.d.ts +25 -21
- package/grid/Grid.d.ts +1 -1
- package/grid/Grid.js +2 -17
- package/grid/Grid.stories.tsx +38 -38
- package/grid/types.d.ts +10 -10
- package/header/Header.d.ts +1 -1
- package/header/Header.js +28 -84
- package/header/Header.test.js +12 -25
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +2 -7
- package/header/types.d.ts +7 -8
- package/heading/Heading.js +9 -31
- package/heading/Heading.test.js +70 -87
- package/heading/types.d.ts +7 -7
- package/icon/Icon.d.ts +4 -0
- package/icon/Icon.js +33 -0
- package/icon/Icon.stories.tsx +28 -0
- package/icon/types.d.ts +4 -0
- package/icon/types.js +5 -0
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +129 -0
- package/image/types.d.ts +72 -0
- package/image/types.js +5 -0
- package/inset/Inset.js +13 -21
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +2 -2
- package/layout/ApplicationLayout.js +29 -66
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +8 -5
- package/layout/Icons.js +51 -59
- package/layout/types.d.ts +3 -3
- package/link/Link.js +21 -42
- package/link/Link.test.js +23 -41
- package/link/types.d.ts +14 -14
- package/main.d.ts +8 -4
- package/main.js +39 -59
- package/nav-tabs/NavTabs.d.ts +1 -2
- package/nav-tabs/NavTabs.js +19 -48
- package/nav-tabs/NavTabs.stories.tsx +7 -5
- package/nav-tabs/NavTabs.test.js +38 -44
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +24 -52
- package/nav-tabs/types.d.ts +9 -9
- package/number-input/NumberInput.js +46 -36
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +859 -412
- package/number-input/NumberInputContext.d.ts +3 -4
- package/number-input/NumberInputContext.js +3 -14
- package/number-input/types.d.ts +17 -5
- package/package.json +30 -28
- package/paginator/Icons.d.ts +5 -5
- package/paginator/Icons.js +5 -19
- package/paginator/Paginator.js +15 -43
- package/paginator/Paginator.test.js +224 -207
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.js +3 -19
- package/paragraph/Paragraph.stories.tsx +0 -17
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.js +57 -126
- package/password-input/PasswordInput.stories.tsx +1 -33
- package/password-input/PasswordInput.test.js +157 -140
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.js +21 -53
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
- package/progress-bar/ProgressBar.test.js +35 -52
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.js +4 -27
- package/quick-nav/QuickNav.stories.tsx +1 -1
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +22 -54
- package/radio-group/RadioGroup.js +37 -83
- package/radio-group/RadioGroup.stories.tsx +10 -10
- package/radio-group/RadioGroup.test.js +504 -470
- package/radio-group/types.d.ts +8 -8
- package/resultset-table/Icons.d.ts +7 -0
- package/{resultsetTable → resultset-table}/Icons.js +1 -5
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.js +44 -69
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +106 -5
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +148 -92
- package/{resultsetTable → resultset-table}/types.d.ts +44 -11
- package/resultset-table/types.js +5 -0
- package/select/Icons.d.ts +7 -7
- package/select/Icons.js +1 -5
- package/select/Listbox.js +13 -39
- package/select/Option.js +17 -27
- package/select/Select.js +87 -163
- package/select/Select.stories.tsx +3 -3
- package/select/Select.test.js +1946 -1804
- package/select/types.d.ts +14 -15
- package/sidenav/Icons.d.ts +4 -4
- package/sidenav/Icons.js +1 -5
- package/sidenav/Sidenav.js +29 -70
- package/sidenav/Sidenav.test.js +3 -10
- package/{layout → sidenav}/SidenavContext.d.ts +1 -1
- package/{layout → sidenav}/SidenavContext.js +3 -9
- package/sidenav/types.d.ts +18 -18
- package/slider/Slider.js +68 -125
- package/slider/Slider.test.js +107 -103
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.js +16 -54
- package/spinner/Spinner.test.js +25 -34
- package/spinner/types.d.ts +3 -3
- package/status-light/StatusLight.d.ts +4 -0
- package/status-light/StatusLight.js +51 -0
- package/status-light/StatusLight.stories.tsx +74 -0
- package/status-light/StatusLight.test.js +25 -0
- package/status-light/types.d.ts +17 -0
- package/status-light/types.js +5 -0
- package/switch/Switch.js +49 -97
- package/switch/Switch.stories.tsx +0 -34
- package/switch/Switch.test.js +51 -96
- package/switch/types.d.ts +4 -4
- package/table/DropdownTheme.js +62 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +76 -33
- package/table/{Table.stories.jsx → Table.stories.tsx} +297 -2
- package/table/Table.test.js +93 -6
- package/table/types.d.ts +34 -6
- package/tabs/Tab.js +17 -33
- package/tabs/Tabs.js +52 -129
- package/tabs/Tabs.stories.tsx +1 -1
- package/tabs/Tabs.test.js +62 -118
- package/tabs/types.d.ts +19 -19
- package/tag/Tag.js +21 -51
- package/tag/Tag.test.js +19 -30
- package/tag/types.d.ts +7 -7
- package/text-input/Suggestion.js +9 -26
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +19 -67
- package/text-input/TextInput.js +221 -327
- package/text-input/TextInput.stories.tsx +49 -153
- package/text-input/TextInput.test.js +1227 -1194
- package/text-input/types.d.ts +25 -17
- package/textarea/Textarea.js +67 -109
- package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -100
- package/textarea/Textarea.test.js +150 -179
- package/textarea/types.d.ts +9 -5
- package/toggle-group/ToggleGroup.js +90 -107
- package/toggle-group/ToggleGroup.stories.tsx +7 -4
- package/toggle-group/ToggleGroup.test.js +68 -87
- package/toggle-group/types.d.ts +26 -17
- package/typography/Typography.js +4 -13
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +49 -136
- package/useTheme.js +1 -8
- package/useTranslatedLabels.js +1 -7
- package/utils/BaseTypography.d.ts +2 -2
- package/utils/BaseTypography.js +16 -30
- package/utils/FocusLock.js +25 -39
- package/wizard/Wizard.js +14 -49
- package/wizard/Wizard.test.js +53 -80
- package/wizard/types.d.ts +7 -7
- package/common/OpenSans.css +0 -69
- package/common/fonts/OpenSans-Bold.ttf +0 -0
- package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-Italic.ttf +0 -0
- package/common/fonts/OpenSans-Light.ttf +0 -0
- package/common/fonts/OpenSans-LightItalic.ttf +0 -0
- package/common/fonts/OpenSans-Regular.ttf +0 -0
- package/common/fonts/OpenSans-SemiBold.ttf +0 -0
- package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/resultsetTable/Icons.d.ts +0 -7
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/slider/Slider.stories.tsx +0 -240
- package/text-input/Icons.d.ts +0 -8
- package/text-input/Icons.js +0 -60
- /package/{resultsetTable → action-icon}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → container/types.js} +0 -0
- /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
|
@@ -1,142 +1,128 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
-
|
|
14
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
-
|
|
16
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
-
|
|
18
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
-
|
|
20
13
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
|
-
|
|
22
14
|
var _uuid = require("uuid");
|
|
23
|
-
|
|
24
15
|
var _variables = require("../common/variables");
|
|
25
|
-
|
|
26
16
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
27
|
-
|
|
28
|
-
var
|
|
29
|
-
|
|
30
|
-
var
|
|
31
|
-
|
|
32
|
-
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); }
|
|
33
|
-
|
|
34
|
-
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; }
|
|
35
|
-
|
|
17
|
+
var _Flex = _interopRequireDefault(require("../flex/Flex"));
|
|
18
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
19
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
20
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
36
21
|
var DxcToggleGroup = function DxcToggleGroup(_ref) {
|
|
37
22
|
var label = _ref.label,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
23
|
+
helperText = _ref.helperText,
|
|
24
|
+
defaultValue = _ref.defaultValue,
|
|
25
|
+
value = _ref.value,
|
|
26
|
+
onChange = _ref.onChange,
|
|
27
|
+
_ref$disabled = _ref.disabled,
|
|
28
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
29
|
+
options = _ref.options,
|
|
30
|
+
margin = _ref.margin,
|
|
31
|
+
_ref$multiple = _ref.multiple,
|
|
32
|
+
multiple = _ref$multiple === void 0 ? false : _ref$multiple,
|
|
33
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
34
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
35
|
+
var _useState = (0, _react.useState)("label-toggle-group-".concat((0, _uuid.v4)())),
|
|
36
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 1),
|
|
37
|
+
toggleGroupLabelId = _useState2[0];
|
|
38
|
+
var _useState3 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : -1),
|
|
39
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
40
|
+
selectedValue = _useState4[0],
|
|
41
|
+
setSelectedValue = _useState4[1];
|
|
50
42
|
var colorsTheme = (0, _useTheme["default"])();
|
|
51
|
-
|
|
52
|
-
var _useState = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : -1),
|
|
53
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
54
|
-
selectedValue = _useState2[0],
|
|
55
|
-
setSelectedValue = _useState2[1];
|
|
56
|
-
|
|
57
|
-
var _useState3 = (0, _react.useState)("toggle-group-".concat((0, _uuid.v4)())),
|
|
58
|
-
_useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
|
|
59
|
-
toggleGroupId = _useState4[0];
|
|
60
|
-
|
|
61
|
-
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
62
|
-
|
|
63
43
|
var handleToggleChange = function handleToggleChange(selectedOption) {
|
|
64
44
|
var newSelectedOptions;
|
|
65
|
-
|
|
66
45
|
if (value == null) {
|
|
67
46
|
if (multiple && Array.isArray(selectedValue)) {
|
|
68
47
|
newSelectedOptions = selectedValue.map(function (value) {
|
|
69
48
|
return value;
|
|
70
49
|
});
|
|
71
|
-
|
|
72
50
|
if (newSelectedOptions.includes(selectedOption)) {
|
|
73
51
|
var index = newSelectedOptions.indexOf(selectedOption);
|
|
74
52
|
newSelectedOptions.splice(index, 1);
|
|
75
53
|
} else {
|
|
76
54
|
newSelectedOptions.push(selectedOption);
|
|
77
55
|
}
|
|
78
|
-
|
|
79
56
|
setSelectedValue(newSelectedOptions);
|
|
80
57
|
} else setSelectedValue(selectedOption === selectedValue ? null : selectedOption);
|
|
81
58
|
} else if (multiple) {
|
|
82
59
|
newSelectedOptions = Array.isArray(value) ? value.map(function (v) {
|
|
83
60
|
return v;
|
|
84
61
|
}) : value;
|
|
85
|
-
|
|
86
62
|
if (newSelectedOptions.includes(selectedOption)) {
|
|
87
63
|
var _index = newSelectedOptions.indexOf(selectedOption);
|
|
88
|
-
|
|
89
64
|
newSelectedOptions.splice(_index, 1);
|
|
90
65
|
} else newSelectedOptions.push(selectedOption);
|
|
91
66
|
}
|
|
92
|
-
|
|
93
67
|
onChange === null || onChange === void 0 ? void 0 : onChange(multiple ? newSelectedOptions : selectedOption);
|
|
94
68
|
};
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
69
|
+
var handleOnKeyDown = function handleOnKeyDown(event, optionValue) {
|
|
70
|
+
switch (event.key) {
|
|
71
|
+
case "Enter":
|
|
72
|
+
case " ":
|
|
73
|
+
event.preventDefault();
|
|
74
|
+
handleToggleChange(optionValue);
|
|
75
|
+
}
|
|
99
76
|
};
|
|
100
|
-
|
|
101
77
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
102
78
|
theme: colorsTheme.toggleGroup
|
|
103
79
|
}, /*#__PURE__*/_react["default"].createElement(ToggleGroup, {
|
|
104
80
|
margin: margin
|
|
105
81
|
}, /*#__PURE__*/_react["default"].createElement(Label, {
|
|
106
|
-
|
|
82
|
+
id: toggleGroupLabelId,
|
|
107
83
|
disabled: disabled
|
|
108
84
|
}, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
109
85
|
disabled: disabled
|
|
110
86
|
}, helperText), /*#__PURE__*/_react["default"].createElement(OptionsContainer, {
|
|
111
|
-
|
|
112
|
-
role: multiple ? "group" : "radiogroup"
|
|
87
|
+
"aria-labelledby": toggleGroupLabelId
|
|
113
88
|
}, options.map(function (option, i) {
|
|
114
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
tabIndex: !disabled ? tabIndex : -1,
|
|
89
|
+
return /*#__PURE__*/_react["default"].createElement(ToggleButton, {
|
|
90
|
+
key: "toggle-".concat(i, "-").concat(option.label),
|
|
91
|
+
"aria-label": option.title,
|
|
92
|
+
"aria-pressed": multiple ? value ? Array.isArray(value) && value.includes(option.value) : Array.isArray(selectedValue) && selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue,
|
|
93
|
+
disabled: disabled,
|
|
120
94
|
onClick: function onClick() {
|
|
121
|
-
|
|
95
|
+
handleToggleChange(option.value);
|
|
122
96
|
},
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
optionLabel: option.label,
|
|
126
|
-
disabled: disabled,
|
|
127
|
-
onKeyPress: function onKeyPress(event) {
|
|
128
|
-
handleKeyPress(event, option.value);
|
|
97
|
+
onKeyDown: function onKeyDown(event) {
|
|
98
|
+
handleOnKeyDown(event, option.value);
|
|
129
99
|
},
|
|
130
|
-
|
|
131
|
-
|
|
100
|
+
tabIndex: !disabled ? tabIndex : -1,
|
|
101
|
+
title: option.title,
|
|
102
|
+
hasIcon: option.icon,
|
|
103
|
+
optionLabel: option.label,
|
|
104
|
+
selected: multiple ? value ? Array.isArray(value) && value.includes(option.value) : Array.isArray(selectedValue) && selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue
|
|
105
|
+
}, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
106
|
+
alignItems: "center"
|
|
107
|
+
}, option.icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
|
|
132
108
|
optionLabel: option.label
|
|
133
|
-
}, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(
|
|
109
|
+
}, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
|
|
134
110
|
src: option.icon
|
|
135
111
|
}) : option.icon), option.label && /*#__PURE__*/_react["default"].createElement(LabelContainer, null, option.label)));
|
|
136
112
|
}))));
|
|
137
113
|
};
|
|
138
|
-
|
|
139
|
-
|
|
114
|
+
var ToggleGroup = _styledComponents["default"].div(_templateObject || (_templateObject = (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) {
|
|
115
|
+
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
116
|
+
}, function (props) {
|
|
117
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
|
|
118
|
+
}, function (props) {
|
|
119
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
|
|
120
|
+
}, function (props) {
|
|
121
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
|
|
122
|
+
}, function (props) {
|
|
123
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
124
|
+
});
|
|
125
|
+
var Label = _styledComponents["default"].label(_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) {
|
|
140
126
|
return props.disabled ? props.theme.disabledLabelFontColor : props.theme.labelFontColor;
|
|
141
127
|
}, function (props) {
|
|
142
128
|
return props.theme.labelFontFamily;
|
|
@@ -149,8 +135,7 @@ var Label = _styledComponents["default"].label(_templateObject || (_templateObje
|
|
|
149
135
|
}, function (props) {
|
|
150
136
|
return props.theme.labelLineHeight;
|
|
151
137
|
});
|
|
152
|
-
|
|
153
|
-
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) {
|
|
138
|
+
var HelperText = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
|
|
154
139
|
return props.disabled ? props.theme.disabledHelperTextFontcolor : props.theme.helperTextFontColor;
|
|
155
140
|
}, function (props) {
|
|
156
141
|
return props.theme.helperTextFontFamily;
|
|
@@ -163,20 +148,7 @@ var HelperText = _styledComponents["default"].span(_templateObject2 || (_templat
|
|
|
163
148
|
}, function (props) {
|
|
164
149
|
return props.theme.helperTextLineHeight;
|
|
165
150
|
});
|
|
166
|
-
|
|
167
|
-
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) {
|
|
168
|
-
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
169
|
-
}, function (props) {
|
|
170
|
-
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
|
|
171
|
-
}, function (props) {
|
|
172
|
-
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
|
|
173
|
-
}, function (props) {
|
|
174
|
-
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
|
|
175
|
-
}, function (props) {
|
|
176
|
-
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
177
|
-
});
|
|
178
|
-
|
|
179
|
-
var OptionsContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n width: max-content;\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) {
|
|
151
|
+
var OptionsContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n gap: 0.25rem;\n width: max-content;\n height: calc(48px - 4px - 4px);\n padding: 0.25rem;\n border-width: ", ";\n border-style: ", ";\n border-radius: ", ";\n border-color: ", ";\n margin-top: ", ";\n background-color: ", ";\n"])), function (props) {
|
|
180
152
|
return props.theme.containerBorderThickness;
|
|
181
153
|
}, function (props) {
|
|
182
154
|
return props.theme.containerBorderStyle;
|
|
@@ -184,18 +156,36 @@ var OptionsContainer = _styledComponents["default"].div(_templateObject4 || (_te
|
|
|
184
156
|
return props.theme.containerBorderRadius;
|
|
185
157
|
}, function (props) {
|
|
186
158
|
return props.theme.containerBorderColor;
|
|
187
|
-
}, function (props) {
|
|
188
|
-
return props.theme.containerBackgroundColor;
|
|
189
159
|
}, function (props) {
|
|
190
160
|
return props.theme.containerMarginTop;
|
|
161
|
+
}, function (props) {
|
|
162
|
+
return props.theme.containerBackgroundColor;
|
|
191
163
|
});
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
164
|
+
var ToggleButton = _styledComponents["default"].button(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding-left: ", ";\n padding-right: ", ";\n border-width: ", ";\n border-style: ", ";\n border-radius: ", ";\n background-color: ", ";\n color: ", ";\n cursor: pointer;\n\n &:hover {\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n color: #ffffff;\n }\n &:focus {\n outline: none;\n box-shadow: ", ";\n }\n &:disabled {\n background-color: ", ";\n color: ", ";\n cursor: not-allowed;\n }\n"])), function (props) {
|
|
165
|
+
return props.optionLabel && props.hasIcon || props.optionLabel && !props.hasIcon ? props.theme.labelPaddingLeft : props.theme.iconPaddingLeft;
|
|
166
|
+
}, function (props) {
|
|
167
|
+
return props.optionLabel && props.hasIcon || props.optionLabel && !props.hasIcon ? props.theme.labelPaddingRight : props.theme.iconPaddingRight;
|
|
168
|
+
}, function (props) {
|
|
169
|
+
return props.theme.optionBorderThickness;
|
|
170
|
+
}, function (props) {
|
|
171
|
+
return props.theme.optionBorderStyle;
|
|
172
|
+
}, function (props) {
|
|
173
|
+
return props.theme.optionBorderRadius;
|
|
174
|
+
}, function (props) {
|
|
175
|
+
return props.selected ? props.theme.selectedBackgroundColor : props.theme.unselectedBackgroundColor;
|
|
176
|
+
}, function (props) {
|
|
177
|
+
return props.selected ? props.theme.selectedFontColor : props.theme.unselectedFontColor;
|
|
195
178
|
}, function (props) {
|
|
196
|
-
return
|
|
179
|
+
return props.selected ? props.theme.selectedHoverBackgroundColor : props.theme.unselectedHoverBackgroundColor;
|
|
180
|
+
}, function (props) {
|
|
181
|
+
return props.selected ? props.theme.selectedActiveBackgroundColor : props.theme.unselectedActiveBackgroundColor;
|
|
182
|
+
}, function (props) {
|
|
183
|
+
return "0 0 0 ".concat(props.theme.optionFocusBorderThickness, " ").concat(props.theme.focusColor);
|
|
184
|
+
}, function (props) {
|
|
185
|
+
return props.selected ? props.theme.selectedDisabledBackgroundColor : props.theme.unselectedDisabledBackgroundColor;
|
|
186
|
+
}, function (props) {
|
|
187
|
+
return props.selected ? props.theme.selectedDisabledFontColor : props.theme.unselectedDisabledFontColor;
|
|
197
188
|
});
|
|
198
|
-
|
|
199
189
|
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) {
|
|
200
190
|
return props.theme.optionLabelFontFamily;
|
|
201
191
|
}, function (props) {
|
|
@@ -205,14 +195,7 @@ var LabelContainer = _styledComponents["default"].span(_templateObject6 || (_tem
|
|
|
205
195
|
}, function (props) {
|
|
206
196
|
return props.theme.optionLabelFontWeight;
|
|
207
197
|
});
|
|
208
|
-
|
|
209
|
-
var OptionContent = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n align-items: center;\n"])));
|
|
210
|
-
|
|
211
|
-
var Icon = _styledComponents["default"].img(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
212
|
-
|
|
213
|
-
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) {
|
|
198
|
+
var IconContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 24px;\n width: 24px;\n margin-right: ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
|
|
214
199
|
return props.optionLabel && props.theme.iconMarginRight;
|
|
215
200
|
});
|
|
216
|
-
|
|
217
|
-
var _default = DxcToggleGroup;
|
|
218
|
-
exports["default"] = _default;
|
|
201
|
+
var _default = exports["default"] = DxcToggleGroup;
|
|
@@ -6,7 +6,7 @@ import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
|
6
6
|
import { HalstackProvider } from "../HalstackContext";
|
|
7
7
|
|
|
8
8
|
export default {
|
|
9
|
-
title: "
|
|
9
|
+
title: "Toggle Group",
|
|
10
10
|
component: DxcToggleGroup,
|
|
11
11
|
};
|
|
12
12
|
|
|
@@ -42,7 +42,7 @@ const options = [
|
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
44
|
value: 2,
|
|
45
|
-
label: "
|
|
45
|
+
label: "X",
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
48
|
value: 3,
|
|
@@ -53,14 +53,17 @@ const optionsWithIcon = [
|
|
|
53
53
|
{
|
|
54
54
|
value: 1,
|
|
55
55
|
icon: wifiSVG,
|
|
56
|
+
title: "WiFi connection",
|
|
56
57
|
},
|
|
57
58
|
{
|
|
58
59
|
value: 2,
|
|
59
60
|
icon: ethernetSVG,
|
|
61
|
+
title: "Ethernet connection",
|
|
60
62
|
},
|
|
61
63
|
{
|
|
62
64
|
value: 3,
|
|
63
65
|
icon: gMobileSVG,
|
|
66
|
+
title: "3G Mobile data connection",
|
|
64
67
|
},
|
|
65
68
|
];
|
|
66
69
|
const optionsWithIconAndLabel = [
|
|
@@ -87,7 +90,7 @@ const twoOptions = [
|
|
|
87
90
|
},
|
|
88
91
|
{
|
|
89
92
|
value: 2,
|
|
90
|
-
label: "
|
|
93
|
+
label: "X",
|
|
91
94
|
},
|
|
92
95
|
];
|
|
93
96
|
|
|
@@ -209,7 +212,7 @@ ToggleGroupSelectedActived.play = async ({ canvasElement }) => {
|
|
|
209
212
|
export const ToggleGroupUnselectedActived = OptionSelected.bind({});
|
|
210
213
|
ToggleGroupUnselectedActived.play = async ({ canvasElement }) => {
|
|
211
214
|
const canvas = within(canvasElement);
|
|
212
|
-
const option = canvas.getByText("
|
|
215
|
+
const option = canvas.getByText("X");
|
|
213
216
|
await userEvent.click(option);
|
|
214
217
|
userEvent.tab();
|
|
215
218
|
};
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _react = _interopRequireDefault(require("react"));
|
|
6
|
-
|
|
7
5
|
var _react2 = require("@testing-library/react");
|
|
8
|
-
|
|
9
6
|
var _ToggleGroup = _interopRequireDefault(require("./ToggleGroup.tsx"));
|
|
10
|
-
|
|
11
7
|
var options = [{
|
|
12
8
|
value: 1,
|
|
13
9
|
label: "Amazon"
|
|
@@ -24,12 +20,11 @@ var options = [{
|
|
|
24
20
|
describe("Toggle group component tests", function () {
|
|
25
21
|
test("Toggle group renders with correct labels", function () {
|
|
26
22
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
23
|
+
label: "Toggle group label",
|
|
24
|
+
helperText: "Toggle group helper text",
|
|
25
|
+
options: options
|
|
26
|
+
})),
|
|
27
|
+
getByText = _render.getByText;
|
|
33
28
|
expect(getByText("Toggle group label")).toBeTruthy();
|
|
34
29
|
expect(getByText("Toggle group helper text")).toBeTruthy();
|
|
35
30
|
expect(getByText("Amazon")).toBeTruthy();
|
|
@@ -37,120 +32,106 @@ describe("Toggle group component tests", function () {
|
|
|
37
32
|
expect(getByText("Apple")).toBeTruthy();
|
|
38
33
|
expect(getByText("Google")).toBeTruthy();
|
|
39
34
|
});
|
|
35
|
+
test("Toggle group renders with correct aria-label in only-icon scenario", function () {
|
|
36
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
|
|
37
|
+
label: "Toggle group label",
|
|
38
|
+
helperText: "Toggle group helper text",
|
|
39
|
+
options: [{
|
|
40
|
+
value: 1,
|
|
41
|
+
icon: "https://cdn.icon-icons.com/icons2/2645/PNG/512/mic_mute_icon_159965.png",
|
|
42
|
+
title: "Mute"
|
|
43
|
+
}]
|
|
44
|
+
})),
|
|
45
|
+
getByRole = _render2.getByRole;
|
|
46
|
+
expect(getByRole("button").getAttribute("aria-label")).toBe("Mute");
|
|
47
|
+
});
|
|
40
48
|
test("Uncontrolled toggle group calls correct function on change with value", function () {
|
|
41
49
|
var onChange = jest.fn();
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
getByText = _render2.getByText;
|
|
48
|
-
|
|
50
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
|
|
51
|
+
options: options,
|
|
52
|
+
onChange: onChange
|
|
53
|
+
})),
|
|
54
|
+
getByText = _render3.getByText;
|
|
49
55
|
var option = getByText("Ebay");
|
|
50
|
-
|
|
51
56
|
_react2.fireEvent.click(option);
|
|
52
|
-
|
|
53
57
|
expect(onChange).toHaveBeenCalledWith(2);
|
|
54
58
|
});
|
|
55
59
|
test("Controlled toggle group calls correct function on change with value", function () {
|
|
56
60
|
var onChange = jest.fn();
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
getByText = _render3.getByText;
|
|
64
|
-
|
|
61
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
|
|
62
|
+
options: options,
|
|
63
|
+
onChange: onChange,
|
|
64
|
+
value: 1
|
|
65
|
+
})),
|
|
66
|
+
getByText = _render4.getByText;
|
|
65
67
|
var option = getByText("Ebay");
|
|
66
|
-
|
|
67
68
|
_react2.fireEvent.click(option);
|
|
68
|
-
|
|
69
69
|
expect(onChange).toHaveBeenCalledWith(2);
|
|
70
70
|
});
|
|
71
71
|
test("Function on change is not called when disable", function () {
|
|
72
72
|
var onChange = jest.fn();
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
getByText = _render4.getByText;
|
|
80
|
-
|
|
73
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
|
|
74
|
+
options: options,
|
|
75
|
+
onChange: onChange,
|
|
76
|
+
disabled: true
|
|
77
|
+
})),
|
|
78
|
+
getByText = _render5.getByText;
|
|
81
79
|
var option = getByText("Ebay");
|
|
82
|
-
|
|
83
80
|
_react2.fireEvent.click(option);
|
|
84
|
-
|
|
85
81
|
expect(onChange).toHaveBeenCalledTimes(0);
|
|
86
82
|
});
|
|
87
83
|
test("Uncontrolled multiple toggle group calls correct function on change with value when is multiple", function () {
|
|
88
84
|
var onChange = jest.fn();
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
var toggleOptions = getAllByRole("switch");
|
|
98
|
-
|
|
85
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
|
|
86
|
+
options: options,
|
|
87
|
+
onChange: onChange,
|
|
88
|
+
multiple: true
|
|
89
|
+
})),
|
|
90
|
+
getAllByRole = _render6.getAllByRole;
|
|
91
|
+
var toggleOptions = getAllByRole("button");
|
|
99
92
|
_react2.fireEvent.click(toggleOptions[0]);
|
|
100
|
-
|
|
101
93
|
expect(onChange).toHaveBeenCalledWith([1]);
|
|
102
|
-
|
|
103
94
|
_react2.fireEvent.click(toggleOptions[1]);
|
|
104
|
-
|
|
105
95
|
_react2.fireEvent.click(toggleOptions[3]);
|
|
106
|
-
|
|
107
96
|
expect(onChange).toHaveBeenCalledWith([1, 2, 4]);
|
|
108
|
-
expect(toggleOptions[0].getAttribute("aria-
|
|
109
|
-
expect(toggleOptions[1].getAttribute("aria-
|
|
110
|
-
expect(toggleOptions[3].getAttribute("aria-
|
|
97
|
+
expect(toggleOptions[0].getAttribute("aria-pressed")).toBe("true");
|
|
98
|
+
expect(toggleOptions[1].getAttribute("aria-pressed")).toBe("true");
|
|
99
|
+
expect(toggleOptions[3].getAttribute("aria-pressed")).toBe("true");
|
|
111
100
|
});
|
|
112
101
|
test("Controlled multiple toggle returns always same values", function () {
|
|
113
102
|
var onChange = jest.fn();
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
getByText = _render6.getByText;
|
|
122
|
-
|
|
103
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
|
|
104
|
+
options: options,
|
|
105
|
+
onChange: onChange,
|
|
106
|
+
value: [1],
|
|
107
|
+
multiple: true
|
|
108
|
+
})),
|
|
109
|
+
getByText = _render7.getByText;
|
|
123
110
|
var option = getByText("Ebay");
|
|
124
|
-
|
|
125
111
|
_react2.fireEvent.click(option);
|
|
126
|
-
|
|
127
112
|
expect(onChange).toHaveBeenCalledWith([1, 2]);
|
|
128
113
|
var option2 = getByText("Google");
|
|
129
|
-
|
|
130
114
|
_react2.fireEvent.click(option2);
|
|
131
|
-
|
|
132
115
|
expect(onChange).toHaveBeenNthCalledWith(2, [1, 4]);
|
|
133
116
|
});
|
|
134
117
|
test("Single selection: Renders with correct default value", function () {
|
|
135
|
-
var
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
expect(toggleOptions[1].getAttribute("aria-checked")).toBe("true");
|
|
118
|
+
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
|
|
119
|
+
options: options,
|
|
120
|
+
defaultValue: 2
|
|
121
|
+
})),
|
|
122
|
+
getAllByRole = _render8.getAllByRole;
|
|
123
|
+
var toggleOptions = getAllByRole("button");
|
|
124
|
+
expect(toggleOptions[1].getAttribute("aria-pressed")).toBe("true");
|
|
143
125
|
});
|
|
144
126
|
test("Multiple selection: Renders with correct default value", function () {
|
|
145
|
-
var
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
expect(toggleOptions[
|
|
154
|
-
expect(toggleOptions[3].getAttribute("aria-checked")).toBe("true");
|
|
127
|
+
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
|
|
128
|
+
options: options,
|
|
129
|
+
defaultValue: [2, 4],
|
|
130
|
+
multiple: true
|
|
131
|
+
})),
|
|
132
|
+
getAllByRole = _render9.getAllByRole;
|
|
133
|
+
var toggleOptions = getAllByRole("button");
|
|
134
|
+
expect(toggleOptions[1].getAttribute("aria-pressed")).toBe("true");
|
|
135
|
+
expect(toggleOptions[3].getAttribute("aria-pressed")).toBe("true");
|
|
155
136
|
});
|
|
156
137
|
});
|