@dxc-technology/halstack-react 10.1.0 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +1 -10
- package/BackgroundColorContext.js +4 -21
- package/HalstackContext.d.ts +45 -143
- package/HalstackContext.js +10 -35
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.js +33 -84
- package/accordion/Accordion.stories.tsx +8 -64
- package/accordion/Accordion.test.js +18 -33
- package/accordion/types.d.ts +6 -6
- package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
- package/accordion-group/AccordionGroup.d.ts +2 -3
- package/accordion-group/AccordionGroup.js +17 -44
- package/accordion-group/AccordionGroup.stories.tsx +24 -24
- 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.accessibility.test.js +63 -0
- 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.accessibility.test.js +95 -0
- package/alert/Alert.js +34 -120
- package/alert/Alert.test.js +28 -45
- package/alert/types.d.ts +5 -5
- package/badge/Badge.accessibility.test.js +129 -0
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +142 -42
- 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.accessibility.test.js +33 -0
- package/box/Box.js +11 -33
- package/box/Box.test.js +1 -6
- package/box/types.d.ts +3 -3
- package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
- package/breadcrumbs/Breadcrumbs.d.ts +4 -0
- package/breadcrumbs/Breadcrumbs.js +79 -0
- package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
- package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.test.js +169 -0
- package/breadcrumbs/Item.d.ts +4 -0
- package/breadcrumbs/Item.js +52 -0
- package/breadcrumbs/dropdownTheme.d.ts +53 -0
- package/breadcrumbs/dropdownTheme.js +62 -0
- package/breadcrumbs/types.d.ts +16 -0
- package/breadcrumbs/types.js +5 -0
- package/bulleted-list/BulletedList.accessibility.test.js +119 -0
- 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.accessibility.test.js +127 -0
- package/button/Button.js +36 -59
- package/button/Button.stories.tsx +35 -135
- package/button/Button.test.js +13 -21
- package/button/types.d.ts +5 -5
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.js +23 -45
- package/card/Card.test.js +10 -21
- package/card/types.d.ts +5 -5
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.js +88 -123
- package/checkbox/Checkbox.stories.tsx +16 -54
- package/checkbox/Checkbox.test.js +107 -63
- package/checkbox/types.d.ts +8 -4
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +22 -36
- package/chip/Chip.stories.tsx +10 -25
- package/chip/Chip.test.js +17 -30
- package/chip/types.d.ts +4 -4
- package/common/coreTokens.d.ts +105 -14
- package/common/coreTokens.js +40 -23
- package/common/utils.js +2 -8
- package/common/variables.d.ts +46 -144
- package/common/variables.js +120 -225
- 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/container/types.js +5 -0
- package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
- package/contextual-menu/ContextualMenu.d.ts +5 -0
- package/contextual-menu/ContextualMenu.js +88 -0
- package/contextual-menu/ContextualMenu.stories.tsx +232 -0
- package/contextual-menu/ContextualMenu.test.js +205 -0
- package/contextual-menu/GroupItem.d.ts +4 -0
- package/contextual-menu/GroupItem.js +67 -0
- package/contextual-menu/ItemAction.d.ts +4 -0
- package/contextual-menu/ItemAction.js +51 -0
- package/contextual-menu/MenuItem.d.ts +4 -0
- package/contextual-menu/MenuItem.js +29 -0
- package/contextual-menu/SingleItem.d.ts +4 -0
- package/contextual-menu/SingleItem.js +38 -0
- package/contextual-menu/types.d.ts +58 -0
- package/contextual-menu/types.js +5 -0
- package/date-input/Calendar.js +13 -57
- package/date-input/DateInput.accessibility.test.js +228 -0
- package/date-input/DateInput.js +53 -100
- package/date-input/DateInput.stories.tsx +19 -31
- package/date-input/DateInput.test.js +674 -701
- package/date-input/DatePicker.js +23 -48
- package/date-input/YearPicker.js +8 -34
- package/date-input/types.d.ts +28 -22
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.js +21 -59
- package/dialog/Dialog.stories.tsx +176 -0
- package/dialog/Dialog.test.js +126 -188
- package/dialog/types.d.ts +18 -13
- package/divider/Divider.accessibility.test.js +33 -0
- 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.accessibility.test.js +180 -0
- package/dropdown/Dropdown.js +63 -130
- package/dropdown/Dropdown.stories.tsx +15 -26
- package/dropdown/Dropdown.test.js +402 -389
- package/dropdown/DropdownMenu.js +12 -23
- package/dropdown/DropdownMenuItem.js +13 -21
- package/dropdown/types.d.ts +20 -24
- package/file-input/FileInput.accessibility.test.js +160 -0
- package/file-input/FileInput.js +180 -284
- package/file-input/FileInput.stories.tsx +1 -1
- package/file-input/FileInput.test.js +279 -354
- package/file-input/FileItem.js +29 -66
- package/file-input/types.d.ts +9 -9
- package/flex/Flex.js +25 -39
- package/flex/types.d.ts +6 -6
- package/footer/Footer.accessibility.test.js +125 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +43 -68
- package/footer/Footer.stories.tsx +58 -2
- package/footer/Footer.test.js +18 -32
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +53 -22
- package/footer/types.d.ts +17 -17
- package/grid/Grid.js +1 -16
- package/grid/types.d.ts +10 -10
- package/header/Header.accessibility.test.js +93 -0
- package/header/Header.d.ts +1 -1
- package/header/Header.js +38 -104
- package/header/Header.stories.tsx +16 -0
- package/header/Header.test.js +12 -25
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +3 -13
- package/header/types.d.ts +7 -8
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +9 -31
- package/heading/Heading.test.js +70 -87
- package/heading/types.d.ts +7 -7
- package/icon/Icon.accessibility.test.js +30 -0
- 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.accessibility.test.js +56 -0
- package/image/Image.d.ts +2 -2
- package/image/Image.js +17 -32
- package/image/Image.stories.tsx +3 -1
- package/image/types.d.ts +2 -2
- package/inset/Inset.js +13 -21
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +2 -2
- package/layout/ApplicationLayout.js +23 -60
- package/layout/Icons.d.ts +4 -5
- package/layout/Icons.js +2 -16
- package/layout/types.d.ts +3 -3
- package/link/Link.accessibility.test.js +108 -0
- package/link/Link.js +28 -47
- package/link/Link.stories.tsx +4 -4
- package/link/Link.test.js +23 -41
- package/link/types.d.ts +14 -14
- package/main.d.ts +8 -4
- package/main.js +39 -60
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.d.ts +1 -2
- package/nav-tabs/NavTabs.js +19 -48
- package/nav-tabs/NavTabs.stories.tsx +30 -25
- package/nav-tabs/NavTabs.test.js +45 -50
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +38 -67
- package/nav-tabs/types.d.ts +10 -10
- package/number-input/NumberInput.accessibility.test.js +228 -0
- package/number-input/NumberInput.d.ts +0 -7
- package/number-input/NumberInput.js +47 -39
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +839 -575
- package/number-input/NumberInputContext.d.ts +3 -0
- package/number-input/NumberInputContext.js +8 -0
- package/number-input/types.d.ts +17 -5
- package/package.json +41 -37
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +27 -52
- package/paginator/Paginator.test.js +224 -207
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/paragraph/Paragraph.js +3 -19
- package/paragraph/Paragraph.stories.tsx +0 -17
- package/password-input/PasswordInput.accessibility.test.js +153 -0
- package/password-input/PasswordInput.js +32 -54
- package/password-input/PasswordInput.stories.tsx +1 -34
- package/password-input/PasswordInput.test.js +153 -129
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +26 -56
- 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.accessibility.test.js +57 -0
- 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.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +38 -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.accessibility.test.js +285 -0
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.js +45 -69
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +118 -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/Listbox.js +40 -54
- package/select/Option.js +28 -36
- package/select/Select.accessibility.test.js +228 -0
- package/select/Select.js +107 -171
- package/select/Select.stories.tsx +59 -111
- package/select/Select.test.js +1895 -1858
- package/select/types.d.ts +15 -16
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.js +44 -81
- package/sidenav/Sidenav.stories.tsx +4 -9
- 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 +20 -20
- package/slider/Slider.accessibility.test.js +104 -0
- package/slider/Slider.js +70 -126
- package/slider/Slider.test.js +107 -103
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.js +21 -55
- package/spinner/Spinner.test.js +25 -34
- package/spinner/types.d.ts +3 -3
- package/status-light/StatusLight.accessibility.test.js +157 -0
- 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.accessibility.test.js +98 -0
- package/switch/Switch.js +49 -97
- package/switch/Switch.stories.tsx +12 -34
- package/switch/Switch.test.js +51 -96
- package/switch/types.d.ts +4 -4
- package/table/DropdownTheme.js +62 -0
- package/table/Table.accessibility.test.js +93 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +76 -33
- package/table/{Table.stories.jsx → Table.stories.tsx} +309 -2
- package/table/Table.test.js +93 -6
- package/table/types.d.ts +34 -6
- package/tabs/Tab.js +22 -37
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +59 -147
- package/tabs/Tabs.stories.tsx +8 -4
- package/tabs/Tabs.test.js +57 -131
- package/tabs/types.d.ts +21 -21
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +27 -57
- package/tag/Tag.stories.tsx +4 -7
- package/tag/Tag.test.js +17 -36
- package/tag/types.d.ts +9 -9
- package/text-input/Suggestion.js +9 -26
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +30 -70
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.js +203 -289
- package/text-input/TextInput.stories.tsx +65 -160
- package/text-input/TextInput.test.js +1227 -1194
- package/text-input/types.d.ts +25 -17
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +68 -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.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.js +25 -64
- package/toggle-group/ToggleGroup.stories.tsx +4 -4
- package/toggle-group/ToggleGroup.test.js +48 -81
- package/toggle-group/types.d.ts +12 -12
- package/typography/Typography.accessibility.test.js +339 -0
- package/typography/Typography.js +4 -13
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +43 -141
- 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.accessibility.test.js +55 -0
- package/wizard/Wizard.js +27 -73
- package/wizard/Wizard.stories.tsx +19 -0
- package/wizard/Wizard.test.js +53 -80
- package/wizard/types.d.ts +8 -8
- 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/date-input/Icons.d.ts +0 -6
- package/date-input/Icons.js +0 -75
- package/paginator/Icons.d.ts +0 -5
- package/paginator/Icons.js +0 -54
- package/password-input/Icons.d.ts +0 -6
- package/password-input/Icons.js +0 -39
- package/resultsetTable/Icons.d.ts +0 -7
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/select/Icons.d.ts +0 -10
- package/select/Icons.js +0 -93
- package/sidenav/Icons.d.ts +0 -7
- package/sidenav/Icons.js +0 -51
- 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/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
package/switch/Switch.js
CHANGED
|
@@ -1,84 +1,60 @@
|
|
|
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 _utils = require("../common/utils");
|
|
27
|
-
|
|
28
17
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
29
|
-
|
|
30
18
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
31
|
-
|
|
32
|
-
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
33
|
-
|
|
34
19
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
35
|
-
|
|
36
|
-
function
|
|
37
|
-
|
|
38
|
-
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; }
|
|
39
|
-
|
|
20
|
+
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); }
|
|
21
|
+
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 && {}.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; }
|
|
40
22
|
var DxcSwitch = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
41
23
|
var defaultChecked = _ref.defaultChecked,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
24
|
+
checked = _ref.checked,
|
|
25
|
+
value = _ref.value,
|
|
26
|
+
_ref$label = _ref.label,
|
|
27
|
+
label = _ref$label === void 0 ? "" : _ref$label,
|
|
28
|
+
_ref$labelPosition = _ref.labelPosition,
|
|
29
|
+
labelPosition = _ref$labelPosition === void 0 ? "before" : _ref$labelPosition,
|
|
30
|
+
_ref$name = _ref.name,
|
|
31
|
+
name = _ref$name === void 0 ? "" : _ref$name,
|
|
32
|
+
_ref$disabled = _ref.disabled,
|
|
33
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
34
|
+
_ref$optional = _ref.optional,
|
|
35
|
+
optional = _ref$optional === void 0 ? false : _ref$optional,
|
|
36
|
+
onChange = _ref.onChange,
|
|
37
|
+
margin = _ref.margin,
|
|
38
|
+
_ref$size = _ref.size,
|
|
39
|
+
size = _ref$size === void 0 ? "fitContent" : _ref$size,
|
|
40
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
41
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
61
42
|
var _useState = (0, _react.useState)("switch-".concat((0, _uuid.v4)())),
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
43
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 1),
|
|
44
|
+
switchId = _useState2[0];
|
|
65
45
|
var labelId = "label-".concat(switchId);
|
|
66
|
-
|
|
67
46
|
var _useState3 = (0, _react.useState)(defaultChecked !== null && defaultChecked !== void 0 ? defaultChecked : false),
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
47
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
48
|
+
innerChecked = _useState4[0],
|
|
49
|
+
setInnerChecked = _useState4[1];
|
|
72
50
|
var colorsTheme = (0, _useTheme["default"])();
|
|
73
51
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
74
|
-
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
75
52
|
var refTrack = (0, _react.useRef)(null);
|
|
76
|
-
|
|
77
53
|
var handleOnKeyDown = function handleOnKeyDown(event) {
|
|
78
54
|
switch (event.key) {
|
|
79
55
|
case "Enter":
|
|
80
56
|
case " ":
|
|
81
|
-
//Space
|
|
57
|
+
// Space
|
|
82
58
|
event.preventDefault();
|
|
83
59
|
refTrack.current.focus();
|
|
84
60
|
var isChecked = !(checked !== null && checked !== void 0 ? checked : innerChecked);
|
|
@@ -87,14 +63,12 @@ var DxcSwitch = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
87
63
|
break;
|
|
88
64
|
}
|
|
89
65
|
};
|
|
90
|
-
|
|
91
66
|
var handlerSwitchChange = function handlerSwitchChange(event) {
|
|
92
67
|
checked !== null && checked !== void 0 ? checked : setInnerChecked(function (innerChecked) {
|
|
93
68
|
return !innerChecked;
|
|
94
69
|
});
|
|
95
70
|
onChange === null || onChange === void 0 ? void 0 : onChange(checked ? !checked : !innerChecked);
|
|
96
71
|
};
|
|
97
|
-
|
|
98
72
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
99
73
|
theme: colorsTheme["switch"]
|
|
100
74
|
}, /*#__PURE__*/_react["default"].createElement(SwitchContainer, {
|
|
@@ -108,7 +82,6 @@ var DxcSwitch = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
108
82
|
id: labelId,
|
|
109
83
|
labelPosition: labelPosition,
|
|
110
84
|
disabled: disabled,
|
|
111
|
-
backgroundType: backgroundType,
|
|
112
85
|
label: label
|
|
113
86
|
}, label, " ", optional && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, translatedLabels.formFields.optionalLabel)), /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
114
87
|
type: "checkbox",
|
|
@@ -120,7 +93,6 @@ var DxcSwitch = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
120
93
|
readOnly: true
|
|
121
94
|
}), /*#__PURE__*/_react["default"].createElement(SwitchBase, null, /*#__PURE__*/_react["default"].createElement(SwitchTrack, {
|
|
122
95
|
role: "switch",
|
|
123
|
-
backgroundType: backgroundType,
|
|
124
96
|
"aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
125
97
|
"aria-disabled": disabled,
|
|
126
98
|
disabled: disabled,
|
|
@@ -131,11 +103,9 @@ var DxcSwitch = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
131
103
|
id: labelId,
|
|
132
104
|
labelPosition: labelPosition,
|
|
133
105
|
disabled: disabled,
|
|
134
|
-
backgroundType: backgroundType,
|
|
135
106
|
label: label
|
|
136
107
|
}, optional && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, translatedLabels.formFields.optionalLabel), " ", label)));
|
|
137
108
|
});
|
|
138
|
-
|
|
139
109
|
var sizes = {
|
|
140
110
|
small: "60px",
|
|
141
111
|
medium: "240px",
|
|
@@ -143,61 +113,49 @@ var sizes = {
|
|
|
143
113
|
fillParent: "100%",
|
|
144
114
|
fitContent: "fit-content"
|
|
145
115
|
};
|
|
146
|
-
|
|
147
116
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
148
117
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
149
118
|
};
|
|
150
|
-
|
|
151
|
-
var getDisabledColor = function getDisabledColor(props, element, subelement) {
|
|
119
|
+
var getDisabledColor = function getDisabledColor(theme, element, subElement) {
|
|
152
120
|
switch (element) {
|
|
153
121
|
case "track":
|
|
154
|
-
switch (
|
|
122
|
+
switch (subElement) {
|
|
155
123
|
case "check":
|
|
156
|
-
return
|
|
157
|
-
|
|
124
|
+
return theme.disabledCheckedTrackBackgroundColor;
|
|
158
125
|
case "uncheck":
|
|
159
|
-
return
|
|
126
|
+
return theme.disabledUncheckedTrackBackgroundColor;
|
|
160
127
|
}
|
|
161
|
-
|
|
162
128
|
case "thumb":
|
|
163
|
-
switch (
|
|
129
|
+
switch (subElement) {
|
|
164
130
|
case "check":
|
|
165
|
-
return
|
|
166
|
-
|
|
131
|
+
return theme.disabledCheckedThumbBackgroundColor;
|
|
167
132
|
case "uncheck":
|
|
168
|
-
return
|
|
133
|
+
return theme.disabledUncheckedThumbBackgroundColor;
|
|
169
134
|
}
|
|
170
|
-
|
|
171
135
|
case "label":
|
|
172
|
-
return
|
|
136
|
+
return theme.disabledLabelFontColor;
|
|
173
137
|
}
|
|
174
138
|
};
|
|
175
|
-
|
|
176
|
-
var getNotDisabledColor = function getNotDisabledColor(props, element, subelement) {
|
|
139
|
+
var getNotDisabledColor = function getNotDisabledColor(theme, element, subElement) {
|
|
177
140
|
switch (element) {
|
|
178
141
|
case "track":
|
|
179
|
-
switch (
|
|
142
|
+
switch (subElement) {
|
|
180
143
|
case "check":
|
|
181
|
-
return
|
|
182
|
-
|
|
144
|
+
return theme.checkedTrackBackgroundColor;
|
|
183
145
|
case "uncheck":
|
|
184
|
-
return
|
|
146
|
+
return theme.uncheckedTrackBackgroundColor;
|
|
185
147
|
}
|
|
186
|
-
|
|
187
148
|
case "thumb":
|
|
188
|
-
switch (
|
|
149
|
+
switch (subElement) {
|
|
189
150
|
case "check":
|
|
190
|
-
return
|
|
191
|
-
|
|
151
|
+
return theme.checkedThumbBackgroundColor;
|
|
192
152
|
case "uncheck":
|
|
193
|
-
return
|
|
153
|
+
return theme.uncheckedThumbBackgroundColor;
|
|
194
154
|
}
|
|
195
|
-
|
|
196
155
|
case "label":
|
|
197
|
-
return
|
|
156
|
+
return theme.labelFontColor;
|
|
198
157
|
}
|
|
199
158
|
};
|
|
200
|
-
|
|
201
159
|
var SwitchContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n width: ", ";\n height: 40px;\n cursor: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
202
160
|
return calculateWidth(props.margin, props.size);
|
|
203
161
|
}, function (props) {
|
|
@@ -213,9 +171,8 @@ var SwitchContainer = _styledComponents["default"].div(_templateObject || (_temp
|
|
|
213
171
|
}, function (props) {
|
|
214
172
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
215
173
|
});
|
|
216
|
-
|
|
217
174
|
var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: ", ";\n opacity: 1;\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n\n ", ";\n\n ", "\n"])), function (props) {
|
|
218
|
-
return props.disabled ? getDisabledColor(props, "label") : getNotDisabledColor(props, "label");
|
|
175
|
+
return props.disabled ? getDisabledColor(props.theme, "label") : getNotDisabledColor(props.theme, "label");
|
|
219
176
|
}, function (props) {
|
|
220
177
|
return props.theme.labelFontFamily;
|
|
221
178
|
}, function (props) {
|
|
@@ -229,11 +186,8 @@ var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_tem
|
|
|
229
186
|
}, function (props) {
|
|
230
187
|
return props.labelPosition === "before" && "order: -1";
|
|
231
188
|
});
|
|
232
|
-
|
|
233
189
|
var SwitchBase = _styledComponents["default"].label(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n cursor: pointer;\n margin: 0px 12px;\n"])));
|
|
234
|
-
|
|
235
190
|
var ValueInput = _styledComponents["default"].input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
236
|
-
|
|
237
191
|
var SwitchTrack = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n border-radius: 15px;\n width: ", ";\n height: ", ";\n position: relative;\n cursor: ", ";\n\n &:focus-visible {\n outline: none;\n ::before {\n outline: ", ";\n outline-offset: 6px;\n }\n }\n\n /* Thumb element */\n ::before {\n content: \"\";\n transform: initial;\n position: absolute;\n width: ", ";\n height: ", ";\n border-radius: 50%;\n box-shadow: 0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%);\n bottom: -6px;\n left: -4px;\n transform: translateX(0px);\n background-color: ", ";\n }\n\n /* Unchecked */\n background-color: ", ";\n\n /* Checked */\n &[aria-checked=\"true\"] {\n background-color: ", ";\n ::before {\n transform: translateX(", ");\n background-color: ", ";\n }\n }\n"])), function (props) {
|
|
238
192
|
return props.theme.trackWidth;
|
|
239
193
|
}, function (props) {
|
|
@@ -241,22 +195,20 @@ var SwitchTrack = _styledComponents["default"].span(_templateObject5 || (_templa
|
|
|
241
195
|
}, function (props) {
|
|
242
196
|
return props.disabled ? "not-allowed" : "pointer";
|
|
243
197
|
}, function (props) {
|
|
244
|
-
return "".concat(props.
|
|
198
|
+
return "".concat(props.theme.thumbFocusColor, " solid 2px");
|
|
245
199
|
}, function (props) {
|
|
246
200
|
return props.theme.thumbWidth;
|
|
247
201
|
}, function (props) {
|
|
248
202
|
return props.theme.thumbHeight;
|
|
249
203
|
}, function (props) {
|
|
250
|
-
return props.disabled ? getDisabledColor(props, "thumb", "uncheck") : getNotDisabledColor(props, "thumb", "uncheck");
|
|
204
|
+
return props.disabled ? getDisabledColor(props.theme, "thumb", "uncheck") : getNotDisabledColor(props.theme, "thumb", "uncheck");
|
|
251
205
|
}, function (props) {
|
|
252
|
-
return props.disabled ? getDisabledColor(props, "track", "uncheck") : getNotDisabledColor(props, "track", "uncheck");
|
|
206
|
+
return props.disabled ? getDisabledColor(props.theme, "track", "uncheck") : getNotDisabledColor(props.theme, "track", "uncheck");
|
|
253
207
|
}, function (props) {
|
|
254
|
-
return props.disabled ? getDisabledColor(props, "track", "check") : getNotDisabledColor(props, "track", "check");
|
|
208
|
+
return props.disabled ? getDisabledColor(props.theme, "track", "check") : getNotDisabledColor(props.theme, "track", "check");
|
|
255
209
|
}, function (props) {
|
|
256
210
|
return props.theme.thumbShift;
|
|
257
211
|
}, function (props) {
|
|
258
|
-
return props.disabled ? getDisabledColor(props, "thumb", "check") : getNotDisabledColor(props, "thumb", "check");
|
|
212
|
+
return props.disabled ? getDisabledColor(props.theme, "thumb", "check") : getNotDisabledColor(props.theme, "thumb", "check");
|
|
259
213
|
});
|
|
260
|
-
|
|
261
|
-
var _default = DxcSwitch;
|
|
262
|
-
exports["default"] = _default;
|
|
214
|
+
var _default = exports["default"] = DxcSwitch;
|
|
@@ -1,14 +1,24 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import DxcSwitch from "./Switch";
|
|
3
|
-
import { BackgroundColorProvider } from "../BackgroundColorContext";
|
|
4
3
|
import Title from "../../.storybook/components/Title";
|
|
5
4
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
|
-
import DarkContainer from "../../.storybook/components/DarkSection";
|
|
7
5
|
import { HalstackProvider } from "../HalstackContext";
|
|
6
|
+
import { disabledRules } from "../../test/accessibility/rules/specific/switch/disabledRules";
|
|
7
|
+
import preview from "../../.storybook/preview";
|
|
8
8
|
|
|
9
9
|
export default {
|
|
10
10
|
title: "Switch",
|
|
11
11
|
component: DxcSwitch,
|
|
12
|
+
parameters: {
|
|
13
|
+
a11y: {
|
|
14
|
+
config: {
|
|
15
|
+
rules: [
|
|
16
|
+
...disabledRules.map((ruleId) => ({ id: ruleId, enabled: false })),
|
|
17
|
+
...preview?.parameters?.a11y?.config?.rules,
|
|
18
|
+
],
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
},
|
|
12
22
|
};
|
|
13
23
|
|
|
14
24
|
const opinionatedTheme = {
|
|
@@ -52,38 +62,6 @@ export const Chromatic = () => (
|
|
|
52
62
|
<Title title="Disabled checked" theme="light" level={4} />
|
|
53
63
|
<DxcSwitch label="Switch" disabled defaultChecked labelPosition="after" />
|
|
54
64
|
</ExampleContainer>
|
|
55
|
-
<BackgroundColorProvider color="#333333">
|
|
56
|
-
<DarkContainer>
|
|
57
|
-
<ExampleContainer>
|
|
58
|
-
<Title title="With label" theme="dark" level={4} />
|
|
59
|
-
<DxcSwitch label="Switch" />
|
|
60
|
-
</ExampleContainer>
|
|
61
|
-
<ExampleContainer pseudoState="pseudo-focus-visible">
|
|
62
|
-
<Title title="Focused" theme="dark" level={4} />
|
|
63
|
-
<DxcSwitch label="Switch" labelPosition="after" />
|
|
64
|
-
</ExampleContainer>
|
|
65
|
-
<ExampleContainer>
|
|
66
|
-
<Title title="Checked" theme="dark" level={4} />
|
|
67
|
-
<DxcSwitch label="Switch" defaultChecked />
|
|
68
|
-
</ExampleContainer>
|
|
69
|
-
<ExampleContainer>
|
|
70
|
-
<Title title="Optional" theme="dark" level={4} />
|
|
71
|
-
<DxcSwitch label="Switch" optional />
|
|
72
|
-
</ExampleContainer>
|
|
73
|
-
<ExampleContainer>
|
|
74
|
-
<Title title="Disabled" theme="dark" level={4} />
|
|
75
|
-
<DxcSwitch label="Switch" disabled />
|
|
76
|
-
</ExampleContainer>
|
|
77
|
-
<ExampleContainer>
|
|
78
|
-
<Title title="Disabled optional" theme="dark" level={4} />
|
|
79
|
-
<DxcSwitch label="Switch" disabled optional labelPosition="after" />
|
|
80
|
-
</ExampleContainer>
|
|
81
|
-
<ExampleContainer>
|
|
82
|
-
<Title title="Disabled checked" theme="dark" level={4} />
|
|
83
|
-
<DxcSwitch label="Switch" disabled defaultChecked labelPosition="after" />
|
|
84
|
-
</ExampleContainer>
|
|
85
|
-
</DarkContainer>
|
|
86
|
-
</BackgroundColorProvider>
|
|
87
65
|
<Title title="Margins" theme="light" level={2} />
|
|
88
66
|
<ExampleContainer>
|
|
89
67
|
<Title title="Xxsmall margin" theme="light" level={4} />
|
package/switch/Switch.test.js
CHANGED
|
@@ -1,186 +1,143 @@
|
|
|
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 _Switch = _interopRequireDefault(require("./Switch.tsx"));
|
|
10
|
-
|
|
11
7
|
describe("Switch component tests", function () {
|
|
12
8
|
test("Switch renders with correct text", function () {
|
|
13
9
|
var onChange = jest.fn(function (returnedValue) {
|
|
14
10
|
expect(returnedValue).toBe(true);
|
|
15
11
|
});
|
|
16
|
-
|
|
17
12
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
13
|
+
label: "SwitchComponent",
|
|
14
|
+
checked: false,
|
|
15
|
+
onChange: onChange
|
|
16
|
+
})),
|
|
17
|
+
getByText = _render.getByText;
|
|
24
18
|
expect(getByText("SwitchComponent")).toBeTruthy();
|
|
25
19
|
});
|
|
26
20
|
test("Calls correct function on click", function () {
|
|
27
21
|
var onChange = jest.fn();
|
|
28
|
-
|
|
29
22
|
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
23
|
+
label: "SwitchComponent",
|
|
24
|
+
checked: false,
|
|
25
|
+
onChange: onChange
|
|
26
|
+
})),
|
|
27
|
+
getByText = _render2.getByText;
|
|
36
28
|
_react2.fireEvent.click(getByText("SwitchComponent"));
|
|
37
|
-
|
|
38
29
|
expect(onChange).toHaveBeenCalled();
|
|
39
30
|
});
|
|
40
31
|
test("Calls correct function on key down", function () {
|
|
41
32
|
var onChange = jest.fn();
|
|
42
|
-
|
|
43
33
|
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
34
|
+
label: "SwitchComponent",
|
|
35
|
+
checked: false,
|
|
36
|
+
onChange: onChange
|
|
37
|
+
})),
|
|
38
|
+
getByText = _render3.getByText;
|
|
50
39
|
_react2.fireEvent.focus(getByText("SwitchComponent"));
|
|
51
|
-
|
|
52
40
|
_react2.fireEvent.keyDown(getByText("SwitchComponent"), {
|
|
53
41
|
key: "Enter"
|
|
54
42
|
});
|
|
55
|
-
|
|
56
43
|
expect(onChange).toHaveBeenCalled();
|
|
57
|
-
|
|
58
44
|
_react2.fireEvent.keyDown(getByText("SwitchComponent"), {
|
|
59
45
|
key: " "
|
|
60
46
|
});
|
|
61
|
-
|
|
62
47
|
expect(onChange).toHaveBeenCalled();
|
|
63
48
|
});
|
|
64
49
|
test("Everytime the user clicks the component the onchange function is called with the correct value CONTROLLED COMPONENT", function () {
|
|
65
50
|
var onChange = jest.fn();
|
|
66
|
-
|
|
67
51
|
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
52
|
+
label: "SwitchComponent",
|
|
53
|
+
checked: false,
|
|
54
|
+
onChange: onChange
|
|
55
|
+
})),
|
|
56
|
+
getByText = _render4.getByText;
|
|
74
57
|
_react2.fireEvent.click(getByText("SwitchComponent"));
|
|
75
|
-
|
|
76
58
|
_react2.fireEvent.click(getByText("SwitchComponent"));
|
|
77
|
-
|
|
78
59
|
expect(onChange.mock.calls[0][0]).toBe(true);
|
|
79
60
|
expect(onChange.mock.calls[1][0]).toBe(true);
|
|
80
61
|
});
|
|
81
62
|
test("Everytime the user use enter in the component, the onchange function is called with the correct value CONTROLLED COMPONENT", function () {
|
|
82
63
|
var onChange = jest.fn();
|
|
83
|
-
|
|
84
64
|
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
65
|
+
label: "SwitchComponent",
|
|
66
|
+
checked: false,
|
|
67
|
+
onChange: onChange
|
|
68
|
+
})),
|
|
69
|
+
getByText = _render5.getByText;
|
|
91
70
|
_react2.fireEvent.focus(getByText("SwitchComponent"));
|
|
92
|
-
|
|
93
71
|
_react2.fireEvent.keyDown(getByText("SwitchComponent"), {
|
|
94
72
|
key: "Enter"
|
|
95
73
|
});
|
|
96
|
-
|
|
97
74
|
_react2.fireEvent.keyDown(getByText("SwitchComponent"), {
|
|
98
75
|
key: "Enter"
|
|
99
76
|
});
|
|
100
|
-
|
|
101
77
|
expect(onChange.mock.calls[0][0]).toBe(true);
|
|
102
78
|
expect(onChange.mock.calls[1][0]).toBe(true);
|
|
103
79
|
});
|
|
104
80
|
test("Everytime the user use space in the component, the onchange function is called with the correct value CONTROLLED COMPONENT", function () {
|
|
105
81
|
var onChange = jest.fn();
|
|
106
|
-
|
|
107
82
|
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
83
|
+
label: "SwitchComponent",
|
|
84
|
+
checked: false,
|
|
85
|
+
onChange: onChange
|
|
86
|
+
})),
|
|
87
|
+
getByText = _render6.getByText;
|
|
114
88
|
_react2.fireEvent.focus(getByText("SwitchComponent"));
|
|
115
|
-
|
|
116
89
|
_react2.fireEvent.keyDown(getByText("SwitchComponent"), {
|
|
117
90
|
key: " "
|
|
118
91
|
});
|
|
119
|
-
|
|
120
92
|
_react2.fireEvent.keyDown(getByText("SwitchComponent"), {
|
|
121
93
|
key: " "
|
|
122
94
|
});
|
|
123
|
-
|
|
124
95
|
expect(onChange.mock.calls[0][0]).toBe(true);
|
|
125
96
|
expect(onChange.mock.calls[1][0]).toBe(true);
|
|
126
97
|
});
|
|
127
98
|
test("Everytime the user clicks the component the onchange function is called with the correct value UNCONTROLLED COMPONENT", function () {
|
|
128
99
|
var onChange = jest.fn();
|
|
129
|
-
|
|
130
100
|
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
101
|
+
label: "SwitchComponent",
|
|
102
|
+
onChange: onChange
|
|
103
|
+
})),
|
|
104
|
+
getByText = _render7.getByText;
|
|
136
105
|
_react2.fireEvent.click(getByText("SwitchComponent"));
|
|
137
|
-
|
|
138
106
|
_react2.fireEvent.click(getByText("SwitchComponent"));
|
|
139
|
-
|
|
140
107
|
expect(onChange.mock.calls[0][0]).toBe(true);
|
|
141
108
|
expect(onChange.mock.calls[1][0]).toBe(false);
|
|
142
109
|
});
|
|
143
110
|
test("Everytime the user use enter in the component, the onchange function is called with the correct value UNCONTROLLED COMPONENT", function () {
|
|
144
111
|
var onChange = jest.fn();
|
|
145
|
-
|
|
146
112
|
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
113
|
+
label: "SwitchComponent",
|
|
114
|
+
onChange: onChange
|
|
115
|
+
})),
|
|
116
|
+
getByText = _render8.getByText;
|
|
152
117
|
_react2.fireEvent.focus(getByText("SwitchComponent"));
|
|
153
|
-
|
|
154
118
|
_react2.fireEvent.keyDown(getByText("SwitchComponent"), {
|
|
155
119
|
key: "Enter"
|
|
156
120
|
});
|
|
157
|
-
|
|
158
121
|
_react2.fireEvent.keyDown(getByText("SwitchComponent"), {
|
|
159
122
|
key: "Enter"
|
|
160
123
|
});
|
|
161
|
-
|
|
162
124
|
expect(onChange.mock.calls[0][0]).toBe(true);
|
|
163
125
|
expect(onChange.mock.calls[1][0]).toBe(false);
|
|
164
126
|
});
|
|
165
127
|
test("Everytime the user use space in the component, the onchange function is called with the correct value UNCONTROLLED COMPONENT", function () {
|
|
166
128
|
var onChange = jest.fn();
|
|
167
|
-
|
|
168
129
|
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
130
|
+
label: "SwitchComponent",
|
|
131
|
+
onChange: onChange
|
|
132
|
+
})),
|
|
133
|
+
getByText = _render9.getByText;
|
|
174
134
|
_react2.fireEvent.focus(getByText("SwitchComponent"));
|
|
175
|
-
|
|
176
135
|
_react2.fireEvent.keyDown(getByText("SwitchComponent"), {
|
|
177
136
|
key: " "
|
|
178
137
|
});
|
|
179
|
-
|
|
180
138
|
_react2.fireEvent.keyDown(getByText("SwitchComponent"), {
|
|
181
139
|
key: " "
|
|
182
140
|
});
|
|
183
|
-
|
|
184
141
|
expect(onChange.mock.calls[0][0]).toBe(true);
|
|
185
142
|
expect(onChange.mock.calls[1][0]).toBe(false);
|
|
186
143
|
});
|
|
@@ -198,11 +155,10 @@ describe("Switch component tests", function () {
|
|
|
198
155
|
});
|
|
199
156
|
test("Renders with correct aria attributes", function () {
|
|
200
157
|
var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
158
|
+
label: "Default label"
|
|
159
|
+
})),
|
|
160
|
+
getByText = _render10.getByText,
|
|
161
|
+
getByRole = _render10.getByRole;
|
|
206
162
|
var switchEl = getByRole("switch");
|
|
207
163
|
var label = getByText("Default label");
|
|
208
164
|
expect(switchEl.getAttribute("aria-labelledby")).toBe(label.id);
|
|
@@ -210,12 +166,11 @@ describe("Switch component tests", function () {
|
|
|
210
166
|
});
|
|
211
167
|
test("Renders disabled switch correctly", function () {
|
|
212
168
|
var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
169
|
+
label: "Default label",
|
|
170
|
+
disabled: true
|
|
171
|
+
})),
|
|
172
|
+
getByText = _render11.getByText,
|
|
173
|
+
getByRole = _render11.getByRole;
|
|
219
174
|
var switchEl = getByRole("switch");
|
|
220
175
|
var label = getByText("Default label");
|
|
221
176
|
expect(switchEl.getAttribute("aria-labelledby")).toBe(label.id);
|
package/switch/types.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
2
|
+
type Margin = {
|
|
3
3
|
top?: Space;
|
|
4
4
|
bottom?: Space;
|
|
5
5
|
left?: Space;
|
|
6
6
|
right?: Space;
|
|
7
7
|
};
|
|
8
|
-
|
|
8
|
+
type Props = {
|
|
9
9
|
/**
|
|
10
10
|
* Initial state of the switch, only when it is uncontrolled.
|
|
11
11
|
*/
|
|
@@ -62,5 +62,5 @@ declare type Props = {
|
|
|
62
62
|
/**
|
|
63
63
|
* Reference to the component.
|
|
64
64
|
*/
|
|
65
|
-
export
|
|
65
|
+
export type RefType = HTMLDivElement;
|
|
66
66
|
export default Props;
|