@dxc-technology/halstack-react 11.0.0 → 12.0.1
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 +3 -8
- package/HalstackContext.d.ts +32 -145
- package/HalstackContext.js +3 -7
- package/accordion/Accordion.accessibility.test.d.ts +1 -0
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.js +18 -35
- 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.d.ts +2 -3
- package/accordion-group/AccordionGroup.js +4 -4
- 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 +3 -3
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- 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.d.ts +4 -0
- package/action-icon/ActionIcon.js +48 -0
- package/action-icon/ActionIcon.stories.tsx +41 -0
- package/action-icon/ActionIcon.test.d.ts +1 -0
- package/action-icon/ActionIcon.test.js +64 -0
- package/action-icon/types.d.ts +26 -0
- package/action-icon/types.js +5 -0
- package/alert/Alert.accessibility.test.d.ts +1 -0
- package/alert/Alert.accessibility.test.js +95 -0
- package/alert/Alert.js +21 -75
- 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.d.ts +1 -1
- package/badge/Badge.js +141 -28
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.d.ts +1 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +52 -3
- package/box/Box.accessibility.test.d.ts +1 -0
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.js +2 -5
- 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 +169 -0
- package/breadcrumbs/Item.d.ts +4 -0
- package/breadcrumbs/Item.js +52 -0
- package/breadcrumbs/dropdownTheme.d.ts +53 -0
- package/breadcrumbs/dropdownTheme.js +62 -0
- package/breadcrumbs/types.d.ts +16 -0
- package/breadcrumbs/types.js +5 -0
- package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
- package/bulleted-list/BulletedList.accessibility.test.js +119 -0
- package/bulleted-list/BulletedList.js +16 -23
- package/bulleted-list/BulletedList.stories.tsx +1 -2
- package/button/Button.accessibility.test.d.ts +1 -0
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.js +16 -16
- package/button/Button.stories.tsx +34 -53
- package/button/Button.test.d.ts +1 -0
- package/button/Button.test.js +4 -2
- package/button/types.d.ts +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.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 +36 -44
- 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 +69 -0
- package/chip/Chip.js +20 -26
- package/chip/Chip.stories.tsx +67 -50
- package/chip/Chip.test.d.ts +1 -0
- package/chip/Chip.test.js +5 -5
- package/chip/types.d.ts +35 -12
- package/common/coreTokens.d.ts +105 -14
- package/common/coreTokens.js +40 -22
- package/common/fonts.css +2 -0
- package/common/variables.d.ts +31 -141
- package/common/variables.js +104 -214
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/container/types.js +5 -0
- package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
- package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
- package/contextual-menu/ContextualMenu.d.ts +5 -0
- package/contextual-menu/ContextualMenu.js +88 -0
- package/contextual-menu/ContextualMenu.stories.tsx +232 -0
- package/contextual-menu/ContextualMenu.test.d.ts +1 -0
- package/contextual-menu/ContextualMenu.test.js +205 -0
- package/contextual-menu/GroupItem.d.ts +4 -0
- package/contextual-menu/GroupItem.js +67 -0
- package/contextual-menu/ItemAction.d.ts +4 -0
- package/contextual-menu/ItemAction.js +51 -0
- package/contextual-menu/MenuItem.d.ts +4 -0
- package/contextual-menu/MenuItem.js +29 -0
- package/contextual-menu/SingleItem.d.ts +4 -0
- package/contextual-menu/SingleItem.js +38 -0
- package/contextual-menu/types.d.ts +58 -0
- package/contextual-menu/types.js +5 -0
- package/date-input/Calendar.js +1 -1
- package/date-input/DateInput.accessibility.test.d.ts +1 -0
- package/date-input/DateInput.accessibility.test.js +230 -0
- package/date-input/DateInput.js +19 -20
- package/date-input/DateInput.stories.tsx +15 -8
- package/date-input/DateInput.test.d.ts +1 -0
- package/date-input/DateInput.test.js +9 -8
- package/date-input/DatePicker.js +13 -7
- package/date-input/YearPicker.js +1 -1
- package/date-input/types.d.ts +2 -2
- package/dialog/Dialog.accessibility.test.d.ts +1 -0
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.js +11 -25
- package/dialog/Dialog.stories.tsx +175 -0
- package/dialog/Dialog.test.d.ts +1 -0
- package/dialog/Dialog.test.js +113 -49
- package/divider/Divider.accessibility.test.d.ts +1 -0
- 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.d.ts +1 -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.d.ts +1 -0
- package/dropdown/Dropdown.accessibility.test.js +184 -0
- package/dropdown/Dropdown.js +37 -51
- package/dropdown/Dropdown.stories.tsx +15 -26
- package/dropdown/Dropdown.test.d.ts +1 -0
- package/dropdown/Dropdown.test.js +100 -70
- package/dropdown/DropdownMenu.js +4 -4
- package/dropdown/DropdownMenuItem.js +8 -4
- package/dropdown/types.d.ts +3 -5
- package/file-input/FileInput.accessibility.test.d.ts +1 -0
- package/file-input/FileInput.accessibility.test.js +167 -0
- package/file-input/FileInput.js +127 -145
- package/file-input/FileInput.test.d.ts +1 -0
- package/file-input/FileInput.test.js +125 -129
- package/file-input/FileItem.js +18 -28
- package/file-input/types.d.ts +1 -1
- package/footer/Footer.accessibility.test.d.ts +1 -0
- package/footer/Footer.accessibility.test.js +125 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +36 -31
- package/footer/Footer.stories.tsx +58 -2
- package/footer/Footer.test.d.ts +1 -0
- package/footer/Footer.test.js +1 -1
- package/footer/Icons.d.ts +1 -0
- package/footer/Icons.js +52 -16
- package/footer/types.d.ts +8 -8
- package/header/Header.accessibility.test.d.ts +1 -0
- package/header/Header.accessibility.test.js +94 -0
- package/header/Header.js +20 -41
- package/header/Header.stories.tsx +16 -0
- package/header/Header.test.d.ts +1 -0
- package/header/Header.test.js +1 -1
- package/header/Icons.js +1 -6
- package/header/types.d.ts +4 -3
- 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.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.d.ts +1 -0
- package/image/Image.accessibility.test.js +56 -0
- package/image/Image.js +1 -1
- package/image/Image.stories.tsx +3 -1
- package/layout/ApplicationLayout.d.ts +1 -1
- package/layout/ApplicationLayout.js +10 -7
- 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 +8 -3
- package/main.js +38 -9
- package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.d.ts +1 -2
- package/nav-tabs/NavTabs.js +25 -7
- package/nav-tabs/NavTabs.stories.tsx +44 -24
- package/nav-tabs/NavTabs.test.d.ts +1 -0
- package/nav-tabs/NavTabs.test.js +12 -10
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +23 -23
- 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 +228 -0
- package/number-input/NumberInput.d.ts +0 -7
- package/number-input/NumberInput.js +24 -5
- package/number-input/NumberInput.test.d.ts +1 -0
- package/number-input/NumberInput.test.js +166 -7
- package/number-input/NumberInputContext.d.ts +3 -0
- package/number-input/NumberInputContext.js +8 -0
- package/number-input/types.d.ts +6 -0
- package/package.json +20 -18
- package/paginator/Paginator.accessibility.test.d.ts +1 -0
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +14 -14
- package/paginator/Paginator.test.d.ts +1 -0
- package/paginator/Paginator.test.js +1 -1
- package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/paragraph/Paragraph.js +2 -7
- package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
- package/password-input/PasswordInput.accessibility.test.js +153 -0
- package/password-input/PasswordInput.js +7 -7
- package/password-input/PasswordInput.stories.tsx +0 -1
- package/password-input/PasswordInput.test.d.ts +1 -0
- package/password-input/PasswordInput.test.js +5 -5
- package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +11 -15
- 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 +15 -17
- 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 +285 -0
- package/resultset-table/ResultsetTable.d.ts +4 -1
- package/resultset-table/ResultsetTable.js +25 -13
- package/resultset-table/ResultsetTable.stories.tsx +118 -5
- package/resultset-table/ResultsetTable.test.d.ts +1 -0
- package/resultset-table/ResultsetTable.test.js +76 -1
- package/resultset-table/types.d.ts +40 -7
- package/select/Listbox.js +24 -16
- package/select/Option.js +19 -10
- package/select/Select.accessibility.test.d.ts +1 -0
- package/select/Select.accessibility.test.js +228 -0
- package/select/Select.js +72 -54
- package/select/Select.stories.tsx +59 -111
- package/select/Select.test.d.ts +1 -0
- package/select/Select.test.js +393 -459
- package/select/types.d.ts +3 -3
- package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.js +21 -19
- package/sidenav/Sidenav.stories.tsx +4 -9
- 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 +104 -0
- package/slider/Slider.js +31 -42
- package/slider/Slider.stories.tsx +180 -0
- package/slider/Slider.test.d.ts +1 -0
- package/slider/Slider.test.js +12 -9
- package/spinner/Spinner.accessibility.test.d.ts +1 -0
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.js +12 -16
- 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.d.ts +4 -0
- package/status-light/StatusLight.js +51 -0
- package/status-light/StatusLight.stories.tsx +74 -0
- package/status-light/StatusLight.test.d.ts +1 -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.d.ts +1 -0
- package/switch/Switch.accessibility.test.js +98 -0
- package/switch/Switch.js +29 -37
- package/switch/Switch.stories.tsx +12 -0
- package/switch/Switch.test.d.ts +1 -0
- package/switch/Switch.test.js +1 -1
- package/table/DropdownTheme.js +62 -0
- package/table/Table.accessibility.test.d.ts +1 -0
- package/table/Table.accessibility.test.js +93 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +74 -12
- package/table/Table.stories.tsx +309 -2
- package/table/Table.test.d.ts +1 -0
- package/table/Table.test.js +92 -1
- package/table/types.d.ts +28 -0
- package/tabs/Tab.js +13 -9
- package/tabs/Tabs.accessibility.test.d.ts +1 -0
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +12 -24
- package/tabs/Tabs.stories.tsx +8 -4
- 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 +4 -7
- 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 +19 -14
- package/text-input/TextInput.accessibility.test.d.ts +1 -0
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.js +103 -126
- package/text-input/TextInput.stories.tsx +17 -8
- package/text-input/TextInput.test.d.ts +1 -0
- package/text-input/TextInput.test.js +97 -80
- package/textarea/Textarea.accessibility.test.d.ts +1 -0
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +13 -21
- package/textarea/Textarea.stories.tsx +0 -1
- 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 +11 -16
- package/toggle-group/ToggleGroup.stories.tsx +3 -3
- 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/typography/Typography.accessibility.test.d.ts +1 -0
- package/typography/Typography.accessibility.test.js +339 -0
- package/useTheme.d.ts +31 -141
- package/utils/BaseTypography.js +1 -1
- package/utils/FocusLock.js +16 -6
- 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 +19 -0
- package/wizard/Wizard.test.d.ts +1 -0
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +2 -2
- package/common/OpenSans.css +0 -69
- package/common/fonts/OpenSans-Bold.ttf +0 -0
- package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-Italic.ttf +0 -0
- package/common/fonts/OpenSans-Light.ttf +0 -0
- package/common/fonts/OpenSans-LightItalic.ttf +0 -0
- package/common/fonts/OpenSans-Regular.ttf +0 -0
- package/common/fonts/OpenSans-SemiBold.ttf +0 -0
- package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/date-input/Icons.d.ts +0 -6
- package/date-input/Icons.js +0 -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/{layout → sidenav}/SidenavContext.d.ts +0 -0
- /package/{layout → sidenav}/SidenavContext.js +0 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
12
|
+
var _coreTokens = _interopRequireDefault(require("../common/coreTokens"));
|
|
13
|
+
var _SingleItem = _interopRequireDefault(require("./SingleItem"));
|
|
14
|
+
var _GroupItem = _interopRequireDefault(require("./GroupItem"));
|
|
15
|
+
var _templateObject;
|
|
16
|
+
var MenuItem = function MenuItem(_ref) {
|
|
17
|
+
var item = _ref.item,
|
|
18
|
+
_ref$depthLevel = _ref.depthLevel,
|
|
19
|
+
depthLevel = _ref$depthLevel === void 0 ? 0 : _ref$depthLevel;
|
|
20
|
+
return /*#__PURE__*/_react["default"].createElement(StyledMenuItem, {
|
|
21
|
+
role: "menuitem"
|
|
22
|
+
}, "items" in item ? /*#__PURE__*/_react["default"].createElement(_GroupItem["default"], (0, _extends2["default"])({}, item, {
|
|
23
|
+
depthLevel: depthLevel
|
|
24
|
+
})) : /*#__PURE__*/_react["default"].createElement(_SingleItem["default"], (0, _extends2["default"])({}, item, {
|
|
25
|
+
depthLevel: depthLevel
|
|
26
|
+
})));
|
|
27
|
+
};
|
|
28
|
+
var StyledMenuItem = _styledComponents["default"].li(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n gap: ", ";\n"])), _coreTokens["default"].spacing_4);
|
|
29
|
+
var _default = exports["default"] = MenuItem;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _ContextualMenu = require("./ContextualMenu");
|
|
11
|
+
var _ItemAction = _interopRequireDefault(require("./ItemAction"));
|
|
12
|
+
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); }
|
|
13
|
+
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; }
|
|
14
|
+
var SingleItem = function SingleItem(_ref) {
|
|
15
|
+
var badge = _ref.badge,
|
|
16
|
+
icon = _ref.icon,
|
|
17
|
+
id = _ref.id,
|
|
18
|
+
label = _ref.label,
|
|
19
|
+
depthLevel = _ref.depthLevel,
|
|
20
|
+
onSelect = _ref.onSelect;
|
|
21
|
+
var _useContext = (0, _react.useContext)(_ContextualMenu.ContextualMenuContext),
|
|
22
|
+
selectedItemId = _useContext.selectedItemId,
|
|
23
|
+
setSelectedItemId = _useContext.setSelectedItemId;
|
|
24
|
+
var handleClick = function handleClick() {
|
|
25
|
+
setSelectedItemId(id);
|
|
26
|
+
onSelect === null || onSelect === void 0 ? void 0 : onSelect();
|
|
27
|
+
};
|
|
28
|
+
return /*#__PURE__*/_react["default"].createElement(_ItemAction["default"], {
|
|
29
|
+
"aria-selected": selectedItemId === id,
|
|
30
|
+
badge: badge,
|
|
31
|
+
icon: icon,
|
|
32
|
+
label: label,
|
|
33
|
+
depthLevel: depthLevel,
|
|
34
|
+
onClick: handleClick,
|
|
35
|
+
selected: selectedItemId === id
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
var _default = exports["default"] = SingleItem;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
3
|
+
type Item = {
|
|
4
|
+
badge?: React.ReactElement;
|
|
5
|
+
icon?: string | SVG;
|
|
6
|
+
label: string;
|
|
7
|
+
onSelect?: () => void;
|
|
8
|
+
};
|
|
9
|
+
type GroupItem = {
|
|
10
|
+
badge?: React.ReactElement;
|
|
11
|
+
icon?: string | SVG;
|
|
12
|
+
items: (Item | GroupItem)[];
|
|
13
|
+
label: string;
|
|
14
|
+
};
|
|
15
|
+
type Section = {
|
|
16
|
+
items: (Item | GroupItem)[];
|
|
17
|
+
title?: string;
|
|
18
|
+
};
|
|
19
|
+
type Props = {
|
|
20
|
+
items: (Item | GroupItem)[] | Section[];
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Contextual menu internal types.
|
|
24
|
+
*/
|
|
25
|
+
type ItemWithId = Item & {
|
|
26
|
+
id: number;
|
|
27
|
+
};
|
|
28
|
+
type GroupItemWithId = {
|
|
29
|
+
badge?: React.ReactElement;
|
|
30
|
+
icon: string | SVG;
|
|
31
|
+
items: (ItemWithId | GroupItemWithId)[];
|
|
32
|
+
label: string;
|
|
33
|
+
};
|
|
34
|
+
type SectionWithId = {
|
|
35
|
+
items: (ItemWithId | GroupItemWithId)[];
|
|
36
|
+
title?: string;
|
|
37
|
+
};
|
|
38
|
+
type SingleItemProps = ItemWithId & {
|
|
39
|
+
depthLevel: number;
|
|
40
|
+
};
|
|
41
|
+
type GroupItemProps = GroupItemWithId & {
|
|
42
|
+
depthLevel: number;
|
|
43
|
+
};
|
|
44
|
+
type MenuItemProps = {
|
|
45
|
+
item: ItemWithId | GroupItemWithId;
|
|
46
|
+
depthLevel?: number;
|
|
47
|
+
};
|
|
48
|
+
type ItemActionProps = React.ButtonHTMLAttributes<HTMLButtonElement> & Item & {
|
|
49
|
+
collapseIcon?: React.ReactNode;
|
|
50
|
+
depthLevel: number;
|
|
51
|
+
selected: boolean;
|
|
52
|
+
};
|
|
53
|
+
type ContextualMenuContextProps = {
|
|
54
|
+
selectedItemId: number;
|
|
55
|
+
setSelectedItemId: React.Dispatch<React.SetStateAction<number>>;
|
|
56
|
+
};
|
|
57
|
+
export default Props;
|
|
58
|
+
export type { ContextualMenuContextProps, GroupItem, GroupItemProps, GroupItemWithId, Item, ItemActionProps, ItemWithId, MenuItemProps, Section, SectionWithId, SingleItemProps, };
|
package/date-input/Calendar.js
CHANGED
|
@@ -14,7 +14,7 @@ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabel
|
|
|
14
14
|
var _Flex = _interopRequireDefault(require("../flex/Flex"));
|
|
15
15
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
16
16
|
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); }
|
|
17
|
-
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 &&
|
|
17
|
+
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; }
|
|
18
18
|
var getDays = function getDays(innerDate) {
|
|
19
19
|
var monthDayCells = [];
|
|
20
20
|
var lastMonthNumberOfDays = innerDate.set("month", innerDate.get("month") - 1).endOf("month");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,230 @@
|
|
|
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 _axeHelper = require("../../test/accessibility/axe-helper.js");
|
|
11
|
+
var _DateInput = _interopRequireDefault(require("./DateInput"));
|
|
12
|
+
var _disabledRules = require("../../test/accessibility/rules/specific/date-input/disabledRules.js");
|
|
13
|
+
// TODO: REMOVE
|
|
14
|
+
|
|
15
|
+
var disabledRules = {
|
|
16
|
+
rules: _disabledRules.disabledRules.reduce(function (rulesObj, rule) {
|
|
17
|
+
rulesObj[rule] = {
|
|
18
|
+
enabled: false
|
|
19
|
+
};
|
|
20
|
+
return rulesObj;
|
|
21
|
+
}, {})
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// Mocking DOMRect for Radix Primitive Popover
|
|
25
|
+
global.globalThis = global;
|
|
26
|
+
global.DOMRect = {
|
|
27
|
+
fromRect: function fromRect() {
|
|
28
|
+
return {
|
|
29
|
+
top: 0,
|
|
30
|
+
left: 0,
|
|
31
|
+
bottom: 0,
|
|
32
|
+
right: 0,
|
|
33
|
+
width: 0,
|
|
34
|
+
height: 0,
|
|
35
|
+
x: 0,
|
|
36
|
+
y: 0
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
global.ResizeObserver = /*#__PURE__*/function () {
|
|
41
|
+
function ResizeObserver() {
|
|
42
|
+
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
43
|
+
}
|
|
44
|
+
(0, _createClass2["default"])(ResizeObserver, [{
|
|
45
|
+
key: "observe",
|
|
46
|
+
value: function observe() {}
|
|
47
|
+
}, {
|
|
48
|
+
key: "unobserve",
|
|
49
|
+
value: function unobserve() {}
|
|
50
|
+
}, {
|
|
51
|
+
key: "disconnect",
|
|
52
|
+
value: function disconnect() {}
|
|
53
|
+
}]);
|
|
54
|
+
return ResizeObserver;
|
|
55
|
+
}();
|
|
56
|
+
describe("DateInput component accessibility tests", function () {
|
|
57
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
58
|
+
var _render, baseElement, results;
|
|
59
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
60
|
+
while (1) switch (_context.prev = _context.next) {
|
|
61
|
+
case 0:
|
|
62
|
+
// baseElement is needed when using React Portals
|
|
63
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
64
|
+
label: "Example label",
|
|
65
|
+
helperText: "Help message",
|
|
66
|
+
defaultValue: "06-04-2007",
|
|
67
|
+
format: "dd/mm/yy",
|
|
68
|
+
name: "DateInput Name",
|
|
69
|
+
margin: "medium",
|
|
70
|
+
size: "medium",
|
|
71
|
+
placeholder: true,
|
|
72
|
+
clearable: true
|
|
73
|
+
})), baseElement = _render.baseElement;
|
|
74
|
+
_context.next = 3;
|
|
75
|
+
return (0, _axeHelper.axe)(baseElement, disabledRules);
|
|
76
|
+
case 3:
|
|
77
|
+
results = _context.sent;
|
|
78
|
+
expect(results).toHaveNoViolations();
|
|
79
|
+
case 5:
|
|
80
|
+
case "end":
|
|
81
|
+
return _context.stop();
|
|
82
|
+
}
|
|
83
|
+
}, _callee);
|
|
84
|
+
})));
|
|
85
|
+
it("Should not have basic accessibility issues for autocomplete mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
86
|
+
var _render2, baseElement, results;
|
|
87
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
88
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
89
|
+
case 0:
|
|
90
|
+
// baseElement is needed when using React Portals
|
|
91
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
92
|
+
label: "Example label",
|
|
93
|
+
helperText: "Help message",
|
|
94
|
+
defaultValue: "06-04-2007",
|
|
95
|
+
format: "dd/mm/yy",
|
|
96
|
+
name: "DateInput Name",
|
|
97
|
+
margin: "medium",
|
|
98
|
+
size: "medium",
|
|
99
|
+
placeholder: true,
|
|
100
|
+
autocomplete: "on"
|
|
101
|
+
})), baseElement = _render2.baseElement;
|
|
102
|
+
_context2.next = 3;
|
|
103
|
+
return (0, _axeHelper.axe)(baseElement, disabledRules);
|
|
104
|
+
case 3:
|
|
105
|
+
results = _context2.sent;
|
|
106
|
+
expect(results).toHaveNoViolations();
|
|
107
|
+
case 5:
|
|
108
|
+
case "end":
|
|
109
|
+
return _context2.stop();
|
|
110
|
+
}
|
|
111
|
+
}, _callee2);
|
|
112
|
+
})));
|
|
113
|
+
it("Should not have basic accessibility issues for optional mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
114
|
+
var _render3, baseElement, results;
|
|
115
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
116
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
117
|
+
case 0:
|
|
118
|
+
// baseElement is needed when using React Portals
|
|
119
|
+
_render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
120
|
+
label: "Example label",
|
|
121
|
+
helperText: "Help message",
|
|
122
|
+
defaultValue: "06-04-2007",
|
|
123
|
+
format: "dd/mm/yy",
|
|
124
|
+
name: "DateInput Name",
|
|
125
|
+
margin: "medium",
|
|
126
|
+
size: "medium",
|
|
127
|
+
placeholder: true,
|
|
128
|
+
optional: true
|
|
129
|
+
})), baseElement = _render3.baseElement;
|
|
130
|
+
_context3.next = 3;
|
|
131
|
+
return (0, _axeHelper.axe)(baseElement, disabledRules);
|
|
132
|
+
case 3:
|
|
133
|
+
results = _context3.sent;
|
|
134
|
+
expect(results).toHaveNoViolations();
|
|
135
|
+
case 5:
|
|
136
|
+
case "end":
|
|
137
|
+
return _context3.stop();
|
|
138
|
+
}
|
|
139
|
+
}, _callee3);
|
|
140
|
+
})));
|
|
141
|
+
it("Should not have basic accessibility issues for error mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
142
|
+
var _render4, baseElement, results;
|
|
143
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
144
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
145
|
+
case 0:
|
|
146
|
+
// baseElement is needed when using React Portals
|
|
147
|
+
_render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
148
|
+
label: "Example label",
|
|
149
|
+
helperText: "Help message",
|
|
150
|
+
defaultValue: "06-04-2007",
|
|
151
|
+
format: "dd/mm/yy",
|
|
152
|
+
name: "DateInput Name",
|
|
153
|
+
margin: "medium",
|
|
154
|
+
error: "Error message.",
|
|
155
|
+
size: "medium",
|
|
156
|
+
placeholder: true,
|
|
157
|
+
clearable: true
|
|
158
|
+
})), baseElement = _render4.baseElement;
|
|
159
|
+
_context4.next = 3;
|
|
160
|
+
return (0, _axeHelper.axe)(baseElement, disabledRules);
|
|
161
|
+
case 3:
|
|
162
|
+
results = _context4.sent;
|
|
163
|
+
expect(results).toHaveNoViolations();
|
|
164
|
+
case 5:
|
|
165
|
+
case "end":
|
|
166
|
+
return _context4.stop();
|
|
167
|
+
}
|
|
168
|
+
}, _callee4);
|
|
169
|
+
})));
|
|
170
|
+
it("Should not have basic accessibility issues for read-only mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
|
171
|
+
var _render5, baseElement, results;
|
|
172
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
173
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
174
|
+
case 0:
|
|
175
|
+
// baseElement is needed when using React Portals
|
|
176
|
+
_render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
177
|
+
label: "Example label",
|
|
178
|
+
helperText: "Help message",
|
|
179
|
+
defaultValue: "06-04-2007",
|
|
180
|
+
format: "dd/mm/yy",
|
|
181
|
+
name: "DateInput Name",
|
|
182
|
+
margin: "medium",
|
|
183
|
+
error: "Error message.",
|
|
184
|
+
size: "medium",
|
|
185
|
+
placeholder: true,
|
|
186
|
+
clearable: true,
|
|
187
|
+
readOnly: true
|
|
188
|
+
})), baseElement = _render5.baseElement;
|
|
189
|
+
_context5.next = 3;
|
|
190
|
+
return (0, _axeHelper.axe)(baseElement, disabledRules);
|
|
191
|
+
case 3:
|
|
192
|
+
results = _context5.sent;
|
|
193
|
+
expect(results).toHaveNoViolations();
|
|
194
|
+
case 5:
|
|
195
|
+
case "end":
|
|
196
|
+
return _context5.stop();
|
|
197
|
+
}
|
|
198
|
+
}, _callee5);
|
|
199
|
+
})));
|
|
200
|
+
it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
|
|
201
|
+
var _render6, baseElement, results;
|
|
202
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
203
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
204
|
+
case 0:
|
|
205
|
+
// baseElement is needed when using React Portals
|
|
206
|
+
_render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
207
|
+
label: "Example label",
|
|
208
|
+
helperText: "Help message",
|
|
209
|
+
defaultValue: "06-04-2007",
|
|
210
|
+
format: "dd/mm/yy",
|
|
211
|
+
name: "DateInput Name",
|
|
212
|
+
margin: "medium",
|
|
213
|
+
error: "Error message.",
|
|
214
|
+
size: "medium",
|
|
215
|
+
placeholder: true,
|
|
216
|
+
clearable: true,
|
|
217
|
+
disabled: true
|
|
218
|
+
})), baseElement = _render6.baseElement;
|
|
219
|
+
_context6.next = 3;
|
|
220
|
+
return (0, _axeHelper.axe)(baseElement, disabledRules);
|
|
221
|
+
case 3:
|
|
222
|
+
results = _context6.sent;
|
|
223
|
+
expect(results).toHaveNoViolations();
|
|
224
|
+
case 5:
|
|
225
|
+
case "end":
|
|
226
|
+
return _context6.stop();
|
|
227
|
+
}
|
|
228
|
+
}, _callee6);
|
|
229
|
+
})));
|
|
230
|
+
});
|
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 _uuid = require("uuid");
|
|
22
|
-
var _Icons = require("./Icons");
|
|
23
21
|
var _templateObject;
|
|
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,7 +92,7 @@ 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);
|
|
@@ -166,9 +162,12 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
166
162
|
setIsOpen(false);
|
|
167
163
|
};
|
|
168
164
|
var handleDatePickerEscKeydown = function handleDatePickerEscKeydown(event) {
|
|
169
|
-
event.
|
|
170
|
-
|
|
171
|
-
|
|
165
|
+
if (event.key === "Escape") {
|
|
166
|
+
event.preventDefault();
|
|
167
|
+
isOpen && event.stopPropagation();
|
|
168
|
+
closeCalendar();
|
|
169
|
+
dateRef === null || dateRef === void 0 ? void 0 : dateRef.current.getElementsByTagName("input")[0].focus();
|
|
170
|
+
}
|
|
172
171
|
};
|
|
173
172
|
var handleDatePickerOnBlur = function handleDatePickerOnBlur(event) {
|
|
174
173
|
if (!(event !== null && event !== void 0 && event.currentTarget.contains(event.relatedTarget))) closeCalendar();
|
|
@@ -191,8 +190,8 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
191
190
|
placeholder: placeholder ? format.toUpperCase() : null,
|
|
192
191
|
action: {
|
|
193
192
|
onClick: openCalendar,
|
|
194
|
-
icon:
|
|
195
|
-
title: "
|
|
193
|
+
icon: "filled_calendar_today",
|
|
194
|
+
title: "Select date"
|
|
196
195
|
},
|
|
197
196
|
clearable: clearable,
|
|
198
197
|
disabled: disabled,
|
|
@@ -211,7 +210,7 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
211
210
|
align: "end",
|
|
212
211
|
"aria-modal": true,
|
|
213
212
|
onBlur: handleDatePickerOnBlur,
|
|
214
|
-
|
|
213
|
+
onKeyDown: handleDatePickerEscKeydown,
|
|
215
214
|
avoidCollisions: false
|
|
216
215
|
}, /*#__PURE__*/_react["default"].createElement(_DatePicker["default"], {
|
|
217
216
|
id: calendarId,
|
|
@@ -10,10 +10,23 @@ 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
|
+
// TODO: REMOVE
|
|
21
|
+
a11y: {
|
|
22
|
+
config: {
|
|
23
|
+
rules: [
|
|
24
|
+
...disabledRules.map((ruleId) => ({ id: ruleId, reviewOnFail: true })),
|
|
25
|
+
...preview?.parameters?.a11y?.config?.rules,
|
|
26
|
+
],
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
},
|
|
17
30
|
};
|
|
18
31
|
|
|
19
32
|
const opinionatedTheme = {
|
|
@@ -41,13 +54,7 @@ const DateInputChromatic = () => (
|
|
|
41
54
|
</ExampleContainer>
|
|
42
55
|
<ExampleContainer>
|
|
43
56
|
<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
|
-
/>
|
|
57
|
+
<DxcDateInput label="Example label" helperText="Help message" defaultValue="06-04-2007" clearable readOnly />
|
|
51
58
|
</ExampleContainer>
|
|
52
59
|
<ExampleContainer>
|
|
53
60
|
<Title title="Invalid" theme="light" level={4} />
|
|
@@ -220,7 +227,7 @@ const DatePickerButtonStates = () => {
|
|
|
220
227
|
export const DatePickerStates = DatePickerButtonStates.bind({});
|
|
221
228
|
DatePickerStates.play = async ({ canvasElement }) => {
|
|
222
229
|
const canvas = within(canvasElement);
|
|
223
|
-
const dateBtn = canvas.getAllByTitle("
|
|
230
|
+
const dateBtn = canvas.getAllByTitle("Select date")[0];
|
|
224
231
|
await userEvent.click(dateBtn);
|
|
225
232
|
};
|
|
226
233
|
|
|
@@ -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 = {
|
|
@@ -214,7 +214,7 @@ describe("DateInput component tests", function () {
|
|
|
214
214
|
_context6.next = 5;
|
|
215
215
|
return _userEvent["default"].click(calendarAction);
|
|
216
216
|
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();
|
|
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();
|
|
218
218
|
expect(getByText(d.format("MMMM YYYY"))).toBeTruthy();
|
|
219
219
|
case 7:
|
|
220
220
|
case "end":
|
|
@@ -286,7 +286,7 @@ describe("DateInput component tests", function () {
|
|
|
286
286
|
_context9.next = 11;
|
|
287
287
|
return _userEvent["default"].click(calendarAction);
|
|
288
288
|
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();
|
|
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();
|
|
290
290
|
expect(getByText(d.format("MMMM YYYY"))).toBeTruthy();
|
|
291
291
|
case 13:
|
|
292
292
|
case "end":
|
|
@@ -687,7 +687,7 @@ describe("DateInput component tests", function () {
|
|
|
687
687
|
});
|
|
688
688
|
});
|
|
689
689
|
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;
|
|
690
|
+
var _render22, getByRole, queryByText, calendarAction, d, options, input;
|
|
691
691
|
return _regenerator["default"].wrap(function _callee16$(_context16) {
|
|
692
692
|
while (1) switch (_context16.prev = _context16.next) {
|
|
693
693
|
case 0:
|
|
@@ -701,12 +701,13 @@ describe("DateInput component tests", function () {
|
|
|
701
701
|
month: "short",
|
|
702
702
|
day: "numeric"
|
|
703
703
|
};
|
|
704
|
-
|
|
705
|
-
|
|
704
|
+
input = getByRole("textbox");
|
|
705
|
+
expect(input.disabled).toBeTruthy();
|
|
706
|
+
_context16.next = 8;
|
|
706
707
|
return _userEvent["default"].click(calendarAction);
|
|
707
|
-
case 7:
|
|
708
|
-
expect(queryByText(d.toLocaleString("en-US", options))).toBeFalsy();
|
|
709
708
|
case 8:
|
|
709
|
+
expect(queryByText(d.toLocaleString("en-US", options))).toBeFalsy();
|
|
710
|
+
case 9:
|
|
710
711
|
case "end":
|
|
711
712
|
return _context16.stop();
|
|
712
713
|
}
|
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) {
|