@dxc-technology/halstack-react 0.0.0-61a8ced → 0.0.0-62702b8
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 +2 -2
- package/BackgroundColorContext.js +1 -1
- package/HalstackContext.d.ts +1349 -5
- package/HalstackContext.js +117 -77
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +14 -37
- package/accordion/Accordion.stories.tsx +104 -113
- package/accordion/Accordion.test.js +1 -1
- package/accordion/types.d.ts +2 -13
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +23 -44
- package/accordion-group/AccordionGroup.stories.tsx +77 -76
- package/accordion-group/AccordionGroup.test.js +7 -17
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +2 -13
- package/alert/Alert.js +4 -8
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +1 -1
- package/bleed/Bleed.stories.tsx +1 -0
- package/box/Box.d.ts +1 -1
- package/box/Box.js +7 -26
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +1 -1
- package/box/types.d.ts +0 -11
- package/bulleted-list/BulletedList.js +4 -2
- package/bulleted-list/BulletedList.stories.tsx +7 -1
- package/bulleted-list/types.d.ts +31 -4
- package/button/Button.d.ts +1 -1
- package/button/Button.js +48 -60
- package/button/Button.stories.tsx +151 -9
- package/button/Button.test.js +12 -1
- package/button/types.d.ts +7 -3
- package/card/Card.d.ts +1 -1
- package/card/Card.js +27 -45
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +1 -1
- package/card/types.d.ts +1 -6
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +74 -53
- package/checkbox/Checkbox.stories.tsx +146 -58
- package/checkbox/Checkbox.test.js +84 -11
- package/checkbox/types.d.ts +10 -2
- package/chip/Chip.js +28 -49
- package/chip/Chip.stories.tsx +121 -26
- package/chip/Chip.test.js +3 -5
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +146 -0
- package/common/coreTokens.js +167 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +4 -4
- package/common/variables.d.ts +1499 -0
- package/common/variables.js +1004 -1134
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +138 -239
- package/date-input/DateInput.stories.tsx +209 -33
- package/date-input/DateInput.test.js +519 -149
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +146 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +75 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +126 -0
- package/date-input/types.d.ts +57 -0
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +54 -85
- package/dialog/Dialog.stories.tsx +154 -170
- package/dialog/Dialog.test.js +302 -3
- package/dialog/types.d.ts +0 -12
- package/dropdown/Dropdown.js +42 -41
- package/dropdown/Dropdown.stories.tsx +210 -84
- package/dropdown/Dropdown.test.js +22 -27
- package/dropdown/DropdownMenu.js +12 -18
- package/dropdown/DropdownMenuItem.js +5 -18
- package/dropdown/types.d.ts +3 -3
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +174 -220
- package/file-input/FileInput.stories.tsx +122 -11
- package/file-input/FileInput.test.js +14 -14
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +39 -63
- package/file-input/types.d.ts +18 -1
- package/flex/Flex.d.ts +1 -1
- package/flex/Flex.js +33 -19
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +83 -7
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +44 -64
- package/footer/Footer.stories.tsx +36 -21
- package/footer/Footer.test.js +16 -26
- package/footer/types.d.ts +10 -11
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +91 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +20 -49
- package/header/Header.stories.tsx +115 -36
- package/header/Header.test.js +2 -2
- package/header/types.d.ts +1 -14
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.js +1 -1
- package/image/Image.d.ts +4 -0
- package/image/Image.js +85 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- package/inset/Inset.stories.tsx +2 -1
- package/layout/ApplicationLayout.d.ts +5 -5
- package/layout/ApplicationLayout.js +15 -12
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +7 -4
- package/layout/Icons.js +52 -56
- package/layout/types.d.ts +2 -3
- package/link/Link.js +4 -4
- package/link/Link.stories.tsx +60 -0
- package/link/Link.test.js +2 -4
- package/link/types.d.ts +2 -2
- package/main.d.ts +5 -3
- package/main.js +18 -2
- package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
- package/{tabs-nav → nav-tabs}/NavTabs.js +8 -11
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +110 -6
- package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
- package/{tabs-nav → nav-tabs}/Tab.js +49 -33
- package/{tabs-nav → nav-tabs}/types.d.ts +8 -9
- package/number-input/NumberInput.d.ts +7 -0
- package/number-input/NumberInput.js +8 -4
- package/number-input/NumberInput.stories.tsx +47 -2
- package/number-input/NumberInput.test.js +354 -92
- package/number-input/types.d.ts +6 -0
- package/package.json +14 -19
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +8 -16
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +58 -48
- package/paragraph/Paragraph.d.ts +3 -4
- package/paragraph/Paragraph.js +5 -5
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +39 -0
- package/password-input/PasswordInput.js +35 -82
- package/password-input/PasswordInput.stories.tsx +1 -0
- package/password-input/PasswordInput.test.js +34 -40
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +5 -5
- package/progress-bar/ProgressBar.stories.jsx +35 -2
- package/progress-bar/ProgressBar.test.js +1 -1
- package/progress-bar/types.d.ts +4 -3
- package/quick-nav/QuickNav.js +11 -12
- package/quick-nav/QuickNav.stories.tsx +111 -19
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +50 -35
- package/radio-group/RadioGroup.js +29 -29
- package/radio-group/RadioGroup.stories.tsx +132 -18
- package/radio-group/RadioGroup.test.js +153 -99
- package/radio-group/types.d.ts +5 -5
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +51 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.js +49 -108
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +50 -25
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +41 -64
- package/{resultsetTable → resultset-table}/types.d.ts +1 -1
- package/resultset-table/types.js +5 -0
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +5 -35
- package/select/Option.js +11 -24
- package/select/Select.js +59 -36
- package/select/Select.stories.tsx +497 -153
- package/select/Select.test.js +345 -292
- package/select/types.d.ts +2 -2
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +51 -0
- package/sidenav/Sidenav.d.ts +2 -2
- package/sidenav/Sidenav.js +66 -96
- package/sidenav/Sidenav.stories.tsx +165 -63
- package/sidenav/types.d.ts +21 -18
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +17 -14
- package/slider/Slider.stories.tsx +57 -0
- package/slider/Slider.test.js +1 -1
- package/slider/types.d.ts +6 -2
- package/spinner/Spinner.js +17 -23
- package/spinner/Spinner.stories.jsx +53 -27
- package/spinner/Spinner.test.js +1 -1
- package/switch/Switch.d.ts +3 -3
- package/switch/Switch.js +95 -84
- package/switch/Switch.stories.tsx +33 -0
- package/switch/Switch.test.js +27 -14
- package/switch/types.d.ts +8 -3
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +2 -2
- package/tabs/Tab.js +12 -15
- package/tabs/Tabs.js +11 -17
- package/tabs/Tabs.stories.tsx +45 -5
- package/tabs/Tabs.test.js +4 -5
- package/tabs/types.d.ts +2 -2
- package/tag/Tag.js +7 -9
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +1 -1
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.js +40 -11
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +232 -342
- package/text-input/TextInput.stories.tsx +319 -184
- package/text-input/TextInput.test.js +848 -726
- package/text-input/types.d.ts +27 -2
- package/textarea/Textarea.js +27 -26
- package/textarea/Textarea.stories.jsx +68 -1
- package/textarea/Textarea.test.js +61 -19
- package/textarea/types.d.ts +4 -0
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +85 -59
- package/toggle-group/ToggleGroup.stories.tsx +48 -3
- package/toggle-group/ToggleGroup.test.js +38 -24
- package/toggle-group/types.d.ts +22 -13
- package/typography/Typography.d.ts +2 -2
- package/typography/Typography.js +14 -113
- package/typography/Typography.stories.tsx +1 -1
- package/useTheme.d.ts +1251 -1
- package/useTheme.js +1 -1
- package/useTranslatedLabels.d.ts +84 -1
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +108 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +138 -0
- package/wizard/Wizard.js +2 -2
- package/wizard/Wizard.stories.tsx +20 -0
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +5 -6
- package/card/ice-cream.jpg +0 -0
- package/common/RequiredComponent.js +0 -32
- package/number-input/NumberInputContext.d.ts +0 -4
- package/number-input/NumberInputContext.js +0 -19
- package/number-input/numberInputContextTypes.d.ts +0 -19
- /package/{resultsetTable → grid}/types.js +0 -0
- /package/{tabs-nav → image}/types.js +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
- /package/{number-input/numberInputContextTypes.js → nav-tabs/types.js} +0 -0
- /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
|
@@ -8,68 +8,93 @@ var _react2 = require("@testing-library/react");
|
|
|
8
8
|
|
|
9
9
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
10
10
|
|
|
11
|
-
var _NumberInput = _interopRequireDefault(require("./NumberInput"));
|
|
11
|
+
var _NumberInput = _interopRequireDefault(require("./NumberInput.tsx"));
|
|
12
12
|
|
|
13
13
|
describe("Number input component tests", function () {
|
|
14
|
-
test("Number input renders with label", function () {
|
|
14
|
+
test("Number input renders with label, helper text, placeholder and increment/decrement action buttons", function () {
|
|
15
15
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
16
|
-
label: "Number input label"
|
|
16
|
+
label: "Number input label",
|
|
17
|
+
helperText: "Helper text",
|
|
18
|
+
placeholder: "Placeholder"
|
|
17
19
|
})),
|
|
18
|
-
|
|
20
|
+
getByLabelText = _render.getByLabelText,
|
|
21
|
+
getByText = _render.getByText,
|
|
22
|
+
queryAllByRole = _render.queryAllByRole;
|
|
19
23
|
|
|
24
|
+
var number = getByLabelText("Number input label");
|
|
20
25
|
expect(getByText("Number input label")).toBeTruthy();
|
|
26
|
+
expect(getByText("Helper text")).toBeTruthy();
|
|
27
|
+
expect(number.getAttribute("placeholder")).toBe("Placeholder");
|
|
28
|
+
expect(queryAllByRole("button").length).toBe(2);
|
|
21
29
|
});
|
|
22
|
-
test("Number input
|
|
30
|
+
test("Number input buttons' tooltip is correct", function () {
|
|
23
31
|
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
24
|
-
|
|
32
|
+
label: "Number label"
|
|
25
33
|
})),
|
|
26
|
-
|
|
34
|
+
getByTitle = _render2.getByTitle;
|
|
27
35
|
|
|
28
|
-
expect(
|
|
36
|
+
expect(getByTitle("Decrement value")).toBeTruthy();
|
|
37
|
+
expect(getByTitle("Increment value")).toBeTruthy();
|
|
29
38
|
});
|
|
30
|
-
test("Number input
|
|
39
|
+
test("Number input is disabled", function () {
|
|
31
40
|
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
32
41
|
label: "Number label",
|
|
33
|
-
|
|
42
|
+
disabled: true
|
|
34
43
|
})),
|
|
35
44
|
getByLabelText = _render3.getByLabelText;
|
|
36
45
|
|
|
37
46
|
var number = getByLabelText("Number label");
|
|
38
|
-
expect(number.
|
|
47
|
+
expect(number.disabled).toBeTruthy();
|
|
39
48
|
});
|
|
40
|
-
test("Number input
|
|
49
|
+
test("Number input is read only and cannot be incremented or decremented using the actions", function () {
|
|
41
50
|
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
42
|
-
label: "Number label"
|
|
51
|
+
label: "Number label",
|
|
52
|
+
readOnly: true
|
|
43
53
|
})),
|
|
44
|
-
|
|
54
|
+
getByLabelText = _render4.getByLabelText,
|
|
55
|
+
getAllByRole = _render4.getAllByRole;
|
|
45
56
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
50
|
-
label: "Number label"
|
|
51
|
-
})),
|
|
52
|
-
getByTitle = _render5.getByTitle;
|
|
57
|
+
var number = getByLabelText("Number label");
|
|
58
|
+
expect(number.readOnly).toBeTruthy();
|
|
59
|
+
var decrement = getAllByRole("button")[0];
|
|
53
60
|
|
|
54
|
-
|
|
55
|
-
|
|
61
|
+
_userEvent["default"].click(decrement);
|
|
62
|
+
|
|
63
|
+
expect(number.value).toBe("");
|
|
64
|
+
var increment = getAllByRole("button")[1];
|
|
65
|
+
|
|
66
|
+
_userEvent["default"].click(increment);
|
|
67
|
+
|
|
68
|
+
expect(number.value).toBe("");
|
|
56
69
|
});
|
|
57
|
-
test("Number input is
|
|
58
|
-
var
|
|
70
|
+
test("Number input is read only and cannot be incremented or decremented using the arrow keys", function () {
|
|
71
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
59
72
|
label: "Number label",
|
|
60
|
-
|
|
73
|
+
readOnly: true
|
|
61
74
|
})),
|
|
62
|
-
getByLabelText =
|
|
75
|
+
getByLabelText = _render5.getByLabelText;
|
|
63
76
|
|
|
64
77
|
var number = getByLabelText("Number label");
|
|
65
|
-
expect(number.
|
|
78
|
+
expect(number.readOnly).toBeTruthy();
|
|
79
|
+
|
|
80
|
+
_react2.fireEvent.keyDown(number, {
|
|
81
|
+
keyCode: 38
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
expect(number.value).toBe("");
|
|
85
|
+
|
|
86
|
+
_react2.fireEvent.keyDown(number, {
|
|
87
|
+
keyCode: 40
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
expect(number.value).toBe("");
|
|
66
91
|
});
|
|
67
92
|
test("Number input is optional", function () {
|
|
68
|
-
var
|
|
93
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
69
94
|
label: "Number label",
|
|
70
95
|
optional: true
|
|
71
96
|
})),
|
|
72
|
-
getByText =
|
|
97
|
+
getByText = _render6.getByText;
|
|
73
98
|
|
|
74
99
|
expect(getByText("(Optional)")).toBeTruthy();
|
|
75
100
|
});
|
|
@@ -77,19 +102,20 @@ describe("Number input component tests", function () {
|
|
|
77
102
|
var onBlur = jest.fn();
|
|
78
103
|
var onChange = jest.fn();
|
|
79
104
|
|
|
80
|
-
var
|
|
105
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
106
|
+
label: "Number input label",
|
|
81
107
|
onBlur: onBlur,
|
|
82
108
|
onChange: onChange
|
|
83
109
|
})),
|
|
84
|
-
|
|
110
|
+
getByLabelText = _render7.getByLabelText;
|
|
85
111
|
|
|
86
|
-
var
|
|
112
|
+
var number = getByLabelText("Number input label");
|
|
87
113
|
|
|
88
|
-
_userEvent["default"].type(
|
|
114
|
+
_userEvent["default"].type(number, "1");
|
|
89
115
|
|
|
90
|
-
_userEvent["default"].clear(
|
|
116
|
+
_userEvent["default"].clear(number);
|
|
91
117
|
|
|
92
|
-
_react2.fireEvent.blur(
|
|
118
|
+
_react2.fireEvent.blur(number);
|
|
93
119
|
|
|
94
120
|
expect(onBlur).toHaveBeenCalled();
|
|
95
121
|
expect(onBlur).toHaveBeenCalledWith({
|
|
@@ -102,33 +128,33 @@ describe("Number input component tests", function () {
|
|
|
102
128
|
error: "This field is required. Please, enter a value."
|
|
103
129
|
});
|
|
104
130
|
});
|
|
105
|
-
test("Suffix and prefix must be shown
|
|
106
|
-
var
|
|
131
|
+
test("Suffix and prefix must be shown", function () {
|
|
132
|
+
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
107
133
|
label: "Number input label",
|
|
108
134
|
prefix: "+34",
|
|
109
135
|
suffix: "USD"
|
|
110
136
|
})),
|
|
111
|
-
getByText =
|
|
137
|
+
getByText = _render8.getByText;
|
|
112
138
|
|
|
113
139
|
expect(getByText("+34")).toBeTruthy();
|
|
114
140
|
expect(getByText("USD")).toBeTruthy();
|
|
115
141
|
});
|
|
116
142
|
test("Invalid number input renders error", function () {
|
|
117
|
-
var
|
|
143
|
+
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
118
144
|
error: "Error message."
|
|
119
145
|
})),
|
|
120
|
-
getByText =
|
|
146
|
+
getByText = _render9.getByText;
|
|
121
147
|
|
|
122
148
|
expect(getByText("Error message.")).toBeTruthy();
|
|
123
149
|
});
|
|
124
150
|
test("onChange function is called correctly", function () {
|
|
125
151
|
var onChange = jest.fn();
|
|
126
152
|
|
|
127
|
-
var
|
|
153
|
+
var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
128
154
|
label: "Number input label",
|
|
129
155
|
onChange: onChange
|
|
130
156
|
})),
|
|
131
|
-
getByLabelText =
|
|
157
|
+
getByLabelText = _render10.getByLabelText;
|
|
132
158
|
|
|
133
159
|
var number = getByLabelText("Number input label");
|
|
134
160
|
|
|
@@ -146,41 +172,41 @@ describe("Number input component tests", function () {
|
|
|
146
172
|
});
|
|
147
173
|
expect(number.value).toBe("1");
|
|
148
174
|
});
|
|
149
|
-
test("Error message is shown if the value is less than the min value", function () {
|
|
175
|
+
test("Error message is shown if the typed value is less than the min value", function () {
|
|
150
176
|
var onChange = jest.fn(function (_ref) {
|
|
151
177
|
var value = _ref.value,
|
|
152
178
|
error = _ref.error;
|
|
153
|
-
expect(value).toBe("1");
|
|
154
|
-
expect(error).toBe("Value must be greater than or equal to
|
|
179
|
+
expect(value).toBe("-1");
|
|
180
|
+
expect(error).toBe("Value must be greater than or equal to 0.");
|
|
155
181
|
});
|
|
156
182
|
var onBlur = jest.fn(function (_ref2) {
|
|
157
183
|
var value = _ref2.value,
|
|
158
184
|
error = _ref2.error;
|
|
159
|
-
expect(value).toBe("1");
|
|
160
|
-
expect(error).toBe("Value must be greater than or equal to
|
|
185
|
+
expect(value).toBe("-1");
|
|
186
|
+
expect(error).toBe("Value must be greater than or equal to 0.");
|
|
161
187
|
});
|
|
162
188
|
|
|
163
|
-
var
|
|
189
|
+
var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
164
190
|
label: "Number input label",
|
|
165
|
-
min:
|
|
191
|
+
min: 0,
|
|
166
192
|
onBlur: onBlur,
|
|
167
193
|
onChange: onChange
|
|
168
194
|
})),
|
|
169
|
-
getByLabelText =
|
|
195
|
+
getByLabelText = _render11.getByLabelText;
|
|
170
196
|
|
|
171
197
|
var number = getByLabelText("Number input label");
|
|
172
198
|
|
|
173
|
-
_userEvent["default"].type(number, "1");
|
|
199
|
+
_userEvent["default"].type(number, "-1");
|
|
174
200
|
|
|
175
201
|
_react2.fireEvent.blur(number);
|
|
176
202
|
});
|
|
177
203
|
test("Cannot decrement the value if it is less than the min value", function () {
|
|
178
|
-
var
|
|
204
|
+
var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
179
205
|
label: "Number input label",
|
|
180
206
|
min: 5
|
|
181
207
|
})),
|
|
182
|
-
getByLabelText =
|
|
183
|
-
getAllByRole =
|
|
208
|
+
getByLabelText = _render12.getByLabelText,
|
|
209
|
+
getAllByRole = _render12.getAllByRole;
|
|
184
210
|
|
|
185
211
|
var number = getByLabelText("Number input label");
|
|
186
212
|
|
|
@@ -196,12 +222,12 @@ describe("Number input component tests", function () {
|
|
|
196
222
|
expect(number.value).toBe("1");
|
|
197
223
|
});
|
|
198
224
|
test("Increment the value when it is less than the min value", function () {
|
|
199
|
-
var
|
|
225
|
+
var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
200
226
|
label: "Number input label",
|
|
201
227
|
min: 5
|
|
202
228
|
})),
|
|
203
|
-
getByLabelText =
|
|
204
|
-
getAllByRole =
|
|
229
|
+
getByLabelText = _render13.getByLabelText,
|
|
230
|
+
getAllByRole = _render13.getAllByRole;
|
|
205
231
|
|
|
206
232
|
var number = getByLabelText("Number input label");
|
|
207
233
|
|
|
@@ -216,17 +242,17 @@ describe("Number input component tests", function () {
|
|
|
216
242
|
|
|
217
243
|
expect(number.value).toBe("5");
|
|
218
244
|
});
|
|
219
|
-
test("Error message is shown if the value is greater than the max value", function () {
|
|
245
|
+
test("Error message is shown if the typed value is greater than the max value", function () {
|
|
220
246
|
var onChange = jest.fn();
|
|
221
247
|
var onBlur = jest.fn();
|
|
222
248
|
|
|
223
|
-
var
|
|
249
|
+
var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
224
250
|
label: "Number input label",
|
|
225
251
|
max: 10,
|
|
226
252
|
onBlur: onBlur,
|
|
227
253
|
onChange: onChange
|
|
228
254
|
})),
|
|
229
|
-
getByLabelText =
|
|
255
|
+
getByLabelText = _render14.getByLabelText;
|
|
230
256
|
|
|
231
257
|
var number = getByLabelText("Number input label");
|
|
232
258
|
|
|
@@ -247,12 +273,12 @@ describe("Number input component tests", function () {
|
|
|
247
273
|
});
|
|
248
274
|
});
|
|
249
275
|
test("Cannot increment the value if it is greater than the max value", function () {
|
|
250
|
-
var
|
|
276
|
+
var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
251
277
|
label: "Number input label",
|
|
252
278
|
max: 10
|
|
253
279
|
})),
|
|
254
|
-
getByLabelText =
|
|
255
|
-
getAllByRole =
|
|
280
|
+
getByLabelText = _render15.getByLabelText,
|
|
281
|
+
getAllByRole = _render15.getAllByRole;
|
|
256
282
|
|
|
257
283
|
var number = getByLabelText("Number input label");
|
|
258
284
|
|
|
@@ -268,20 +294,20 @@ describe("Number input component tests", function () {
|
|
|
268
294
|
expect(number.value).toBe("12");
|
|
269
295
|
});
|
|
270
296
|
test("Decrement the value when it is greater than the max value", function () {
|
|
271
|
-
var
|
|
297
|
+
var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
272
298
|
label: "Number input label",
|
|
273
299
|
max: 10
|
|
274
300
|
})),
|
|
275
|
-
getByLabelText =
|
|
276
|
-
getAllByRole =
|
|
301
|
+
getByLabelText = _render16.getByLabelText,
|
|
302
|
+
getAllByRole = _render16.getAllByRole;
|
|
277
303
|
|
|
278
304
|
var number = getByLabelText("Number input label");
|
|
279
305
|
|
|
280
|
-
_userEvent["default"].type(number, "
|
|
306
|
+
_userEvent["default"].type(number, "120");
|
|
281
307
|
|
|
282
308
|
_react2.fireEvent.blur(number);
|
|
283
309
|
|
|
284
|
-
expect(number.value).toBe("
|
|
310
|
+
expect(number.value).toBe("120");
|
|
285
311
|
var decrement = getAllByRole("button")[0];
|
|
286
312
|
|
|
287
313
|
_userEvent["default"].click(decrement);
|
|
@@ -289,13 +315,13 @@ describe("Number input component tests", function () {
|
|
|
289
315
|
expect(number.value).toBe("10");
|
|
290
316
|
});
|
|
291
317
|
test("Increment and decrement the value with min and max values", function () {
|
|
292
|
-
var
|
|
318
|
+
var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
293
319
|
label: "Number input label",
|
|
294
320
|
min: 5,
|
|
295
321
|
max: 10
|
|
296
322
|
})),
|
|
297
|
-
getByLabelText =
|
|
298
|
-
getAllByRole =
|
|
323
|
+
getByLabelText = _render17.getByLabelText,
|
|
324
|
+
getAllByRole = _render17.getAllByRole;
|
|
299
325
|
|
|
300
326
|
var number = getByLabelText("Number input label");
|
|
301
327
|
|
|
@@ -331,13 +357,13 @@ describe("Number input component tests", function () {
|
|
|
331
357
|
|
|
332
358
|
expect(number.value).toBe("10");
|
|
333
359
|
});
|
|
334
|
-
test("Increment and decrement the value with step", function () {
|
|
335
|
-
var
|
|
360
|
+
test("Increment and decrement the value with an integer step", function () {
|
|
361
|
+
var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
336
362
|
label: "Number input label",
|
|
337
363
|
step: 5
|
|
338
364
|
})),
|
|
339
|
-
getByLabelText =
|
|
340
|
-
getAllByRole =
|
|
365
|
+
getByLabelText = _render18.getByLabelText,
|
|
366
|
+
getAllByRole = _render18.getAllByRole;
|
|
341
367
|
|
|
342
368
|
var number = getByLabelText("Number input label");
|
|
343
369
|
|
|
@@ -365,13 +391,46 @@ describe("Number input component tests", function () {
|
|
|
365
391
|
|
|
366
392
|
expect(number.value).toBe("10");
|
|
367
393
|
});
|
|
394
|
+
test("Increment and decrement the value with a decimal step", function () {
|
|
395
|
+
var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
396
|
+
label: "Number input label",
|
|
397
|
+
step: 0.5
|
|
398
|
+
})),
|
|
399
|
+
getByLabelText = _render19.getByLabelText,
|
|
400
|
+
getAllByRole = _render19.getAllByRole;
|
|
401
|
+
|
|
402
|
+
var number = getByLabelText("Number input label");
|
|
403
|
+
|
|
404
|
+
_userEvent["default"].type(number, "-9");
|
|
405
|
+
|
|
406
|
+
_react2.fireEvent.blur(number);
|
|
407
|
+
|
|
408
|
+
expect(number.value).toBe("-9");
|
|
409
|
+
var increment = getAllByRole("button")[1];
|
|
410
|
+
|
|
411
|
+
_userEvent["default"].click(increment);
|
|
412
|
+
|
|
413
|
+
expect(number.value).toBe("-8.5");
|
|
414
|
+
|
|
415
|
+
_userEvent["default"].click(increment);
|
|
416
|
+
|
|
417
|
+
expect(number.value).toBe("-8");
|
|
418
|
+
var decrement = getAllByRole("button")[0];
|
|
419
|
+
|
|
420
|
+
_userEvent["default"].click(decrement);
|
|
421
|
+
|
|
422
|
+
_userEvent["default"].click(decrement);
|
|
423
|
+
|
|
424
|
+
_userEvent["default"].click(decrement);
|
|
425
|
+
|
|
426
|
+
expect(number.value).toBe("-9.5");
|
|
427
|
+
|
|
428
|
+
_userEvent["default"].click(decrement);
|
|
429
|
+
|
|
430
|
+
expect(number.value).toBe("-10");
|
|
431
|
+
});
|
|
368
432
|
test("Increment and decrement the value with min, max and step", function () {
|
|
369
|
-
var onBlur = jest.fn(
|
|
370
|
-
var value = _ref3.value,
|
|
371
|
-
error = _ref3.error;
|
|
372
|
-
expect(value).toBe("1");
|
|
373
|
-
expect(error).toBe("Value must be greater than or equal to 5.");
|
|
374
|
-
});
|
|
433
|
+
var onBlur = jest.fn();
|
|
375
434
|
|
|
376
435
|
var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
377
436
|
label: "Number input label",
|
|
@@ -389,6 +448,10 @@ describe("Number input component tests", function () {
|
|
|
389
448
|
|
|
390
449
|
_react2.fireEvent.blur(number);
|
|
391
450
|
|
|
451
|
+
expect(onBlur).toHaveBeenCalledWith({
|
|
452
|
+
value: "1",
|
|
453
|
+
error: "Value must be greater than or equal to 5."
|
|
454
|
+
});
|
|
392
455
|
var increment = getAllByRole("button")[1];
|
|
393
456
|
|
|
394
457
|
_userEvent["default"].click(increment);
|
|
@@ -401,33 +464,194 @@ describe("Number input component tests", function () {
|
|
|
401
464
|
|
|
402
465
|
_userEvent["default"].click(increment);
|
|
403
466
|
|
|
404
|
-
expect(number.value).toBe("
|
|
467
|
+
expect(number.value).toBe("13");
|
|
405
468
|
|
|
406
469
|
_userEvent["default"].click(increment);
|
|
407
470
|
|
|
408
|
-
expect(number.value).toBe("
|
|
471
|
+
expect(number.value).toBe("13");
|
|
409
472
|
var decrement = getAllByRole("button")[0];
|
|
410
473
|
|
|
411
474
|
_userEvent["default"].click(decrement);
|
|
412
475
|
|
|
413
|
-
expect(number.value).toBe("
|
|
476
|
+
expect(number.value).toBe("5");
|
|
414
477
|
|
|
415
478
|
_userEvent["default"].click(decrement);
|
|
416
479
|
|
|
417
480
|
expect(number.value).toBe("5");
|
|
418
481
|
|
|
419
482
|
_userEvent["default"].click(decrement);
|
|
483
|
+
});
|
|
484
|
+
test("Start incrementing from 0 when the min value is less than 0 and the max value is bigger than 0", function () {
|
|
485
|
+
var onBlur = jest.fn();
|
|
420
486
|
|
|
421
|
-
|
|
487
|
+
var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
488
|
+
label: "Number input label",
|
|
489
|
+
min: -10,
|
|
490
|
+
max: 10,
|
|
491
|
+
step: 1,
|
|
492
|
+
onBlur: onBlur
|
|
493
|
+
})),
|
|
494
|
+
getByLabelText = _render21.getByLabelText,
|
|
495
|
+
getAllByRole = _render21.getAllByRole;
|
|
496
|
+
|
|
497
|
+
var number = getByLabelText("Number input label");
|
|
498
|
+
var increment = getAllByRole("button")[1];
|
|
499
|
+
|
|
500
|
+
_userEvent["default"].click(increment);
|
|
501
|
+
|
|
502
|
+
expect(number.value).toBe("1");
|
|
503
|
+
|
|
504
|
+
_userEvent["default"].click(increment);
|
|
505
|
+
|
|
506
|
+
expect(number.value).toBe("2");
|
|
507
|
+
});
|
|
508
|
+
test("Start incrementing from 0 when the min value is less than 0 and the max is 0", function () {
|
|
509
|
+
var _render22 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
510
|
+
label: "Number input label",
|
|
511
|
+
min: -10,
|
|
512
|
+
max: 0,
|
|
513
|
+
step: 1
|
|
514
|
+
})),
|
|
515
|
+
getByLabelText = _render22.getByLabelText,
|
|
516
|
+
getAllByRole = _render22.getAllByRole;
|
|
517
|
+
|
|
518
|
+
var number = getByLabelText("Number input label");
|
|
519
|
+
var increment = getAllByRole("button")[1];
|
|
520
|
+
|
|
521
|
+
_userEvent["default"].click(increment);
|
|
522
|
+
|
|
523
|
+
expect(number.value).toBe("0");
|
|
524
|
+
|
|
525
|
+
_userEvent["default"].click(increment);
|
|
526
|
+
|
|
527
|
+
expect(number.value).toBe("0");
|
|
528
|
+
});
|
|
529
|
+
test("Start incrementing from the min value when it is bigger than 0", function () {
|
|
530
|
+
var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
531
|
+
label: "Number input label",
|
|
532
|
+
min: 2,
|
|
533
|
+
max: 10,
|
|
534
|
+
step: 0.5
|
|
535
|
+
})),
|
|
536
|
+
getByLabelText = _render23.getByLabelText,
|
|
537
|
+
getAllByRole = _render23.getAllByRole;
|
|
538
|
+
|
|
539
|
+
var number = getByLabelText("Number input label");
|
|
540
|
+
var increment = getAllByRole("button")[1];
|
|
541
|
+
|
|
542
|
+
_userEvent["default"].click(increment);
|
|
543
|
+
|
|
544
|
+
expect(number.value).toBe("2");
|
|
545
|
+
|
|
546
|
+
_userEvent["default"].click(increment);
|
|
547
|
+
|
|
548
|
+
expect(number.value).toBe("2.5");
|
|
549
|
+
});
|
|
550
|
+
test("Start incrementing from the max value when it is less than 0", function () {
|
|
551
|
+
var _render24 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
552
|
+
label: "Number input label",
|
|
553
|
+
min: -10,
|
|
554
|
+
max: -1,
|
|
555
|
+
step: 0.5
|
|
556
|
+
})),
|
|
557
|
+
getByLabelText = _render24.getByLabelText,
|
|
558
|
+
getAllByRole = _render24.getAllByRole;
|
|
559
|
+
|
|
560
|
+
var number = getByLabelText("Number input label");
|
|
561
|
+
var increment = getAllByRole("button")[1];
|
|
562
|
+
|
|
563
|
+
_userEvent["default"].click(increment);
|
|
564
|
+
|
|
565
|
+
expect(number.value).toBe("-1");
|
|
566
|
+
|
|
567
|
+
_userEvent["default"].click(increment);
|
|
568
|
+
|
|
569
|
+
expect(number.value).toBe("-1");
|
|
570
|
+
});
|
|
571
|
+
test("Start decrementing from 0 when the min value is less than 0 and the max value is bigger than 0", function () {
|
|
572
|
+
var _render25 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
573
|
+
label: "Number input label",
|
|
574
|
+
min: -10,
|
|
575
|
+
max: 10,
|
|
576
|
+
step: 1
|
|
577
|
+
})),
|
|
578
|
+
getByLabelText = _render25.getByLabelText,
|
|
579
|
+
getAllByRole = _render25.getAllByRole;
|
|
580
|
+
|
|
581
|
+
var number = getByLabelText("Number input label");
|
|
582
|
+
var decrement = getAllByRole("button")[0];
|
|
583
|
+
|
|
584
|
+
_userEvent["default"].click(decrement);
|
|
585
|
+
|
|
586
|
+
expect(number.value).toBe("-1");
|
|
587
|
+
});
|
|
588
|
+
test("Start decrementing from 0 when the min value is 0 and the max value is bigger than 0", function () {
|
|
589
|
+
var _render26 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
590
|
+
label: "Number input label",
|
|
591
|
+
min: 0,
|
|
592
|
+
max: 10,
|
|
593
|
+
step: 1
|
|
594
|
+
})),
|
|
595
|
+
getByLabelText = _render26.getByLabelText,
|
|
596
|
+
getAllByRole = _render26.getAllByRole;
|
|
597
|
+
|
|
598
|
+
var number = getByLabelText("Number input label");
|
|
599
|
+
var decrement = getAllByRole("button")[0];
|
|
600
|
+
|
|
601
|
+
_userEvent["default"].click(decrement);
|
|
602
|
+
|
|
603
|
+
expect(number.value).toBe("0");
|
|
604
|
+
});
|
|
605
|
+
test("Start decrementing from the min value when it is bigger than 0", function () {
|
|
606
|
+
var _render27 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
607
|
+
label: "Number input label",
|
|
608
|
+
min: 2,
|
|
609
|
+
max: 10,
|
|
610
|
+
step: 0.5
|
|
611
|
+
})),
|
|
612
|
+
getByLabelText = _render27.getByLabelText,
|
|
613
|
+
getAllByRole = _render27.getAllByRole;
|
|
614
|
+
|
|
615
|
+
var number = getByLabelText("Number input label");
|
|
616
|
+
var decrement = getAllByRole("button")[0];
|
|
617
|
+
|
|
618
|
+
_userEvent["default"].click(decrement);
|
|
619
|
+
|
|
620
|
+
expect(number.value).toBe("2");
|
|
621
|
+
|
|
622
|
+
_userEvent["default"].click(decrement);
|
|
623
|
+
|
|
624
|
+
expect(number.value).toBe("2");
|
|
625
|
+
});
|
|
626
|
+
test("Start decrementing from the max value when it is less than 0", function () {
|
|
627
|
+
var _render28 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
628
|
+
label: "Number input label",
|
|
629
|
+
min: -10,
|
|
630
|
+
max: -1,
|
|
631
|
+
step: 0.5
|
|
632
|
+
})),
|
|
633
|
+
getByLabelText = _render28.getByLabelText,
|
|
634
|
+
getAllByRole = _render28.getAllByRole;
|
|
635
|
+
|
|
636
|
+
var number = getByLabelText("Number input label");
|
|
637
|
+
var decrement = getAllByRole("button")[0];
|
|
638
|
+
|
|
639
|
+
_userEvent["default"].click(decrement);
|
|
640
|
+
|
|
641
|
+
expect(number.value).toBe("-1");
|
|
642
|
+
|
|
643
|
+
_userEvent["default"].click(decrement);
|
|
644
|
+
|
|
645
|
+
expect(number.value).toBe("-1.5");
|
|
422
646
|
});
|
|
423
647
|
test("Increment and decrement the value with min, max and step using the arrows in keyboard", function () {
|
|
424
|
-
var
|
|
648
|
+
var _render29 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
425
649
|
label: "Number input label",
|
|
426
650
|
min: 5,
|
|
427
651
|
max: 20,
|
|
428
652
|
step: 5
|
|
429
653
|
})),
|
|
430
|
-
getByLabelText =
|
|
654
|
+
getByLabelText = _render29.getByLabelText;
|
|
431
655
|
|
|
432
656
|
var number = getByLabelText("Number input label");
|
|
433
657
|
|
|
@@ -487,14 +711,15 @@ describe("Number input component tests", function () {
|
|
|
487
711
|
|
|
488
712
|
expect(number.value).toBe("5");
|
|
489
713
|
});
|
|
490
|
-
test("Number has correct
|
|
491
|
-
var
|
|
714
|
+
test("Number has correct accessibility attributes", function () {
|
|
715
|
+
var _render30 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
492
716
|
label: "Number input label"
|
|
493
717
|
})),
|
|
494
|
-
getByLabelText =
|
|
495
|
-
getAllByRole =
|
|
718
|
+
getByLabelText = _render30.getByLabelText,
|
|
719
|
+
getAllByRole = _render30.getAllByRole;
|
|
496
720
|
|
|
497
721
|
var number = getByLabelText("Number input label");
|
|
722
|
+
expect(number.getAttribute("type")).toBe("number");
|
|
498
723
|
expect(number.getAttribute("aria-autocomplete")).toBeNull();
|
|
499
724
|
expect(number.getAttribute("aria-controls")).toBeNull();
|
|
500
725
|
expect(number.getAttribute("aria-expanded")).toBeNull();
|
|
@@ -503,4 +728,41 @@ describe("Number input component tests", function () {
|
|
|
503
728
|
var increment = getAllByRole("button")[1];
|
|
504
729
|
expect(increment.getAttribute("aria-label")).toBe("Increment value");
|
|
505
730
|
});
|
|
731
|
+
test("Number input submits correct values inside a form and actions don't trigger the submit event", function () {
|
|
732
|
+
var handlerOnSubmit = jest.fn(function (e) {
|
|
733
|
+
e.preventDefault();
|
|
734
|
+
var formData = new FormData(e.target);
|
|
735
|
+
var formProps = Object.fromEntries(formData);
|
|
736
|
+
expect(formProps).toStrictEqual({
|
|
737
|
+
data: "0"
|
|
738
|
+
});
|
|
739
|
+
});
|
|
740
|
+
|
|
741
|
+
var _render31 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
|
|
742
|
+
onSubmit: handlerOnSubmit
|
|
743
|
+
}, /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
744
|
+
label: "Number input label",
|
|
745
|
+
name: "data"
|
|
746
|
+
}), /*#__PURE__*/_react["default"].createElement("button", {
|
|
747
|
+
type: "submit"
|
|
748
|
+
}, "Submit"))),
|
|
749
|
+
getByText = _render31.getByText,
|
|
750
|
+
getAllByRole = _render31.getAllByRole;
|
|
751
|
+
|
|
752
|
+
var less = getAllByRole("button")[0];
|
|
753
|
+
var more = getAllByRole("button")[1];
|
|
754
|
+
var submit = getByText("Submit");
|
|
755
|
+
|
|
756
|
+
_userEvent["default"].click(more);
|
|
757
|
+
|
|
758
|
+
expect(handlerOnSubmit).not.toHaveBeenCalled();
|
|
759
|
+
|
|
760
|
+
_userEvent["default"].click(less);
|
|
761
|
+
|
|
762
|
+
expect(handlerOnSubmit).not.toHaveBeenCalled();
|
|
763
|
+
|
|
764
|
+
_userEvent["default"].click(submit);
|
|
765
|
+
|
|
766
|
+
expect(handlerOnSubmit).toHaveBeenCalled();
|
|
767
|
+
});
|
|
506
768
|
});
|