@dxc-technology/halstack-react 11.0.0 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +1 -10
- package/BackgroundColorContext.js +3 -8
- package/HalstackContext.d.ts +32 -142
- package/HalstackContext.js +2 -2
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.js +13 -27
- package/accordion/Accordion.stories.tsx +7 -49
- package/accordion/types.d.ts +1 -1
- package/accordion-group/AccordionGroup.accessibility.test.js +88 -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/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.js +63 -0
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +48 -0
- package/action-icon/ActionIcon.stories.tsx +41 -0
- package/action-icon/ActionIcon.test.js +64 -0
- package/action-icon/types.d.ts +26 -0
- package/action-icon/types.js +5 -0
- package/alert/Alert.accessibility.test.js +95 -0
- package/alert/Alert.js +21 -75
- 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.js +30 -0
- package/badge/types.d.ts +52 -3
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.js +2 -5
- package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
- package/breadcrumbs/Breadcrumbs.d.ts +4 -0
- package/breadcrumbs/Breadcrumbs.js +79 -0
- package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
- package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.test.js +169 -0
- package/breadcrumbs/Item.d.ts +4 -0
- package/breadcrumbs/Item.js +52 -0
- package/breadcrumbs/dropdownTheme.d.ts +53 -0
- package/breadcrumbs/dropdownTheme.js +62 -0
- package/breadcrumbs/types.d.ts +16 -0
- package/breadcrumbs/types.js +5 -0
- package/bulleted-list/BulletedList.accessibility.test.js +119 -0
- package/bulleted-list/BulletedList.js +16 -23
- package/bulleted-list/BulletedList.stories.tsx +1 -2
- 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.js +3 -1
- package/button/types.d.ts +1 -1
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.js +3 -2
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.js +31 -36
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +11 -6
- package/chip/Chip.stories.tsx +10 -25
- package/chip/Chip.test.js +4 -4
- package/common/coreTokens.d.ts +105 -14
- package/common/coreTokens.js +40 -22
- package/common/variables.d.ts +31 -138
- package/common/variables.js +103 -210
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/container/types.js +5 -0
- package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
- package/contextual-menu/ContextualMenu.d.ts +5 -0
- package/contextual-menu/ContextualMenu.js +88 -0
- package/contextual-menu/ContextualMenu.stories.tsx +232 -0
- package/contextual-menu/ContextualMenu.test.js +205 -0
- package/contextual-menu/GroupItem.d.ts +4 -0
- package/contextual-menu/GroupItem.js +67 -0
- package/contextual-menu/ItemAction.d.ts +4 -0
- package/contextual-menu/ItemAction.js +51 -0
- package/contextual-menu/MenuItem.d.ts +4 -0
- package/contextual-menu/MenuItem.js +29 -0
- package/contextual-menu/SingleItem.d.ts +4 -0
- package/contextual-menu/SingleItem.js +38 -0
- package/contextual-menu/types.d.ts +58 -0
- package/contextual-menu/types.js +5 -0
- package/date-input/Calendar.js +1 -1
- package/date-input/DateInput.accessibility.test.js +228 -0
- package/date-input/DateInput.js +4 -5
- package/date-input/DateInput.stories.tsx +15 -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.js +69 -0
- package/dialog/Dialog.js +11 -25
- package/dialog/Dialog.stories.tsx +176 -0
- package/dialog/Dialog.test.js +1 -1
- package/divider/Divider.accessibility.test.js +33 -0
- package/divider/Divider.d.ts +4 -0
- package/divider/Divider.js +36 -0
- package/divider/Divider.stories.tsx +223 -0
- package/divider/Divider.test.js +38 -0
- package/divider/types.d.ts +21 -0
- package/divider/types.js +5 -0
- package/dropdown/Dropdown.accessibility.test.js +180 -0
- package/dropdown/Dropdown.js +26 -39
- package/dropdown/Dropdown.stories.tsx +15 -26
- package/dropdown/Dropdown.test.js +18 -18
- 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.js +160 -0
- package/file-input/FileInput.js +126 -141
- package/file-input/FileInput.test.js +84 -110
- package/file-input/FileItem.js +18 -28
- package/file-input/types.d.ts +1 -1
- 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/Icons.d.ts +1 -0
- package/footer/Icons.js +52 -16
- package/footer/types.d.ts +8 -8
- package/header/Header.accessibility.test.js +93 -0
- package/header/Header.js +20 -41
- package/header/Header.stories.tsx +16 -0
- package/header/Icons.js +1 -6
- package/header/types.d.ts +4 -3
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +1 -1
- package/icon/Icon.accessibility.test.js +30 -0
- package/icon/Icon.d.ts +4 -0
- package/icon/Icon.js +33 -0
- package/icon/Icon.stories.tsx +28 -0
- package/icon/types.d.ts +4 -0
- package/icon/types.js +5 -0
- package/image/Image.accessibility.test.js +56 -0
- package/image/Image.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.js +108 -0
- package/link/Link.js +8 -6
- package/link/Link.stories.tsx +4 -4
- package/link/types.d.ts +1 -1
- package/main.d.ts +7 -3
- package/main.js +37 -9
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.d.ts +1 -2
- package/nav-tabs/NavTabs.js +10 -7
- package/nav-tabs/NavTabs.stories.tsx +29 -24
- package/nav-tabs/NavTabs.test.js +11 -9
- 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.js +228 -0
- package/number-input/NumberInput.d.ts +0 -7
- package/number-input/NumberInput.js +24 -5
- package/number-input/NumberInput.test.js +165 -6
- 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 +16 -14
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +14 -14
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/paragraph/Paragraph.js +2 -7
- 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.js +4 -4
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +11 -15
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/quick-nav/QuickNav.js +1 -1
- package/radio-group/Radio.js +1 -1
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +3 -2
- 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.js +76 -0
- package/resultset-table/types.d.ts +40 -7
- package/select/Listbox.js +28 -16
- package/select/Option.js +19 -10
- package/select/Select.accessibility.test.js +228 -0
- package/select/Select.js +57 -37
- package/select/Select.stories.tsx +59 -111
- package/select/Select.test.js +387 -456
- package/select/types.d.ts +3 -3
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.js +21 -19
- package/sidenav/Sidenav.stories.tsx +4 -9
- package/sidenav/types.d.ts +2 -2
- package/slider/Slider.accessibility.test.js +104 -0
- package/slider/Slider.js +40 -48
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.js +12 -16
- package/status-light/StatusLight.accessibility.test.js +157 -0
- package/status-light/StatusLight.d.ts +4 -0
- package/status-light/StatusLight.js +51 -0
- package/status-light/StatusLight.stories.tsx +74 -0
- package/status-light/StatusLight.test.js +25 -0
- package/status-light/types.d.ts +17 -0
- package/status-light/types.js +5 -0
- package/switch/Switch.accessibility.test.js +98 -0
- package/switch/Switch.js +24 -29
- package/switch/Switch.stories.tsx +12 -0
- package/table/DropdownTheme.js +62 -0
- package/table/Table.accessibility.test.js +93 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +74 -12
- package/table/Table.stories.tsx +309 -2
- package/table/Table.test.js +92 -0
- package/table/types.d.ts +28 -0
- package/tabs/Tab.js +13 -9
- 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.js +19 -37
- package/tabs/types.d.ts +2 -2
- 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.js +4 -12
- 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.js +321 -0
- package/text-input/TextInput.js +84 -105
- package/text-input/TextInput.stories.tsx +17 -8
- package/text-input/TextInput.test.js +96 -79
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +12 -17
- package/textarea/Textarea.stories.tsx +0 -1
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.js +6 -8
- package/toggle-group/ToggleGroup.stories.tsx +3 -3
- package/toggle-group/types.d.ts +2 -2
- package/typography/Typography.accessibility.test.js +339 -0
- package/useTheme.d.ts +31 -138
- package/utils/BaseTypography.js +1 -1
- package/utils/FocusLock.js +16 -6
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/wizard/Wizard.js +14 -25
- package/wizard/Wizard.stories.tsx +19 -0
- 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,228 @@
|
|
|
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.tsx"));
|
|
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
|
+
};
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
global.ResizeObserver = /*#__PURE__*/function () {
|
|
39
|
+
function ResizeObserver() {
|
|
40
|
+
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
41
|
+
}
|
|
42
|
+
(0, _createClass2["default"])(ResizeObserver, [{
|
|
43
|
+
key: "observe",
|
|
44
|
+
value: function observe() {}
|
|
45
|
+
}, {
|
|
46
|
+
key: "unobserve",
|
|
47
|
+
value: function unobserve() {}
|
|
48
|
+
}, {
|
|
49
|
+
key: "disconnect",
|
|
50
|
+
value: function disconnect() {}
|
|
51
|
+
}]);
|
|
52
|
+
return ResizeObserver;
|
|
53
|
+
}();
|
|
54
|
+
describe("DateInput component accessibility tests", function () {
|
|
55
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
56
|
+
var _render, baseElement, results;
|
|
57
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
58
|
+
while (1) switch (_context.prev = _context.next) {
|
|
59
|
+
case 0:
|
|
60
|
+
// baseElement is needed when using React Portals
|
|
61
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
62
|
+
label: "Example label",
|
|
63
|
+
helperText: "Help message",
|
|
64
|
+
defaultValue: "06-04-2007",
|
|
65
|
+
format: "dd/mm/yy",
|
|
66
|
+
name: "DateInput Name",
|
|
67
|
+
margin: "medium",
|
|
68
|
+
size: "medium",
|
|
69
|
+
placeholder: true,
|
|
70
|
+
clearable: true
|
|
71
|
+
})), baseElement = _render.baseElement;
|
|
72
|
+
_context.next = 3;
|
|
73
|
+
return (0, _axeHelper.axe)(baseElement, disabledRules);
|
|
74
|
+
case 3:
|
|
75
|
+
results = _context.sent;
|
|
76
|
+
expect(results).toHaveNoViolations();
|
|
77
|
+
case 5:
|
|
78
|
+
case "end":
|
|
79
|
+
return _context.stop();
|
|
80
|
+
}
|
|
81
|
+
}, _callee);
|
|
82
|
+
})));
|
|
83
|
+
it("Should not have basic accessibility issues for autocomplete mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
84
|
+
var _render2, baseElement, results;
|
|
85
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
86
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
87
|
+
case 0:
|
|
88
|
+
// baseElement is needed when using React Portals
|
|
89
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
90
|
+
label: "Example label",
|
|
91
|
+
helperText: "Help message",
|
|
92
|
+
defaultValue: "06-04-2007",
|
|
93
|
+
format: "dd/mm/yy",
|
|
94
|
+
name: "DateInput Name",
|
|
95
|
+
margin: "medium",
|
|
96
|
+
size: "medium",
|
|
97
|
+
placeholder: true,
|
|
98
|
+
autocomplete: "on"
|
|
99
|
+
})), baseElement = _render2.baseElement;
|
|
100
|
+
_context2.next = 3;
|
|
101
|
+
return (0, _axeHelper.axe)(baseElement, disabledRules);
|
|
102
|
+
case 3:
|
|
103
|
+
results = _context2.sent;
|
|
104
|
+
expect(results).toHaveNoViolations();
|
|
105
|
+
case 5:
|
|
106
|
+
case "end":
|
|
107
|
+
return _context2.stop();
|
|
108
|
+
}
|
|
109
|
+
}, _callee2);
|
|
110
|
+
})));
|
|
111
|
+
it("Should not have basic accessibility issues for optional mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
112
|
+
var _render3, baseElement, results;
|
|
113
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
114
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
115
|
+
case 0:
|
|
116
|
+
// baseElement is needed when using React Portals
|
|
117
|
+
_render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
118
|
+
label: "Example label",
|
|
119
|
+
helperText: "Help message",
|
|
120
|
+
defaultValue: "06-04-2007",
|
|
121
|
+
format: "dd/mm/yy",
|
|
122
|
+
name: "DateInput Name",
|
|
123
|
+
margin: "medium",
|
|
124
|
+
size: "medium",
|
|
125
|
+
placeholder: true,
|
|
126
|
+
optional: true
|
|
127
|
+
})), baseElement = _render3.baseElement;
|
|
128
|
+
_context3.next = 3;
|
|
129
|
+
return (0, _axeHelper.axe)(baseElement, disabledRules);
|
|
130
|
+
case 3:
|
|
131
|
+
results = _context3.sent;
|
|
132
|
+
expect(results).toHaveNoViolations();
|
|
133
|
+
case 5:
|
|
134
|
+
case "end":
|
|
135
|
+
return _context3.stop();
|
|
136
|
+
}
|
|
137
|
+
}, _callee3);
|
|
138
|
+
})));
|
|
139
|
+
it("Should not have basic accessibility issues for error mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
140
|
+
var _render4, baseElement, results;
|
|
141
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
142
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
143
|
+
case 0:
|
|
144
|
+
// baseElement is needed when using React Portals
|
|
145
|
+
_render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
146
|
+
label: "Example label",
|
|
147
|
+
helperText: "Help message",
|
|
148
|
+
defaultValue: "06-04-2007",
|
|
149
|
+
format: "dd/mm/yy",
|
|
150
|
+
name: "DateInput Name",
|
|
151
|
+
margin: "medium",
|
|
152
|
+
error: "Error message.",
|
|
153
|
+
size: "medium",
|
|
154
|
+
placeholder: true,
|
|
155
|
+
clearable: true
|
|
156
|
+
})), baseElement = _render4.baseElement;
|
|
157
|
+
_context4.next = 3;
|
|
158
|
+
return (0, _axeHelper.axe)(baseElement, disabledRules);
|
|
159
|
+
case 3:
|
|
160
|
+
results = _context4.sent;
|
|
161
|
+
expect(results).toHaveNoViolations();
|
|
162
|
+
case 5:
|
|
163
|
+
case "end":
|
|
164
|
+
return _context4.stop();
|
|
165
|
+
}
|
|
166
|
+
}, _callee4);
|
|
167
|
+
})));
|
|
168
|
+
it("Should not have basic accessibility issues for read-only mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
|
169
|
+
var _render5, baseElement, results;
|
|
170
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
171
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
172
|
+
case 0:
|
|
173
|
+
// baseElement is needed when using React Portals
|
|
174
|
+
_render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
175
|
+
label: "Example label",
|
|
176
|
+
helperText: "Help message",
|
|
177
|
+
defaultValue: "06-04-2007",
|
|
178
|
+
format: "dd/mm/yy",
|
|
179
|
+
name: "DateInput Name",
|
|
180
|
+
margin: "medium",
|
|
181
|
+
error: "Error message.",
|
|
182
|
+
size: "medium",
|
|
183
|
+
placeholder: true,
|
|
184
|
+
clearable: true,
|
|
185
|
+
readOnly: true
|
|
186
|
+
})), baseElement = _render5.baseElement;
|
|
187
|
+
_context5.next = 3;
|
|
188
|
+
return (0, _axeHelper.axe)(baseElement, disabledRules);
|
|
189
|
+
case 3:
|
|
190
|
+
results = _context5.sent;
|
|
191
|
+
expect(results).toHaveNoViolations();
|
|
192
|
+
case 5:
|
|
193
|
+
case "end":
|
|
194
|
+
return _context5.stop();
|
|
195
|
+
}
|
|
196
|
+
}, _callee5);
|
|
197
|
+
})));
|
|
198
|
+
it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
|
|
199
|
+
var _render6, baseElement, results;
|
|
200
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
201
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
202
|
+
case 0:
|
|
203
|
+
// baseElement is needed when using React Portals
|
|
204
|
+
_render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
205
|
+
label: "Example label",
|
|
206
|
+
helperText: "Help message",
|
|
207
|
+
defaultValue: "06-04-2007",
|
|
208
|
+
format: "dd/mm/yy",
|
|
209
|
+
name: "DateInput Name",
|
|
210
|
+
margin: "medium",
|
|
211
|
+
error: "Error message.",
|
|
212
|
+
size: "medium",
|
|
213
|
+
placeholder: true,
|
|
214
|
+
clearable: true,
|
|
215
|
+
disabled: true
|
|
216
|
+
})), baseElement = _render6.baseElement;
|
|
217
|
+
_context6.next = 3;
|
|
218
|
+
return (0, _axeHelper.axe)(baseElement, disabledRules);
|
|
219
|
+
case 3:
|
|
220
|
+
results = _context6.sent;
|
|
221
|
+
expect(results).toHaveNoViolations();
|
|
222
|
+
case 5:
|
|
223
|
+
case "end":
|
|
224
|
+
return _context6.stop();
|
|
225
|
+
}
|
|
226
|
+
}, _callee6);
|
|
227
|
+
})));
|
|
228
|
+
});
|
package/date-input/DateInput.js
CHANGED
|
@@ -19,10 +19,9 @@ 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
21
|
var _uuid = require("uuid");
|
|
22
|
-
var _Icons = require("./Icons");
|
|
23
22
|
var _templateObject;
|
|
24
23
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
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 &&
|
|
24
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.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
25
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
27
26
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
28
27
|
_dayjs["default"].extend(_customParseFormat["default"]);
|
|
@@ -96,7 +95,7 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
96
95
|
}, [value, format, lastValidYear]);
|
|
97
96
|
(0, _react.useEffect)(function () {
|
|
98
97
|
if (!disabled) {
|
|
99
|
-
var actionButtonRef = dateRef === null || dateRef === void 0 ? void 0 : dateRef.current.querySelector("[title='
|
|
98
|
+
var actionButtonRef = dateRef === null || dateRef === void 0 ? void 0 : dateRef.current.querySelector("[title='Select date']");
|
|
100
99
|
actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-haspopup", true);
|
|
101
100
|
actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("role", "combobox");
|
|
102
101
|
actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-expanded", isOpen);
|
|
@@ -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,
|
|
@@ -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
|
|
package/date-input/DatePicker.js
CHANGED
|
@@ -14,10 +14,10 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
|
14
14
|
var _Calendar = _interopRequireDefault(require("./Calendar"));
|
|
15
15
|
var _YearPicker = _interopRequireDefault(require("./YearPicker"));
|
|
16
16
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
17
|
-
var
|
|
17
|
+
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
18
18
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
19
19
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
20
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
20
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
21
21
|
var today = (0, _dayjs["default"])();
|
|
22
22
|
var DxcDatePicker = function DxcDatePicker(_ref) {
|
|
23
23
|
var date = _ref.date,
|
|
@@ -52,20 +52,26 @@ var DxcDatePicker = function DxcDatePicker(_ref) {
|
|
|
52
52
|
onClick: function onClick() {
|
|
53
53
|
return handleMonthChange(innerDate.set("month", innerDate.get("month") - 1));
|
|
54
54
|
}
|
|
55
|
-
},
|
|
55
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
56
|
+
icon: "keyboard_arrow_left"
|
|
57
|
+
})), /*#__PURE__*/_react["default"].createElement(HeaderYearTrigger, {
|
|
56
58
|
"aria-live": "polite",
|
|
57
59
|
onClick: function onClick() {
|
|
58
60
|
return setContent(function (content) {
|
|
59
61
|
return content === "yearPicker" ? "calendar" : "yearPicker";
|
|
60
62
|
});
|
|
61
63
|
}
|
|
62
|
-
}, /*#__PURE__*/_react["default"].createElement(HeaderYearTriggerLabel, null, translatedLabels.calendar.months[innerDate.get("month")], " ", innerDate.format("YYYY")),
|
|
64
|
+
}, /*#__PURE__*/_react["default"].createElement(HeaderYearTriggerLabel, null, translatedLabels.calendar.months[innerDate.get("month")], " ", innerDate.format("YYYY")), /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
65
|
+
icon: content === "yearPicker" ? "arrow_drop_up" : "arrow_drop_down"
|
|
66
|
+
})), /*#__PURE__*/_react["default"].createElement(HeaderButton, {
|
|
63
67
|
"aria-label": translatedLabels.calendar.nextMonthTitle,
|
|
64
68
|
title: translatedLabels.calendar.nextMonthTitle,
|
|
65
69
|
onClick: function onClick() {
|
|
66
70
|
return handleMonthChange(innerDate.set("month", innerDate.get("month") + 1));
|
|
67
71
|
}
|
|
68
|
-
},
|
|
72
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
73
|
+
icon: "keyboard_arrow_right"
|
|
74
|
+
}))), content === "calendar" && /*#__PURE__*/_react["default"].createElement(_Calendar["default"], {
|
|
69
75
|
innerDate: innerDate,
|
|
70
76
|
selectedDate: selectedDate,
|
|
71
77
|
onInnerDateChange: setInnerDate,
|
|
@@ -91,7 +97,7 @@ var DatePicker = _styledComponents["default"].div(_templateObject || (_templateO
|
|
|
91
97
|
return props.theme.dateInput.pickerFontWeight;
|
|
92
98
|
});
|
|
93
99
|
var PickerHeader = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n gap: 8px;\n align-items: center;\n justify-content: space-between;\n padding: 0px 16px;\n"])));
|
|
94
|
-
var HeaderButton = _styledComponents["default"].button(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0px;\n color: ", ";\n background-color: ", ";\n border-radius: 4px;\n border: none;\n cursor: pointer;\n\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n &:focus {\n outline: ", ";\n }\n &:active {\n color: ", ";\n background-color: ", ";\n }\n
|
|
100
|
+
var HeaderButton = _styledComponents["default"].button(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0px;\n color: ", ";\n background-color: ", ";\n border-radius: 4px;\n border: none;\n cursor: pointer;\n\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n &:focus {\n outline: ", ";\n }\n &:active {\n color: ", ";\n background-color: ", ";\n }\n\n span::before {\n font-size: 24px;\n }\n"])), function (props) {
|
|
95
101
|
return props.theme.dateInput.pickerHeaderFontColor;
|
|
96
102
|
}, function (props) {
|
|
97
103
|
return props.theme.dateInput.pickerHeaderBackgroundColor;
|
|
@@ -106,7 +112,7 @@ var HeaderButton = _styledComponents["default"].button(_templateObject3 || (_tem
|
|
|
106
112
|
}, function (props) {
|
|
107
113
|
return props.theme.dateInput.pickerHeaderActiveBackgroundColor;
|
|
108
114
|
});
|
|
109
|
-
var HeaderYearTrigger = (0, _styledComponents["default"])(HeaderButton)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n gap: 8px;\n height: 40px;\n width: 172px;\n"])));
|
|
115
|
+
var HeaderYearTrigger = (0, _styledComponents["default"])(HeaderButton)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n gap: 8px;\n height: 40px;\n width: 172px;\n font-size: 24px;\n span::before {\n font-size: 24px;\n }\n"])));
|
|
110
116
|
var HeaderYearTriggerLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n font-family: ", ";\n font-size: ", ";\n"])), function (props) {
|
|
111
117
|
return props.theme.dateInput.pickerFontFamily;
|
|
112
118
|
}, function (props) {
|
package/date-input/YearPicker.js
CHANGED
|
@@ -13,7 +13,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
13
13
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
14
14
|
var _templateObject, _templateObject2;
|
|
15
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
16
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
16
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
17
17
|
var getYearsArray = function getYearsArray() {
|
|
18
18
|
var yearList = [];
|
|
19
19
|
for (var i = 1899; i <= 2100; i++) {
|
package/date-input/types.d.ts
CHANGED
|
@@ -127,11 +127,11 @@ export type CalendarPropsType = {
|
|
|
127
127
|
*/
|
|
128
128
|
selectedDate: Dayjs;
|
|
129
129
|
/**
|
|
130
|
-
* Date
|
|
130
|
+
* Date shown by the calendar.
|
|
131
131
|
*/
|
|
132
132
|
innerDate: Dayjs;
|
|
133
133
|
/**
|
|
134
|
-
* Function called when the
|
|
134
|
+
* Function called when the shown date needs to be updated.
|
|
135
135
|
*/
|
|
136
136
|
onInnerDateChange: (date: Dayjs) => void;
|
|
137
137
|
/**
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
var _axeHelper = require("../../test/accessibility/axe-helper.js");
|
|
9
|
+
var _Dialog = _interopRequireDefault(require("./Dialog.tsx"));
|
|
10
|
+
describe("Dialog component accessibility tests", function () {
|
|
11
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
12
|
+
var _render, baseElement, results;
|
|
13
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
14
|
+
while (1) switch (_context.prev = _context.next) {
|
|
15
|
+
case 0:
|
|
16
|
+
// baseElement is needed when using React Portals
|
|
17
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, "Dialog text")), baseElement = _render.baseElement;
|
|
18
|
+
_context.next = 3;
|
|
19
|
+
return (0, _axeHelper.axe)(baseElement);
|
|
20
|
+
case 3:
|
|
21
|
+
results = _context.sent;
|
|
22
|
+
expect(results).toHaveNoViolations();
|
|
23
|
+
case 5:
|
|
24
|
+
case "end":
|
|
25
|
+
return _context.stop();
|
|
26
|
+
}
|
|
27
|
+
}, _callee);
|
|
28
|
+
})));
|
|
29
|
+
it("Should not have basic accessibility issues for close button not visible", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
30
|
+
var _render2, baseElement, results;
|
|
31
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
32
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
33
|
+
case 0:
|
|
34
|
+
// baseElement is needed when using React Portals
|
|
35
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
|
|
36
|
+
isCloseVisible: false
|
|
37
|
+
}, "Dialog text")), baseElement = _render2.baseElement;
|
|
38
|
+
_context2.next = 3;
|
|
39
|
+
return (0, _axeHelper.axe)(baseElement);
|
|
40
|
+
case 3:
|
|
41
|
+
results = _context2.sent;
|
|
42
|
+
expect(results).toHaveNoViolations();
|
|
43
|
+
case 5:
|
|
44
|
+
case "end":
|
|
45
|
+
return _context2.stop();
|
|
46
|
+
}
|
|
47
|
+
}, _callee2);
|
|
48
|
+
})));
|
|
49
|
+
it("Should not have basic accessibility issues for overlay not visible", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
50
|
+
var _render3, baseElement, results;
|
|
51
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
52
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
53
|
+
case 0:
|
|
54
|
+
// baseElement is needed when using React Portals
|
|
55
|
+
_render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
|
|
56
|
+
overlay: false
|
|
57
|
+
}, "Dialog text")), baseElement = _render3.baseElement;
|
|
58
|
+
_context3.next = 3;
|
|
59
|
+
return (0, _axeHelper.axe)(baseElement);
|
|
60
|
+
case 3:
|
|
61
|
+
results = _context3.sent;
|
|
62
|
+
expect(results).toHaveNoViolations();
|
|
63
|
+
case 5:
|
|
64
|
+
case "end":
|
|
65
|
+
return _context3.stop();
|
|
66
|
+
}
|
|
67
|
+
}, _callee3);
|
|
68
|
+
})));
|
|
69
|
+
});
|