@dxc-technology/halstack-react 0.0.0-5aa300b → 0.0.0-5b15506
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 +5 -22
- package/HalstackContext.d.ts +1243 -6
- package/HalstackContext.js +122 -106
- package/README.md +47 -0
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +41 -109
- package/accordion/Accordion.stories.tsx +53 -148
- package/accordion/Accordion.test.js +19 -34
- package/accordion/types.d.ts +6 -18
- package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
- package/accordion-group/AccordionGroup.d.ts +2 -2
- package/accordion-group/AccordionGroup.js +29 -77
- package/accordion-group/AccordionGroup.stories.tsx +78 -77
- package/accordion-group/AccordionGroup.test.js +44 -72
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/accordion-group/types.d.ts +7 -19
- 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 +31 -124
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +29 -46
- 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/Bleed.stories.tsx +1 -0
- package/bleed/types.d.ts +2 -2
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.d.ts +1 -1
- package/box/Box.js +18 -59
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +2 -7
- package/box/types.d.ts +3 -15
- package/bulleted-list/BulletedList.accessibility.test.js +107 -0
- package/bulleted-list/BulletedList.js +22 -53
- package/bulleted-list/BulletedList.stories.tsx +8 -93
- package/bulleted-list/types.d.ts +32 -5
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +70 -103
- package/button/Button.stories.tsx +105 -114
- package/button/Button.test.js +20 -17
- package/button/types.d.ts +9 -5
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.d.ts +1 -1
- package/card/Card.js +48 -89
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +11 -22
- package/card/types.d.ts +6 -12
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.js +87 -122
- package/checkbox/Checkbox.stories.tsx +68 -54
- package/checkbox/Checkbox.test.js +108 -64
- package/checkbox/types.d.ts +8 -4
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +42 -67
- package/chip/Chip.stories.tsx +73 -29
- package/chip/Chip.test.js +18 -33
- package/chip/types.d.ts +4 -4
- package/common/coreTokens.d.ts +237 -0
- package/common/coreTokens.js +184 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +6 -12
- package/common/variables.d.ts +1395 -0
- package/common/variables.js +899 -1144
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
- package/contextual-menu/ContextualMenu.d.ts +7 -0
- package/contextual-menu/ContextualMenu.js +71 -0
- package/contextual-menu/ContextualMenu.stories.tsx +182 -0
- package/contextual-menu/ContextualMenu.test.js +71 -0
- package/contextual-menu/MenuItemAction.d.ts +4 -0
- package/contextual-menu/MenuItemAction.js +46 -0
- package/contextual-menu/types.d.ts +22 -0
- package/date-input/Calendar.d.ts +1 -1
- package/date-input/Calendar.js +52 -96
- package/date-input/DateInput.accessibility.test.js +216 -0
- package/date-input/DateInput.js +102 -107
- package/date-input/DateInput.stories.tsx +194 -60
- package/date-input/DateInput.test.js +676 -620
- package/date-input/DatePicker.js +53 -92
- package/date-input/YearPicker.d.ts +1 -1
- package/date-input/YearPicker.js +29 -44
- package/date-input/types.d.ts +32 -28
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +61 -119
- package/dialog/Dialog.stories.tsx +310 -212
- package/dialog/Dialog.test.js +270 -33
- package/dialog/types.d.ts +18 -26
- 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 +61 -131
- package/dropdown/Dropdown.stories.tsx +205 -98
- package/dropdown/Dropdown.test.js +393 -379
- package/dropdown/DropdownMenu.js +20 -37
- package/dropdown/DropdownMenuItem.js +15 -37
- package/dropdown/types.d.ts +20 -24
- package/file-input/FileInput.accessibility.test.js +160 -0
- package/file-input/FileInput.js +184 -292
- package/file-input/FileInput.stories.tsx +86 -3
- package/file-input/FileInput.test.js +279 -395
- package/file-input/FileItem.js +27 -67
- package/file-input/types.d.ts +10 -10
- package/flex/Flex.js +27 -39
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +74 -9
- package/footer/Footer.accessibility.test.js +117 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +73 -118
- package/footer/Footer.stories.tsx +82 -23
- package/footer/Footer.test.js +33 -57
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +66 -7
- package/footer/types.d.ts +26 -28
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +76 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/grid/types.js +5 -0
- package/header/Header.accessibility.test.js +84 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +53 -149
- package/header/Header.stories.tsx +115 -36
- package/header/Header.test.js +13 -26
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +2 -7
- package/header/types.d.ts +7 -22
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +10 -32
- package/heading/Heading.test.js +71 -88
- 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/Inset.stories.tsx +2 -1
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +5 -5
- package/layout/ApplicationLayout.js +30 -67
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +8 -5
- package/layout/Icons.js +49 -59
- package/layout/types.d.ts +5 -6
- package/link/Link.accessibility.test.js +112 -0
- package/link/Link.js +31 -50
- package/link/Link.stories.tsx +62 -2
- package/link/Link.test.js +24 -44
- package/link/types.d.ts +14 -14
- package/main.d.ts +10 -5
- package/main.js +47 -59
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.d.ts +7 -0
- package/{tabs-nav → nav-tabs}/NavTabs.js +25 -57
- package/nav-tabs/NavTabs.stories.tsx +279 -0
- package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -46
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +117 -0
- package/{tabs-nav → nav-tabs}/types.d.ts +15 -16
- package/nav-tabs/types.js +5 -0
- 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 +860 -413
- 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 +41 -39
- package/paginator/Icons.d.ts +5 -5
- package/paginator/Icons.js +5 -19
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +17 -47
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +252 -225
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/paragraph/Paragraph.d.ts +3 -4
- package/paragraph/Paragraph.js +6 -22
- package/paragraph/Paragraph.stories.tsx +0 -17
- package/password-input/PasswordInput.accessibility.test.js +153 -0
- package/password-input/PasswordInput.js +56 -126
- package/password-input/PasswordInput.stories.tsx +1 -33
- package/password-input/PasswordInput.test.js +158 -141
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +23 -55
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
- package/progress-bar/ProgressBar.test.js +36 -53
- package/progress-bar/types.d.ts +4 -3
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/quick-nav/QuickNav.js +4 -27
- package/quick-nav/QuickNav.stories.tsx +15 -1
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +31 -63
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +45 -93
- package/radio-group/RadioGroup.stories.tsx +131 -18
- package/radio-group/RadioGroup.test.js +505 -471
- 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 +274 -0
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.js +46 -71
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +106 -5
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +165 -114
- package/{resultsetTable → resultset-table}/types.d.ts +44 -11
- package/resultset-table/types.js +5 -0
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +22 -75
- package/select/Option.js +28 -48
- package/select/Select.accessibility.test.js +217 -0
- package/select/Select.js +134 -181
- package/select/Select.stories.tsx +488 -264
- package/select/Select.test.js +1950 -1907
- package/select/types.d.ts +17 -18
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.d.ts +2 -2
- package/sidenav/Sidenav.js +90 -155
- package/sidenav/Sidenav.stories.tsx +113 -25
- 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 +33 -30
- package/slider/Slider.accessibility.test.js +104 -0
- package/slider/Slider.js +70 -128
- package/slider/Slider.test.js +108 -104
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.js +29 -73
- package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
- package/spinner/Spinner.test.js +26 -35
- 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 +89 -0
- package/switch/Switch.js +51 -99
- package/switch/Switch.stories.tsx +33 -34
- package/switch/Switch.test.js +52 -97
- package/switch/types.d.ts +4 -4
- package/table/DropdownTheme.js +62 -0
- package/table/Table.accessibility.test.js +82 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +78 -35
- package/table/Table.stories.tsx +651 -0
- package/table/Table.test.js +94 -7
- package/table/types.d.ts +34 -6
- package/tabs/Tab.js +27 -43
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +69 -163
- package/tabs/Tabs.stories.tsx +40 -4
- package/tabs/Tabs.test.js +61 -136
- package/tabs/types.d.ts +21 -21
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +34 -66
- package/tag/Tag.stories.tsx +18 -8
- package/tag/Tag.test.js +18 -37
- package/tag/types.d.ts +9 -9
- package/text-input/Suggestion.js +11 -28
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +19 -67
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.js +223 -329
- package/text-input/TextInput.stories.tsx +118 -153
- package/text-input/TextInput.test.js +1228 -1196
- package/text-input/types.d.ts +25 -17
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +70 -113
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +152 -183
- package/textarea/types.d.ts +9 -5
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +94 -107
- package/toggle-group/ToggleGroup.stories.tsx +52 -7
- package/toggle-group/ToggleGroup.test.js +69 -88
- package/toggle-group/types.d.ts +28 -19
- package/typography/Typography.accessibility.test.js +339 -0
- package/typography/Typography.d.ts +2 -2
- package/typography/Typography.js +15 -123
- package/typography/Typography.stories.tsx +1 -1
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +1147 -1
- package/useTheme.js +2 -9
- package/useTranslatedLabels.d.ts +84 -1
- package/useTranslatedLabels.js +1 -7
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +94 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +124 -0
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/wizard/Wizard.js +29 -67
- package/wizard/Wizard.stories.tsx +39 -0
- package/wizard/Wizard.test.js +54 -81
- package/wizard/types.d.ts +10 -11
- package/card/ice-cream.jpg +0 -0
- package/common/OpenSans.css +0 -81
- package/common/fonts/OpenSans-Bold.ttf +0 -0
- package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-Italic.ttf +0 -0
- package/common/fonts/OpenSans-Light.ttf +0 -0
- package/common/fonts/OpenSans-LightItalic.ttf +0 -0
- package/common/fonts/OpenSans-Regular.ttf +0 -0
- package/common/fonts/OpenSans-SemiBold.ttf +0 -0
- package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/resultsetTable/Icons.d.ts +0 -7
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/select/Icons.d.ts +0 -10
- package/select/Icons.js +0 -93
- package/slider/Slider.stories.tsx +0 -183
- package/table/Table.stories.jsx +0 -277
- package/tabs-nav/NavTabs.d.ts +0 -8
- package/tabs-nav/NavTabs.stories.tsx +0 -172
- package/tabs-nav/Tab.js +0 -128
- package/text-input/Icons.d.ts +0 -8
- package/text-input/Icons.js +0 -60
- package/textarea/Textarea.stories.jsx +0 -157
- /package/{resultsetTable → action-icon}/types.js +0 -0
- /package/{tabs-nav → container}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → contextual-menu/types.js} +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
|
@@ -0,0 +1,216 @@
|
|
|
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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
7
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _react2 = require("@testing-library/react");
|
|
10
|
+
var _jestAxe = require("jest-axe");
|
|
11
|
+
var _DateInput = _interopRequireDefault(require("./DateInput.tsx"));
|
|
12
|
+
// Mocking DOMRect for Radix Primitive Popover
|
|
13
|
+
global.globalThis = global;
|
|
14
|
+
global.DOMRect = {
|
|
15
|
+
fromRect: function fromRect() {
|
|
16
|
+
return {
|
|
17
|
+
top: 0,
|
|
18
|
+
left: 0,
|
|
19
|
+
bottom: 0,
|
|
20
|
+
right: 0,
|
|
21
|
+
width: 0,
|
|
22
|
+
height: 0
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
global.ResizeObserver = /*#__PURE__*/function () {
|
|
27
|
+
function ResizeObserver() {
|
|
28
|
+
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
29
|
+
}
|
|
30
|
+
(0, _createClass2["default"])(ResizeObserver, [{
|
|
31
|
+
key: "observe",
|
|
32
|
+
value: function observe() {}
|
|
33
|
+
}, {
|
|
34
|
+
key: "unobserve",
|
|
35
|
+
value: function unobserve() {}
|
|
36
|
+
}, {
|
|
37
|
+
key: "disconnect",
|
|
38
|
+
value: function disconnect() {}
|
|
39
|
+
}]);
|
|
40
|
+
return ResizeObserver;
|
|
41
|
+
}();
|
|
42
|
+
describe("DateInput component accessibility tests", function () {
|
|
43
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
44
|
+
var _render, baseElement, results;
|
|
45
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
46
|
+
while (1) switch (_context.prev = _context.next) {
|
|
47
|
+
case 0:
|
|
48
|
+
// baseElement is needed when using React Portals
|
|
49
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
50
|
+
label: "Example label",
|
|
51
|
+
helperText: "Help message",
|
|
52
|
+
defaultValue: "06-04-2007",
|
|
53
|
+
format: "dd/mm/yy",
|
|
54
|
+
name: "DateInput Name",
|
|
55
|
+
margin: "medium",
|
|
56
|
+
size: "medium",
|
|
57
|
+
placeholder: true,
|
|
58
|
+
clearable: true
|
|
59
|
+
})), baseElement = _render.baseElement;
|
|
60
|
+
_context.next = 3;
|
|
61
|
+
return (0, _jestAxe.axe)(baseElement);
|
|
62
|
+
case 3:
|
|
63
|
+
results = _context.sent;
|
|
64
|
+
expect(results).toHaveNoViolations();
|
|
65
|
+
case 5:
|
|
66
|
+
case "end":
|
|
67
|
+
return _context.stop();
|
|
68
|
+
}
|
|
69
|
+
}, _callee);
|
|
70
|
+
})));
|
|
71
|
+
it("Should not have basic accessibility issues for autocomplete mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
72
|
+
var _render2, baseElement, results;
|
|
73
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
74
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
75
|
+
case 0:
|
|
76
|
+
// baseElement is needed when using React Portals
|
|
77
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
78
|
+
label: "Example label",
|
|
79
|
+
helperText: "Help message",
|
|
80
|
+
defaultValue: "06-04-2007",
|
|
81
|
+
format: "dd/mm/yy",
|
|
82
|
+
name: "DateInput Name",
|
|
83
|
+
margin: "medium",
|
|
84
|
+
size: "medium",
|
|
85
|
+
placeholder: true,
|
|
86
|
+
autocomplete: "on"
|
|
87
|
+
})), baseElement = _render2.baseElement;
|
|
88
|
+
_context2.next = 3;
|
|
89
|
+
return (0, _jestAxe.axe)(baseElement);
|
|
90
|
+
case 3:
|
|
91
|
+
results = _context2.sent;
|
|
92
|
+
expect(results).toHaveNoViolations();
|
|
93
|
+
case 5:
|
|
94
|
+
case "end":
|
|
95
|
+
return _context2.stop();
|
|
96
|
+
}
|
|
97
|
+
}, _callee2);
|
|
98
|
+
})));
|
|
99
|
+
it("Should not have basic accessibility issues for optional mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
100
|
+
var _render3, baseElement, results;
|
|
101
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
102
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
103
|
+
case 0:
|
|
104
|
+
// baseElement is needed when using React Portals
|
|
105
|
+
_render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
106
|
+
label: "Example label",
|
|
107
|
+
helperText: "Help message",
|
|
108
|
+
defaultValue: "06-04-2007",
|
|
109
|
+
format: "dd/mm/yy",
|
|
110
|
+
name: "DateInput Name",
|
|
111
|
+
margin: "medium",
|
|
112
|
+
size: "medium",
|
|
113
|
+
placeholder: true,
|
|
114
|
+
optional: true
|
|
115
|
+
})), baseElement = _render3.baseElement;
|
|
116
|
+
_context3.next = 3;
|
|
117
|
+
return (0, _jestAxe.axe)(baseElement);
|
|
118
|
+
case 3:
|
|
119
|
+
results = _context3.sent;
|
|
120
|
+
expect(results).toHaveNoViolations();
|
|
121
|
+
case 5:
|
|
122
|
+
case "end":
|
|
123
|
+
return _context3.stop();
|
|
124
|
+
}
|
|
125
|
+
}, _callee3);
|
|
126
|
+
})));
|
|
127
|
+
it("Should not have basic accessibility issues for error mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
128
|
+
var _render4, baseElement, results;
|
|
129
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
130
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
131
|
+
case 0:
|
|
132
|
+
// baseElement is needed when using React Portals
|
|
133
|
+
_render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
134
|
+
label: "Example label",
|
|
135
|
+
helperText: "Help message",
|
|
136
|
+
defaultValue: "06-04-2007",
|
|
137
|
+
format: "dd/mm/yy",
|
|
138
|
+
name: "DateInput Name",
|
|
139
|
+
margin: "medium",
|
|
140
|
+
error: "Error message.",
|
|
141
|
+
size: "medium",
|
|
142
|
+
placeholder: true,
|
|
143
|
+
clearable: true
|
|
144
|
+
})), baseElement = _render4.baseElement;
|
|
145
|
+
_context4.next = 3;
|
|
146
|
+
return (0, _jestAxe.axe)(baseElement);
|
|
147
|
+
case 3:
|
|
148
|
+
results = _context4.sent;
|
|
149
|
+
expect(results).toHaveNoViolations();
|
|
150
|
+
case 5:
|
|
151
|
+
case "end":
|
|
152
|
+
return _context4.stop();
|
|
153
|
+
}
|
|
154
|
+
}, _callee4);
|
|
155
|
+
})));
|
|
156
|
+
it("Should not have basic accessibility issues for read-only mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
|
157
|
+
var _render5, baseElement, results;
|
|
158
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
159
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
160
|
+
case 0:
|
|
161
|
+
// baseElement is needed when using React Portals
|
|
162
|
+
_render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
163
|
+
label: "Example label",
|
|
164
|
+
helperText: "Help message",
|
|
165
|
+
defaultValue: "06-04-2007",
|
|
166
|
+
format: "dd/mm/yy",
|
|
167
|
+
name: "DateInput Name",
|
|
168
|
+
margin: "medium",
|
|
169
|
+
error: "Error message.",
|
|
170
|
+
size: "medium",
|
|
171
|
+
placeholder: true,
|
|
172
|
+
clearable: true,
|
|
173
|
+
readOnly: true
|
|
174
|
+
})), baseElement = _render5.baseElement;
|
|
175
|
+
_context5.next = 3;
|
|
176
|
+
return (0, _jestAxe.axe)(baseElement);
|
|
177
|
+
case 3:
|
|
178
|
+
results = _context5.sent;
|
|
179
|
+
expect(results).toHaveNoViolations();
|
|
180
|
+
case 5:
|
|
181
|
+
case "end":
|
|
182
|
+
return _context5.stop();
|
|
183
|
+
}
|
|
184
|
+
}, _callee5);
|
|
185
|
+
})));
|
|
186
|
+
it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
|
|
187
|
+
var _render6, baseElement, results;
|
|
188
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
189
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
190
|
+
case 0:
|
|
191
|
+
// baseElement is needed when using React Portals
|
|
192
|
+
_render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
193
|
+
label: "Example label",
|
|
194
|
+
helperText: "Help message",
|
|
195
|
+
defaultValue: "06-04-2007",
|
|
196
|
+
format: "dd/mm/yy",
|
|
197
|
+
name: "DateInput Name",
|
|
198
|
+
margin: "medium",
|
|
199
|
+
error: "Error message.",
|
|
200
|
+
size: "medium",
|
|
201
|
+
placeholder: true,
|
|
202
|
+
clearable: true,
|
|
203
|
+
disabled: true
|
|
204
|
+
})), baseElement = _render6.baseElement;
|
|
205
|
+
_context6.next = 3;
|
|
206
|
+
return (0, _jestAxe.axe)(baseElement);
|
|
207
|
+
case 3:
|
|
208
|
+
results = _context6.sent;
|
|
209
|
+
expect(results).toHaveNoViolations();
|
|
210
|
+
case 5:
|
|
211
|
+
case "end":
|
|
212
|
+
return _context6.stop();
|
|
213
|
+
}
|
|
214
|
+
}, _callee6);
|
|
215
|
+
})));
|
|
216
|
+
});
|
package/date-input/DateInput.js
CHANGED
|
@@ -1,109 +1,99 @@
|
|
|
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
|
|
16
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
-
|
|
18
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
-
|
|
20
13
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
21
|
-
|
|
22
14
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
23
|
-
|
|
24
15
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
25
|
-
|
|
26
16
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
27
|
-
|
|
28
17
|
var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
|
|
29
|
-
|
|
30
18
|
var _DatePicker = _interopRequireDefault(require("./DatePicker"));
|
|
31
|
-
|
|
32
19
|
var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
|
|
33
|
-
|
|
34
20
|
var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
|
|
35
|
-
|
|
36
21
|
var _uuid = require("uuid");
|
|
37
|
-
|
|
38
22
|
var _templateObject;
|
|
39
|
-
|
|
40
|
-
function
|
|
41
|
-
|
|
42
|
-
function
|
|
43
|
-
|
|
44
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
45
|
-
|
|
46
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
47
|
-
|
|
23
|
+
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); }
|
|
24
|
+
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 && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
25
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
26
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
48
27
|
_dayjs["default"].extend(_customParseFormat["default"]);
|
|
49
|
-
|
|
50
|
-
var calendarIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
51
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
52
|
-
height: "24",
|
|
53
|
-
viewBox: "0 0 24 24",
|
|
54
|
-
width: "24",
|
|
55
|
-
fill: "currentColor"
|
|
56
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
57
|
-
d: "M0 0h24v24H0z",
|
|
58
|
-
fill: "none"
|
|
59
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
60
|
-
d: "M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V8h16v13z"
|
|
61
|
-
}));
|
|
62
|
-
|
|
63
28
|
var getValueForPicker = function getValueForPicker(value, format) {
|
|
64
29
|
return (0, _dayjs["default"])(value, format.toUpperCase(), true);
|
|
65
30
|
};
|
|
66
|
-
|
|
31
|
+
var getDate = function getDate(value, format, lastValidYear, setLastValidYear) {
|
|
32
|
+
if ((value || value === "") && format.toUpperCase().includes("YYYY")) return getValueForPicker(value, format);else {
|
|
33
|
+
var newDate = getValueForPicker(value, format);
|
|
34
|
+
if (!lastValidYear) {
|
|
35
|
+
if (+newDate.format("YY") < 68) {
|
|
36
|
+
setLastValidYear(2000 + +newDate.format("YY"));
|
|
37
|
+
newDate = newDate.set("year", 2000 + +newDate.format("YY"));
|
|
38
|
+
} else {
|
|
39
|
+
setLastValidYear(1900 + +newDate.format("YY"));
|
|
40
|
+
newDate = newDate.set("year", 1900 + +newDate.format("YY"));
|
|
41
|
+
}
|
|
42
|
+
} else {
|
|
43
|
+
newDate = newDate.set("year", (lastValidYear <= 1999 ? 1900 : 2000) + +newDate.format("YY"));
|
|
44
|
+
}
|
|
45
|
+
return newDate;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
67
48
|
var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
49
|
+
var _ref2;
|
|
68
50
|
var label = _ref.label,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
51
|
+
name = _ref.name,
|
|
52
|
+
_ref$defaultValue = _ref.defaultValue,
|
|
53
|
+
defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue,
|
|
54
|
+
value = _ref.value,
|
|
55
|
+
_ref$format = _ref.format,
|
|
56
|
+
format = _ref$format === void 0 ? "dd-MM-yyyy" : _ref$format,
|
|
57
|
+
helperText = _ref.helperText,
|
|
58
|
+
_ref$placeholder = _ref.placeholder,
|
|
59
|
+
placeholder = _ref$placeholder === void 0 ? false : _ref$placeholder,
|
|
60
|
+
clearable = _ref.clearable,
|
|
61
|
+
disabled = _ref.disabled,
|
|
62
|
+
readOnly = _ref.readOnly,
|
|
63
|
+
optional = _ref.optional,
|
|
64
|
+
onChange = _ref.onChange,
|
|
65
|
+
onBlur = _ref.onBlur,
|
|
66
|
+
error = _ref.error,
|
|
67
|
+
autocomplete = _ref.autocomplete,
|
|
68
|
+
margin = _ref.margin,
|
|
69
|
+
size = _ref.size,
|
|
70
|
+
tabIndex = _ref.tabIndex;
|
|
89
71
|
var _useState = (0, _react.useState)(defaultValue),
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
72
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
73
|
+
innerValue = _useState2[0],
|
|
74
|
+
setInnerValue = _useState2[1];
|
|
94
75
|
var _useState3 = (0, _react.useState)(false),
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
76
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
77
|
+
isOpen = _useState4[0],
|
|
78
|
+
setIsOpen = _useState4[1];
|
|
99
79
|
var _useState5 = (0, _react.useState)("date-picker-".concat((0, _uuid.v4)())),
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
80
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 1),
|
|
81
|
+
calendarId = _useState6[0];
|
|
82
|
+
var _useState7 = (0, _react.useState)(getValueForPicker((_ref2 = value !== null && value !== void 0 ? value : defaultValue) !== null && _ref2 !== void 0 ? _ref2 : "", format)),
|
|
83
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
84
|
+
dayjsDate = _useState8[0],
|
|
85
|
+
setDayjsDate = _useState8[1];
|
|
86
|
+
var _useState9 = (0, _react.useState)(innerValue || value ? !format.toUpperCase().includes("YYYY") && +getValueForPicker(value !== null && value !== void 0 ? value : innerValue, format).format("YY") < 68 ? 2000 : 1900 : undefined),
|
|
87
|
+
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
88
|
+
lastValidYear = _useState10[0],
|
|
89
|
+
setLastValidYear = _useState10[1];
|
|
103
90
|
var colorsTheme = (0, _useTheme["default"])();
|
|
104
91
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
105
92
|
var dateRef = (0, _react.useRef)(null);
|
|
106
|
-
(0, _react.
|
|
93
|
+
(0, _react.useEffect)(function () {
|
|
94
|
+
if (value || value === "") setDayjsDate(getDate(value, format, lastValidYear, setLastValidYear));
|
|
95
|
+
}, [value, format, lastValidYear]);
|
|
96
|
+
(0, _react.useEffect)(function () {
|
|
107
97
|
if (!disabled) {
|
|
108
98
|
var actionButtonRef = dateRef === null || dateRef === void 0 ? void 0 : dateRef.current.querySelector("[title='Open calendar']");
|
|
109
99
|
actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-haspopup", true);
|
|
@@ -113,69 +103,75 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
113
103
|
actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-describedby", calendarId);
|
|
114
104
|
}
|
|
115
105
|
}, [isOpen, disabled, calendarId]);
|
|
116
|
-
|
|
117
106
|
var handleCalendarOnClick = function handleCalendarOnClick(newDate) {
|
|
118
107
|
var newValue = newDate.format(format.toUpperCase());
|
|
119
|
-
|
|
108
|
+
if (!value) {
|
|
109
|
+
setDayjsDate(newDate);
|
|
110
|
+
setInnerValue(newValue);
|
|
111
|
+
}
|
|
112
|
+
setLastValidYear(newDate.get("year"));
|
|
120
113
|
newDate !== null && newDate !== void 0 && newDate.set("day", newDate.get("date")).toJSON() ? onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
121
114
|
value: newValue,
|
|
122
|
-
date: newDate
|
|
115
|
+
date: newDate.toDate()
|
|
123
116
|
}) : onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
124
117
|
value: newValue
|
|
125
118
|
});
|
|
126
119
|
};
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
inputError = _ref2.error;
|
|
120
|
+
var handleOnChange = function handleOnChange(_ref3) {
|
|
121
|
+
var newValue = _ref3.value,
|
|
122
|
+
inputError = _ref3.error;
|
|
131
123
|
value !== null && value !== void 0 ? value : setInnerValue(newValue);
|
|
132
|
-
var
|
|
133
|
-
var invalidDateMessage = newValue !== "" && !
|
|
124
|
+
var newDate = getDate(newValue, format, lastValidYear, setLastValidYear);
|
|
125
|
+
var invalidDateMessage = newValue !== "" && !newDate.isValid() && translatedLabels.dateInput.invalidDateErrorMessage;
|
|
134
126
|
var callbackParams = inputError || invalidDateMessage ? {
|
|
135
127
|
value: newValue,
|
|
136
128
|
error: inputError || invalidDateMessage
|
|
137
129
|
} : {
|
|
138
130
|
value: newValue
|
|
139
131
|
};
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
132
|
+
if (newDate.isValid()) {
|
|
133
|
+
setDayjsDate(newDate);
|
|
134
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(_objectSpread(_objectSpread({}, callbackParams), {}, {
|
|
135
|
+
date: newDate.toDate()
|
|
136
|
+
}));
|
|
137
|
+
} else {
|
|
138
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(callbackParams);
|
|
139
|
+
setLastValidYear(function (validYear) {
|
|
140
|
+
var _dayjsDate$get;
|
|
141
|
+
return (_dayjsDate$get = dayjsDate === null || dayjsDate === void 0 ? void 0 : dayjsDate.get("year")) !== null && _dayjsDate$get !== void 0 ? _dayjsDate$get : validYear;
|
|
142
|
+
});
|
|
143
|
+
setDayjsDate(null);
|
|
144
|
+
}
|
|
143
145
|
};
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
var
|
|
149
|
-
var invalidDateMessage = value !== "" && !dayjsDate.isValid() && translatedLabels.dateInput.invalidDateErrorMessage;
|
|
146
|
+
var handleOnBlur = function handleOnBlur(_ref4) {
|
|
147
|
+
var value = _ref4.value,
|
|
148
|
+
inputError = _ref4.error;
|
|
149
|
+
var date = getDate(value, format, lastValidYear, setLastValidYear);
|
|
150
|
+
var invalidDateMessage = value !== "" && !date.isValid() && translatedLabels.dateInput.invalidDateErrorMessage;
|
|
150
151
|
var callbackParams = inputError || invalidDateMessage ? {
|
|
151
152
|
value: value,
|
|
152
153
|
error: inputError || invalidDateMessage
|
|
153
154
|
} : {
|
|
154
155
|
value: value
|
|
155
156
|
};
|
|
156
|
-
|
|
157
|
-
date:
|
|
157
|
+
date.isValid() ? onBlur === null || onBlur === void 0 ? void 0 : onBlur(_objectSpread(_objectSpread({}, callbackParams), {}, {
|
|
158
|
+
date: date.toDate()
|
|
158
159
|
})) : onBlur === null || onBlur === void 0 ? void 0 : onBlur(callbackParams);
|
|
159
160
|
};
|
|
160
|
-
|
|
161
161
|
var openCalendar = function openCalendar() {
|
|
162
162
|
setIsOpen(!isOpen);
|
|
163
163
|
};
|
|
164
|
-
|
|
165
164
|
var closeCalendar = function closeCalendar() {
|
|
166
165
|
setIsOpen(false);
|
|
167
166
|
};
|
|
168
|
-
|
|
169
167
|
var handleDatePickerEscKeydown = function handleDatePickerEscKeydown(event) {
|
|
170
168
|
event.preventDefault();
|
|
171
169
|
closeCalendar();
|
|
172
170
|
dateRef === null || dateRef === void 0 ? void 0 : dateRef.current.getElementsByTagName("input")[0].focus();
|
|
173
171
|
};
|
|
174
|
-
|
|
175
172
|
var handleDatePickerOnBlur = function handleDatePickerOnBlur(event) {
|
|
176
173
|
if (!(event !== null && event !== void 0 && event.currentTarget.contains(event.relatedTarget))) closeCalendar();
|
|
177
174
|
};
|
|
178
|
-
|
|
179
175
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
180
176
|
theme: colorsTheme
|
|
181
177
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -194,21 +190,22 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
194
190
|
placeholder: placeholder ? format.toUpperCase() : null,
|
|
195
191
|
action: {
|
|
196
192
|
onClick: openCalendar,
|
|
197
|
-
icon:
|
|
193
|
+
icon: "filled_calendar_today",
|
|
198
194
|
title: "Open calendar"
|
|
199
195
|
},
|
|
200
196
|
clearable: clearable,
|
|
201
197
|
disabled: disabled,
|
|
198
|
+
readOnly: readOnly,
|
|
202
199
|
optional: optional,
|
|
203
|
-
onChange:
|
|
204
|
-
onBlur:
|
|
200
|
+
onChange: handleOnChange,
|
|
201
|
+
onBlur: handleOnBlur,
|
|
205
202
|
error: error,
|
|
206
203
|
autocomplete: autocomplete,
|
|
207
204
|
margin: margin,
|
|
208
205
|
size: size,
|
|
209
206
|
tabIndex: tabIndex,
|
|
210
207
|
ref: dateRef
|
|
211
|
-
})), /*#__PURE__*/_react["default"].createElement(
|
|
208
|
+
})), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(StyledPopoverContent, {
|
|
212
209
|
sideOffset: error ? -18 : 2,
|
|
213
210
|
align: "end",
|
|
214
211
|
"aria-modal": true,
|
|
@@ -218,10 +215,8 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
218
215
|
}, /*#__PURE__*/_react["default"].createElement(_DatePicker["default"], {
|
|
219
216
|
id: calendarId,
|
|
220
217
|
onDateSelect: handleCalendarOnClick,
|
|
221
|
-
date:
|
|
222
|
-
})))));
|
|
218
|
+
date: dayjsDate
|
|
219
|
+
}))))));
|
|
223
220
|
});
|
|
224
|
-
|
|
225
|
-
var
|
|
226
|
-
var _default = DxcDateInput;
|
|
227
|
-
exports["default"] = _default;
|
|
221
|
+
var StyledPopoverContent = (0, _styledComponents["default"])(Popover.Content)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 2147483647;\n &:focus-visible {\n outline: none;\n }\n"])));
|
|
222
|
+
var _default = exports["default"] = DxcDateInput;
|