@dxc-technology/halstack-react 0.0.0-f2bad31 → 0.0.0-f319e71
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 +2 -5
- package/HalstackContext.js +6 -6
- package/accordion/Accordion.accessibility.test.d.ts +1 -0
- package/accordion/Accordion.accessibility.test.js +4 -4
- package/accordion/Accordion.js +9 -10
- package/accordion/Accordion.stories.tsx +4 -14
- package/accordion/Accordion.test.d.ts +1 -0
- package/accordion/Accordion.test.js +3 -3
- package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
- package/accordion-group/AccordionGroup.accessibility.test.js +11 -17
- 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/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
- package/action-icon/ActionIcon.accessibility.test.js +4 -4
- package/action-icon/ActionIcon.test.d.ts +1 -0
- package/action-icon/ActionIcon.test.js +1 -1
- package/alert/Alert.accessibility.test.d.ts +1 -0
- package/alert/Alert.accessibility.test.js +6 -6
- package/alert/Alert.js +6 -3
- 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 +5 -5
- 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/box/Box.accessibility.test.d.ts +1 -0
- package/box/Box.accessibility.test.js +3 -3
- 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 +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 +18 -6
- package/bulleted-list/BulletedList.js +2 -2
- package/button/Button.accessibility.test.d.ts +1 -0
- package/button/Button.accessibility.test.js +6 -6
- package/button/Button.js +1 -1
- package/button/Button.stories.tsx +3 -3
- 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 +3 -3
- 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 +5 -5
- 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 +4 -4
- package/chip/Chip.js +3 -1
- package/chip/Chip.stories.tsx +1 -1
- package/chip/Chip.test.d.ts +1 -0
- package/chip/Chip.test.js +1 -1
- package/common/coreTokens.js +3 -3
- package/common/variables.d.ts +2 -5
- package/common/variables.js +68 -71
- package/container/Container.stories.tsx +3 -3
- package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
- package/contextual-menu/ContextualMenu.accessibility.test.js +15 -3
- package/contextual-menu/ContextualMenu.d.ts +3 -5
- package/contextual-menu/ContextualMenu.js +89 -52
- package/contextual-menu/ContextualMenu.stories.tsx +115 -74
- 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 +50 -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 +50 -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 +24 -11
- 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 +5 -5
- 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 +111 -48
- package/divider/Divider.accessibility.test.d.ts +1 -0
- package/divider/Divider.accessibility.test.js +2 -2
- 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 +12 -9
- package/dropdown/Dropdown.js +16 -15
- package/dropdown/Dropdown.stories.tsx +11 -11
- 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 +2 -1
- package/file-input/FileInput.accessibility.test.d.ts +1 -0
- package/file-input/FileInput.accessibility.test.js +30 -23
- 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 +13 -5
- package/footer/Footer.js +8 -6
- package/footer/Footer.stories.tsx +39 -1
- 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 +16 -6
- 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 +3 -3
- 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 +2 -2
- package/icon/Icon.js +1 -1
- package/icon/Icon.stories.tsx +1 -1
- package/image/Image.accessibility.test.d.ts +1 -0
- package/image/Image.accessibility.test.js +3 -3
- package/image/Image.js +1 -1
- package/layout/ApplicationLayout.js +9 -6
- package/layout/Icons.d.ts +0 -1
- package/layout/Icons.js +1 -9
- package/link/Link.accessibility.test.d.ts +1 -0
- package/link/Link.accessibility.test.js +8 -12
- 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 +2 -1
- package/main.js +8 -1
- package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
- package/nav-tabs/NavTabs.accessibility.test.js +8 -16
- 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 +9 -10
- 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 +25 -20
- package/paginator/Paginator.accessibility.test.d.ts +1 -0
- package/paginator/Paginator.accessibility.test.js +4 -5
- 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 +2 -2
- package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
- package/password-input/PasswordInput.accessibility.test.js +7 -8
- 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 +3 -3
- 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 +2 -2
- 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 +4 -4
- 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 +16 -6
- package/resultset-table/ResultsetTable.js +36 -11
- package/resultset-table/ResultsetTable.stories.tsx +14 -2
- package/resultset-table/ResultsetTable.test.d.ts +1 -0
- package/resultset-table/ResultsetTable.test.js +103 -34
- package/select/Listbox.js +24 -16
- package/select/Option.js +12 -10
- package/select/Select.accessibility.test.d.ts +1 -0
- package/select/Select.accessibility.test.js +18 -8
- package/select/Select.js +41 -29
- package/select/Select.stories.tsx +69 -111
- package/select/Select.test.d.ts +1 -0
- package/select/Select.test.js +371 -474
- package/select/types.d.ts +1 -1
- package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
- package/sidenav/Sidenav.accessibility.test.js +3 -3
- package/sidenav/Sidenav.js +16 -12
- package/sidenav/Sidenav.stories.tsx +5 -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 +5 -6
- 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 +6 -6
- package/spinner/Spinner.js +6 -2
- 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 +8 -8
- 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 +14 -5
- 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 +16 -6
- package/table/Table.js +1 -1
- package/table/Table.stories.tsx +13 -1
- package/table/Table.test.d.ts +1 -0
- package/table/Table.test.js +2 -4
- package/tabs/Tab.js +6 -5
- package/tabs/Tabs.accessibility.test.d.ts +1 -0
- package/tabs/Tabs.accessibility.test.js +3 -3
- 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 +4 -4
- 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 +14 -6
- package/text-input/TextInput.accessibility.test.d.ts +1 -0
- package/text-input/TextInput.accessibility.test.js +11 -12
- package/text-input/TextInput.js +29 -25
- package/text-input/TextInput.stories.tsx +19 -7
- 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 +7 -7
- 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 +5 -5
- 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 +12 -12
- package/typography/Typography.stories.tsx +1 -3
- package/useTheme.d.ts +2 -5
- package/utils/BaseTypography.js +1 -1
- package/utils/FocusLock.js +3 -2
- package/wizard/Wizard.accessibility.test.d.ts +1 -0
- package/wizard/Wizard.accessibility.test.js +3 -3
- 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
|
@@ -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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _ContextualMenu = require("./ContextualMenu");
|
|
13
|
+
var _ItemAction = _interopRequireDefault(require("./ItemAction"));
|
|
14
|
+
var _excluded = ["id", "onSelect", "selectedByDefault"];
|
|
15
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
16
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
17
|
+
var SingleItem = function SingleItem(_ref) {
|
|
18
|
+
var id = _ref.id,
|
|
19
|
+
onSelect = _ref.onSelect,
|
|
20
|
+
selectedByDefault = _ref.selectedByDefault,
|
|
21
|
+
props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
22
|
+
var _useContext = (0, _react.useContext)(_ContextualMenu.ContextualMenuContext),
|
|
23
|
+
selectedItemId = _useContext.selectedItemId,
|
|
24
|
+
setSelectedItemId = _useContext.setSelectedItemId;
|
|
25
|
+
var handleClick = function handleClick() {
|
|
26
|
+
setSelectedItemId(id);
|
|
27
|
+
onSelect === null || onSelect === void 0 ? void 0 : onSelect();
|
|
28
|
+
};
|
|
29
|
+
(0, _react.useEffect)(function () {
|
|
30
|
+
if (selectedItemId === -1 && selectedByDefault) setSelectedItemId(id);
|
|
31
|
+
}, [selectedItemId, selectedByDefault, id]);
|
|
32
|
+
return /*#__PURE__*/_react["default"].createElement(_ItemAction["default"], (0, _extends2["default"])({
|
|
33
|
+
"aria-selected": selectedItemId === -1 ? selectedByDefault : selectedItemId === id,
|
|
34
|
+
onClick: handleClick,
|
|
35
|
+
selected: selectedItemId === -1 ? selectedByDefault : selectedItemId === id
|
|
36
|
+
}, props));
|
|
37
|
+
};
|
|
38
|
+
var _default = exports["default"] = SingleItem;
|
|
@@ -1,22 +1,61 @@
|
|
|
1
|
-
|
|
2
|
-
import { NotificationProps, CommonProps, ContextualProps } from "../badge/types";
|
|
1
|
+
import React from "react";
|
|
3
2
|
type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
type CommonItemProps = {
|
|
4
|
+
badge?: React.ReactElement;
|
|
6
5
|
icon?: string | SVG;
|
|
7
|
-
|
|
6
|
+
label: string;
|
|
7
|
+
};
|
|
8
|
+
type Item = CommonItemProps & {
|
|
8
9
|
onSelect?: () => void;
|
|
10
|
+
selectedByDefault?: boolean;
|
|
11
|
+
};
|
|
12
|
+
type GroupItem = CommonItemProps & {
|
|
13
|
+
items: (Item | GroupItem)[];
|
|
9
14
|
};
|
|
10
|
-
|
|
15
|
+
type Section = {
|
|
16
|
+
items: (Item | GroupItem)[];
|
|
11
17
|
title?: string;
|
|
12
|
-
items: Item[];
|
|
13
18
|
};
|
|
14
19
|
type Props = {
|
|
15
|
-
|
|
16
|
-
|
|
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;
|
|
17
33
|
};
|
|
18
|
-
|
|
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> & {
|
|
49
|
+
badge?: Item["badge"];
|
|
50
|
+
collapseIcon?: React.ReactNode;
|
|
51
|
+
depthLevel: number;
|
|
52
|
+
icon?: Item["icon"];
|
|
53
|
+
label: Item["label"];
|
|
19
54
|
selected: boolean;
|
|
20
55
|
};
|
|
21
|
-
|
|
56
|
+
type ContextualMenuContextProps = {
|
|
57
|
+
selectedItemId: number;
|
|
58
|
+
setSelectedItemId: React.Dispatch<React.SetStateAction<number>>;
|
|
59
|
+
};
|
|
22
60
|
export default Props;
|
|
61
|
+
export type { ContextualMenuContextProps, GroupItem, GroupItemProps, GroupItemWithId, Item, ItemActionProps, ItemWithId, MenuItemProps, Section, SectionWithId, SingleItemProps, };
|
package/date-input/Calendar.js
CHANGED
|
@@ -11,10 +11,9 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
13
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
14
|
-
var
|
|
15
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
14
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
16
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); }
|
|
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 &&
|
|
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; }
|
|
18
17
|
var getDays = function getDays(innerDate) {
|
|
19
18
|
var monthDayCells = [];
|
|
20
19
|
var lastMonthNumberOfDays = innerDate.set("month", innerDate.get("month") - 1).endOf("month");
|
|
@@ -49,12 +48,20 @@ var getDateToFocus = function getDateToFocus(selectedDate, innerDate, today) {
|
|
|
49
48
|
var isDaySelected = function isDaySelected(date, selectedDate) {
|
|
50
49
|
return (selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate.get("month")) === date.month && (selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate.get("year")) === date.year && (selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate.get("date")) === date.day;
|
|
51
50
|
};
|
|
51
|
+
var divideDaysIntoWeeks = function divideDaysIntoWeeks(data, weekSize) {
|
|
52
|
+
return Array.from({
|
|
53
|
+
length: Math.ceil(data.length / weekSize)
|
|
54
|
+
}, function (_, rowIndex) {
|
|
55
|
+
return data.slice(rowIndex * weekSize, (rowIndex + 1) * weekSize);
|
|
56
|
+
});
|
|
57
|
+
};
|
|
52
58
|
var Calendar = function Calendar(_ref) {
|
|
53
59
|
var selectedDate = _ref.selectedDate,
|
|
54
60
|
innerDate = _ref.innerDate,
|
|
55
61
|
onInnerDateChange = _ref.onInnerDateChange,
|
|
56
62
|
onDaySelect = _ref.onDaySelect,
|
|
57
63
|
today = _ref.today;
|
|
64
|
+
var id = (0, _react.useId)();
|
|
58
65
|
var _useState = (0, _react.useState)(getDateToFocus(selectedDate, innerDate, today)),
|
|
59
66
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
60
67
|
dateToFocus = _useState2[0],
|
|
@@ -88,7 +95,7 @@ var Calendar = function Calendar(_ref) {
|
|
|
88
95
|
(0, _react.useEffect)(function () {
|
|
89
96
|
if (isFocusable) {
|
|
90
97
|
var _document$getElementB;
|
|
91
|
-
(_document$getElementB = document.getElementById("
|
|
98
|
+
(_document$getElementB = document.getElementById("".concat(id, "_day_").concat(dateToFocus.get("date"), "_month").concat(dateToFocus.get("month")))) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.focus();
|
|
92
99
|
setIsFocusable(false);
|
|
93
100
|
}
|
|
94
101
|
}, [dateToFocus, isFocusable]);
|
|
@@ -146,33 +153,40 @@ var Calendar = function Calendar(_ref) {
|
|
|
146
153
|
break;
|
|
147
154
|
}
|
|
148
155
|
};
|
|
149
|
-
return /*#__PURE__*/_react["default"].createElement(CalendarContainer,
|
|
150
|
-
|
|
151
|
-
|
|
156
|
+
return /*#__PURE__*/_react["default"].createElement(CalendarContainer, {
|
|
157
|
+
role: "grid"
|
|
158
|
+
}, /*#__PURE__*/_react["default"].createElement(CalendarHeaderRow, {
|
|
159
|
+
role: "row"
|
|
152
160
|
}, weekDays.map(function (weekDay) {
|
|
153
161
|
return /*#__PURE__*/_react["default"].createElement(WeekHeaderCell, {
|
|
154
|
-
key: weekDay
|
|
162
|
+
key: weekDay,
|
|
163
|
+
role: "columnheader"
|
|
155
164
|
}, weekDay);
|
|
156
|
-
})), /*#__PURE__*/_react["default"].createElement(
|
|
157
|
-
onBlur: handleOnBlur
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
165
|
+
})), /*#__PURE__*/_react["default"].createElement(MonthContainer, {
|
|
166
|
+
onBlur: handleOnBlur,
|
|
167
|
+
role: "rowgroup"
|
|
168
|
+
}, divideDaysIntoWeeks(dayCells, weekDays.length).map(function (week, rowIndex) {
|
|
169
|
+
return /*#__PURE__*/_react["default"].createElement(WeekContainer, {
|
|
170
|
+
key: "".concat(id, "_week_").concat(rowIndex),
|
|
171
|
+
role: "row"
|
|
172
|
+
}, week.map(function (date, index) {
|
|
173
|
+
return /*#__PURE__*/_react["default"].createElement(DayCellButton, {
|
|
174
|
+
id: "".concat(id, "_day_").concat(date.day, "_month").concat(date.month),
|
|
175
|
+
role: "gridcell",
|
|
176
|
+
"aria-selected": isDaySelected(date, selectedDate),
|
|
177
|
+
onKeyDown: function onKeyDown(event) {
|
|
178
|
+
return handleDayKeyboardEvent(event, date);
|
|
179
|
+
},
|
|
180
|
+
onClick: function onClick() {
|
|
181
|
+
return onDateClickHandler(date);
|
|
182
|
+
},
|
|
183
|
+
selected: isDaySelected(date, selectedDate),
|
|
184
|
+
actualMonth: date.month === innerDate.get("month"),
|
|
185
|
+
autoFocus: date.day === dateToFocus.get("date") && date.month === dateToFocus.get("month"),
|
|
186
|
+
tabIndex: date.day === dateToFocus.get("date") && date.month === dateToFocus.get("month") ? 0 : -1,
|
|
187
|
+
isCurrentDay: today.get("date") === date.day && today.get("month") === innerDate.get("month") && today.get("month") === date.month && today.get("year") === innerDate.get("year")
|
|
188
|
+
}, date.day);
|
|
189
|
+
}));
|
|
176
190
|
})));
|
|
177
191
|
};
|
|
178
192
|
var CalendarContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: 0px 8px 8px 8px;\n width: 292px;\n font-family: ", ";\n font-size: ", ";\n color: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
@@ -184,9 +198,11 @@ var CalendarContainer = _styledComponents["default"].div(_templateObject || (_te
|
|
|
184
198
|
}, function (props) {
|
|
185
199
|
return props.theme.dateInput.pickerFontWeight;
|
|
186
200
|
});
|
|
187
|
-
var
|
|
188
|
-
var
|
|
189
|
-
var
|
|
201
|
+
var CalendarHeaderRow = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n"])));
|
|
202
|
+
var WeekHeaderCell = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n"])));
|
|
203
|
+
var MonthContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n gap: 4px;\n flex-direction: column;\n justify-content: space-between;\n"])));
|
|
204
|
+
var WeekContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n gap: 4px;\n justify-content: space-between;\n"])));
|
|
205
|
+
var DayCellButton = _styledComponents["default"].button(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n width: 36px;\n height: 36px;\n padding: 0;\n border: none;\n border-radius: 50%;\n cursor: pointer;\n font-family: ", ";\n font-size: ", ";\n color: ", ";\n font-weight: ", ";\n\n &:focus {\n outline: ", " solid 2px;\n }\n &:hover {\n background-color: ", ";\n color: ", ";\n }\n &:active {\n background-color: ", ";\n color: ", ";\n }\n\n ", "\n background-color: ", ";\n color: ", ";\n"])), function (props) {
|
|
190
206
|
return props.theme.dateInput.pickerFontFamily;
|
|
191
207
|
}, function (props) {
|
|
192
208
|
return props.theme.dateInput.pickerFontSize;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -7,8 +7,9 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
|
|
|
7
7
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _react2 = require("@testing-library/react");
|
|
10
|
-
var
|
|
11
|
-
var _DateInput = _interopRequireDefault(require("./DateInput
|
|
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");
|
|
12
13
|
// Mocking DOMRect for Radix Primitive Popover
|
|
13
14
|
global.globalThis = global;
|
|
14
15
|
global.DOMRect = {
|
|
@@ -19,7 +20,9 @@ global.DOMRect = {
|
|
|
19
20
|
bottom: 0,
|
|
20
21
|
right: 0,
|
|
21
22
|
width: 0,
|
|
22
|
-
height: 0
|
|
23
|
+
height: 0,
|
|
24
|
+
x: 0,
|
|
25
|
+
y: 0
|
|
23
26
|
};
|
|
24
27
|
}
|
|
25
28
|
};
|
|
@@ -27,7 +30,7 @@ global.ResizeObserver = /*#__PURE__*/function () {
|
|
|
27
30
|
function ResizeObserver() {
|
|
28
31
|
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
29
32
|
}
|
|
30
|
-
(0, _createClass2["default"])(ResizeObserver, [{
|
|
33
|
+
return (0, _createClass2["default"])(ResizeObserver, [{
|
|
31
34
|
key: "observe",
|
|
32
35
|
value: function observe() {}
|
|
33
36
|
}, {
|
|
@@ -37,8 +40,18 @@ global.ResizeObserver = /*#__PURE__*/function () {
|
|
|
37
40
|
key: "disconnect",
|
|
38
41
|
value: function disconnect() {}
|
|
39
42
|
}]);
|
|
40
|
-
return ResizeObserver;
|
|
41
43
|
}();
|
|
44
|
+
|
|
45
|
+
// TODO: REMOVE
|
|
46
|
+
|
|
47
|
+
var disabledRules = {
|
|
48
|
+
rules: _disabledRules.disabledRules.reduce(function (rulesObj, rule) {
|
|
49
|
+
rulesObj[rule] = {
|
|
50
|
+
enabled: false
|
|
51
|
+
};
|
|
52
|
+
return rulesObj;
|
|
53
|
+
}, {})
|
|
54
|
+
};
|
|
42
55
|
describe("DateInput component accessibility tests", function () {
|
|
43
56
|
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
44
57
|
var _render, baseElement, results;
|
|
@@ -58,7 +71,7 @@ describe("DateInput component accessibility tests", function () {
|
|
|
58
71
|
clearable: true
|
|
59
72
|
})), baseElement = _render.baseElement;
|
|
60
73
|
_context.next = 3;
|
|
61
|
-
return (0,
|
|
74
|
+
return (0, _axeHelper.axe)(baseElement, disabledRules);
|
|
62
75
|
case 3:
|
|
63
76
|
results = _context.sent;
|
|
64
77
|
expect(results).toHaveNoViolations();
|
|
@@ -86,7 +99,7 @@ describe("DateInput component accessibility tests", function () {
|
|
|
86
99
|
autocomplete: "on"
|
|
87
100
|
})), baseElement = _render2.baseElement;
|
|
88
101
|
_context2.next = 3;
|
|
89
|
-
return (0,
|
|
102
|
+
return (0, _axeHelper.axe)(baseElement, disabledRules);
|
|
90
103
|
case 3:
|
|
91
104
|
results = _context2.sent;
|
|
92
105
|
expect(results).toHaveNoViolations();
|
|
@@ -114,7 +127,7 @@ describe("DateInput component accessibility tests", function () {
|
|
|
114
127
|
optional: true
|
|
115
128
|
})), baseElement = _render3.baseElement;
|
|
116
129
|
_context3.next = 3;
|
|
117
|
-
return (0,
|
|
130
|
+
return (0, _axeHelper.axe)(baseElement, disabledRules);
|
|
118
131
|
case 3:
|
|
119
132
|
results = _context3.sent;
|
|
120
133
|
expect(results).toHaveNoViolations();
|
|
@@ -143,7 +156,7 @@ describe("DateInput component accessibility tests", function () {
|
|
|
143
156
|
clearable: true
|
|
144
157
|
})), baseElement = _render4.baseElement;
|
|
145
158
|
_context4.next = 3;
|
|
146
|
-
return (0,
|
|
159
|
+
return (0, _axeHelper.axe)(baseElement, disabledRules);
|
|
147
160
|
case 3:
|
|
148
161
|
results = _context4.sent;
|
|
149
162
|
expect(results).toHaveNoViolations();
|
|
@@ -173,7 +186,7 @@ describe("DateInput component accessibility tests", function () {
|
|
|
173
186
|
readOnly: true
|
|
174
187
|
})), baseElement = _render5.baseElement;
|
|
175
188
|
_context5.next = 3;
|
|
176
|
-
return (0,
|
|
189
|
+
return (0, _axeHelper.axe)(baseElement, disabledRules);
|
|
177
190
|
case 3:
|
|
178
191
|
results = _context5.sent;
|
|
179
192
|
expect(results).toHaveNoViolations();
|
|
@@ -203,7 +216,7 @@ describe("DateInput component accessibility tests", function () {
|
|
|
203
216
|
disabled: true
|
|
204
217
|
})), baseElement = _render6.baseElement;
|
|
205
218
|
_context6.next = 3;
|
|
206
|
-
return (0,
|
|
219
|
+
return (0, _axeHelper.axe)(baseElement, disabledRules);
|
|
207
220
|
case 3:
|
|
208
221
|
results = _context6.sent;
|
|
209
222
|
expect(results).toHaveNoViolations();
|
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 {};
|