@dxc-technology/halstack-react 0.0.0-9e83fd2 → 0.0.0-9f6fced
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 +53 -143
- package/HalstackContext.js +10 -35
- package/README.md +47 -0
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.js +33 -87
- 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 -126
- 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 +54 -144
- package/common/variables.js +128 -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 +54 -104
- 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 +66 -135
- 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 +179 -286
- package/file-input/FileInput.stories.tsx +1 -1
- package/file-input/FileInput.test.js +293 -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 +66 -9
- 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 +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 +32 -69
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +7 -5
- package/layout/Icons.js +41 -59
- 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 +9 -4
- package/main.js +46 -59
- 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 +42 -40
- 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 -57
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +40 -88
- package/radio-group/RadioGroup.stories.tsx +10 -10
- package/radio-group/RadioGroup.test.js +504 -472
- 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 +36 -54
- package/select/Option.js +28 -36
- package/select/Select.accessibility.test.js +228 -0
- package/select/Select.js +110 -177
- 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 +66 -125
- package/slider/Slider.stories.tsx +0 -60
- 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 -100
- 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 +197 -286
- 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 +67 -111
- 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 -67
- package/toggle-group/ToggleGroup.stories.tsx +7 -7
- 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 +51 -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/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,57 @@
|
|
|
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
|
-
var _uuid = require("uuid");
|
|
23
|
-
|
|
24
14
|
var _variables = require("../common/variables");
|
|
25
|
-
|
|
26
15
|
var _utils = require("../common/utils");
|
|
27
|
-
|
|
28
16
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
29
|
-
|
|
30
17
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
31
|
-
|
|
32
|
-
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
33
|
-
|
|
34
18
|
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
|
-
|
|
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 && {}.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
21
|
var DxcSwitch = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
41
22
|
var defaultChecked = _ref.defaultChecked,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
var _useState = (0, _react.useState)("switch-".concat((0, _uuid.v4)())),
|
|
62
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 1),
|
|
63
|
-
switchId = _useState2[0];
|
|
64
|
-
|
|
23
|
+
checked = _ref.checked,
|
|
24
|
+
value = _ref.value,
|
|
25
|
+
_ref$label = _ref.label,
|
|
26
|
+
label = _ref$label === void 0 ? "" : _ref$label,
|
|
27
|
+
_ref$labelPosition = _ref.labelPosition,
|
|
28
|
+
labelPosition = _ref$labelPosition === void 0 ? "before" : _ref$labelPosition,
|
|
29
|
+
_ref$name = _ref.name,
|
|
30
|
+
name = _ref$name === void 0 ? "" : _ref$name,
|
|
31
|
+
_ref$disabled = _ref.disabled,
|
|
32
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
33
|
+
_ref$optional = _ref.optional,
|
|
34
|
+
optional = _ref$optional === void 0 ? false : _ref$optional,
|
|
35
|
+
onChange = _ref.onChange,
|
|
36
|
+
margin = _ref.margin,
|
|
37
|
+
_ref$size = _ref.size,
|
|
38
|
+
size = _ref$size === void 0 ? "fitContent" : _ref$size,
|
|
39
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
40
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
41
|
+
var switchId = "switch-".concat((0, _react.useId)());
|
|
65
42
|
var labelId = "label-".concat(switchId);
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
setInnerChecked = _useState4[1];
|
|
71
|
-
|
|
43
|
+
var _useState = (0, _react.useState)(defaultChecked !== null && defaultChecked !== void 0 ? defaultChecked : false),
|
|
44
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
45
|
+
innerChecked = _useState2[0],
|
|
46
|
+
setInnerChecked = _useState2[1];
|
|
72
47
|
var colorsTheme = (0, _useTheme["default"])();
|
|
73
48
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
74
|
-
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
75
49
|
var refTrack = (0, _react.useRef)(null);
|
|
76
|
-
|
|
77
50
|
var handleOnKeyDown = function handleOnKeyDown(event) {
|
|
78
51
|
switch (event.key) {
|
|
79
52
|
case "Enter":
|
|
80
53
|
case " ":
|
|
81
|
-
//Space
|
|
54
|
+
// Space
|
|
82
55
|
event.preventDefault();
|
|
83
56
|
refTrack.current.focus();
|
|
84
57
|
var isChecked = !(checked !== null && checked !== void 0 ? checked : innerChecked);
|
|
@@ -87,14 +60,12 @@ var DxcSwitch = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
87
60
|
break;
|
|
88
61
|
}
|
|
89
62
|
};
|
|
90
|
-
|
|
91
63
|
var handlerSwitchChange = function handlerSwitchChange(event) {
|
|
92
64
|
checked !== null && checked !== void 0 ? checked : setInnerChecked(function (innerChecked) {
|
|
93
65
|
return !innerChecked;
|
|
94
66
|
});
|
|
95
67
|
onChange === null || onChange === void 0 ? void 0 : onChange(checked ? !checked : !innerChecked);
|
|
96
68
|
};
|
|
97
|
-
|
|
98
69
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
99
70
|
theme: colorsTheme["switch"]
|
|
100
71
|
}, /*#__PURE__*/_react["default"].createElement(SwitchContainer, {
|
|
@@ -108,7 +79,6 @@ var DxcSwitch = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
108
79
|
id: labelId,
|
|
109
80
|
labelPosition: labelPosition,
|
|
110
81
|
disabled: disabled,
|
|
111
|
-
backgroundType: backgroundType,
|
|
112
82
|
label: label
|
|
113
83
|
}, label, " ", optional && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, translatedLabels.formFields.optionalLabel)), /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
114
84
|
type: "checkbox",
|
|
@@ -120,7 +90,6 @@ var DxcSwitch = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
120
90
|
readOnly: true
|
|
121
91
|
}), /*#__PURE__*/_react["default"].createElement(SwitchBase, null, /*#__PURE__*/_react["default"].createElement(SwitchTrack, {
|
|
122
92
|
role: "switch",
|
|
123
|
-
backgroundType: backgroundType,
|
|
124
93
|
"aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
125
94
|
"aria-disabled": disabled,
|
|
126
95
|
disabled: disabled,
|
|
@@ -131,11 +100,9 @@ var DxcSwitch = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
131
100
|
id: labelId,
|
|
132
101
|
labelPosition: labelPosition,
|
|
133
102
|
disabled: disabled,
|
|
134
|
-
backgroundType: backgroundType,
|
|
135
103
|
label: label
|
|
136
104
|
}, optional && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, translatedLabels.formFields.optionalLabel), " ", label)));
|
|
137
105
|
});
|
|
138
|
-
|
|
139
106
|
var sizes = {
|
|
140
107
|
small: "60px",
|
|
141
108
|
medium: "240px",
|
|
@@ -143,61 +110,49 @@ var sizes = {
|
|
|
143
110
|
fillParent: "100%",
|
|
144
111
|
fitContent: "fit-content"
|
|
145
112
|
};
|
|
146
|
-
|
|
147
113
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
148
114
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
149
115
|
};
|
|
150
|
-
|
|
151
|
-
var getDisabledColor = function getDisabledColor(props, element, subelement) {
|
|
116
|
+
var getDisabledColor = function getDisabledColor(theme, element, subElement) {
|
|
152
117
|
switch (element) {
|
|
153
118
|
case "track":
|
|
154
|
-
switch (
|
|
119
|
+
switch (subElement) {
|
|
155
120
|
case "check":
|
|
156
|
-
return
|
|
157
|
-
|
|
121
|
+
return theme.disabledCheckedTrackBackgroundColor;
|
|
158
122
|
case "uncheck":
|
|
159
|
-
return
|
|
123
|
+
return theme.disabledUncheckedTrackBackgroundColor;
|
|
160
124
|
}
|
|
161
|
-
|
|
162
125
|
case "thumb":
|
|
163
|
-
switch (
|
|
126
|
+
switch (subElement) {
|
|
164
127
|
case "check":
|
|
165
|
-
return
|
|
166
|
-
|
|
128
|
+
return theme.disabledCheckedThumbBackgroundColor;
|
|
167
129
|
case "uncheck":
|
|
168
|
-
return
|
|
130
|
+
return theme.disabledUncheckedThumbBackgroundColor;
|
|
169
131
|
}
|
|
170
|
-
|
|
171
132
|
case "label":
|
|
172
|
-
return
|
|
133
|
+
return theme.disabledLabelFontColor;
|
|
173
134
|
}
|
|
174
135
|
};
|
|
175
|
-
|
|
176
|
-
var getNotDisabledColor = function getNotDisabledColor(props, element, subelement) {
|
|
136
|
+
var getNotDisabledColor = function getNotDisabledColor(theme, element, subElement) {
|
|
177
137
|
switch (element) {
|
|
178
138
|
case "track":
|
|
179
|
-
switch (
|
|
139
|
+
switch (subElement) {
|
|
180
140
|
case "check":
|
|
181
|
-
return
|
|
182
|
-
|
|
141
|
+
return theme.checkedTrackBackgroundColor;
|
|
183
142
|
case "uncheck":
|
|
184
|
-
return
|
|
143
|
+
return theme.uncheckedTrackBackgroundColor;
|
|
185
144
|
}
|
|
186
|
-
|
|
187
145
|
case "thumb":
|
|
188
|
-
switch (
|
|
146
|
+
switch (subElement) {
|
|
189
147
|
case "check":
|
|
190
|
-
return
|
|
191
|
-
|
|
148
|
+
return theme.checkedThumbBackgroundColor;
|
|
192
149
|
case "uncheck":
|
|
193
|
-
return
|
|
150
|
+
return theme.uncheckedThumbBackgroundColor;
|
|
194
151
|
}
|
|
195
|
-
|
|
196
152
|
case "label":
|
|
197
|
-
return
|
|
153
|
+
return theme.labelFontColor;
|
|
198
154
|
}
|
|
199
155
|
};
|
|
200
|
-
|
|
201
156
|
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
157
|
return calculateWidth(props.margin, props.size);
|
|
203
158
|
}, function (props) {
|
|
@@ -213,9 +168,8 @@ var SwitchContainer = _styledComponents["default"].div(_templateObject || (_temp
|
|
|
213
168
|
}, function (props) {
|
|
214
169
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
215
170
|
});
|
|
216
|
-
|
|
217
171
|
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");
|
|
172
|
+
return props.disabled ? getDisabledColor(props.theme, "label") : getNotDisabledColor(props.theme, "label");
|
|
219
173
|
}, function (props) {
|
|
220
174
|
return props.theme.labelFontFamily;
|
|
221
175
|
}, function (props) {
|
|
@@ -229,11 +183,8 @@ var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_tem
|
|
|
229
183
|
}, function (props) {
|
|
230
184
|
return props.labelPosition === "before" && "order: -1";
|
|
231
185
|
});
|
|
232
|
-
|
|
233
186
|
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
187
|
var ValueInput = _styledComponents["default"].input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
236
|
-
|
|
237
188
|
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
189
|
return props.theme.trackWidth;
|
|
239
190
|
}, function (props) {
|
|
@@ -241,22 +192,20 @@ var SwitchTrack = _styledComponents["default"].span(_templateObject5 || (_templa
|
|
|
241
192
|
}, function (props) {
|
|
242
193
|
return props.disabled ? "not-allowed" : "pointer";
|
|
243
194
|
}, function (props) {
|
|
244
|
-
return "".concat(props.
|
|
195
|
+
return "".concat(props.theme.thumbFocusColor, " solid 2px");
|
|
245
196
|
}, function (props) {
|
|
246
197
|
return props.theme.thumbWidth;
|
|
247
198
|
}, function (props) {
|
|
248
199
|
return props.theme.thumbHeight;
|
|
249
200
|
}, function (props) {
|
|
250
|
-
return props.disabled ? getDisabledColor(props, "thumb", "uncheck") : getNotDisabledColor(props, "thumb", "uncheck");
|
|
201
|
+
return props.disabled ? getDisabledColor(props.theme, "thumb", "uncheck") : getNotDisabledColor(props.theme, "thumb", "uncheck");
|
|
251
202
|
}, function (props) {
|
|
252
|
-
return props.disabled ? getDisabledColor(props, "track", "uncheck") : getNotDisabledColor(props, "track", "uncheck");
|
|
203
|
+
return props.disabled ? getDisabledColor(props.theme, "track", "uncheck") : getNotDisabledColor(props.theme, "track", "uncheck");
|
|
253
204
|
}, function (props) {
|
|
254
|
-
return props.disabled ? getDisabledColor(props, "track", "check") : getNotDisabledColor(props, "track", "check");
|
|
205
|
+
return props.disabled ? getDisabledColor(props.theme, "track", "check") : getNotDisabledColor(props.theme, "track", "check");
|
|
255
206
|
}, function (props) {
|
|
256
207
|
return props.theme.thumbShift;
|
|
257
208
|
}, function (props) {
|
|
258
|
-
return props.disabled ? getDisabledColor(props, "thumb", "check") : getNotDisabledColor(props, "thumb", "check");
|
|
209
|
+
return props.disabled ? getDisabledColor(props.theme, "thumb", "check") : getNotDisabledColor(props.theme, "thumb", "check");
|
|
259
210
|
});
|
|
260
|
-
|
|
261
|
-
var _default = DxcSwitch;
|
|
262
|
-
exports["default"] = _default;
|
|
211
|
+
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;
|