@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
package/nav-tabs/Tab.js
CHANGED
|
@@ -13,13 +13,14 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
13
13
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
14
14
|
var _Badge = _interopRequireDefault(require("../badge/Badge"));
|
|
15
15
|
var _Flex = _interopRequireDefault(require("../flex/Flex"));
|
|
16
|
-
var _NavTabs = require("./NavTabs");
|
|
17
16
|
var _BaseTypography = _interopRequireDefault(require("../utils/BaseTypography"));
|
|
18
17
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
18
|
+
var _NavTabsContext = require("./NavTabsContext");
|
|
19
|
+
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
19
20
|
var _templateObject, _templateObject2, _templateObject3;
|
|
20
21
|
var _excluded = ["href", "active", "icon", "disabled", "notificationNumber", "children"];
|
|
21
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); }
|
|
22
|
-
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; }
|
|
23
24
|
var DxcTab = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, _ref2) {
|
|
24
25
|
var href = _ref.href,
|
|
25
26
|
_ref$active = _ref.active,
|
|
@@ -33,7 +34,7 @@ var DxcTab = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, _ref2) {
|
|
|
33
34
|
otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
34
35
|
var tabRef = (0, _react.useRef)();
|
|
35
36
|
var colorsTheme = (0, _useTheme["default"])();
|
|
36
|
-
var _useContext = (0, _react.useContext)(
|
|
37
|
+
var _useContext = (0, _react.useContext)(_NavTabsContext.NavTabsContext),
|
|
37
38
|
iconPosition = _useContext.iconPosition,
|
|
38
39
|
tabIndex = _useContext.tabIndex,
|
|
39
40
|
focusedLabel = _useContext.focusedLabel;
|
|
@@ -52,10 +53,7 @@ var DxcTab = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, _ref2) {
|
|
|
52
53
|
}
|
|
53
54
|
};
|
|
54
55
|
return /*#__PURE__*/_react["default"].createElement(TabContainer, {
|
|
55
|
-
active: active
|
|
56
|
-
role: "tab",
|
|
57
|
-
"aria-selected": active,
|
|
58
|
-
"aria-disabled": disabled
|
|
56
|
+
active: active
|
|
59
57
|
}, /*#__PURE__*/_react["default"].createElement(Tab, (0, _extends2["default"])({
|
|
60
58
|
href: !disabled ? href : undefined,
|
|
61
59
|
disabled: disabled,
|
|
@@ -69,11 +67,16 @@ var DxcTab = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, _ref2) {
|
|
|
69
67
|
}
|
|
70
68
|
},
|
|
71
69
|
onKeyDown: handleOnKeyDown,
|
|
72
|
-
tabIndex: active ? tabIndex : -1
|
|
70
|
+
tabIndex: active ? tabIndex : -1,
|
|
71
|
+
role: "tab",
|
|
72
|
+
"aria-selected": active,
|
|
73
|
+
"aria-disabled": disabled
|
|
73
74
|
}, otherProps), icon && /*#__PURE__*/_react["default"].createElement(TabIconContainer, {
|
|
74
|
-
iconPosition: iconPosition
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
iconPosition: iconPosition,
|
|
76
|
+
active: active,
|
|
77
|
+
disabled: disabled
|
|
78
|
+
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
79
|
+
icon: icon
|
|
77
80
|
}) : icon), /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
78
81
|
alignItems: "center",
|
|
79
82
|
gap: "0.5rem"
|
|
@@ -86,19 +89,14 @@ var DxcTab = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, _ref2) {
|
|
|
86
89
|
textAlign: "center",
|
|
87
90
|
letterSpacing: "0.025em",
|
|
88
91
|
lineHeight: "1.715em"
|
|
89
|
-
}, children), notificationNumber && /*#__PURE__*/_react["default"].createElement(_Badge["default"], {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
+
}, children), notificationNumber && !disabled && /*#__PURE__*/_react["default"].createElement(_Badge["default"], {
|
|
93
|
+
mode: "notification",
|
|
94
|
+
size: "small",
|
|
95
|
+
label: typeof notificationNumber === "number" && notificationNumber
|
|
92
96
|
}))));
|
|
93
97
|
});
|
|
94
|
-
var TabContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n align-items: stretch;\n border-bottom: 2px solid ", ";\n padding: 0.5rem;\n
|
|
95
|
-
return props.active ? props.theme.selectedUnderlineColor :
|
|
96
|
-
}, function (props) {
|
|
97
|
-
return props.theme.unselectedIconColor;
|
|
98
|
-
}, function (props) {
|
|
99
|
-
return props.theme.selectedIconColor;
|
|
100
|
-
}, function (props) {
|
|
101
|
-
return props.theme.disabledIconColor;
|
|
98
|
+
var TabContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n align-items: stretch;\n border-bottom: 2px solid ", ";\n padding: 0.5rem;\n z-index: 1;\n"])), function (props) {
|
|
99
|
+
return props.active ? props.theme.selectedUnderlineColor : "transparent";
|
|
102
100
|
});
|
|
103
101
|
var Tab = _styledComponents["default"].a(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: ", ";\n justify-content: center;\n align-items: center;\n gap: ", ";\n height: ", ";\n min-width: 176px;\n min-height: 44px;\n padding: 0.375rem;\n border-radius: 4px;\n background: ", ";\n text-decoration-color: transparent;\n text-decoration-line: none;\n cursor: ", ";\n\n ", "\n"])), function (props) {
|
|
104
102
|
return props.hasIcon && props.iconPosition === "top" ? "column" : "row";
|
|
@@ -113,5 +111,7 @@ var Tab = _styledComponents["default"].a(_templateObject2 || (_templateObject2 =
|
|
|
113
111
|
}, function (props) {
|
|
114
112
|
return !props.disabled && "\n :hover {\n background: ".concat(props.theme.hoverBackgroundColor, ";\n }\n :focus {\n outline: 2px solid ").concat(props.theme.focusOutline, ";\n }\n :active {\n background: ").concat(props.theme.pressedBackgroundColor, ";\n outline: 2px solid #33aaff};\n }\n ");
|
|
115
113
|
});
|
|
116
|
-
var TabIconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n
|
|
114
|
+
var TabIconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n font-size: 24px;\n color: ", ";\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
|
|
115
|
+
return props.active ? props.theme.selectedIconColor : props.disabled ? props.theme.disabledIconColor : props.theme.unselectedIconColor;
|
|
116
|
+
});
|
|
117
117
|
var _default = exports["default"] = DxcTab;
|
package/nav-tabs/types.d.ts
CHANGED
|
@@ -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 _NumberInput = _interopRequireDefault(require("./NumberInput.tsx"));
|
|
12
|
+
// Mocking DOMRect for Radix Primitive Popover
|
|
13
|
+
global.globalThis = global;
|
|
14
|
+
global.DOMRect = {
|
|
15
|
+
fromRect: function fromRect() {
|
|
16
|
+
return {
|
|
17
|
+
top: 0,
|
|
18
|
+
left: 0,
|
|
19
|
+
bottom: 0,
|
|
20
|
+
right: 0,
|
|
21
|
+
width: 0,
|
|
22
|
+
height: 0
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
global.ResizeObserver = /*#__PURE__*/function () {
|
|
27
|
+
function ResizeObserver() {
|
|
28
|
+
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
29
|
+
}
|
|
30
|
+
(0, _createClass2["default"])(ResizeObserver, [{
|
|
31
|
+
key: "observe",
|
|
32
|
+
value: function observe() {}
|
|
33
|
+
}, {
|
|
34
|
+
key: "unobserve",
|
|
35
|
+
value: function unobserve() {}
|
|
36
|
+
}, {
|
|
37
|
+
key: "disconnect",
|
|
38
|
+
value: function disconnect() {}
|
|
39
|
+
}]);
|
|
40
|
+
return ResizeObserver;
|
|
41
|
+
}();
|
|
42
|
+
describe("Number input component accessibility tests", function () {
|
|
43
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
44
|
+
var _render, container, results;
|
|
45
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
46
|
+
while (1) switch (_context.prev = _context.next) {
|
|
47
|
+
case 0:
|
|
48
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
49
|
+
label: "Number input label",
|
|
50
|
+
helperText: "Helper text",
|
|
51
|
+
placeholder: "Placeholder",
|
|
52
|
+
defaultValue: "10",
|
|
53
|
+
margin: "medium",
|
|
54
|
+
min: 0,
|
|
55
|
+
max: 100,
|
|
56
|
+
suffix: "Suffix",
|
|
57
|
+
prefix: "Prefix",
|
|
58
|
+
name: "Name",
|
|
59
|
+
size: "medium",
|
|
60
|
+
step: 1
|
|
61
|
+
})), container = _render.container;
|
|
62
|
+
_context.next = 3;
|
|
63
|
+
return (0, _axeHelper.axe)(container);
|
|
64
|
+
case 3:
|
|
65
|
+
results = _context.sent;
|
|
66
|
+
expect(results).toHaveNoViolations();
|
|
67
|
+
case 5:
|
|
68
|
+
case "end":
|
|
69
|
+
return _context.stop();
|
|
70
|
+
}
|
|
71
|
+
}, _callee);
|
|
72
|
+
})));
|
|
73
|
+
it("Should not have basic accessibility issues for optional mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
74
|
+
var _render2, container, results;
|
|
75
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
76
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
77
|
+
case 0:
|
|
78
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
79
|
+
label: "Number input label",
|
|
80
|
+
helperText: "Helper text",
|
|
81
|
+
placeholder: "Placeholder",
|
|
82
|
+
defaultValue: "10",
|
|
83
|
+
margin: "medium",
|
|
84
|
+
min: 0,
|
|
85
|
+
max: 100,
|
|
86
|
+
suffix: "Suffix",
|
|
87
|
+
prefix: "Prefix",
|
|
88
|
+
name: "Name",
|
|
89
|
+
size: "medium",
|
|
90
|
+
step: 1,
|
|
91
|
+
optional: true
|
|
92
|
+
})), container = _render2.container;
|
|
93
|
+
_context2.next = 3;
|
|
94
|
+
return (0, _axeHelper.axe)(container);
|
|
95
|
+
case 3:
|
|
96
|
+
results = _context2.sent;
|
|
97
|
+
expect(results).toHaveNoViolations();
|
|
98
|
+
case 5:
|
|
99
|
+
case "end":
|
|
100
|
+
return _context2.stop();
|
|
101
|
+
}
|
|
102
|
+
}, _callee2);
|
|
103
|
+
})));
|
|
104
|
+
it("Should not have basic accessibility issues for error mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
105
|
+
var _render3, container, results;
|
|
106
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
107
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
108
|
+
case 0:
|
|
109
|
+
_render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
110
|
+
label: "Number input label",
|
|
111
|
+
helperText: "Helper text",
|
|
112
|
+
placeholder: "Placeholder",
|
|
113
|
+
defaultValue: "10",
|
|
114
|
+
margin: "medium",
|
|
115
|
+
min: 0,
|
|
116
|
+
max: 100,
|
|
117
|
+
suffix: "Suffix",
|
|
118
|
+
prefix: "Prefix",
|
|
119
|
+
name: "Name",
|
|
120
|
+
error: "Input error",
|
|
121
|
+
size: "medium",
|
|
122
|
+
step: 1
|
|
123
|
+
})), container = _render3.container;
|
|
124
|
+
_context3.next = 3;
|
|
125
|
+
return (0, _axeHelper.axe)(container);
|
|
126
|
+
case 3:
|
|
127
|
+
results = _context3.sent;
|
|
128
|
+
expect(results).toHaveNoViolations();
|
|
129
|
+
case 5:
|
|
130
|
+
case "end":
|
|
131
|
+
return _context3.stop();
|
|
132
|
+
}
|
|
133
|
+
}, _callee3);
|
|
134
|
+
})));
|
|
135
|
+
it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
136
|
+
var _render4, container, results;
|
|
137
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
138
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
139
|
+
case 0:
|
|
140
|
+
_render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
141
|
+
label: "Number input label",
|
|
142
|
+
helperText: "Helper text",
|
|
143
|
+
placeholder: "Placeholder",
|
|
144
|
+
defaultValue: "10",
|
|
145
|
+
margin: "medium",
|
|
146
|
+
min: 0,
|
|
147
|
+
max: 100,
|
|
148
|
+
suffix: "Suffix",
|
|
149
|
+
prefix: "Prefix",
|
|
150
|
+
name: "Name",
|
|
151
|
+
size: "medium",
|
|
152
|
+
step: 1,
|
|
153
|
+
disabled: true
|
|
154
|
+
})), container = _render4.container;
|
|
155
|
+
_context4.next = 3;
|
|
156
|
+
return (0, _axeHelper.axe)(container);
|
|
157
|
+
case 3:
|
|
158
|
+
results = _context4.sent;
|
|
159
|
+
expect(results).toHaveNoViolations();
|
|
160
|
+
case 5:
|
|
161
|
+
case "end":
|
|
162
|
+
return _context4.stop();
|
|
163
|
+
}
|
|
164
|
+
}, _callee4);
|
|
165
|
+
})));
|
|
166
|
+
it("Should not have basic accessibility issues for read-only mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
|
167
|
+
var _render5, container, results;
|
|
168
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
169
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
170
|
+
case 0:
|
|
171
|
+
_render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
172
|
+
label: "Number input label",
|
|
173
|
+
helperText: "Helper text",
|
|
174
|
+
placeholder: "Placeholder",
|
|
175
|
+
defaultValue: "10",
|
|
176
|
+
margin: "medium",
|
|
177
|
+
min: 0,
|
|
178
|
+
max: 100,
|
|
179
|
+
suffix: "Suffix",
|
|
180
|
+
prefix: "Prefix",
|
|
181
|
+
name: "Name",
|
|
182
|
+
size: "medium",
|
|
183
|
+
step: 1,
|
|
184
|
+
readOnly: true
|
|
185
|
+
})), container = _render5.container;
|
|
186
|
+
_context5.next = 3;
|
|
187
|
+
return (0, _axeHelper.axe)(container);
|
|
188
|
+
case 3:
|
|
189
|
+
results = _context5.sent;
|
|
190
|
+
expect(results).toHaveNoViolations();
|
|
191
|
+
case 5:
|
|
192
|
+
case "end":
|
|
193
|
+
return _context5.stop();
|
|
194
|
+
}
|
|
195
|
+
}, _callee5);
|
|
196
|
+
})));
|
|
197
|
+
it("Should not have basic accessibility issues for autocomplete mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
|
|
198
|
+
var _render6, container, results;
|
|
199
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
200
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
201
|
+
case 0:
|
|
202
|
+
_render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
203
|
+
label: "Number input label",
|
|
204
|
+
helperText: "Helper text",
|
|
205
|
+
placeholder: "Placeholder",
|
|
206
|
+
defaultValue: "10",
|
|
207
|
+
margin: "medium",
|
|
208
|
+
min: 0,
|
|
209
|
+
max: 100,
|
|
210
|
+
suffix: "Suffix",
|
|
211
|
+
prefix: "Prefix",
|
|
212
|
+
name: "Name",
|
|
213
|
+
size: "medium",
|
|
214
|
+
step: 1,
|
|
215
|
+
autocomplete: "on"
|
|
216
|
+
})), container = _render6.container;
|
|
217
|
+
_context6.next = 3;
|
|
218
|
+
return (0, _axeHelper.axe)(container);
|
|
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
|
+
});
|
|
@@ -1,11 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import NumberInputPropsType from "./types";
|
|
3
|
-
type NumberInputContextProps = {
|
|
4
|
-
typeNumber?: string;
|
|
5
|
-
minNumber?: number;
|
|
6
|
-
maxNumber?: number;
|
|
7
|
-
stepNumber?: number;
|
|
8
|
-
};
|
|
9
|
-
export declare const NumberInputContext: React.Context<NumberInputContextProps>;
|
|
10
3
|
declare const DxcNumberInput: React.ForwardRefExoticComponent<NumberInputPropsType & React.RefAttributes<HTMLDivElement>>;
|
|
11
4
|
export default DxcNumberInput;
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
|
-
exports["default"] =
|
|
8
|
+
exports["default"] = void 0;
|
|
8
9
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
|
-
var _react =
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
11
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
12
|
var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
|
|
13
|
+
var _NumberInputContext = require("./NumberInputContext");
|
|
12
14
|
var _templateObject;
|
|
13
|
-
var
|
|
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; }
|
|
14
17
|
var DxcNumberInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
15
18
|
var label = _ref.label,
|
|
16
19
|
name = _ref.name,
|
|
@@ -34,14 +37,30 @@ var DxcNumberInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, r
|
|
|
34
37
|
margin = _ref.margin,
|
|
35
38
|
size = _ref.size,
|
|
36
39
|
tabIndex = _ref.tabIndex;
|
|
37
|
-
|
|
40
|
+
var numberInputRef = _react["default"].useRef(null);
|
|
41
|
+
(0, _react.useEffect)(function () {
|
|
42
|
+
var _numberInputRef$curre;
|
|
43
|
+
var input = (_numberInputRef$curre = numberInputRef.current) === null || _numberInputRef$curre === void 0 ? void 0 : _numberInputRef$curre.getElementsByTagName("input")[0];
|
|
44
|
+
var preventDefault = function preventDefault(event) {
|
|
45
|
+
event.preventDefault();
|
|
46
|
+
};
|
|
47
|
+
input === null || input === void 0 ? void 0 : input.addEventListener("wheel", preventDefault, {
|
|
48
|
+
passive: false
|
|
49
|
+
});
|
|
50
|
+
return function () {
|
|
51
|
+
input === null || input === void 0 ? void 0 : input.removeEventListener("wheel", preventDefault);
|
|
52
|
+
};
|
|
53
|
+
}, []);
|
|
54
|
+
return /*#__PURE__*/_react["default"].createElement(_NumberInputContext.NumberInputContext.Provider, {
|
|
38
55
|
value: {
|
|
39
56
|
typeNumber: "number",
|
|
40
57
|
minNumber: min,
|
|
41
58
|
maxNumber: max,
|
|
42
59
|
stepNumber: step
|
|
43
60
|
}
|
|
44
|
-
}, /*#__PURE__*/_react["default"].createElement(NumberInputContainer,
|
|
61
|
+
}, /*#__PURE__*/_react["default"].createElement(NumberInputContainer, {
|
|
62
|
+
ref: numberInputRef
|
|
63
|
+
}, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
45
64
|
label: label,
|
|
46
65
|
name: name,
|
|
47
66
|
defaultValue: defaultValue,
|
|
@@ -769,12 +769,171 @@ describe("Number input component tests", function () {
|
|
|
769
769
|
});
|
|
770
770
|
expect(number.value).toBe("5");
|
|
771
771
|
});
|
|
772
|
-
test("
|
|
772
|
+
test("Value is unchanged when using the scroll wheel in mouse in a disabled input", function () {
|
|
773
773
|
var _render30 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
774
|
+
disabled: true,
|
|
775
|
+
label: "Number input label",
|
|
776
|
+
min: 5,
|
|
777
|
+
max: 20,
|
|
778
|
+
step: 5,
|
|
779
|
+
defaultValue: 10
|
|
780
|
+
})),
|
|
781
|
+
getByLabelText = _render30.getByLabelText;
|
|
782
|
+
var number = getByLabelText("Number input label");
|
|
783
|
+
_react2.fireEvent.wheel(number, {
|
|
784
|
+
deltaY: -100
|
|
785
|
+
});
|
|
786
|
+
expect(number.value).toBe("10");
|
|
787
|
+
_react2.fireEvent.wheel(number, {
|
|
788
|
+
deltaY: 100
|
|
789
|
+
});
|
|
790
|
+
expect(number.value).toBe("10");
|
|
791
|
+
_react2.fireEvent.wheel(number, {
|
|
792
|
+
deltaY: -100
|
|
793
|
+
});
|
|
794
|
+
expect(number.value).toBe("10");
|
|
795
|
+
_react2.fireEvent.wheel(number, {
|
|
796
|
+
deltaY: 100
|
|
797
|
+
});
|
|
798
|
+
expect(number.value).toBe("10");
|
|
799
|
+
});
|
|
800
|
+
test("Value is unchanged when using the arrows in keyboard in a disabled input", function () {
|
|
801
|
+
var _render31 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
802
|
+
disabled: true,
|
|
803
|
+
label: "Number input label",
|
|
804
|
+
min: 5,
|
|
805
|
+
max: 20,
|
|
806
|
+
step: 5,
|
|
807
|
+
defaultValue: 10
|
|
808
|
+
})),
|
|
809
|
+
getByLabelText = _render31.getByLabelText;
|
|
810
|
+
var number = getByLabelText("Number input label");
|
|
811
|
+
_react2.fireEvent.keyDown(number, {
|
|
812
|
+
keyCode: 38
|
|
813
|
+
});
|
|
814
|
+
expect(number.value).toBe("10");
|
|
815
|
+
_react2.fireEvent.keyDown(number, {
|
|
816
|
+
keyCode: 40
|
|
817
|
+
});
|
|
818
|
+
expect(number.value).toBe("10");
|
|
819
|
+
_react2.fireEvent.keyDown(number, {
|
|
820
|
+
keyCode: 38
|
|
821
|
+
});
|
|
822
|
+
expect(number.value).toBe("10");
|
|
823
|
+
_react2.fireEvent.keyDown(number, {
|
|
824
|
+
keyCode: 40
|
|
825
|
+
});
|
|
826
|
+
expect(number.value).toBe("10");
|
|
827
|
+
});
|
|
828
|
+
test("Value is unchanged when using the scroll wheel in mouse in a read-only input", function () {
|
|
829
|
+
var _render32 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
830
|
+
readOnly: true,
|
|
831
|
+
label: "Number input label",
|
|
832
|
+
min: 5,
|
|
833
|
+
max: 20,
|
|
834
|
+
step: 5,
|
|
835
|
+
defaultValue: 10
|
|
836
|
+
})),
|
|
837
|
+
getByLabelText = _render32.getByLabelText;
|
|
838
|
+
var number = getByLabelText("Number input label");
|
|
839
|
+
_react2.fireEvent.wheel(number, {
|
|
840
|
+
deltaY: -100
|
|
841
|
+
});
|
|
842
|
+
expect(number.value).toBe("10");
|
|
843
|
+
_react2.fireEvent.wheel(number, {
|
|
844
|
+
deltaY: 100
|
|
845
|
+
});
|
|
846
|
+
expect(number.value).toBe("10");
|
|
847
|
+
_react2.fireEvent.wheel(number, {
|
|
848
|
+
deltaY: -100
|
|
849
|
+
});
|
|
850
|
+
expect(number.value).toBe("10");
|
|
851
|
+
_react2.fireEvent.wheel(number, {
|
|
852
|
+
deltaY: 100
|
|
853
|
+
});
|
|
854
|
+
expect(number.value).toBe("10");
|
|
855
|
+
});
|
|
856
|
+
test("Value is unchanged when using the arrows in keyboard in a read-only input", function () {
|
|
857
|
+
var _render33 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
858
|
+
readOnly: true,
|
|
859
|
+
label: "Number input label",
|
|
860
|
+
min: 5,
|
|
861
|
+
max: 20,
|
|
862
|
+
step: 5,
|
|
863
|
+
defaultValue: 10
|
|
864
|
+
})),
|
|
865
|
+
getByLabelText = _render33.getByLabelText;
|
|
866
|
+
var number = getByLabelText("Number input label");
|
|
867
|
+
_react2.fireEvent.keyDown(number, {
|
|
868
|
+
keyCode: 38
|
|
869
|
+
});
|
|
870
|
+
expect(number.value).toBe("10");
|
|
871
|
+
_react2.fireEvent.keyDown(number, {
|
|
872
|
+
keyCode: 40
|
|
873
|
+
});
|
|
874
|
+
expect(number.value).toBe("10");
|
|
875
|
+
_react2.fireEvent.keyDown(number, {
|
|
876
|
+
keyCode: 38
|
|
877
|
+
});
|
|
878
|
+
expect(number.value).toBe("10");
|
|
879
|
+
_react2.fireEvent.keyDown(number, {
|
|
880
|
+
keyCode: 40
|
|
881
|
+
});
|
|
882
|
+
expect(number.value).toBe("10");
|
|
883
|
+
});
|
|
884
|
+
test("Increment and decrement the value with min, max and step using the scroll wheel in mouse", function () {
|
|
885
|
+
var _render34 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
886
|
+
label: "Number input label",
|
|
887
|
+
min: 5,
|
|
888
|
+
max: 20,
|
|
889
|
+
step: 5
|
|
890
|
+
})),
|
|
891
|
+
getByLabelText = _render34.getByLabelText;
|
|
892
|
+
var number = getByLabelText("Number input label");
|
|
893
|
+
_userEvent["default"].type(number, "1");
|
|
894
|
+
_react2.fireEvent.wheel(number, {
|
|
895
|
+
deltaY: -100
|
|
896
|
+
});
|
|
897
|
+
expect(number.value).toBe("5");
|
|
898
|
+
_react2.fireEvent.wheel(number, {
|
|
899
|
+
deltaY: -100
|
|
900
|
+
});
|
|
901
|
+
expect(number.value).toBe("10");
|
|
902
|
+
_react2.fireEvent.wheel(number, {
|
|
903
|
+
deltaY: -100
|
|
904
|
+
});
|
|
905
|
+
expect(number.value).toBe("15");
|
|
906
|
+
_react2.fireEvent.wheel(number, {
|
|
907
|
+
deltaY: -100
|
|
908
|
+
});
|
|
909
|
+
expect(number.value).toBe("20");
|
|
910
|
+
_react2.fireEvent.wheel(number, {
|
|
911
|
+
deltaY: -100
|
|
912
|
+
});
|
|
913
|
+
expect(number.value).toBe("20");
|
|
914
|
+
_react2.fireEvent.wheel(number, {
|
|
915
|
+
deltaY: 100
|
|
916
|
+
});
|
|
917
|
+
expect(number.value).toBe("15");
|
|
918
|
+
_react2.fireEvent.wheel(number, {
|
|
919
|
+
deltaY: 100
|
|
920
|
+
});
|
|
921
|
+
expect(number.value).toBe("10");
|
|
922
|
+
_react2.fireEvent.wheel(number, {
|
|
923
|
+
deltaY: 100
|
|
924
|
+
});
|
|
925
|
+
expect(number.value).toBe("5");
|
|
926
|
+
_react2.fireEvent.wheel(number, {
|
|
927
|
+
deltaY: 100
|
|
928
|
+
});
|
|
929
|
+
expect(number.value).toBe("5");
|
|
930
|
+
});
|
|
931
|
+
test("Number has correct accessibility attributes", function () {
|
|
932
|
+
var _render35 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
774
933
|
label: "Number input label"
|
|
775
934
|
})),
|
|
776
|
-
getByLabelText =
|
|
777
|
-
getAllByRole =
|
|
935
|
+
getByLabelText = _render35.getByLabelText,
|
|
936
|
+
getAllByRole = _render35.getAllByRole;
|
|
778
937
|
var number = getByLabelText("Number input label");
|
|
779
938
|
expect(number.getAttribute("type")).toBe("number");
|
|
780
939
|
expect(number.getAttribute("aria-autocomplete")).toBeNull();
|
|
@@ -786,7 +945,7 @@ describe("Number input component tests", function () {
|
|
|
786
945
|
expect(increment.getAttribute("aria-label")).toBe("Increment value");
|
|
787
946
|
});
|
|
788
947
|
test("Number input submits correct values inside a form and actions don't trigger the submit event", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee18() {
|
|
789
|
-
var handlerOnSubmit,
|
|
948
|
+
var handlerOnSubmit, _render36, getByText, getAllByRole, less, more, submit;
|
|
790
949
|
return _regenerator["default"].wrap(function _callee18$(_context18) {
|
|
791
950
|
while (1) switch (_context18.prev = _context18.next) {
|
|
792
951
|
case 0:
|
|
@@ -798,14 +957,14 @@ describe("Number input component tests", function () {
|
|
|
798
957
|
data: "0"
|
|
799
958
|
});
|
|
800
959
|
});
|
|
801
|
-
|
|
960
|
+
_render36 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
|
|
802
961
|
onSubmit: handlerOnSubmit
|
|
803
962
|
}, /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
804
963
|
label: "Number input label",
|
|
805
964
|
name: "data"
|
|
806
965
|
}), /*#__PURE__*/_react["default"].createElement("button", {
|
|
807
966
|
type: "submit"
|
|
808
|
-
}, "Submit"))), getByText =
|
|
967
|
+
}, "Submit"))), getByText = _render36.getByText, getAllByRole = _render36.getAllByRole;
|
|
809
968
|
less = getAllByRole("button")[0];
|
|
810
969
|
more = getAllByRole("button")[1];
|
|
811
970
|
submit = getByText("Submit");
|
package/number-input/types.d.ts
CHANGED
|
@@ -123,6 +123,12 @@ type Props = {
|
|
|
123
123
|
*/
|
|
124
124
|
tabIndex?: number;
|
|
125
125
|
};
|
|
126
|
+
export type NumberInputContextProps = {
|
|
127
|
+
typeNumber?: string;
|
|
128
|
+
minNumber?: number;
|
|
129
|
+
maxNumber?: number;
|
|
130
|
+
stepNumber?: number;
|
|
131
|
+
};
|
|
126
132
|
/**
|
|
127
133
|
* Reference to the component.
|
|
128
134
|
*/
|