@dxc-technology/halstack-react 0.0.0-9e54008 → 0.0.0-9ef63cd
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 +54 -144
- package/HalstackContext.js +11 -36
- 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/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.d.ts +1 -1
- package/button/Button.js +68 -100
- package/button/Button.stories.tsx +35 -135
- package/button/Button.test.js +19 -16
- package/button/types.d.ts +9 -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 +41 -24
- 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 +15 -59
- package/date-input/DateInput.accessibility.test.js +228 -0
- package/date-input/DateInput.js +61 -108
- 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 +175 -0
- package/dialog/Dialog.test.js +206 -204
- 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 +67 -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 +30 -67
- 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 +73 -103
- package/footer/Footer.stories.tsx +76 -8
- package/footer/Footer.test.js +21 -33
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +53 -22
- package/footer/types.d.ts +26 -22
- 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.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 +35 -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.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 +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 +58 -127
- 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.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 +111 -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 +222 -326
- 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 +90 -109
- package/toggle-group/ToggleGroup.stories.tsx +10 -7
- package/toggle-group/ToggleGroup.test.js +68 -87
- package/toggle-group/types.d.ts +28 -19
- 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/number-input/numberInputContextTypes.d.ts +0 -19
- package/paginator/Icons.d.ts +0 -5
- package/paginator/Icons.js +0 -54
- 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/{number-input/numberInputContextTypes.js → breadcrumbs/types.js} +0 -0
- /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
package/dialog/Dialog.test.js
CHANGED
|
@@ -1,35 +1,55 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
4
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
7
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
5
8
|
var _react = _interopRequireDefault(require("react"));
|
|
6
|
-
|
|
7
9
|
var _react2 = require("@testing-library/react");
|
|
8
|
-
|
|
9
10
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
10
|
-
|
|
11
11
|
var _Dialog = _interopRequireDefault(require("./Dialog.tsx"));
|
|
12
|
-
|
|
13
12
|
var _TextInput = _interopRequireDefault(require("../text-input/TextInput.tsx"));
|
|
14
|
-
|
|
15
13
|
var _Textarea = _interopRequireDefault(require("../textarea/Textarea.tsx"));
|
|
16
|
-
|
|
17
14
|
var _Checkbox = _interopRequireDefault(require("../checkbox/Checkbox.tsx"));
|
|
18
|
-
|
|
19
15
|
var _Select = _interopRequireDefault(require("../select/Select.tsx"));
|
|
20
|
-
|
|
21
16
|
var _Button = _interopRequireDefault(require("../button/Button.tsx"));
|
|
22
|
-
|
|
23
17
|
var _Link = _interopRequireDefault(require("../link/Link.tsx"));
|
|
24
|
-
|
|
25
18
|
var _Card = _interopRequireDefault(require("../card/Card.tsx"));
|
|
26
|
-
|
|
27
19
|
var _RadioGroup = _interopRequireDefault(require("../radio-group/RadioGroup.tsx"));
|
|
28
|
-
|
|
29
20
|
var _Slider = _interopRequireDefault(require("../slider/Slider.tsx"));
|
|
30
|
-
|
|
31
21
|
var _Switch = _interopRequireDefault(require("../switch/Switch.tsx"));
|
|
32
|
-
|
|
22
|
+
var _DateInput = _interopRequireDefault(require("../date-input/DateInput.tsx"));
|
|
23
|
+
// Mocking DOMRect for Radix Primitive Popover
|
|
24
|
+
global.globalThis = global;
|
|
25
|
+
global.DOMRect = {
|
|
26
|
+
fromRect: function fromRect() {
|
|
27
|
+
return {
|
|
28
|
+
top: 0,
|
|
29
|
+
left: 0,
|
|
30
|
+
bottom: 0,
|
|
31
|
+
right: 0,
|
|
32
|
+
width: 0,
|
|
33
|
+
height: 0
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
global.ResizeObserver = /*#__PURE__*/function () {
|
|
38
|
+
function ResizeObserver() {
|
|
39
|
+
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
40
|
+
}
|
|
41
|
+
(0, _createClass2["default"])(ResizeObserver, [{
|
|
42
|
+
key: "observe",
|
|
43
|
+
value: function observe() {}
|
|
44
|
+
}, {
|
|
45
|
+
key: "unobserve",
|
|
46
|
+
value: function unobserve() {}
|
|
47
|
+
}, {
|
|
48
|
+
key: "disconnect",
|
|
49
|
+
value: function disconnect() {}
|
|
50
|
+
}]);
|
|
51
|
+
return ResizeObserver;
|
|
52
|
+
}();
|
|
33
53
|
var options = [{
|
|
34
54
|
label: "Female",
|
|
35
55
|
value: "female"
|
|
@@ -44,326 +64,308 @@ var options = [{
|
|
|
44
64
|
value: "other"
|
|
45
65
|
}];
|
|
46
66
|
describe("Dialog component tests", function () {
|
|
47
|
-
test("Dialog renders with correct text and
|
|
67
|
+
test("Dialog renders with correct text and accessibility attributes", function () {
|
|
48
68
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, "dialog-text")),
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
69
|
+
getByText = _render.getByText,
|
|
70
|
+
getByRole = _render.getByRole;
|
|
52
71
|
expect(getByRole("dialog")).toBeTruthy();
|
|
53
72
|
expect(getByRole("dialog").getAttribute("aria-modal")).toBe("true");
|
|
54
73
|
expect(getByText("dialog-text")).toBeTruthy();
|
|
55
74
|
});
|
|
56
75
|
test("Dialog renders without close button", function () {
|
|
57
76
|
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
77
|
+
isCloseVisible: false
|
|
78
|
+
}, "dialog-text")),
|
|
79
|
+
queryByRole = _render2.queryByRole;
|
|
62
80
|
expect(queryByRole("button")).toBeFalsy();
|
|
63
81
|
});
|
|
64
82
|
test("Dialog renders with aria-modal false when overlay is not used", function () {
|
|
65
83
|
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
84
|
+
isCloseVisible: false,
|
|
85
|
+
overlay: false
|
|
86
|
+
}, "dialog-text")),
|
|
87
|
+
getByRole = _render3.getByRole;
|
|
71
88
|
expect(getByRole("dialog")).toBeTruthy();
|
|
72
89
|
expect(getByRole("dialog").getAttribute("aria-modal")).toBe("false");
|
|
73
90
|
});
|
|
74
91
|
test("Calls correct function onCloseClick", function () {
|
|
75
92
|
var onCloseClick = jest.fn();
|
|
76
|
-
|
|
77
93
|
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
94
|
+
onCloseClick: onCloseClick
|
|
95
|
+
}, "dialog-text")),
|
|
96
|
+
getByRole = _render4.getByRole;
|
|
82
97
|
var closeButton = getByRole("button");
|
|
83
|
-
|
|
84
98
|
_react2.fireEvent.click(closeButton);
|
|
85
|
-
|
|
86
99
|
expect(onCloseClick).toHaveBeenCalled();
|
|
87
100
|
});
|
|
88
101
|
test("Calls correct function onCloseClick when 'Escape' key is pressed", function () {
|
|
89
102
|
var onCloseClick = jest.fn();
|
|
90
|
-
|
|
91
103
|
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
104
|
+
onCloseClick: onCloseClick
|
|
105
|
+
}, "dialog-text")),
|
|
106
|
+
getByRole = _render5.getByRole;
|
|
96
107
|
_react2.fireEvent.keyDown(getByRole("dialog"), {
|
|
97
108
|
key: "Escape",
|
|
98
109
|
code: "Escape",
|
|
99
110
|
keyCode: 27,
|
|
100
111
|
charCode: 27
|
|
101
112
|
});
|
|
102
|
-
|
|
103
113
|
expect(onCloseClick).toHaveBeenCalled();
|
|
104
114
|
});
|
|
115
|
+
test("Does not call function onCloseClick when 'Escape' key is pressed while a child popover is opened", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
116
|
+
var onCloseClick, _render6, getByRole, calendarAction;
|
|
117
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
118
|
+
while (1) switch (_context.prev = _context.next) {
|
|
119
|
+
case 0:
|
|
120
|
+
onCloseClick = jest.fn();
|
|
121
|
+
_render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
|
|
122
|
+
onCloseClick: onCloseClick
|
|
123
|
+
}, /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
124
|
+
label: "With format M-dd-yyyy",
|
|
125
|
+
format: "M-dd-yyyy"
|
|
126
|
+
}))), getByRole = _render6.getByRole;
|
|
127
|
+
calendarAction = getByRole("combobox");
|
|
128
|
+
_context.next = 5;
|
|
129
|
+
return _userEvent["default"].click(calendarAction);
|
|
130
|
+
case 5:
|
|
131
|
+
_react2.fireEvent.keyDown(document.activeElement, {
|
|
132
|
+
key: "Escape",
|
|
133
|
+
code: "Escape",
|
|
134
|
+
keyCode: 27,
|
|
135
|
+
charCode: 27
|
|
136
|
+
});
|
|
137
|
+
expect(onCloseClick).not.toHaveBeenCalled();
|
|
138
|
+
case 7:
|
|
139
|
+
case "end":
|
|
140
|
+
return _context.stop();
|
|
141
|
+
}
|
|
142
|
+
}, _callee);
|
|
143
|
+
})));
|
|
105
144
|
});
|
|
106
145
|
describe("Dialog component: Focus lock tests", function () {
|
|
107
146
|
test("Close action: when there's no focusable content, the focus never leaves the close action (unless you click outside)", function () {
|
|
108
|
-
var
|
|
109
|
-
|
|
110
|
-
|
|
147
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, "example-dialog")),
|
|
148
|
+
getByRole = _render7.getByRole;
|
|
111
149
|
var button = getByRole("button");
|
|
112
150
|
var dialog = getByRole("dialog");
|
|
113
151
|
expect(document.activeElement).toEqual(button);
|
|
114
152
|
expect(button.getAttribute("aria-label")).toBe("Close dialog");
|
|
115
|
-
|
|
116
153
|
_userEvent["default"].tab();
|
|
117
|
-
|
|
118
154
|
expect(document.activeElement).toEqual(button);
|
|
119
|
-
|
|
120
155
|
_react2.fireEvent.keyDown(dialog, {
|
|
121
156
|
key: "Tab",
|
|
122
157
|
shiftKey: true
|
|
123
158
|
});
|
|
124
|
-
|
|
125
159
|
expect(document.activeElement).toEqual(button);
|
|
126
160
|
});
|
|
127
161
|
test("Autofocus with Button component", function () {
|
|
128
|
-
var
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
162
|
+
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
163
|
+
label: "Accept"
|
|
164
|
+
}))),
|
|
165
|
+
getAllByRole = _render8.getAllByRole;
|
|
133
166
|
var button = getAllByRole("button")[0];
|
|
134
167
|
expect(document.activeElement).toEqual(button);
|
|
135
168
|
expect(button.getAttribute("aria-label")).not.toBe("Close dialog");
|
|
136
169
|
});
|
|
137
170
|
test("Autofocus with Card component", function () {
|
|
138
|
-
var
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
171
|
+
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, /*#__PURE__*/_react["default"].createElement(_Card["default"], {
|
|
172
|
+
linkHref: "https://developer.dxc.com/halstack/next/components/card/"
|
|
173
|
+
}, "example-card"))),
|
|
174
|
+
getByRole = _render9.getByRole;
|
|
143
175
|
var card = getByRole("link");
|
|
144
176
|
expect(document.activeElement).toEqual(card);
|
|
145
177
|
});
|
|
146
178
|
test("Autofocus with Checkbox component", function () {
|
|
147
|
-
var
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
179
|
+
var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
180
|
+
label: "Name"
|
|
181
|
+
}))),
|
|
182
|
+
getByRole = _render10.getByRole;
|
|
152
183
|
var checkbox = getByRole("checkbox");
|
|
153
184
|
expect(document.activeElement).toEqual(checkbox);
|
|
154
185
|
});
|
|
155
186
|
test("Autofocus with Link component", function () {
|
|
156
|
-
var
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
187
|
+
var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, "This is a text with a ", /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
188
|
+
href: "#"
|
|
189
|
+
}, "Link"), " to another page.")),
|
|
190
|
+
getByRole = _render11.getByRole;
|
|
161
191
|
var link = getByRole("link");
|
|
162
192
|
expect(document.activeElement).toEqual(link);
|
|
163
193
|
});
|
|
164
194
|
test("Autofocus with RadioGroup component", function () {
|
|
165
|
-
var
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
195
|
+
var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
|
|
196
|
+
label: "Example",
|
|
197
|
+
options: options
|
|
198
|
+
}))),
|
|
199
|
+
getAllByRole = _render12.getAllByRole;
|
|
171
200
|
var checkedRadio = getAllByRole("radio")[0];
|
|
172
201
|
expect(document.activeElement).toEqual(checkedRadio);
|
|
173
202
|
});
|
|
174
203
|
test("Autofocus with Select component", function () {
|
|
175
|
-
var
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
204
|
+
var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
205
|
+
label: "Country",
|
|
206
|
+
options: options
|
|
207
|
+
}))),
|
|
208
|
+
getByRole = _render13.getByRole;
|
|
181
209
|
var select = getByRole("combobox");
|
|
182
210
|
expect(document.activeElement).toEqual(select);
|
|
183
211
|
});
|
|
184
212
|
test("Autofocus with Slider component", function () {
|
|
185
|
-
var
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
213
|
+
var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
214
|
+
label: "label",
|
|
215
|
+
minValue: 0,
|
|
216
|
+
maxValue: 100,
|
|
217
|
+
showLimitsValues: true
|
|
218
|
+
}))),
|
|
219
|
+
getByRole = _render14.getByRole;
|
|
193
220
|
var slider = getByRole("slider");
|
|
194
221
|
expect(document.activeElement).toEqual(slider);
|
|
195
222
|
});
|
|
196
223
|
test("Autofocus with Switch component", function () {
|
|
197
|
-
var
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
224
|
+
var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
|
|
225
|
+
label: "Example"
|
|
226
|
+
}))),
|
|
227
|
+
getByRole = _render15.getByRole;
|
|
202
228
|
var switchButton = getByRole("switch");
|
|
203
229
|
expect(document.activeElement).toEqual(switchButton);
|
|
204
230
|
});
|
|
205
231
|
test("Autofocus with Text Input component", function () {
|
|
206
|
-
var
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
232
|
+
var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
233
|
+
label: "Name"
|
|
234
|
+
}))),
|
|
235
|
+
getByRole = _render16.getByRole;
|
|
211
236
|
var input = getByRole("textbox");
|
|
212
237
|
expect(document.activeElement).toEqual(input);
|
|
213
238
|
});
|
|
214
239
|
test("Autofocus with Textarea component", function () {
|
|
215
|
-
var
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
240
|
+
var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
241
|
+
label: "Name"
|
|
242
|
+
}))),
|
|
243
|
+
getByRole = _render17.getByRole;
|
|
220
244
|
var textarea = getByRole("textbox");
|
|
221
245
|
expect(document.activeElement).toEqual(textarea);
|
|
222
246
|
});
|
|
223
247
|
test("Negative tabindex elements are not automatically focused, even if it is enabled and a valid focusable item (programatically and by click)", function () {
|
|
224
|
-
var
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
248
|
+
var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, /*#__PURE__*/_react["default"].createElement("input", {
|
|
249
|
+
label: "Name",
|
|
250
|
+
tabIndex: -1
|
|
251
|
+
}), /*#__PURE__*/_react["default"].createElement("input", {
|
|
252
|
+
label: "Name"
|
|
253
|
+
}))),
|
|
254
|
+
getAllByRole = _render18.getAllByRole,
|
|
255
|
+
getByRole = _render18.getByRole;
|
|
233
256
|
var inputs = getAllByRole("textbox");
|
|
234
257
|
var button = getByRole("button");
|
|
235
258
|
expect(document.activeElement).toEqual(inputs[1]);
|
|
236
|
-
|
|
237
259
|
_userEvent["default"].tab();
|
|
238
|
-
|
|
239
260
|
expect(document.activeElement).toEqual(button);
|
|
240
|
-
|
|
241
261
|
_userEvent["default"].tab();
|
|
242
|
-
|
|
243
262
|
expect(document.activeElement).toEqual(inputs[1]);
|
|
244
263
|
});
|
|
245
264
|
test("Focus jumps disabled components and negative tabIndexes when autofocusing first item", function () {
|
|
246
|
-
var
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
265
|
+
var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
266
|
+
label: "Accept",
|
|
267
|
+
disabled: true
|
|
268
|
+
}), /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
269
|
+
label: "Older age",
|
|
270
|
+
disabled: true
|
|
271
|
+
}), /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
272
|
+
label: "Country",
|
|
273
|
+
options: options,
|
|
274
|
+
disabled: true
|
|
275
|
+
}), /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
|
|
276
|
+
label: "Country",
|
|
277
|
+
options: options,
|
|
278
|
+
disabled: true
|
|
279
|
+
}), /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
280
|
+
label: "Name",
|
|
281
|
+
disabled: true
|
|
282
|
+
}), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
283
|
+
label: "Accept",
|
|
284
|
+
tabIndex: -1
|
|
285
|
+
}), /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
286
|
+
label: "Older age",
|
|
287
|
+
tabIndex: -1
|
|
288
|
+
}), /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
289
|
+
label: "Country",
|
|
290
|
+
options: options,
|
|
291
|
+
tabIndex: -1
|
|
292
|
+
}), /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
|
|
293
|
+
label: "Country",
|
|
294
|
+
options: options,
|
|
295
|
+
tabIndex: -1
|
|
296
|
+
}), /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
297
|
+
label: "Name",
|
|
298
|
+
tabIndex: -1
|
|
299
|
+
}), /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
300
|
+
label: "Description"
|
|
301
|
+
}))),
|
|
302
|
+
getAllByRole = _render19.getAllByRole;
|
|
285
303
|
var textarea = getAllByRole("textbox")[2];
|
|
286
304
|
expect(document.activeElement).toEqual(textarea);
|
|
287
305
|
});
|
|
288
306
|
test("Focus jumps from last element to the first", function () {
|
|
289
|
-
var
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
307
|
+
var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
308
|
+
label: "Accept",
|
|
309
|
+
disabled: true
|
|
310
|
+
}), /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
311
|
+
label: "Name"
|
|
312
|
+
}), /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
|
|
313
|
+
label: "Name",
|
|
314
|
+
options: options
|
|
315
|
+
}))),
|
|
316
|
+
getByRole = _render20.getByRole;
|
|
300
317
|
var closeAction = getByRole("button");
|
|
301
318
|
var textarea = getByRole("textbox");
|
|
302
319
|
expect(document.activeElement).toEqual(textarea);
|
|
303
|
-
|
|
304
320
|
_userEvent["default"].tab();
|
|
305
|
-
|
|
306
321
|
_userEvent["default"].tab();
|
|
307
|
-
|
|
308
322
|
expect(document.activeElement).toEqual(closeAction);
|
|
309
|
-
|
|
310
323
|
_userEvent["default"].tab();
|
|
311
|
-
|
|
312
324
|
expect(document.activeElement).toEqual(textarea);
|
|
313
325
|
});
|
|
314
326
|
test("'display: none;', 'visibility: hidden;' and 'type = 'hidden'' elements are never autofocused", function () {
|
|
315
|
-
var
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
327
|
+
var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, /*#__PURE__*/_react["default"].createElement("input", {
|
|
328
|
+
label: "Name",
|
|
329
|
+
style: {
|
|
330
|
+
display: "none"
|
|
331
|
+
}
|
|
332
|
+
}), /*#__PURE__*/_react["default"].createElement("input", {
|
|
333
|
+
label: "Name",
|
|
334
|
+
style: {
|
|
335
|
+
visibility: "hidden"
|
|
336
|
+
}
|
|
337
|
+
}), /*#__PURE__*/_react["default"].createElement("input", {
|
|
338
|
+
type: "hidden",
|
|
339
|
+
name: "example"
|
|
340
|
+
}))),
|
|
341
|
+
getByRole = _render21.getByRole;
|
|
331
342
|
var closeAction = getByRole("button");
|
|
332
343
|
expect(document.activeElement).toEqual(closeAction);
|
|
333
|
-
|
|
334
344
|
_userEvent["default"].tab();
|
|
335
|
-
|
|
336
345
|
expect(document.activeElement).toEqual(closeAction);
|
|
337
346
|
});
|
|
338
347
|
test("Focus gets trapped in the Dialog when there are not focusable elements inside until it is closed", function () {
|
|
339
|
-
var
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
+
var _render22 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
349
|
+
label: "Name"
|
|
350
|
+
}), /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
|
|
351
|
+
isCloseVisible: false
|
|
352
|
+
}, /*#__PURE__*/_react["default"].createElement("h2", null, "Policy agreement"), /*#__PURE__*/_react["default"].createElement("p", null, "Sample text.")), /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
353
|
+
label: "Surname"
|
|
354
|
+
}))),
|
|
355
|
+
getAllByRole = _render22.getAllByRole;
|
|
348
356
|
var inputs = getAllByRole("textbox");
|
|
349
357
|
var dialog = getAllByRole("dialog")[0];
|
|
350
|
-
|
|
351
358
|
_userEvent["default"].tab();
|
|
352
|
-
|
|
353
359
|
_userEvent["default"].tab();
|
|
354
|
-
|
|
355
360
|
expect(document.activeElement).not.toEqual(inputs[1]);
|
|
356
|
-
|
|
357
361
|
_react2.fireEvent.keyDown(dialog, {
|
|
358
362
|
key: "Tab",
|
|
359
363
|
shiftKey: true
|
|
360
364
|
});
|
|
361
|
-
|
|
362
365
|
_react2.fireEvent.keyDown(dialog, {
|
|
363
366
|
key: "Tab",
|
|
364
367
|
shiftKey: true
|
|
365
368
|
});
|
|
366
|
-
|
|
367
369
|
expect(document.activeElement).not.toEqual(inputs[0]);
|
|
368
370
|
});
|
|
369
371
|
});
|
package/dialog/types.d.ts
CHANGED
|
@@ -1,31 +1,36 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
2
|
+
type Props = {
|
|
3
3
|
/**
|
|
4
|
-
* If true, the close
|
|
4
|
+
* If true, the close button will be visible.
|
|
5
5
|
*/
|
|
6
6
|
isCloseVisible?: boolean;
|
|
7
7
|
/**
|
|
8
|
-
* This function will be called when the user clicks the close
|
|
9
|
-
* The responsibility of hiding the
|
|
8
|
+
* This function will be called when the user clicks the close button.
|
|
9
|
+
* The responsibility of hiding the dialog lies with the user.
|
|
10
10
|
*/
|
|
11
11
|
onCloseClick?: () => void;
|
|
12
|
+
/**
|
|
13
|
+
* This function will be called when the user clicks on the background of the modal.
|
|
14
|
+
* The responsibility of hiding the dialog lies with the user.
|
|
15
|
+
*/
|
|
16
|
+
onBackgroundClick?: () => void;
|
|
12
17
|
/**
|
|
13
18
|
* If true, the dialog will be displayed over a darker background that covers the content behind.
|
|
14
19
|
*/
|
|
15
20
|
overlay?: boolean;
|
|
16
21
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
22
|
+
* Area within the dialog that can be used to render custom content.
|
|
23
|
+
* We strongly encourage users to not change the
|
|
24
|
+
* tabindex of the inner components or elements. This
|
|
25
|
+
* can lead to unpredictable behaviour for keyboard users, affecting
|
|
26
|
+
* the order of focus and focus locking within the dialog.
|
|
19
27
|
*/
|
|
20
|
-
|
|
28
|
+
children: React.ReactNode;
|
|
21
29
|
/**
|
|
22
|
-
* Value of the tabindex
|
|
30
|
+
* Value of the tabindex applied to the close button.
|
|
31
|
+
* Note that values greater than 0 are strongly discouraged. It can
|
|
32
|
+
* lead to unexpected behaviours with the focus within the dialog.
|
|
23
33
|
*/
|
|
24
34
|
tabIndex?: number;
|
|
25
|
-
/**
|
|
26
|
-
* The area inside the dialog. This area can be used to render
|
|
27
|
-
* custom content.
|
|
28
|
-
*/
|
|
29
|
-
children: React.ReactNode;
|
|
30
35
|
};
|
|
31
36
|
export default Props;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
var _axeHelper = require("../../test/accessibility/axe-helper.js");
|
|
9
|
+
var _Divider = _interopRequireDefault(require("./Divider"));
|
|
10
|
+
describe("Divider accessibility tests", function () {
|
|
11
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
12
|
+
var _render, container, results;
|
|
13
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
14
|
+
while (1) switch (_context.prev = _context.next) {
|
|
15
|
+
case 0:
|
|
16
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Divider["default"], {
|
|
17
|
+
orientation: "vertical",
|
|
18
|
+
color: "darkGrey",
|
|
19
|
+
decorative: false,
|
|
20
|
+
weight: "strong"
|
|
21
|
+
})), container = _render.container;
|
|
22
|
+
_context.next = 3;
|
|
23
|
+
return (0, _axeHelper.axe)(container);
|
|
24
|
+
case 3:
|
|
25
|
+
results = _context.sent;
|
|
26
|
+
expect(results).toHaveNoViolations();
|
|
27
|
+
case 5:
|
|
28
|
+
case "end":
|
|
29
|
+
return _context.stop();
|
|
30
|
+
}
|
|
31
|
+
}, _callee);
|
|
32
|
+
})));
|
|
33
|
+
});
|