@dxc-technology/halstack-react 0.0.0-4e1277a → 0.0.0-4e3dbad
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.js +1 -1
- package/HalstackContext.d.ts +42 -5
- package/HalstackContext.js +28 -18
- package/accordion/Accordion.accessibility.test.d.ts +1 -0
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.js +16 -30
- package/accordion/Accordion.stories.tsx +7 -49
- package/accordion/Accordion.test.d.ts +1 -0
- package/accordion/Accordion.test.js +3 -3
- package/accordion/types.d.ts +1 -1
- package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
- package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
- package/accordion-group/AccordionGroup.js +1 -1
- package/accordion-group/AccordionGroup.stories.tsx +23 -23
- package/accordion-group/AccordionGroup.test.d.ts +1 -0
- package/accordion-group/AccordionGroup.test.js +5 -9
- package/accordion-group/AccordionGroupAccordion.js +1 -1
- package/accordion-group/types.d.ts +1 -1
- package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
- package/action-icon/ActionIcon.accessibility.test.js +63 -0
- package/action-icon/ActionIcon.js +4 -3
- package/action-icon/ActionIcon.stories.tsx +3 -3
- package/action-icon/ActionIcon.test.d.ts +1 -0
- package/action-icon/ActionIcon.test.js +1 -1
- package/action-icon/types.d.ts +1 -1
- package/alert/Alert.accessibility.test.d.ts +1 -0
- package/alert/Alert.accessibility.test.js +95 -0
- package/alert/Alert.js +21 -72
- package/alert/Alert.test.d.ts +1 -0
- package/alert/Alert.test.js +1 -1
- package/badge/Badge.accessibility.test.d.ts +1 -0
- package/badge/Badge.accessibility.test.js +129 -0
- package/badge/Badge.js +6 -4
- package/badge/Badge.stories.tsx +11 -11
- package/badge/Badge.test.d.ts +1 -0
- package/badge/Badge.test.js +2 -2
- package/badge/types.d.ts +1 -1
- package/bar-chart/BarChart.d.ts +4 -0
- package/bar-chart/BarChart.js +152 -0
- package/bar-chart/BarChart.stories.tsx +281 -0
- package/bar-chart/BarChart.test.d.ts +1 -0
- package/bar-chart/BarChart.test.js +194 -0
- package/bar-chart/theme.d.ts +3 -0
- package/bar-chart/theme.js +31 -0
- package/bar-chart/types.d.ts +118 -0
- package/bar-chart/types.js +5 -0
- package/bleed/Bleed.stories.tsx +0 -1
- package/box/Box.accessibility.test.d.ts +1 -0
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.js +1 -1
- package/box/Box.test.d.ts +1 -0
- package/box/Box.test.js +1 -1
- 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 +168 -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 +40 -0
- package/breadcrumbs/types.js +5 -0
- package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
- package/bulleted-list/BulletedList.accessibility.test.js +119 -0
- package/bulleted-list/BulletedList.js +7 -4
- package/bulleted-list/BulletedList.stories.tsx +1 -1
- package/button/Button.accessibility.test.d.ts +1 -0
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.js +2 -2
- package/button/Button.stories.tsx +3 -4
- package/button/Button.test.d.ts +1 -0
- package/button/Button.test.js +1 -1
- package/card/Card.accessibility.test.d.ts +1 -0
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.js +3 -2
- package/card/Card.stories.tsx +1 -1
- package/card/Card.test.d.ts +1 -0
- package/card/Card.test.js +1 -1
- package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.js +10 -13
- package/checkbox/Checkbox.test.d.ts +1 -0
- package/checkbox/Checkbox.test.js +1 -1
- package/chip/Chip.accessibility.test.d.ts +1 -0
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +11 -6
- package/chip/Chip.stories.tsx +6 -25
- package/chip/Chip.test.d.ts +1 -0
- package/chip/Chip.test.js +5 -5
- package/common/coreTokens.d.ts +0 -1
- package/common/coreTokens.js +3 -4
- package/common/variables.d.ts +48 -5
- package/common/variables.js +110 -73
- package/container/Container.stories.tsx +3 -3
- package/container/types.d.ts +113 -11
- package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
- package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
- package/contextual-menu/ContextualMenu.d.ts +3 -5
- package/contextual-menu/ContextualMenu.js +118 -53
- package/contextual-menu/ContextualMenu.stories.tsx +124 -75
- package/contextual-menu/ContextualMenu.test.d.ts +1 -0
- package/contextual-menu/ContextualMenu.test.js +200 -24
- 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 +88 -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 +54 -11
- package/date-input/Calendar.js +47 -31
- package/date-input/DateInput.accessibility.test.d.ts +1 -0
- package/date-input/DateInput.accessibility.test.js +229 -0
- package/date-input/DateInput.js +28 -23
- package/date-input/DateInput.stories.tsx +18 -12
- package/date-input/DateInput.test.d.ts +1 -0
- package/date-input/DateInput.test.js +39 -39
- package/date-input/DatePicker.js +13 -7
- package/date-input/YearPicker.js +10 -5
- package/dialog/Dialog.accessibility.test.d.ts +1 -0
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.js +9 -20
- package/dialog/Dialog.stories.tsx +8 -4
- package/dialog/Dialog.test.d.ts +1 -0
- package/dialog/Dialog.test.js +112 -49
- package/divider/Divider.accessibility.test.d.ts +1 -0
- package/divider/Divider.accessibility.test.js +33 -0
- package/divider/Divider.stories.tsx +2 -1
- package/divider/Divider.test.d.ts +1 -0
- package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
- package/dropdown/Dropdown.accessibility.test.js +183 -0
- package/dropdown/Dropdown.js +31 -66
- package/dropdown/Dropdown.stories.tsx +16 -27
- package/dropdown/Dropdown.test.d.ts +1 -0
- package/dropdown/Dropdown.test.js +101 -72
- package/dropdown/DropdownMenu.js +4 -4
- package/dropdown/DropdownMenuItem.js +8 -4
- package/dropdown/types.d.ts +2 -4
- package/file-input/FileInput.accessibility.test.d.ts +1 -0
- package/file-input/FileInput.accessibility.test.js +167 -0
- package/file-input/FileInput.js +6 -47
- package/file-input/FileInput.test.d.ts +1 -0
- package/file-input/FileInput.test.js +51 -106
- package/file-input/FileItem.js +18 -28
- package/file-input/types.d.ts +0 -4
- package/footer/Footer.accessibility.test.d.ts +1 -0
- package/footer/Footer.accessibility.test.js +125 -0
- package/footer/Footer.js +8 -6
- package/footer/Footer.stories.tsx +40 -3
- package/footer/Footer.test.d.ts +1 -0
- package/footer/Footer.test.js +1 -1
- package/footer/Icons.js +2 -30
- package/footer/types.d.ts +1 -1
- package/grid/Grid.stories.tsx +3 -1
- package/header/Header.accessibility.test.d.ts +1 -0
- package/header/Header.accessibility.test.js +94 -0
- package/header/Header.js +12 -22
- package/header/Header.stories.tsx +17 -1
- package/header/Header.test.d.ts +1 -0
- package/header/Header.test.js +1 -1
- package/header/Icons.js +1 -6
- package/heading/Heading.accessibility.test.d.ts +1 -0
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.d.ts +1 -0
- package/heading/Heading.test.js +1 -14
- package/icon/Icon.accessibility.test.d.ts +1 -0
- package/icon/Icon.accessibility.test.js +30 -0
- package/icon/Icon.js +1 -1
- package/icon/Icon.stories.tsx +6 -4
- package/image/Image.accessibility.test.d.ts +1 -0
- package/image/Image.accessibility.test.js +56 -0
- package/image/Image.js +1 -1
- package/layout/ApplicationLayout.js +9 -6
- package/layout/Icons.d.ts +0 -1
- package/layout/Icons.js +1 -11
- package/link/Link.accessibility.test.d.ts +1 -0
- package/link/Link.accessibility.test.js +108 -0
- package/link/Link.js +8 -6
- package/link/Link.stories.tsx +4 -4
- package/link/Link.test.d.ts +1 -0
- package/link/Link.test.js +1 -1
- package/link/types.d.ts +1 -1
- package/main.d.ts +3 -1
- package/main.js +15 -1
- package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.js +19 -4
- package/nav-tabs/NavTabs.stories.tsx +41 -23
- package/nav-tabs/NavTabs.test.d.ts +1 -0
- package/nav-tabs/NavTabs.test.js +10 -9
- package/nav-tabs/Tab.js +17 -18
- package/nav-tabs/types.d.ts +1 -1
- package/number-input/NumberInput.accessibility.test.d.ts +1 -0
- package/number-input/NumberInput.accessibility.test.js +227 -0
- package/number-input/NumberInput.js +6 -3
- package/number-input/NumberInput.stories.tsx +11 -16
- package/number-input/NumberInput.test.d.ts +1 -0
- package/number-input/NumberInput.test.js +6 -7
- package/package.json +34 -28
- package/paginator/Paginator.accessibility.test.d.ts +1 -0
- package/paginator/Paginator.accessibility.test.js +78 -0
- package/paginator/Paginator.js +13 -10
- package/paginator/Paginator.test.d.ts +1 -0
- package/paginator/Paginator.test.js +2 -3
- package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
- package/password-input/PasswordInput.accessibility.test.js +152 -0
- package/password-input/PasswordInput.js +11 -8
- package/password-input/PasswordInput.stories.tsx +10 -1
- package/password-input/PasswordInput.test.d.ts +1 -0
- package/password-input/PasswordInput.test.js +6 -7
- package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +6 -4
- package/progress-bar/ProgressBar.test.d.ts +1 -0
- package/progress-bar/ProgressBar.test.js +1 -1
- package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/quick-nav/QuickNav.js +1 -1
- package/radio-group/Radio.js +6 -9
- package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +14 -16
- package/radio-group/RadioGroup.test.d.ts +1 -0
- package/radio-group/RadioGroup.test.js +3 -5
- package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
- package/resultset-table/ResultsetTable.accessibility.test.js +284 -0
- package/resultset-table/ResultsetTable.d.ts +1 -1
- package/resultset-table/ResultsetTable.js +47 -15
- package/resultset-table/ResultsetTable.stories.tsx +19 -3
- package/resultset-table/ResultsetTable.test.d.ts +1 -0
- package/resultset-table/ResultsetTable.test.js +111 -32
- package/resultset-table/types.d.ts +41 -13
- package/select/Listbox.d.ts +3 -3
- package/select/Listbox.js +33 -29
- package/select/Option.d.ts +3 -3
- package/select/Option.js +21 -15
- package/select/Select.accessibility.test.d.ts +1 -0
- package/select/Select.accessibility.test.js +227 -0
- package/select/Select.js +85 -192
- package/select/Select.stories.tsx +74 -117
- package/select/Select.test.d.ts +1 -0
- package/select/Select.test.js +348 -550
- package/select/selectUtils.d.ts +41 -0
- package/select/selectUtils.js +129 -0
- package/select/types.d.ts +1 -1
- package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.js +16 -12
- package/sidenav/Sidenav.stories.tsx +5 -10
- package/sidenav/Sidenav.test.d.ts +1 -0
- package/sidenav/Sidenav.test.js +1 -1
- package/sidenav/types.d.ts +2 -2
- package/slider/Slider.accessibility.test.d.ts +1 -0
- package/slider/Slider.accessibility.test.js +103 -0
- package/slider/Slider.js +11 -13
- package/slider/Slider.stories.tsx +180 -0
- package/slider/Slider.test.d.ts +1 -0
- package/slider/Slider.test.js +13 -11
- package/spinner/Spinner.accessibility.test.d.ts +1 -0
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.d.ts +1 -1
- package/spinner/Spinner.js +32 -47
- package/spinner/Spinner.test.d.ts +1 -0
- package/spinner/Spinner.test.js +1 -1
- package/status-light/StatusLight.accessibility.test.d.ts +1 -0
- package/status-light/StatusLight.accessibility.test.js +157 -0
- package/status-light/StatusLight.test.d.ts +1 -0
- package/status-light/StatusLight.test.js +1 -1
- package/switch/Switch.accessibility.test.d.ts +1 -0
- package/switch/Switch.accessibility.test.js +98 -0
- package/switch/Switch.js +6 -9
- package/switch/Switch.stories.tsx +12 -0
- package/switch/Switch.test.d.ts +1 -0
- package/switch/Switch.test.js +1 -1
- package/table/Table.accessibility.test.d.ts +1 -0
- package/table/Table.accessibility.test.js +92 -0
- package/table/Table.js +2 -11
- package/table/Table.stories.tsx +15 -10
- package/table/Table.test.d.ts +1 -0
- package/table/Table.test.js +2 -4
- package/table/types.d.ts +1 -15
- package/tabs/Tab.js +6 -5
- package/tabs/Tabs.accessibility.test.d.ts +1 -0
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +9 -20
- package/tabs/Tabs.stories.tsx +7 -3
- package/tabs/Tabs.test.d.ts +1 -0
- package/tabs/Tabs.test.js +20 -38
- package/tabs/types.d.ts +2 -2
- package/tag/Tag.accessibility.test.d.ts +1 -0
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +7 -7
- package/tag/Tag.stories.tsx +5 -8
- package/tag/Tag.test.d.ts +1 -0
- package/tag/Tag.test.js +5 -13
- package/tag/types.d.ts +2 -2
- package/text-input/Suggestion.js +1 -1
- package/text-input/Suggestions.js +17 -7
- package/text-input/TextInput.accessibility.test.d.ts +1 -0
- package/text-input/TextInput.accessibility.test.js +320 -0
- package/text-input/TextInput.js +56 -73
- package/text-input/TextInput.stories.tsx +20 -8
- package/text-input/TextInput.test.d.ts +1 -0
- package/text-input/TextInput.test.js +2 -3
- package/textarea/Textarea.accessibility.test.d.ts +1 -0
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +14 -13
- package/textarea/Textarea.test.d.ts +1 -0
- package/textarea/Textarea.test.js +1 -1
- package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.js +10 -12
- package/toggle-group/ToggleGroup.stories.tsx +4 -4
- package/toggle-group/ToggleGroup.test.d.ts +1 -0
- package/toggle-group/ToggleGroup.test.js +1 -1
- package/toggle-group/types.d.ts +2 -2
- package/tooltip/Tooltip.accessibility.test.d.ts +1 -0
- package/tooltip/Tooltip.accessibility.test.js +144 -0
- package/tooltip/Tooltip.d.ts +4 -0
- package/tooltip/Tooltip.js +50 -0
- package/tooltip/Tooltip.stories.tsx +111 -0
- package/tooltip/Tooltip.test.d.ts +1 -0
- package/tooltip/Tooltip.test.js +112 -0
- package/tooltip/types.d.ts +16 -0
- package/tooltip/types.js +5 -0
- package/typography/Typography.accessibility.test.d.ts +1 -0
- package/typography/Typography.accessibility.test.js +339 -0
- package/typography/Typography.stories.tsx +1 -3
- package/typography/Typography.test.js +23 -0
- package/useTheme.d.ts +31 -5
- package/useTranslatedLabels.d.ts +11 -0
- package/utils/BaseTypography.js +45 -41
- package/utils/FocusLock.js +3 -2
- package/utils/useWidth.d.ts +2 -0
- package/utils/useWidth.js +30 -0
- package/wizard/Wizard.accessibility.test.d.ts +1 -0
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/wizard/Wizard.js +14 -25
- package/wizard/Wizard.stories.tsx +20 -1
- package/wizard/Wizard.test.d.ts +1 -0
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +1 -1
- package/contextual-menu/MenuItemAction.d.ts +0 -4
- package/contextual-menu/MenuItemAction.js +0 -46
- package/date-input/Icons.d.ts +0 -6
- package/date-input/Icons.js +0 -58
- package/paginator/Icons.d.ts +0 -5
- package/paginator/Icons.js +0 -40
- package/password-input/Icons.d.ts +0 -6
- package/password-input/Icons.js +0 -35
- package/select/Icons.d.ts +0 -10
- package/select/Icons.js +0 -89
- package/sidenav/Icons.d.ts +0 -7
- package/sidenav/Icons.js +0 -47
- package/text-input/Icons.d.ts +0 -8
- package/text-input/Icons.js +0 -56
package/date-input/DateInput.js
CHANGED
|
@@ -18,11 +18,9 @@ var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
|
|
|
18
18
|
var _DatePicker = _interopRequireDefault(require("./DatePicker"));
|
|
19
19
|
var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
|
|
20
20
|
var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
|
|
21
|
-
var
|
|
22
|
-
var _Icons = require("./Icons");
|
|
23
|
-
var _templateObject;
|
|
21
|
+
var _templateObject, _templateObject2;
|
|
24
22
|
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); }
|
|
25
|
-
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 &&
|
|
23
|
+
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; }
|
|
26
24
|
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; }
|
|
27
25
|
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; }
|
|
28
26
|
_dayjs["default"].extend(_customParseFormat["default"]);
|
|
@@ -77,17 +75,15 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
77
75
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
78
76
|
isOpen = _useState4[0],
|
|
79
77
|
setIsOpen = _useState4[1];
|
|
80
|
-
var
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
78
|
+
var calendarId = "date-picker-".concat((0, _react.useId)());
|
|
79
|
+
var _useState5 = (0, _react.useState)(getValueForPicker((_ref2 = value !== null && value !== void 0 ? value : defaultValue) !== null && _ref2 !== void 0 ? _ref2 : "", format)),
|
|
80
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
81
|
+
dayjsDate = _useState6[0],
|
|
82
|
+
setDayjsDate = _useState6[1];
|
|
83
|
+
var _useState7 = (0, _react.useState)(innerValue || value ? !format.toUpperCase().includes("YYYY") && +getValueForPicker(value !== null && value !== void 0 ? value : innerValue, format).format("YY") < 68 ? 2000 : 1900 : undefined),
|
|
84
84
|
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
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),
|
|
88
|
-
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
89
|
-
lastValidYear = _useState10[0],
|
|
90
|
-
setLastValidYear = _useState10[1];
|
|
85
|
+
lastValidYear = _useState8[0],
|
|
86
|
+
setLastValidYear = _useState8[1];
|
|
91
87
|
var colorsTheme = (0, _useTheme["default"])();
|
|
92
88
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
93
89
|
var dateRef = (0, _react.useRef)(null);
|
|
@@ -96,12 +92,14 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
96
92
|
}, [value, format, lastValidYear]);
|
|
97
93
|
(0, _react.useEffect)(function () {
|
|
98
94
|
if (!disabled) {
|
|
99
|
-
var actionButtonRef = dateRef === null || dateRef === void 0 ? void 0 : dateRef.current.querySelector("[title='
|
|
95
|
+
var actionButtonRef = dateRef === null || dateRef === void 0 ? void 0 : dateRef.current.querySelector("[title='Select date']");
|
|
100
96
|
actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-haspopup", true);
|
|
101
97
|
actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("role", "combobox");
|
|
102
98
|
actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-expanded", isOpen);
|
|
103
99
|
actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-controls", calendarId);
|
|
104
|
-
|
|
100
|
+
if (isOpen) {
|
|
101
|
+
actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-describedby", calendarId);
|
|
102
|
+
}
|
|
105
103
|
}
|
|
106
104
|
}, [isOpen, disabled, calendarId]);
|
|
107
105
|
var handleCalendarOnClick = function handleCalendarOnClick(newDate) {
|
|
@@ -166,16 +164,20 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
166
164
|
setIsOpen(false);
|
|
167
165
|
};
|
|
168
166
|
var handleDatePickerEscKeydown = function handleDatePickerEscKeydown(event) {
|
|
169
|
-
event.
|
|
170
|
-
|
|
171
|
-
|
|
167
|
+
if (event.key === "Escape") {
|
|
168
|
+
event.preventDefault();
|
|
169
|
+
isOpen && event.stopPropagation();
|
|
170
|
+
closeCalendar();
|
|
171
|
+
dateRef === null || dateRef === void 0 ? void 0 : dateRef.current.getElementsByTagName("input")[0].focus();
|
|
172
|
+
}
|
|
172
173
|
};
|
|
173
174
|
var handleDatePickerOnBlur = function handleDatePickerOnBlur(event) {
|
|
174
175
|
if (!(event !== null && event !== void 0 && event.currentTarget.contains(event.relatedTarget))) closeCalendar();
|
|
175
176
|
};
|
|
176
177
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
177
178
|
theme: colorsTheme
|
|
178
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
179
|
+
}, /*#__PURE__*/_react["default"].createElement(DateInputContainer, {
|
|
180
|
+
size: size,
|
|
179
181
|
ref: ref
|
|
180
182
|
}, /*#__PURE__*/_react["default"].createElement(Popover.Root, {
|
|
181
183
|
open: isOpen
|
|
@@ -191,8 +193,8 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
191
193
|
placeholder: placeholder ? format.toUpperCase() : null,
|
|
192
194
|
action: {
|
|
193
195
|
onClick: openCalendar,
|
|
194
|
-
icon:
|
|
195
|
-
title: "
|
|
196
|
+
icon: "filled_calendar_today",
|
|
197
|
+
title: "Select date"
|
|
196
198
|
},
|
|
197
199
|
clearable: clearable,
|
|
198
200
|
disabled: disabled,
|
|
@@ -211,7 +213,7 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
211
213
|
align: "end",
|
|
212
214
|
"aria-modal": true,
|
|
213
215
|
onBlur: handleDatePickerOnBlur,
|
|
214
|
-
|
|
216
|
+
onKeyDown: handleDatePickerEscKeydown,
|
|
215
217
|
avoidCollisions: false
|
|
216
218
|
}, /*#__PURE__*/_react["default"].createElement(_DatePicker["default"], {
|
|
217
219
|
id: calendarId,
|
|
@@ -220,4 +222,7 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
220
222
|
}))))));
|
|
221
223
|
});
|
|
222
224
|
var StyledPopoverContent = (0, _styledComponents["default"])(Popover.Content)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 2147483647;\n &:focus-visible {\n outline: none;\n }\n"])));
|
|
225
|
+
var DateInputContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n"])), function (props) {
|
|
226
|
+
return props.size == "fillParent" && "width: 100%;";
|
|
227
|
+
});
|
|
223
228
|
var _default = exports["default"] = DxcDateInput;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { userEvent, within, fireEvent, screen } from "@storybook/
|
|
2
|
+
import { userEvent, within, fireEvent, screen } from "@storybook/test";
|
|
3
3
|
import DxcDateInput from "./DateInput";
|
|
4
4
|
import DxcDatePicker from "./DatePicker";
|
|
5
5
|
import YearPicker from "./YearPicker";
|
|
@@ -10,10 +10,22 @@ import dayjs from "dayjs";
|
|
|
10
10
|
import useTheme from "../useTheme";
|
|
11
11
|
import { ThemeProvider } from "styled-components";
|
|
12
12
|
import { HalstackProvider } from "../HalstackContext";
|
|
13
|
+
import preview from "../../.storybook/preview";
|
|
14
|
+
import { disabledRules } from "../../test/accessibility/rules/specific/date-input/disabledRules";
|
|
13
15
|
|
|
14
16
|
export default {
|
|
15
17
|
title: "Date Input",
|
|
16
18
|
component: DxcDateInput,
|
|
19
|
+
parameters: {
|
|
20
|
+
a11y: {
|
|
21
|
+
config: {
|
|
22
|
+
rules: [
|
|
23
|
+
...disabledRules.map((ruleId) => ({ id: ruleId, enabled: false })),
|
|
24
|
+
...preview?.parameters?.a11y?.config?.rules,
|
|
25
|
+
],
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
},
|
|
17
29
|
};
|
|
18
30
|
|
|
19
31
|
const opinionatedTheme = {
|
|
@@ -41,13 +53,7 @@ const DateInputChromatic = () => (
|
|
|
41
53
|
</ExampleContainer>
|
|
42
54
|
<ExampleContainer>
|
|
43
55
|
<Title title="Read only" theme="light" level={4} />
|
|
44
|
-
<DxcDateInput
|
|
45
|
-
label="Example label"
|
|
46
|
-
helperText="Help message"
|
|
47
|
-
defaultValue="06-04-2007"
|
|
48
|
-
clearable
|
|
49
|
-
readOnly
|
|
50
|
-
/>
|
|
56
|
+
<DxcDateInput label="Example label" helperText="Help message" defaultValue="06-04-2007" clearable readOnly />
|
|
51
57
|
</ExampleContainer>
|
|
52
58
|
<ExampleContainer>
|
|
53
59
|
<Title title="Invalid" theme="light" level={4} />
|
|
@@ -202,15 +208,15 @@ const DatePickerButtonStates = () => {
|
|
|
202
208
|
<ThemeProvider theme={colorsTheme}>
|
|
203
209
|
<ExampleContainer pseudoState="pseudo-focus">
|
|
204
210
|
<Title title="Isolated calendar focused" theme="light" level={4} />
|
|
205
|
-
<DxcDatePicker date={dayjs("06-04-1950", "DD-MM-YYYY")} onDateSelect={() => {}} id="test-
|
|
211
|
+
<DxcDatePicker date={dayjs("06-04-1950", "DD-MM-YYYY")} onDateSelect={() => {}} id="test-calendar1" />
|
|
206
212
|
</ExampleContainer>
|
|
207
213
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
208
214
|
<Title title="Isolated calendar hovered" theme="light" level={4} />
|
|
209
|
-
<DxcDatePicker date={dayjs("06-04-1950", "DD-MM-YYYY")} onDateSelect={() => {}} id="test-
|
|
215
|
+
<DxcDatePicker date={dayjs("06-04-1950", "DD-MM-YYYY")} onDateSelect={() => {}} id="test-calendar2" />
|
|
210
216
|
</ExampleContainer>
|
|
211
217
|
<ExampleContainer pseudoState="pseudo-active">
|
|
212
218
|
<Title title="Isolated calendar actived" theme="light" level={4} />
|
|
213
|
-
<DxcDatePicker date={dayjs("06-04-1950", "DD-MM-YYYY")} onDateSelect={() => {}} id="test-
|
|
219
|
+
<DxcDatePicker date={dayjs("06-04-1950", "DD-MM-YYYY")} onDateSelect={() => {}} id="test-calendar3" />
|
|
214
220
|
</ExampleContainer>
|
|
215
221
|
</ThemeProvider>
|
|
216
222
|
</>
|
|
@@ -220,7 +226,7 @@ const DatePickerButtonStates = () => {
|
|
|
220
226
|
export const DatePickerStates = DatePickerButtonStates.bind({});
|
|
221
227
|
DatePickerStates.play = async ({ canvasElement }) => {
|
|
222
228
|
const canvas = within(canvasElement);
|
|
223
|
-
const dateBtn = canvas.getAllByTitle("
|
|
229
|
+
const dateBtn = canvas.getAllByTitle("Select date")[0];
|
|
224
230
|
await userEvent.click(dateBtn);
|
|
225
231
|
};
|
|
226
232
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -9,7 +9,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
9
9
|
var _react2 = require("@testing-library/react");
|
|
10
10
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
11
11
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
12
|
-
var _DateInput = _interopRequireDefault(require("./DateInput
|
|
12
|
+
var _DateInput = _interopRequireDefault(require("./DateInput"));
|
|
13
13
|
// Mocking DOMRect for Radix Primitive Popover
|
|
14
14
|
global.globalThis = global;
|
|
15
15
|
global.DOMRect = {
|
|
@@ -28,7 +28,7 @@ global.ResizeObserver = /*#__PURE__*/function () {
|
|
|
28
28
|
function ResizeObserver() {
|
|
29
29
|
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
30
30
|
}
|
|
31
|
-
(0, _createClass2["default"])(ResizeObserver, [{
|
|
31
|
+
return (0, _createClass2["default"])(ResizeObserver, [{
|
|
32
32
|
key: "observe",
|
|
33
33
|
value: function observe() {}
|
|
34
34
|
}, {
|
|
@@ -38,7 +38,6 @@ global.ResizeObserver = /*#__PURE__*/function () {
|
|
|
38
38
|
key: "disconnect",
|
|
39
39
|
value: function disconnect() {}
|
|
40
40
|
}]);
|
|
41
|
-
return ResizeObserver;
|
|
42
41
|
}();
|
|
43
42
|
describe("DateInput component tests", function () {
|
|
44
43
|
test("Renders with correct label, helper text, optional, placeholder and clearable action", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
@@ -214,7 +213,7 @@ describe("DateInput component tests", function () {
|
|
|
214
213
|
_context6.next = 5;
|
|
215
214
|
return _userEvent["default"].click(calendarAction);
|
|
216
215
|
case 5:
|
|
217
|
-
expect(document.activeElement === getAllByText(d.get("date")).length === 2 && +d.get("date") > 20 ? getAllByText(d.get("date"))[1] : getAllByText(d.get("date"))[0]).toBeTruthy();
|
|
216
|
+
expect(document.activeElement === (getAllByText(d.get("date")).length === 2 && +d.get("date") > 20 ? getAllByText(d.get("date"))[1] : getAllByText(d.get("date"))[0])).toBeTruthy();
|
|
218
217
|
expect(getByText(d.format("MMMM YYYY"))).toBeTruthy();
|
|
219
218
|
case 7:
|
|
220
219
|
case "end":
|
|
@@ -286,7 +285,7 @@ describe("DateInput component tests", function () {
|
|
|
286
285
|
_context9.next = 11;
|
|
287
286
|
return _userEvent["default"].click(calendarAction);
|
|
288
287
|
case 11:
|
|
289
|
-
expect(document.activeElement === getAllByText(d.get("date")).length === 2 && +d.get("date") > 20 ? getAllByText(d.get("date"))[1] : getAllByText(d.get("date"))[0]).toBeTruthy();
|
|
288
|
+
expect(document.activeElement === (getAllByText(d.get("date")).length === 2 && +d.get("date") > 20 ? getAllByText(d.get("date"))[1] : getAllByText(d.get("date"))[0])).toBeTruthy();
|
|
290
289
|
expect(getByText(d.format("MMMM YYYY"))).toBeTruthy();
|
|
291
290
|
case 13:
|
|
292
291
|
case "end":
|
|
@@ -308,7 +307,7 @@ describe("DateInput component tests", function () {
|
|
|
308
307
|
_context10.next = 5;
|
|
309
308
|
return _userEvent["default"].click(calendarAction);
|
|
310
309
|
case 5:
|
|
311
|
-
dayButton = getAllByText("10")[0]
|
|
310
|
+
dayButton = getAllByText("10")[0];
|
|
312
311
|
_react2.fireEvent.click(dayButton);
|
|
313
312
|
d = (0, _dayjs["default"])();
|
|
314
313
|
d = d.set("date", 10);
|
|
@@ -374,7 +373,7 @@ describe("DateInput component tests", function () {
|
|
|
374
373
|
_context12.next = 5;
|
|
375
374
|
return _userEvent["default"].click(calendarAction);
|
|
376
375
|
case 5:
|
|
377
|
-
dayButton = getAllByText("31")[0]
|
|
376
|
+
dayButton = getAllByText("31")[0];
|
|
378
377
|
_react2.fireEvent.click(dayButton);
|
|
379
378
|
d = (0, _dayjs["default"])("10-08-2021", "DD-MM-YYYY", true);
|
|
380
379
|
d = d.set("date", 31).set("month", 6);
|
|
@@ -444,31 +443,31 @@ describe("DateInput component tests", function () {
|
|
|
444
443
|
_context14.next = 7;
|
|
445
444
|
return _userEvent["default"].click(calendarAction);
|
|
446
445
|
case 7:
|
|
447
|
-
expect(document.activeElement === getAllByText("1")[0]
|
|
448
|
-
_react2.fireEvent.keyDown(getAllByText("1")[0]
|
|
446
|
+
expect(document.activeElement === getAllByText("1")[0]).toBeTruthy();
|
|
447
|
+
_react2.fireEvent.keyDown(getAllByText("1")[0], {
|
|
449
448
|
key: "ArrowRight",
|
|
450
449
|
code: "ArrowRight",
|
|
451
450
|
keyCode: 39,
|
|
452
451
|
charCode: 39
|
|
453
452
|
});
|
|
454
|
-
expect(document.activeElement === getAllByText("2")[0]
|
|
455
|
-
_react2.fireEvent.keyDown(getAllByText("2")[0]
|
|
453
|
+
expect(document.activeElement === getAllByText("2")[0]).toBeTruthy();
|
|
454
|
+
_react2.fireEvent.keyDown(getAllByText("2")[0], {
|
|
456
455
|
key: "PageUp",
|
|
457
456
|
code: "PageUp",
|
|
458
457
|
keyCode: 33,
|
|
459
458
|
charCode: 33
|
|
460
459
|
});
|
|
461
|
-
expect(document.activeElement === getAllByText("2")[0]
|
|
460
|
+
expect(document.activeElement === getAllByText("2")[0]).toBeTruthy();
|
|
462
461
|
expect(getByText("December 2009")).toBeTruthy();
|
|
463
|
-
_react2.fireEvent.keyDown(getAllByText("2")[0]
|
|
462
|
+
_react2.fireEvent.keyDown(getAllByText("2")[0], {
|
|
464
463
|
key: "PageDown",
|
|
465
464
|
code: "PageDown",
|
|
466
465
|
keyCode: 34,
|
|
467
466
|
charCode: 34
|
|
468
467
|
});
|
|
469
|
-
expect(document.activeElement === getAllByText("2")[0]
|
|
468
|
+
expect(document.activeElement === getAllByText("2")[0]).toBeTruthy();
|
|
470
469
|
expect(getByText("January 2010")).toBeTruthy();
|
|
471
|
-
_react2.fireEvent.keyDown(getAllByText("2")[0]
|
|
470
|
+
_react2.fireEvent.keyDown(getAllByText("2")[0], {
|
|
472
471
|
key: "PageDown",
|
|
473
472
|
code: "PageDown",
|
|
474
473
|
keyCode: 34,
|
|
@@ -476,7 +475,7 @@ describe("DateInput component tests", function () {
|
|
|
476
475
|
shiftKey: true
|
|
477
476
|
});
|
|
478
477
|
expect(getByText("January 2011")).toBeTruthy();
|
|
479
|
-
_react2.fireEvent.keyDown(getAllByText("2")[0]
|
|
478
|
+
_react2.fireEvent.keyDown(getAllByText("2")[0], {
|
|
480
479
|
key: "PageUp",
|
|
481
480
|
code: "PageUp",
|
|
482
481
|
keyCode: 33,
|
|
@@ -484,14 +483,14 @@ describe("DateInput component tests", function () {
|
|
|
484
483
|
shiftKey: true
|
|
485
484
|
});
|
|
486
485
|
expect(getByText("January 2010")).toBeTruthy();
|
|
487
|
-
expect(document.activeElement === getAllByText("2")[0]
|
|
488
|
-
_react2.fireEvent.click(getAllByText("2")[0]
|
|
486
|
+
expect(document.activeElement === getAllByText("2")[0]).toBeTruthy();
|
|
487
|
+
_react2.fireEvent.click(getAllByText("2")[0], {
|
|
489
488
|
key: " ",
|
|
490
489
|
code: "Space",
|
|
491
490
|
keyCode: 32,
|
|
492
491
|
charCode: 32
|
|
493
492
|
});
|
|
494
|
-
expect(getAllByText("2")[0].
|
|
493
|
+
expect(getAllByText("2")[0].getAttribute("aria-selected")).toBe("true");
|
|
495
494
|
_react2.fireEvent.keyDown(document, {
|
|
496
495
|
key: "Escape",
|
|
497
496
|
code: "Escape",
|
|
@@ -518,42 +517,42 @@ describe("DateInput component tests", function () {
|
|
|
518
517
|
_context15.next = 7;
|
|
519
518
|
return _userEvent["default"].click(calendarAction);
|
|
520
519
|
case 7:
|
|
521
|
-
expect(document.activeElement === getAllByText("1")[0]
|
|
522
|
-
_react2.fireEvent.keyDown(getAllByText("1")[0]
|
|
520
|
+
expect(document.activeElement === getAllByText("1")[0]).toBeTruthy();
|
|
521
|
+
_react2.fireEvent.keyDown(getAllByText("1")[0], {
|
|
523
522
|
key: "ArrowDown",
|
|
524
523
|
code: "ArrowDown",
|
|
525
524
|
keyCode: 40,
|
|
526
525
|
charCode: 40
|
|
527
526
|
});
|
|
528
|
-
expect(document.activeElement === getAllByText("8")[0]
|
|
529
|
-
_react2.fireEvent.keyDown(getAllByText("8")[0]
|
|
527
|
+
expect(document.activeElement === getAllByText("8")[0]).toBeTruthy();
|
|
528
|
+
_react2.fireEvent.keyDown(getAllByText("8")[0], {
|
|
530
529
|
key: "ArrowDown",
|
|
531
530
|
code: "ArrowDown",
|
|
532
531
|
keyCode: 40,
|
|
533
532
|
charCode: 40
|
|
534
533
|
});
|
|
535
|
-
expect(document.activeElement === getAllByText("15")[0]
|
|
536
|
-
_react2.fireEvent.keyDown(getAllByText("15")[0]
|
|
534
|
+
expect(document.activeElement === getAllByText("15")[0]).toBeTruthy();
|
|
535
|
+
_react2.fireEvent.keyDown(getAllByText("15")[0], {
|
|
537
536
|
key: "ArrowUp",
|
|
538
537
|
code: "ArrowUp",
|
|
539
538
|
keyCode: 38,
|
|
540
539
|
charCode: 38
|
|
541
540
|
});
|
|
542
|
-
expect(document.activeElement === getAllByText("8")[0]
|
|
543
|
-
_react2.fireEvent.keyDown(getAllByText("8")[0]
|
|
541
|
+
expect(document.activeElement === getAllByText("8")[0]).toBeTruthy();
|
|
542
|
+
_react2.fireEvent.keyDown(getAllByText("8")[0], {
|
|
544
543
|
key: "End",
|
|
545
544
|
code: "End",
|
|
546
545
|
keyCode: 35,
|
|
547
546
|
charCode: 35
|
|
548
547
|
});
|
|
549
|
-
expect(document.activeElement === getAllByText("10")[0]
|
|
550
|
-
_react2.fireEvent.keyDown(getAllByText("10")[0]
|
|
548
|
+
expect(document.activeElement === getAllByText("10")[0]).toBeTruthy();
|
|
549
|
+
_react2.fireEvent.keyDown(getAllByText("10")[0], {
|
|
551
550
|
key: "Home",
|
|
552
551
|
code: "Home",
|
|
553
552
|
keyCode: 36,
|
|
554
553
|
charCode: 36
|
|
555
554
|
});
|
|
556
|
-
_react2.fireEvent.keyDown(getAllByText("10")[0]
|
|
555
|
+
_react2.fireEvent.keyDown(getAllByText("10")[0], {
|
|
557
556
|
key: " ",
|
|
558
557
|
code: "Space",
|
|
559
558
|
keyCode: 32,
|
|
@@ -687,7 +686,7 @@ describe("DateInput component tests", function () {
|
|
|
687
686
|
});
|
|
688
687
|
});
|
|
689
688
|
test("Disabled date input (calendar action must be shown but not clickable)", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee16() {
|
|
690
|
-
var _render22, getByRole, queryByText, calendarAction, d, options;
|
|
689
|
+
var _render22, getByRole, queryByText, calendarAction, d, options, input;
|
|
691
690
|
return _regenerator["default"].wrap(function _callee16$(_context16) {
|
|
692
691
|
while (1) switch (_context16.prev = _context16.next) {
|
|
693
692
|
case 0:
|
|
@@ -701,12 +700,13 @@ describe("DateInput component tests", function () {
|
|
|
701
700
|
month: "short",
|
|
702
701
|
day: "numeric"
|
|
703
702
|
};
|
|
704
|
-
|
|
705
|
-
|
|
703
|
+
input = getByRole("textbox");
|
|
704
|
+
expect(input.disabled).toBeTruthy();
|
|
705
|
+
_context16.next = 8;
|
|
706
706
|
return _userEvent["default"].click(calendarAction);
|
|
707
|
-
case 7:
|
|
708
|
-
expect(queryByText(d.toLocaleString("en-US", options))).toBeFalsy();
|
|
709
707
|
case 8:
|
|
708
|
+
expect(queryByText(d.toLocaleString("en-US", options))).toBeFalsy();
|
|
709
|
+
case 9:
|
|
710
710
|
case "end":
|
|
711
711
|
return _context16.stop();
|
|
712
712
|
}
|
|
@@ -727,16 +727,16 @@ describe("DateInput component tests", function () {
|
|
|
727
727
|
calendarAction = getByRole("combobox");
|
|
728
728
|
expect(calendarAction.getAttribute("aria-autocomplete")).toBeNull();
|
|
729
729
|
expect(calendarAction.getAttribute("aria-controls")).toBeTruthy();
|
|
730
|
-
expect(calendarAction.getAttribute("aria-describedby")).
|
|
731
|
-
expect(calendarAction.getAttribute("aria-describedby") === calendarAction.getAttribute("aria-controls")).toBeTruthy();
|
|
730
|
+
expect(calendarAction.getAttribute("aria-describedby")).toBeFalsy();
|
|
732
731
|
expect(calendarAction.getAttribute("aria-expanded")).toBe("false");
|
|
733
|
-
_context17.next =
|
|
732
|
+
_context17.next = 12;
|
|
734
733
|
return _userEvent["default"].click(calendarAction);
|
|
735
|
-
case
|
|
734
|
+
case 12:
|
|
736
735
|
datePicker = getByRole("dialog");
|
|
737
736
|
expect(datePicker.getAttribute("aria-modal")).toBe("true");
|
|
738
737
|
expect(calendarAction.getAttribute("aria-expanded")).toBe("true");
|
|
739
738
|
expect(document.getElementById(calendarAction.getAttribute("aria-describedby"))).toBeTruthy();
|
|
739
|
+
expect(calendarAction.getAttribute("aria-describedby") === calendarAction.getAttribute("aria-controls")).toBeTruthy();
|
|
740
740
|
_context17.next = 19;
|
|
741
741
|
return _userEvent["default"].type(calendarAction, "{esc}");
|
|
742
742
|
case 19:
|
package/date-input/DatePicker.js
CHANGED
|
@@ -14,10 +14,10 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
|
14
14
|
var _Calendar = _interopRequireDefault(require("./Calendar"));
|
|
15
15
|
var _YearPicker = _interopRequireDefault(require("./YearPicker"));
|
|
16
16
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
17
|
-
var
|
|
17
|
+
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
18
18
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
19
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 &&
|
|
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; }
|
|
21
21
|
var today = (0, _dayjs["default"])();
|
|
22
22
|
var DxcDatePicker = function DxcDatePicker(_ref) {
|
|
23
23
|
var date = _ref.date,
|
|
@@ -52,20 +52,26 @@ var DxcDatePicker = function DxcDatePicker(_ref) {
|
|
|
52
52
|
onClick: function onClick() {
|
|
53
53
|
return handleMonthChange(innerDate.set("month", innerDate.get("month") - 1));
|
|
54
54
|
}
|
|
55
|
-
},
|
|
55
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
56
|
+
icon: "keyboard_arrow_left"
|
|
57
|
+
})), /*#__PURE__*/_react["default"].createElement(HeaderYearTrigger, {
|
|
56
58
|
"aria-live": "polite",
|
|
57
59
|
onClick: function onClick() {
|
|
58
60
|
return setContent(function (content) {
|
|
59
61
|
return content === "yearPicker" ? "calendar" : "yearPicker";
|
|
60
62
|
});
|
|
61
63
|
}
|
|
62
|
-
}, /*#__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, {
|
|
63
67
|
"aria-label": translatedLabels.calendar.nextMonthTitle,
|
|
64
68
|
title: translatedLabels.calendar.nextMonthTitle,
|
|
65
69
|
onClick: function onClick() {
|
|
66
70
|
return handleMonthChange(innerDate.set("month", innerDate.get("month") + 1));
|
|
67
71
|
}
|
|
68
|
-
},
|
|
72
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
73
|
+
icon: "keyboard_arrow_right"
|
|
74
|
+
}))), content === "calendar" && /*#__PURE__*/_react["default"].createElement(_Calendar["default"], {
|
|
69
75
|
innerDate: innerDate,
|
|
70
76
|
selectedDate: selectedDate,
|
|
71
77
|
onInnerDateChange: setInnerDate,
|
|
@@ -91,7 +97,7 @@ var DatePicker = _styledComponents["default"].div(_templateObject || (_templateO
|
|
|
91
97
|
return props.theme.dateInput.pickerFontWeight;
|
|
92
98
|
});
|
|
93
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"])));
|
|
94
|
-
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
|
|
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) {
|
|
95
101
|
return props.theme.dateInput.pickerHeaderFontColor;
|
|
96
102
|
}, function (props) {
|
|
97
103
|
return props.theme.dateInput.pickerHeaderBackgroundColor;
|
|
@@ -106,7 +112,7 @@ var HeaderButton = _styledComponents["default"].button(_templateObject3 || (_tem
|
|
|
106
112
|
}, function (props) {
|
|
107
113
|
return props.theme.dateInput.pickerHeaderActiveBackgroundColor;
|
|
108
114
|
});
|
|
109
|
-
var HeaderYearTrigger = (0, _styledComponents["default"])(HeaderButton)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n gap: 8px;\n height: 40px;\n width: 172px;\n"])));
|
|
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"])));
|
|
110
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) {
|
|
111
117
|
return props.theme.dateInput.pickerFontFamily;
|
|
112
118
|
}, function (props) {
|
package/date-input/YearPicker.js
CHANGED
|
@@ -13,7 +13,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
13
13
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
14
14
|
var _templateObject, _templateObject2;
|
|
15
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 &&
|
|
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; }
|
|
17
17
|
var getYearsArray = function getYearsArray() {
|
|
18
18
|
var yearList = [];
|
|
19
19
|
for (var i = 1899; i <= 2100; i++) {
|
|
@@ -26,13 +26,14 @@ var YearPicker = function YearPicker(_ref) {
|
|
|
26
26
|
var onYearSelect = _ref.onYearSelect,
|
|
27
27
|
selectedDate = _ref.selectedDate,
|
|
28
28
|
today = _ref.today;
|
|
29
|
+
var id = (0, _react.useId)();
|
|
29
30
|
var _useState = (0, _react.useState)(selectedDate ? selectedDate.get("year") : (0, _dayjs["default"])().get("year")),
|
|
30
31
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
31
32
|
yearToFocus = _useState2[0],
|
|
32
33
|
setYearToFocus = _useState2[1];
|
|
33
34
|
(0, _react.useEffect)(function () {
|
|
34
35
|
var _yearToFocusEl$scroll;
|
|
35
|
-
var yearToFocusEl = document.getElementById("
|
|
36
|
+
var yearToFocusEl = document.getElementById("".concat(id, "_year_").concat(yearToFocus));
|
|
36
37
|
yearToFocusEl === null || yearToFocusEl === void 0 ? void 0 : (_yearToFocusEl$scroll = yearToFocusEl.scrollIntoView) === null || _yearToFocusEl$scroll === void 0 ? void 0 : _yearToFocusEl$scroll.call(yearToFocusEl, {
|
|
37
38
|
block: "nearest",
|
|
38
39
|
inline: "start"
|
|
@@ -53,7 +54,10 @@ var YearPicker = function YearPicker(_ref) {
|
|
|
53
54
|
break;
|
|
54
55
|
}
|
|
55
56
|
};
|
|
56
|
-
return /*#__PURE__*/_react["default"].createElement(YearPickerContainer,
|
|
57
|
+
return /*#__PURE__*/_react["default"].createElement(YearPickerContainer, {
|
|
58
|
+
role: "listbox",
|
|
59
|
+
"aria-label": "Year Picker"
|
|
60
|
+
}, yearList.map(function (year) {
|
|
57
61
|
return /*#__PURE__*/_react["default"].createElement(YearPickerButton, {
|
|
58
62
|
"aria-label": year,
|
|
59
63
|
key: year,
|
|
@@ -64,10 +68,11 @@ var YearPicker = function YearPicker(_ref) {
|
|
|
64
68
|
onKeyDown: function onKeyDown(event) {
|
|
65
69
|
return handleDayKeyboardEvent(event);
|
|
66
70
|
},
|
|
67
|
-
id: "
|
|
71
|
+
id: "".concat(id, "_year_").concat(year),
|
|
68
72
|
onClick: function onClick() {
|
|
69
73
|
onYearSelect(year);
|
|
70
|
-
}
|
|
74
|
+
},
|
|
75
|
+
role: "option"
|
|
71
76
|
}, year);
|
|
72
77
|
}));
|
|
73
78
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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"));
|
|
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
|
+
});
|