@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/date-input/DatePicker.js
CHANGED
|
@@ -1,72 +1,49 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = 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 _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
-
|
|
14
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
-
|
|
16
11
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
17
|
-
|
|
18
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
-
|
|
20
13
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
21
|
-
|
|
22
14
|
var _Calendar = _interopRequireDefault(require("./Calendar"));
|
|
23
|
-
|
|
24
15
|
var _YearPicker = _interopRequireDefault(require("./YearPicker"));
|
|
25
|
-
|
|
26
16
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
27
|
-
|
|
28
|
-
var _Icons = require("./Icons");
|
|
29
|
-
|
|
17
|
+
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
30
18
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
31
|
-
|
|
32
|
-
function
|
|
33
|
-
|
|
34
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
|
-
|
|
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" != _typeof(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; }
|
|
36
21
|
var today = (0, _dayjs["default"])();
|
|
37
|
-
|
|
38
22
|
var DxcDatePicker = function DxcDatePicker(_ref) {
|
|
39
23
|
var date = _ref.date,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
24
|
+
onDateSelect = _ref.onDateSelect,
|
|
25
|
+
id = _ref.id;
|
|
43
26
|
var _useState = (0, _react.useState)(date !== null && date !== void 0 && date.isValid() ? date : (0, _dayjs["default"])()),
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
27
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
28
|
+
innerDate = _useState2[0],
|
|
29
|
+
setInnerDate = _useState2[1];
|
|
48
30
|
var _useState3 = (0, _react.useState)("calendar"),
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
31
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
32
|
+
content = _useState4[0],
|
|
33
|
+
setContent = _useState4[1];
|
|
53
34
|
var selectedDate = date !== null && date !== void 0 && date.isValid() ? date : null;
|
|
54
35
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
55
|
-
|
|
56
36
|
var handleDateSelect = function handleDateSelect(date) {
|
|
57
37
|
setInnerDate(date);
|
|
58
38
|
onDateSelect(date);
|
|
59
39
|
};
|
|
60
|
-
|
|
61
40
|
var handleOnYearSelect = function handleOnYearSelect(year) {
|
|
62
41
|
setInnerDate(innerDate.set("year", year));
|
|
63
42
|
setContent("calendar");
|
|
64
43
|
};
|
|
65
|
-
|
|
66
44
|
var handleMonthChange = function handleMonthChange(date) {
|
|
67
45
|
setInnerDate(date);
|
|
68
46
|
};
|
|
69
|
-
|
|
70
47
|
return /*#__PURE__*/_react["default"].createElement(DatePicker, {
|
|
71
48
|
id: id
|
|
72
49
|
}, /*#__PURE__*/_react["default"].createElement(PickerHeader, null, /*#__PURE__*/_react["default"].createElement(HeaderButton, {
|
|
@@ -75,20 +52,26 @@ var DxcDatePicker = function DxcDatePicker(_ref) {
|
|
|
75
52
|
onClick: function onClick() {
|
|
76
53
|
return handleMonthChange(innerDate.set("month", innerDate.get("month") - 1));
|
|
77
54
|
}
|
|
78
|
-
},
|
|
55
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
56
|
+
icon: "keyboard_arrow_left"
|
|
57
|
+
})), /*#__PURE__*/_react["default"].createElement(HeaderYearTrigger, {
|
|
79
58
|
"aria-live": "polite",
|
|
80
59
|
onClick: function onClick() {
|
|
81
60
|
return setContent(function (content) {
|
|
82
61
|
return content === "yearPicker" ? "calendar" : "yearPicker";
|
|
83
62
|
});
|
|
84
63
|
}
|
|
85
|
-
}, /*#__PURE__*/_react["default"].createElement(HeaderYearTriggerLabel, null, translatedLabels.calendar.months[innerDate.get("month")], " ", innerDate.format("YYYY")),
|
|
64
|
+
}, /*#__PURE__*/_react["default"].createElement(HeaderYearTriggerLabel, null, translatedLabels.calendar.months[innerDate.get("month")], " ", innerDate.format("YYYY")), /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
65
|
+
icon: content === "yearPicker" ? "arrow_drop_up" : "arrow_drop_down"
|
|
66
|
+
})), /*#__PURE__*/_react["default"].createElement(HeaderButton, {
|
|
86
67
|
"aria-label": translatedLabels.calendar.nextMonthTitle,
|
|
87
68
|
title: translatedLabels.calendar.nextMonthTitle,
|
|
88
69
|
onClick: function onClick() {
|
|
89
70
|
return handleMonthChange(innerDate.set("month", innerDate.get("month") + 1));
|
|
90
71
|
}
|
|
91
|
-
},
|
|
72
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
73
|
+
icon: "keyboard_arrow_right"
|
|
74
|
+
}))), content === "calendar" && /*#__PURE__*/_react["default"].createElement(_Calendar["default"], {
|
|
92
75
|
innerDate: innerDate,
|
|
93
76
|
selectedDate: selectedDate,
|
|
94
77
|
onInnerDateChange: setInnerDate,
|
|
@@ -100,7 +83,6 @@ var DxcDatePicker = function DxcDatePicker(_ref) {
|
|
|
100
83
|
today: today
|
|
101
84
|
}));
|
|
102
85
|
};
|
|
103
|
-
|
|
104
86
|
var DatePicker = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding-top: 16px;\n background-color: ", ";\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n border: ", ";\n border-radius: 4px;\n width: fit-content;\n font-family: ", ";\n font-size: ", ";\n color: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
105
87
|
return props.theme.dateInput.pickerBackgroundColor;
|
|
106
88
|
}, function (props) {
|
|
@@ -114,10 +96,8 @@ var DatePicker = _styledComponents["default"].div(_templateObject || (_templateO
|
|
|
114
96
|
}, function (props) {
|
|
115
97
|
return props.theme.dateInput.pickerFontWeight;
|
|
116
98
|
});
|
|
117
|
-
|
|
118
99
|
var PickerHeader = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n gap: 8px;\n align-items: center;\n justify-content: space-between;\n padding: 0px 16px;\n"])));
|
|
119
|
-
|
|
120
|
-
var HeaderButton = _styledComponents["default"].button(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0px;\n color: ", ";\n background-color: ", ";\n border-radius: 4px;\n border: none;\n cursor: pointer;\n\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n &:focus {\n outline: ", ";\n }\n &:active {\n color: ", ";\n background-color: ", ";\n }\n svg {\n width: 24px;\n height: 24px;\n }\n"])), function (props) {
|
|
100
|
+
var HeaderButton = _styledComponents["default"].button(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0px;\n color: ", ";\n background-color: ", ";\n border-radius: 4px;\n border: none;\n cursor: pointer;\n\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n &:focus {\n outline: ", ";\n }\n &:active {\n color: ", ";\n background-color: ", ";\n }\n\n span::before {\n font-size: 24px;\n }\n"])), function (props) {
|
|
121
101
|
return props.theme.dateInput.pickerHeaderFontColor;
|
|
122
102
|
}, function (props) {
|
|
123
103
|
return props.theme.dateInput.pickerHeaderBackgroundColor;
|
|
@@ -132,15 +112,10 @@ var HeaderButton = _styledComponents["default"].button(_templateObject3 || (_tem
|
|
|
132
112
|
}, function (props) {
|
|
133
113
|
return props.theme.dateInput.pickerHeaderActiveBackgroundColor;
|
|
134
114
|
});
|
|
135
|
-
|
|
136
|
-
var HeaderYearTrigger = (0, _styledComponents["default"])(HeaderButton)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n gap: 8px;\n height: 40px;\n width: 172px;\n"])));
|
|
137
|
-
|
|
115
|
+
var HeaderYearTrigger = (0, _styledComponents["default"])(HeaderButton)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n gap: 8px;\n height: 40px;\n width: 172px;\n font-size: 24px;\n span::before {\n font-size: 24px;\n }\n"])));
|
|
138
116
|
var HeaderYearTriggerLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n font-family: ", ";\n font-size: ", ";\n"])), function (props) {
|
|
139
117
|
return props.theme.dateInput.pickerFontFamily;
|
|
140
118
|
}, function (props) {
|
|
141
119
|
return props.theme.dateInput.pickerHeaderFontSize;
|
|
142
120
|
});
|
|
143
|
-
|
|
144
|
-
var _default = /*#__PURE__*/_react["default"].memo(DxcDatePicker);
|
|
145
|
-
|
|
146
|
-
exports["default"] = _default;
|
|
121
|
+
var _default = exports["default"] = /*#__PURE__*/_react["default"].memo(DxcDatePicker);
|
package/date-input/YearPicker.js
CHANGED
|
@@ -1,55 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = 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 _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
-
|
|
14
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
-
|
|
16
11
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
17
|
-
|
|
18
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
-
|
|
20
13
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
21
|
-
|
|
22
14
|
var _templateObject, _templateObject2;
|
|
23
|
-
|
|
24
|
-
function
|
|
25
|
-
|
|
26
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
|
|
27
|
-
|
|
15
|
+
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); }
|
|
16
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(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; }
|
|
28
17
|
var getYearsArray = function getYearsArray() {
|
|
29
18
|
var yearList = [];
|
|
30
|
-
|
|
31
19
|
for (var i = 1899; i <= 2100; i++) {
|
|
32
20
|
yearList.push(i);
|
|
33
21
|
}
|
|
34
|
-
|
|
35
22
|
return yearList;
|
|
36
23
|
};
|
|
37
|
-
|
|
38
24
|
var yearList = getYearsArray();
|
|
39
|
-
|
|
40
25
|
var YearPicker = function YearPicker(_ref) {
|
|
41
26
|
var onYearSelect = _ref.onYearSelect,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
27
|
+
selectedDate = _ref.selectedDate,
|
|
28
|
+
today = _ref.today;
|
|
45
29
|
var _useState = (0, _react.useState)(selectedDate ? selectedDate.get("year") : (0, _dayjs["default"])().get("year")),
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
30
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
31
|
+
yearToFocus = _useState2[0],
|
|
32
|
+
setYearToFocus = _useState2[1];
|
|
50
33
|
(0, _react.useEffect)(function () {
|
|
51
34
|
var _yearToFocusEl$scroll;
|
|
52
|
-
|
|
53
35
|
var yearToFocusEl = document.getElementById("year_".concat(yearToFocus));
|
|
54
36
|
yearToFocusEl === null || yearToFocusEl === void 0 ? void 0 : (_yearToFocusEl$scroll = yearToFocusEl.scrollIntoView) === null || _yearToFocusEl$scroll === void 0 ? void 0 : _yearToFocusEl$scroll.call(yearToFocusEl, {
|
|
55
37
|
block: "nearest",
|
|
@@ -57,7 +39,6 @@ var YearPicker = function YearPicker(_ref) {
|
|
|
57
39
|
});
|
|
58
40
|
yearToFocusEl === null || yearToFocusEl === void 0 ? void 0 : yearToFocusEl.focus();
|
|
59
41
|
}, [yearToFocus]);
|
|
60
|
-
|
|
61
42
|
var handleDayKeyboardEvent = function handleDayKeyboardEvent(event) {
|
|
62
43
|
switch (event.key) {
|
|
63
44
|
case "ArrowUp":
|
|
@@ -65,7 +46,6 @@ var YearPicker = function YearPicker(_ref) {
|
|
|
65
46
|
return prev > 1899 ? prev - 1 : prev;
|
|
66
47
|
});
|
|
67
48
|
break;
|
|
68
|
-
|
|
69
49
|
case "ArrowDown":
|
|
70
50
|
setYearToFocus(function (prev) {
|
|
71
51
|
return prev < 2100 ? prev + 1 : prev;
|
|
@@ -73,7 +53,6 @@ var YearPicker = function YearPicker(_ref) {
|
|
|
73
53
|
break;
|
|
74
54
|
}
|
|
75
55
|
};
|
|
76
|
-
|
|
77
56
|
return /*#__PURE__*/_react["default"].createElement(YearPickerContainer, null, yearList.map(function (year) {
|
|
78
57
|
return /*#__PURE__*/_react["default"].createElement(YearPickerButton, {
|
|
79
58
|
"aria-label": year,
|
|
@@ -92,9 +71,7 @@ var YearPicker = function YearPicker(_ref) {
|
|
|
92
71
|
}, year);
|
|
93
72
|
}));
|
|
94
73
|
};
|
|
95
|
-
|
|
96
74
|
var YearPickerContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: 4px;\n align-items: center;\n overflow-y: scroll;\n width: 292px;\n height: 312px;\n padding: 2px 8px 8px 8px;\n"])));
|
|
97
|
-
|
|
98
75
|
var YearPickerButton = _styledComponents["default"].button(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 80px;\n min-height: 40px;\n line-height: 21px;\n background-color: transparent;\n border: none;\n border-radius: 50px;\n cursor: pointer;\n font-family: ", ";\n font-size: ", ";\n color: ", ";\n font-weight: ", ";\n\n ", "\n\n &:hover, &:focus, &:active {\n font-size: ", ";\n line-height: 36px;\n }\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n &:focus {\n color: ", ";\n outline: ", ";\n }\n &:active {\n color: ", ";\n background-color: ", " !important;\n }\n"])), function (props) {
|
|
99
76
|
return props.theme.dateInput.pickerFontFamily;
|
|
100
77
|
}, function (props) {
|
|
@@ -120,7 +97,4 @@ var YearPickerButton = _styledComponents["default"].button(_templateObject2 || (
|
|
|
120
97
|
}, function (props) {
|
|
121
98
|
return props.theme.dateInput.pickerActiveBackgroundColor;
|
|
122
99
|
});
|
|
123
|
-
|
|
124
|
-
var _default = /*#__PURE__*/_react["default"].memo(YearPicker);
|
|
125
|
-
|
|
126
|
-
exports["default"] = _default;
|
|
100
|
+
var _default = exports["default"] = /*#__PURE__*/_react["default"].memo(YearPicker);
|
package/date-input/types.d.ts
CHANGED
|
@@ -1,20 +1,12 @@
|
|
|
1
1
|
import { Dayjs } from "dayjs";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
type Margin = {
|
|
4
4
|
top?: Space;
|
|
5
5
|
bottom?: Space;
|
|
6
6
|
left?: Space;
|
|
7
7
|
right?: Space;
|
|
8
8
|
};
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Text to be placed above the date.
|
|
12
|
-
*/
|
|
13
|
-
label?: string;
|
|
14
|
-
/**
|
|
15
|
-
* Name attribute of the input element.
|
|
16
|
-
*/
|
|
17
|
-
name?: string;
|
|
9
|
+
type Props = {
|
|
18
10
|
/**
|
|
19
11
|
* Initial value of the input element, only when it is uncontrolled.
|
|
20
12
|
*/
|
|
@@ -24,9 +16,13 @@ declare type Props = {
|
|
|
24
16
|
*/
|
|
25
17
|
value?: string;
|
|
26
18
|
/**
|
|
27
|
-
*
|
|
19
|
+
* Text to be placed above the date input.
|
|
28
20
|
*/
|
|
29
|
-
|
|
21
|
+
label?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Name attribute of the input element.
|
|
24
|
+
*/
|
|
25
|
+
name?: string;
|
|
30
26
|
/**
|
|
31
27
|
* Helper text to be placed above the date.
|
|
32
28
|
*/
|
|
@@ -35,6 +31,10 @@ declare type Props = {
|
|
|
35
31
|
* If true, the date format will appear as placeholder in the field.
|
|
36
32
|
*/
|
|
37
33
|
placeholder?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* The format in which the date value will be displayed. User must use this format when editing the value or it will be considered as an invalid date.
|
|
36
|
+
*/
|
|
37
|
+
format?: string;
|
|
38
38
|
/**
|
|
39
39
|
* If true, the date input will have an action to clear the entered value.
|
|
40
40
|
*/
|
|
@@ -44,12 +44,18 @@ declare type Props = {
|
|
|
44
44
|
*/
|
|
45
45
|
disabled?: boolean;
|
|
46
46
|
/**
|
|
47
|
-
* If true, the date will be optional, showing '(Optional)'
|
|
47
|
+
* If true, the date will be optional, showing the text '(Optional)'
|
|
48
48
|
* next to the label. Otherwise, the field will be considered required and an error will be
|
|
49
49
|
* passed as a parameter to the OnBlur and onChange functions when it has
|
|
50
50
|
* not been filled.
|
|
51
51
|
*/
|
|
52
52
|
optional?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* If true, the component will not be mutable, meaning the user can not edit the control.
|
|
55
|
+
* The date picker cannot be opened either. In addition, the clear action will not be displayed
|
|
56
|
+
* even if the flag is set to true.
|
|
57
|
+
*/
|
|
58
|
+
readOnly?: boolean;
|
|
53
59
|
/**
|
|
54
60
|
* This function will be called when the user types within the input
|
|
55
61
|
* element of the component. An object including the string value, the
|
|
@@ -101,7 +107,7 @@ declare type Props = {
|
|
|
101
107
|
*/
|
|
102
108
|
tabIndex?: number;
|
|
103
109
|
};
|
|
104
|
-
export
|
|
110
|
+
export type DatePickerPropsType = {
|
|
105
111
|
/**
|
|
106
112
|
* Initial selected date value. If invalid the actual date will be used instead.
|
|
107
113
|
*/
|
|
@@ -115,17 +121,17 @@ export declare type DatePickerPropsType = {
|
|
|
115
121
|
*/
|
|
116
122
|
id: string;
|
|
117
123
|
};
|
|
118
|
-
export
|
|
124
|
+
export type CalendarPropsType = {
|
|
119
125
|
/**
|
|
120
126
|
* Initial selected date value. If invalid the actual date will be used instead.
|
|
121
127
|
*/
|
|
122
128
|
selectedDate: Dayjs;
|
|
123
129
|
/**
|
|
124
|
-
* Date
|
|
130
|
+
* Date shown by the calendar.
|
|
125
131
|
*/
|
|
126
132
|
innerDate: Dayjs;
|
|
127
133
|
/**
|
|
128
|
-
* Function called when the date
|
|
134
|
+
* Function called when the shown date needs to be updated.
|
|
129
135
|
*/
|
|
130
136
|
onInnerDateChange: (date: Dayjs) => void;
|
|
131
137
|
/**
|
|
@@ -133,11 +139,11 @@ export declare type CalendarPropsType = {
|
|
|
133
139
|
*/
|
|
134
140
|
onDaySelect: (date: Dayjs) => void;
|
|
135
141
|
/**
|
|
136
|
-
* Current date
|
|
142
|
+
* Current date.
|
|
137
143
|
*/
|
|
138
144
|
today: Dayjs;
|
|
139
145
|
};
|
|
140
|
-
export
|
|
146
|
+
export type YearPickerPropsType = {
|
|
141
147
|
/**
|
|
142
148
|
* Initial selected date value. If invalid the actual date will be used instead.
|
|
143
149
|
*/
|
|
@@ -147,12 +153,12 @@ export declare type YearPickerPropsType = {
|
|
|
147
153
|
*/
|
|
148
154
|
onYearSelect: (year: number) => void;
|
|
149
155
|
/**
|
|
150
|
-
* Current date
|
|
156
|
+
* Current date.
|
|
151
157
|
*/
|
|
152
158
|
today: Dayjs;
|
|
153
159
|
};
|
|
154
160
|
/**
|
|
155
161
|
* Reference to the component.
|
|
156
162
|
*/
|
|
157
|
-
export
|
|
163
|
+
export type RefType = HTMLDivElement;
|
|
158
164
|
export default Props;
|
|
@@ -0,0 +1,69 @@
|
|
|
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 _Dialog = _interopRequireDefault(require("./Dialog.tsx"));
|
|
10
|
+
describe("Dialog component accessibility tests", function () {
|
|
11
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
12
|
+
var _render, baseElement, results;
|
|
13
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
14
|
+
while (1) switch (_context.prev = _context.next) {
|
|
15
|
+
case 0:
|
|
16
|
+
// baseElement is needed when using React Portals
|
|
17
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, "Dialog text")), baseElement = _render.baseElement;
|
|
18
|
+
_context.next = 3;
|
|
19
|
+
return (0, _axeHelper.axe)(baseElement);
|
|
20
|
+
case 3:
|
|
21
|
+
results = _context.sent;
|
|
22
|
+
expect(results).toHaveNoViolations();
|
|
23
|
+
case 5:
|
|
24
|
+
case "end":
|
|
25
|
+
return _context.stop();
|
|
26
|
+
}
|
|
27
|
+
}, _callee);
|
|
28
|
+
})));
|
|
29
|
+
it("Should not have basic accessibility issues for close button not visible", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
30
|
+
var _render2, baseElement, results;
|
|
31
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
32
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
33
|
+
case 0:
|
|
34
|
+
// baseElement is needed when using React Portals
|
|
35
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
|
|
36
|
+
isCloseVisible: false
|
|
37
|
+
}, "Dialog text")), baseElement = _render2.baseElement;
|
|
38
|
+
_context2.next = 3;
|
|
39
|
+
return (0, _axeHelper.axe)(baseElement);
|
|
40
|
+
case 3:
|
|
41
|
+
results = _context2.sent;
|
|
42
|
+
expect(results).toHaveNoViolations();
|
|
43
|
+
case 5:
|
|
44
|
+
case "end":
|
|
45
|
+
return _context2.stop();
|
|
46
|
+
}
|
|
47
|
+
}, _callee2);
|
|
48
|
+
})));
|
|
49
|
+
it("Should not have basic accessibility issues for overlay not visible", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
50
|
+
var _render3, baseElement, results;
|
|
51
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
52
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
53
|
+
case 0:
|
|
54
|
+
// baseElement is needed when using React Portals
|
|
55
|
+
_render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
|
|
56
|
+
overlay: false
|
|
57
|
+
}, "Dialog text")), baseElement = _render3.baseElement;
|
|
58
|
+
_context3.next = 3;
|
|
59
|
+
return (0, _axeHelper.axe)(baseElement);
|
|
60
|
+
case 3:
|
|
61
|
+
results = _context3.sent;
|
|
62
|
+
expect(results).toHaveNoViolations();
|
|
63
|
+
case 5:
|
|
64
|
+
case "end":
|
|
65
|
+
return _context3.stop();
|
|
66
|
+
}
|
|
67
|
+
}, _callee3);
|
|
68
|
+
})));
|
|
69
|
+
});
|
package/dialog/Dialog.js
CHANGED
|
@@ -1,62 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = 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 _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
-
|
|
14
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
-
|
|
16
11
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
17
|
-
|
|
18
12
|
var _variables = require("../common/variables");
|
|
19
|
-
|
|
20
13
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
21
|
-
|
|
22
|
-
var _BackgroundColorContext = require("../BackgroundColorContext");
|
|
23
|
-
|
|
24
14
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
25
|
-
|
|
26
15
|
var _reactDom = require("react-dom");
|
|
27
|
-
|
|
28
16
|
var _FocusLock = _interopRequireDefault(require("../utils/FocusLock"));
|
|
29
|
-
|
|
17
|
+
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
30
18
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
31
|
-
|
|
32
|
-
function
|
|
33
|
-
|
|
34
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
|
-
|
|
36
|
-
var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
37
|
-
role: "img",
|
|
38
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
39
|
-
width: "24",
|
|
40
|
-
height: "24",
|
|
41
|
-
viewBox: "0 0 24 24",
|
|
42
|
-
fill: "currentColor"
|
|
43
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
44
|
-
d: "M0 0h24v24H0V0z",
|
|
45
|
-
fill: "none"
|
|
46
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
47
|
-
d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
|
|
48
|
-
}));
|
|
49
|
-
|
|
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" != _typeof(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; }
|
|
50
21
|
var DxcDialog = function DxcDialog(_ref) {
|
|
51
22
|
var _ref$isCloseVisible = _ref.isCloseVisible,
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
23
|
+
isCloseVisible = _ref$isCloseVisible === void 0 ? true : _ref$isCloseVisible,
|
|
24
|
+
onCloseClick = _ref.onCloseClick,
|
|
25
|
+
children = _ref.children,
|
|
26
|
+
_ref$overlay = _ref.overlay,
|
|
27
|
+
overlay = _ref$overlay === void 0 ? true : _ref$overlay,
|
|
28
|
+
onBackgroundClick = _ref.onBackgroundClick,
|
|
29
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
30
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
60
31
|
var colorsTheme = (0, _useTheme["default"])();
|
|
61
32
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
62
33
|
(0, _react.useEffect)(function () {
|
|
@@ -66,7 +37,6 @@ var DxcDialog = function DxcDialog(_ref) {
|
|
|
66
37
|
onCloseClick === null || onCloseClick === void 0 ? void 0 : onCloseClick();
|
|
67
38
|
}
|
|
68
39
|
};
|
|
69
|
-
|
|
70
40
|
document.addEventListener("keydown", handleKeyDown);
|
|
71
41
|
return function () {
|
|
72
42
|
document.removeEventListener("keydown", handleKeyDown);
|
|
@@ -74,33 +44,30 @@ var DxcDialog = function DxcDialog(_ref) {
|
|
|
74
44
|
}, [onCloseClick]);
|
|
75
45
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
76
46
|
theme: colorsTheme.dialog
|
|
77
|
-
}, /*#__PURE__*/_react["default"].createElement(BodyStyle, null), /*#__PURE__*/(0, _reactDom.createPortal)( /*#__PURE__*/_react["default"].createElement(
|
|
47
|
+
}, /*#__PURE__*/_react["default"].createElement(BodyStyle, null), /*#__PURE__*/(0, _reactDom.createPortal)( /*#__PURE__*/_react["default"].createElement(DialogContainer, null, overlay && /*#__PURE__*/_react["default"].createElement(Overlay, {
|
|
78
48
|
onClick: function onClick() {
|
|
79
49
|
onBackgroundClick === null || onBackgroundClick === void 0 ? void 0 : onBackgroundClick();
|
|
80
50
|
}
|
|
81
51
|
}), /*#__PURE__*/_react["default"].createElement(Dialog, {
|
|
82
52
|
role: "dialog",
|
|
83
53
|
"aria-modal": overlay,
|
|
84
|
-
isCloseVisible: isCloseVisible
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}, children), isCloseVisible && /*#__PURE__*/_react["default"].createElement(CloseIconAction, {
|
|
54
|
+
isCloseVisible: isCloseVisible,
|
|
55
|
+
"aria-label": "Dialog"
|
|
56
|
+
}, /*#__PURE__*/_react["default"].createElement(_FocusLock["default"], null, children, isCloseVisible && /*#__PURE__*/_react["default"].createElement(CloseIconAction, {
|
|
88
57
|
onClick: function onClick() {
|
|
89
58
|
onCloseClick === null || onCloseClick === void 0 ? void 0 : onCloseClick();
|
|
90
59
|
},
|
|
91
60
|
"aria-label": translatedLabels.dialog.closeIconAriaLabel,
|
|
92
61
|
tabIndex: tabIndex
|
|
93
|
-
},
|
|
62
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
63
|
+
icon: "close"
|
|
64
|
+
}))))), document.body));
|
|
94
65
|
};
|
|
95
|
-
|
|
96
66
|
var BodyStyle = (0, _styledComponents.createGlobalStyle)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n body {\n overflow: hidden;\n }\n"])));
|
|
97
|
-
|
|
98
67
|
var DialogContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n z-index: 2147483647;\n"])));
|
|
99
|
-
|
|
100
68
|
var Overlay = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n inset: 0;\n height: 100%;\n background-color: ", ";\n"])), function (props) {
|
|
101
69
|
return props.theme.overlayColor;
|
|
102
70
|
});
|
|
103
|
-
|
|
104
71
|
var Dialog = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n box-sizing: border-box;\n max-width: 80%;\n min-width: 696px;\n border-radius: 4px;\n background-color: ", ";\n ", "\n box-shadow: ", ";\n z-index: 2147483647;\n\n @media (max-width: ", "rem) {\n max-width: 92%;\n min-width: 92%;\n }\n"])), function (props) {
|
|
105
72
|
return props.theme.backgroundColor;
|
|
106
73
|
}, function (props) {
|
|
@@ -108,8 +75,7 @@ var Dialog = _styledComponents["default"].div(_templateObject4 || (_templateObje
|
|
|
108
75
|
}, function (props) {
|
|
109
76
|
return "".concat(props.theme.boxShadowOffsetX, " ").concat(props.theme.boxShadowOffsetY, " ").concat(props.theme.boxShadowBlur, " ").concat(props.theme.boxShadowColor);
|
|
110
77
|
}, _variables.responsiveSizes.medium);
|
|
111
|
-
|
|
112
|
-
var CloseIconAction = _styledComponents["default"].button(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n all: unset;\n position: absolute;\n top: 24px;\n right: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: ", ";\n box-shadow: 0 0 0 2px transparent;\n color: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n cursor: pointer;\n z-index: 1;\n\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px #0095ff;\n }\n &:hover {\n background-color: #f2f2f2;\n }\n &:active {\n background-color: #cccccc;\n }\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
|
|
78
|
+
var CloseIconAction = _styledComponents["default"].button(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n all: unset;\n position: absolute;\n top: 24px;\n right: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: ", ";\n box-shadow: 0 0 0 2px transparent;\n color: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n cursor: pointer;\n z-index: 1;\n\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px #0095ff;\n }\n &:hover {\n background-color: #f2f2f2;\n }\n &:active {\n background-color: #cccccc;\n }\n span {\n font-size: ", ";\n }\n"])), function (props) {
|
|
113
79
|
return props.theme.closeIconBackgroundColor;
|
|
114
80
|
}, function (props) {
|
|
115
81
|
return props.theme.closeIconColor;
|
|
@@ -122,10 +88,6 @@ var CloseIconAction = _styledComponents["default"].button(_templateObject5 || (_
|
|
|
122
88
|
}, function (props) {
|
|
123
89
|
return props.theme.closeIconBorderColor;
|
|
124
90
|
}, function (props) {
|
|
125
|
-
return props.theme.
|
|
126
|
-
}, function (props) {
|
|
127
|
-
return props.theme.closeIconHeight;
|
|
91
|
+
return props.theme.closeIconSize;
|
|
128
92
|
});
|
|
129
|
-
|
|
130
|
-
var _default = DxcDialog;
|
|
131
|
-
exports["default"] = _default;
|
|
93
|
+
var _default = exports["default"] = DxcDialog;
|