@dxc-technology/halstack-react 0.0.0-9bd9511 → 0.0.0-9c20370

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.
Files changed (213) hide show
  1. package/BackgroundColorContext.d.ts +3 -3
  2. package/BackgroundColorContext.js +12 -2
  3. package/HalstackContext.d.ts +1330 -7
  4. package/HalstackContext.js +84 -67
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +74 -55
  7. package/accordion/Accordion.stories.tsx +3 -101
  8. package/accordion/Accordion.test.js +34 -19
  9. package/accordion/types.d.ts +4 -16
  10. package/accordion-group/AccordionGroup.d.ts +4 -3
  11. package/accordion-group/AccordionGroup.js +49 -42
  12. package/accordion-group/AccordionGroup.stories.tsx +77 -76
  13. package/accordion-group/AccordionGroup.test.js +62 -54
  14. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  15. package/accordion-group/AccordionGroupAccordion.js +43 -0
  16. package/accordion-group/types.d.ts +6 -18
  17. package/alert/Alert.js +47 -20
  18. package/alert/Alert.test.js +46 -29
  19. package/alert/types.d.ts +3 -3
  20. package/badge/Badge.js +14 -2
  21. package/badge/types.d.ts +1 -1
  22. package/bleed/Bleed.js +21 -13
  23. package/bleed/Bleed.stories.tsx +1 -0
  24. package/bleed/types.d.ts +2 -2
  25. package/box/Box.d.ts +1 -1
  26. package/box/Box.js +33 -33
  27. package/box/Box.stories.tsx +25 -53
  28. package/box/Box.test.js +7 -2
  29. package/box/types.d.ts +3 -15
  30. package/bulleted-list/BulletedList.js +36 -9
  31. package/bulleted-list/BulletedList.stories.tsx +7 -1
  32. package/bulleted-list/types.d.ts +32 -5
  33. package/button/Button.d.ts +1 -1
  34. package/button/Button.js +83 -71
  35. package/button/Button.stories.tsx +4 -4
  36. package/button/Button.test.js +28 -8
  37. package/button/types.d.ts +8 -4
  38. package/card/Card.d.ts +1 -1
  39. package/card/Card.js +67 -62
  40. package/card/Card.stories.tsx +12 -42
  41. package/card/Card.test.js +22 -11
  42. package/card/types.d.ts +4 -10
  43. package/checkbox/Checkbox.js +71 -27
  44. package/checkbox/Checkbox.test.js +60 -33
  45. package/checkbox/types.d.ts +4 -4
  46. package/chip/Chip.js +51 -48
  47. package/chip/Chip.stories.tsx +25 -17
  48. package/chip/Chip.test.js +29 -17
  49. package/chip/types.d.ts +4 -4
  50. package/common/OpenSans.css +68 -80
  51. package/common/coreTokens.d.ts +146 -0
  52. package/common/coreTokens.js +167 -0
  53. package/common/utils.d.ts +1 -0
  54. package/common/utils.js +8 -3
  55. package/common/variables.d.ts +226 -175
  56. package/common/variables.js +956 -1133
  57. package/date-input/Calendar.js +55 -12
  58. package/date-input/DateInput.js +82 -35
  59. package/date-input/DateInput.test.js +351 -164
  60. package/date-input/DatePicker.js +38 -8
  61. package/date-input/Icons.js +12 -0
  62. package/date-input/YearPicker.js +30 -5
  63. package/date-input/types.d.ts +7 -7
  64. package/dialog/Dialog.d.ts +1 -1
  65. package/dialog/Dialog.js +83 -86
  66. package/dialog/Dialog.stories.tsx +127 -221
  67. package/dialog/Dialog.test.js +331 -18
  68. package/dialog/types.d.ts +1 -14
  69. package/dropdown/Dropdown.js +86 -32
  70. package/dropdown/Dropdown.test.js +211 -104
  71. package/dropdown/DropdownMenu.js +22 -8
  72. package/dropdown/DropdownMenuItem.js +15 -6
  73. package/dropdown/types.d.ts +8 -8
  74. package/file-input/FileInput.js +218 -134
  75. package/file-input/FileInput.test.js +343 -331
  76. package/file-input/FileItem.js +39 -12
  77. package/file-input/types.d.ts +10 -10
  78. package/flex/Flex.js +39 -25
  79. package/flex/Flex.stories.tsx +35 -26
  80. package/flex/types.d.ts +74 -9
  81. package/footer/Footer.d.ts +1 -1
  82. package/footer/Footer.js +80 -68
  83. package/footer/Footer.stories.tsx +12 -89
  84. package/footer/Footer.test.js +47 -40
  85. package/footer/Icons.js +4 -0
  86. package/footer/types.d.ts +15 -17
  87. package/grid/Grid.d.ts +7 -0
  88. package/grid/Grid.js +91 -0
  89. package/grid/Grid.stories.tsx +219 -0
  90. package/grid/types.d.ts +115 -0
  91. package/header/Header.d.ts +4 -3
  92. package/header/Header.js +72 -55
  93. package/header/Header.stories.tsx +7 -71
  94. package/header/Header.test.js +26 -13
  95. package/header/Icons.js +4 -0
  96. package/header/types.d.ts +2 -16
  97. package/heading/Heading.js +28 -7
  98. package/heading/Heading.test.js +88 -71
  99. package/heading/types.d.ts +3 -3
  100. package/inset/Inset.js +21 -13
  101. package/inset/Inset.stories.tsx +2 -1
  102. package/inset/types.d.ts +2 -2
  103. package/layout/ApplicationLayout.d.ts +5 -5
  104. package/layout/ApplicationLayout.js +57 -15
  105. package/layout/Icons.js +10 -0
  106. package/layout/SidenavContext.d.ts +1 -1
  107. package/layout/SidenavContext.js +4 -0
  108. package/layout/types.d.ts +5 -6
  109. package/link/Link.js +41 -21
  110. package/link/Link.test.js +42 -26
  111. package/link/types.d.ts +4 -4
  112. package/main.d.ts +2 -1
  113. package/main.js +55 -0
  114. package/nav-tabs/NavTabs.d.ts +2 -2
  115. package/nav-tabs/NavTabs.js +43 -16
  116. package/nav-tabs/NavTabs.stories.tsx +14 -0
  117. package/nav-tabs/NavTabs.test.js +44 -37
  118. package/nav-tabs/Tab.js +71 -45
  119. package/nav-tabs/types.d.ts +10 -11
  120. package/number-input/NumberInput.js +30 -20
  121. package/number-input/NumberInput.test.js +249 -113
  122. package/number-input/NumberInputContext.js +5 -0
  123. package/number-input/numberInputContextTypes.d.ts +1 -1
  124. package/number-input/types.d.ts +4 -4
  125. package/package.json +7 -7
  126. package/paginator/Icons.js +10 -0
  127. package/paginator/Paginator.js +39 -17
  128. package/paginator/Paginator.test.js +156 -104
  129. package/paginator/types.d.ts +1 -1
  130. package/paragraph/Paragraph.d.ts +3 -4
  131. package/paragraph/Paragraph.js +18 -8
  132. package/password-input/PasswordInput.js +51 -22
  133. package/password-input/PasswordInput.test.js +94 -51
  134. package/password-input/types.d.ts +4 -4
  135. package/progress-bar/ProgressBar.d.ts +2 -2
  136. package/progress-bar/ProgressBar.js +39 -14
  137. package/progress-bar/ProgressBar.test.js +53 -36
  138. package/progress-bar/types.d.ts +4 -3
  139. package/quick-nav/QuickNav.js +24 -2
  140. package/quick-nav/types.d.ts +2 -2
  141. package/radio-group/Radio.js +53 -22
  142. package/radio-group/RadioGroup.js +84 -41
  143. package/radio-group/RadioGroup.test.js +288 -186
  144. package/radio-group/types.d.ts +4 -4
  145. package/resultsetTable/Icons.js +3 -0
  146. package/resultsetTable/ResultsetTable.js +56 -21
  147. package/resultsetTable/ResultsetTable.test.js +75 -42
  148. package/resultsetTable/types.d.ts +5 -5
  149. package/select/Icons.js +3 -0
  150. package/select/Listbox.js +35 -10
  151. package/select/Option.js +24 -8
  152. package/select/Select.js +143 -56
  153. package/select/Select.test.js +839 -456
  154. package/select/types.d.ts +12 -12
  155. package/sidenav/Icons.d.ts +7 -0
  156. package/sidenav/Icons.js +51 -0
  157. package/sidenav/Sidenav.d.ts +2 -2
  158. package/sidenav/Sidenav.js +116 -104
  159. package/sidenav/Sidenav.stories.tsx +60 -60
  160. package/sidenav/Sidenav.test.js +10 -3
  161. package/sidenav/types.d.ts +26 -23
  162. package/slider/Slider.js +84 -38
  163. package/slider/Slider.test.js +104 -76
  164. package/slider/types.d.ts +4 -4
  165. package/spinner/Spinner.js +51 -28
  166. package/spinner/Spinner.stories.jsx +28 -28
  167. package/spinner/Spinner.test.js +35 -26
  168. package/spinner/types.d.ts +3 -3
  169. package/switch/Switch.js +66 -24
  170. package/switch/Switch.test.js +97 -52
  171. package/switch/types.d.ts +4 -4
  172. package/table/Table.js +22 -4
  173. package/table/Table.test.js +7 -2
  174. package/table/types.d.ts +3 -3
  175. package/tabs/Tab.js +39 -22
  176. package/tabs/Tabs.js +131 -62
  177. package/tabs/Tabs.test.js +122 -67
  178. package/tabs/types.d.ts +8 -8
  179. package/tag/Tag.js +54 -27
  180. package/tag/Tag.test.js +31 -20
  181. package/tag/types.d.ts +7 -7
  182. package/text-input/Icons.js +3 -0
  183. package/text-input/Suggestion.js +24 -8
  184. package/text-input/Suggestions.js +36 -11
  185. package/text-input/TextInput.js +144 -59
  186. package/text-input/TextInput.stories.tsx +1 -1
  187. package/text-input/TextInput.test.js +858 -539
  188. package/text-input/types.d.ts +9 -9
  189. package/textarea/Textarea.js +73 -38
  190. package/textarea/Textarea.test.js +173 -98
  191. package/textarea/types.d.ts +4 -4
  192. package/toggle-group/ToggleGroup.d.ts +2 -2
  193. package/toggle-group/ToggleGroup.js +59 -21
  194. package/toggle-group/ToggleGroup.test.js +72 -40
  195. package/toggle-group/types.d.ts +11 -11
  196. package/typography/Typography.d.ts +2 -2
  197. package/typography/Typography.js +23 -110
  198. package/typography/Typography.stories.tsx +1 -1
  199. package/typography/types.d.ts +1 -1
  200. package/useTheme.d.ts +1234 -1
  201. package/useTheme.js +6 -0
  202. package/useTranslatedLabels.d.ts +84 -2
  203. package/useTranslatedLabels.js +5 -0
  204. package/utils/BaseTypography.d.ts +21 -0
  205. package/utils/BaseTypography.js +108 -0
  206. package/utils/FocusLock.d.ts +13 -0
  207. package/utils/FocusLock.js +138 -0
  208. package/wizard/Wizard.js +47 -13
  209. package/wizard/Wizard.test.js +81 -54
  210. package/wizard/types.d.ts +7 -8
  211. package/card/ice-cream.jpg +0 -0
  212. package/translatedLabelsType.d.ts +0 -82
  213. /package/{translatedLabelsType.js → grid/types.js} +0 -0
@@ -1,78 +1,96 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  var _react = _interopRequireDefault(require("react"));
6
+
5
7
  var _react2 = require("@testing-library/react");
8
+
6
9
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
7
- var _NumberInput = _interopRequireDefault(require("./NumberInput"));
10
+
11
+ var _NumberInput = _interopRequireDefault(require("./NumberInput.tsx"));
12
+
8
13
  describe("Number input component tests", function () {
9
14
  test("Number input renders with label", function () {
10
15
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
11
- label: "Number input label"
12
- })),
13
- getByText = _render.getByText;
16
+ label: "Number input label"
17
+ })),
18
+ getByText = _render.getByText;
19
+
14
20
  expect(getByText("Number input label")).toBeTruthy();
15
21
  });
16
22
  test("Number input renders with helper text", function () {
17
23
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
18
- helperText: "Helper text"
19
- })),
20
- getByText = _render2.getByText;
24
+ helperText: "Helper text"
25
+ })),
26
+ getByText = _render2.getByText;
27
+
21
28
  expect(getByText("Helper text")).toBeTruthy();
22
29
  });
23
30
  test("Number input renders with placeholder", function () {
24
31
  var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
25
- label: "Number label",
26
- placeholder: "Placeholder"
27
- })),
28
- getByLabelText = _render3.getByLabelText;
32
+ label: "Number label",
33
+ placeholder: "Placeholder"
34
+ })),
35
+ getByLabelText = _render3.getByLabelText;
36
+
29
37
  var number = getByLabelText("Number label");
30
38
  expect(number.getAttribute("placeholder")).toBe("Placeholder");
31
39
  });
32
40
  test("Number input renders increment and decrement buttons", function () {
33
41
  var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
34
- label: "Number label"
35
- })),
36
- queryAllByRole = _render4.queryAllByRole;
42
+ label: "Number label"
43
+ })),
44
+ queryAllByRole = _render4.queryAllByRole;
45
+
37
46
  expect(queryAllByRole("button").length).toBe(2);
38
47
  });
39
48
  test("Number input buttons' tooltip is correct", function () {
40
49
  var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
41
- label: "Number label"
42
- })),
43
- getByTitle = _render5.getByTitle;
50
+ label: "Number label"
51
+ })),
52
+ getByTitle = _render5.getByTitle;
53
+
44
54
  expect(getByTitle("Decrement value")).toBeTruthy();
45
55
  expect(getByTitle("Increment value")).toBeTruthy();
46
56
  });
47
57
  test("Number input is disabled", function () {
48
58
  var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
49
- label: "Number label",
50
- disabled: true
51
- })),
52
- getByLabelText = _render6.getByLabelText;
59
+ label: "Number label",
60
+ disabled: true
61
+ })),
62
+ getByLabelText = _render6.getByLabelText;
63
+
53
64
  var number = getByLabelText("Number label");
54
65
  expect(number.disabled).toBeTruthy();
55
66
  });
56
67
  test("Number input is optional", function () {
57
68
  var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
58
- label: "Number label",
59
- optional: true
60
- })),
61
- getByText = _render7.getByText;
69
+ label: "Number label",
70
+ optional: true
71
+ })),
72
+ getByText = _render7.getByText;
73
+
62
74
  expect(getByText("(Optional)")).toBeTruthy();
63
75
  });
64
76
  test("Number input is not optional: required field, displays error if not filled in", function () {
65
77
  var onBlur = jest.fn();
66
78
  var onChange = jest.fn();
79
+
67
80
  var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
68
- onBlur: onBlur,
69
- onChange: onChange
70
- })),
71
- getByRole = _render8.getByRole;
81
+ onBlur: onBlur,
82
+ onChange: onChange
83
+ })),
84
+ getByRole = _render8.getByRole;
85
+
72
86
  var input = getByRole("spinbutton");
87
+
73
88
  _userEvent["default"].type(input, "1");
89
+
74
90
  _userEvent["default"].clear(input);
91
+
75
92
  _react2.fireEvent.blur(input);
93
+
76
94
  expect(onBlur).toHaveBeenCalled();
77
95
  expect(onBlur).toHaveBeenCalledWith({
78
96
  value: "",
@@ -86,35 +104,43 @@ describe("Number input component tests", function () {
86
104
  });
87
105
  test("Suffix and prefix must be shown)", function () {
88
106
  var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
89
- label: "Number input label",
90
- prefix: "+34",
91
- suffix: "USD"
92
- })),
93
- getByText = _render9.getByText;
107
+ label: "Number input label",
108
+ prefix: "+34",
109
+ suffix: "USD"
110
+ })),
111
+ getByText = _render9.getByText;
112
+
94
113
  expect(getByText("+34")).toBeTruthy();
95
114
  expect(getByText("USD")).toBeTruthy();
96
115
  });
97
116
  test("Invalid number input renders error", function () {
98
117
  var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
99
- error: "Error message."
100
- })),
101
- getByText = _render10.getByText;
118
+ error: "Error message."
119
+ })),
120
+ getByText = _render10.getByText;
121
+
102
122
  expect(getByText("Error message.")).toBeTruthy();
103
123
  });
104
124
  test("onChange function is called correctly", function () {
105
125
  var onChange = jest.fn();
126
+
106
127
  var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
107
- label: "Number input label",
108
- onChange: onChange
109
- })),
110
- getByLabelText = _render11.getByLabelText;
128
+ label: "Number input label",
129
+ onChange: onChange
130
+ })),
131
+ getByLabelText = _render11.getByLabelText;
132
+
111
133
  var number = getByLabelText("Number input label");
134
+
112
135
  _userEvent["default"].type(number, "t");
136
+
113
137
  expect(onChange).not.toHaveBeenCalledWith({
114
138
  value: "t"
115
139
  });
116
140
  expect(number.value).toBe("");
141
+
117
142
  _userEvent["default"].type(number, "1");
143
+
118
144
  expect(onChange).toHaveBeenCalledWith({
119
145
  value: "1"
120
146
  });
@@ -123,75 +149,97 @@ describe("Number input component tests", function () {
123
149
  test("Error message is shown if the value is less than the min value", function () {
124
150
  var onChange = jest.fn(function (_ref) {
125
151
  var value = _ref.value,
126
- error = _ref.error;
152
+ error = _ref.error;
127
153
  expect(value).toBe("1");
128
154
  expect(error).toBe("Value must be greater than or equal to 5.");
129
155
  });
130
156
  var onBlur = jest.fn(function (_ref2) {
131
157
  var value = _ref2.value,
132
- error = _ref2.error;
158
+ error = _ref2.error;
133
159
  expect(value).toBe("1");
134
160
  expect(error).toBe("Value must be greater than or equal to 5.");
135
161
  });
162
+
136
163
  var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
137
- label: "Number input label",
138
- min: 5,
139
- onBlur: onBlur,
140
- onChange: onChange
141
- })),
142
- getByLabelText = _render12.getByLabelText;
164
+ label: "Number input label",
165
+ min: 5,
166
+ onBlur: onBlur,
167
+ onChange: onChange
168
+ })),
169
+ getByLabelText = _render12.getByLabelText;
170
+
143
171
  var number = getByLabelText("Number input label");
172
+
144
173
  _userEvent["default"].type(number, "1");
174
+
145
175
  _react2.fireEvent.blur(number);
146
176
  });
147
177
  test("Cannot decrement the value if it is less than the min value", function () {
148
178
  var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
149
- label: "Number input label",
150
- min: 5
151
- })),
152
- getByLabelText = _render13.getByLabelText,
153
- getAllByRole = _render13.getAllByRole;
179
+ label: "Number input label",
180
+ min: 5
181
+ })),
182
+ getByLabelText = _render13.getByLabelText,
183
+ getAllByRole = _render13.getAllByRole;
184
+
154
185
  var number = getByLabelText("Number input label");
186
+
155
187
  _userEvent["default"].type(number, "1");
188
+
156
189
  _react2.fireEvent.blur(number);
190
+
157
191
  expect(number.value).toBe("1");
158
192
  var decrement = getAllByRole("button")[0];
193
+
159
194
  _userEvent["default"].click(decrement);
195
+
160
196
  expect(number.value).toBe("1");
161
197
  });
162
198
  test("Increment the value when it is less than the min value", function () {
163
199
  var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
164
- label: "Number input label",
165
- min: 5
166
- })),
167
- getByLabelText = _render14.getByLabelText,
168
- getAllByRole = _render14.getAllByRole;
200
+ label: "Number input label",
201
+ min: 5
202
+ })),
203
+ getByLabelText = _render14.getByLabelText,
204
+ getAllByRole = _render14.getAllByRole;
205
+
169
206
  var number = getByLabelText("Number input label");
207
+
170
208
  _userEvent["default"].type(number, "1");
209
+
171
210
  _react2.fireEvent.blur(number);
211
+
172
212
  expect(number.value).toBe("1");
173
213
  var increment = getAllByRole("button")[1];
214
+
174
215
  _userEvent["default"].click(increment);
216
+
175
217
  expect(number.value).toBe("5");
176
218
  });
177
219
  test("Error message is shown if the value is greater than the max value", function () {
178
220
  var onChange = jest.fn();
179
221
  var onBlur = jest.fn();
222
+
180
223
  var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
181
- label: "Number input label",
182
- max: 10,
183
- onBlur: onBlur,
184
- onChange: onChange
185
- })),
186
- getByLabelText = _render15.getByLabelText;
224
+ label: "Number input label",
225
+ max: 10,
226
+ onBlur: onBlur,
227
+ onChange: onChange
228
+ })),
229
+ getByLabelText = _render15.getByLabelText;
230
+
187
231
  var number = getByLabelText("Number input label");
232
+
188
233
  _userEvent["default"].type(number, "12");
234
+
189
235
  expect(onChange).toHaveBeenCalledTimes(2);
190
236
  expect(onChange).toHaveBeenCalledWith({
191
237
  value: "12",
192
238
  error: "Value must be less than or equal to 10."
193
239
  });
240
+
194
241
  _react2.fireEvent.blur(number);
242
+
195
243
  expect(onBlur).toHaveBeenCalled();
196
244
  expect(onBlur).toHaveBeenCalledWith({
197
245
  value: "12",
@@ -200,171 +248,251 @@ describe("Number input component tests", function () {
200
248
  });
201
249
  test("Cannot increment the value if it is greater than the max value", function () {
202
250
  var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
203
- label: "Number input label",
204
- max: 10
205
- })),
206
- getByLabelText = _render16.getByLabelText,
207
- getAllByRole = _render16.getAllByRole;
251
+ label: "Number input label",
252
+ max: 10
253
+ })),
254
+ getByLabelText = _render16.getByLabelText,
255
+ getAllByRole = _render16.getAllByRole;
256
+
208
257
  var number = getByLabelText("Number input label");
258
+
209
259
  _userEvent["default"].type(number, "12");
260
+
210
261
  _react2.fireEvent.blur(number);
262
+
211
263
  expect(number.value).toBe("12");
212
264
  var decrement = getAllByRole("button")[1];
265
+
213
266
  _userEvent["default"].click(decrement);
267
+
214
268
  expect(number.value).toBe("12");
215
269
  });
216
270
  test("Decrement the value when it is greater than the max value", function () {
217
271
  var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
218
- label: "Number input label",
219
- max: 10
220
- })),
221
- getByLabelText = _render17.getByLabelText,
222
- getAllByRole = _render17.getAllByRole;
272
+ label: "Number input label",
273
+ max: 10
274
+ })),
275
+ getByLabelText = _render17.getByLabelText,
276
+ getAllByRole = _render17.getAllByRole;
277
+
223
278
  var number = getByLabelText("Number input label");
279
+
224
280
  _userEvent["default"].type(number, "12");
281
+
225
282
  _react2.fireEvent.blur(number);
283
+
226
284
  expect(number.value).toBe("12");
227
285
  var decrement = getAllByRole("button")[0];
286
+
228
287
  _userEvent["default"].click(decrement);
288
+
229
289
  expect(number.value).toBe("10");
230
290
  });
231
291
  test("Increment and decrement the value with min and max values", function () {
232
292
  var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
233
- label: "Number input label",
234
- min: 5,
235
- max: 10
236
- })),
237
- getByLabelText = _render18.getByLabelText,
238
- getAllByRole = _render18.getAllByRole;
293
+ label: "Number input label",
294
+ min: 5,
295
+ max: 10
296
+ })),
297
+ getByLabelText = _render18.getByLabelText,
298
+ getAllByRole = _render18.getAllByRole;
299
+
239
300
  var number = getByLabelText("Number input label");
301
+
240
302
  _userEvent["default"].type(number, "1");
303
+
241
304
  _react2.fireEvent.blur(number);
305
+
242
306
  expect(number.value).toBe("1");
243
307
  var decrement = getAllByRole("button")[0];
308
+
244
309
  _userEvent["default"].click(decrement);
310
+
245
311
  expect(number.value).toBe("1");
246
312
  var increment = getAllByRole("button")[1];
313
+
247
314
  _userEvent["default"].click(increment);
315
+
248
316
  expect(number.value).toBe("5");
317
+
249
318
  _userEvent["default"].click(increment);
319
+
250
320
  _userEvent["default"].click(increment);
321
+
251
322
  _userEvent["default"].click(increment);
323
+
252
324
  _userEvent["default"].click(increment);
325
+
253
326
  _userEvent["default"].click(increment);
327
+
254
328
  expect(number.value).toBe("10");
329
+
255
330
  _userEvent["default"].click(increment);
331
+
256
332
  expect(number.value).toBe("10");
257
333
  });
258
334
  test("Increment and decrement the value with step", function () {
259
335
  var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
260
- label: "Number input label",
261
- step: 5
262
- })),
263
- getByLabelText = _render19.getByLabelText,
264
- getAllByRole = _render19.getAllByRole;
336
+ label: "Number input label",
337
+ step: 5
338
+ })),
339
+ getByLabelText = _render19.getByLabelText,
340
+ getAllByRole = _render19.getAllByRole;
341
+
265
342
  var number = getByLabelText("Number input label");
343
+
266
344
  _userEvent["default"].type(number, "10");
345
+
267
346
  _react2.fireEvent.blur(number);
347
+
268
348
  expect(number.value).toBe("10");
269
349
  var increment = getAllByRole("button")[1];
350
+
270
351
  _userEvent["default"].click(increment);
352
+
271
353
  expect(number.value).toBe("15");
354
+
272
355
  _userEvent["default"].click(increment);
356
+
273
357
  expect(number.value).toBe("20");
274
358
  var decrement = getAllByRole("button")[0];
359
+
275
360
  _userEvent["default"].click(decrement);
361
+
276
362
  expect(number.value).toBe("15");
363
+
277
364
  _userEvent["default"].click(decrement);
365
+
278
366
  expect(number.value).toBe("10");
279
367
  });
280
368
  test("Increment and decrement the value with min, max and step", function () {
281
369
  var onBlur = jest.fn();
370
+
282
371
  var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
283
- label: "Number input label",
284
- min: 5,
285
- max: 20,
286
- step: 8,
287
- onBlur: onBlur
288
- })),
289
- getByLabelText = _render20.getByLabelText,
290
- getAllByRole = _render20.getAllByRole;
372
+ label: "Number input label",
373
+ min: 5,
374
+ max: 20,
375
+ step: 8,
376
+ onBlur: onBlur
377
+ })),
378
+ getByLabelText = _render20.getByLabelText,
379
+ getAllByRole = _render20.getAllByRole;
380
+
291
381
  var number = getByLabelText("Number input label");
382
+
292
383
  _userEvent["default"].type(number, "1");
384
+
293
385
  _react2.fireEvent.blur(number);
386
+
294
387
  expect(onBlur).toHaveBeenCalledWith({
295
388
  value: "1",
296
389
  error: "Value must be greater than or equal to 5."
297
390
  });
298
391
  var increment = getAllByRole("button")[1];
392
+
299
393
  _userEvent["default"].click(increment);
394
+
300
395
  expect(number.value).toBe("5");
396
+
301
397
  _userEvent["default"].click(increment);
398
+
302
399
  expect(number.value).toBe("13");
400
+
303
401
  _userEvent["default"].click(increment);
402
+
304
403
  expect(number.value).toBe("20");
404
+
305
405
  _userEvent["default"].click(increment);
406
+
306
407
  expect(number.value).toBe("20");
307
408
  var decrement = getAllByRole("button")[0];
409
+
308
410
  _userEvent["default"].click(decrement);
411
+
309
412
  expect(number.value).toBe("12");
413
+
310
414
  _userEvent["default"].click(decrement);
415
+
311
416
  expect(number.value).toBe("5");
417
+
312
418
  _userEvent["default"].click(decrement);
419
+
313
420
  expect(number.value).toBe("5");
314
421
  });
315
422
  test("Increment and decrement the value with min, max and step using the arrows in keyboard", function () {
316
423
  var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
317
- label: "Number input label",
318
- min: 5,
319
- max: 20,
320
- step: 5
321
- })),
322
- getByLabelText = _render21.getByLabelText;
424
+ label: "Number input label",
425
+ min: 5,
426
+ max: 20,
427
+ step: 5
428
+ })),
429
+ getByLabelText = _render21.getByLabelText;
430
+
323
431
  var number = getByLabelText("Number input label");
432
+
324
433
  _userEvent["default"].type(number, "1");
434
+
325
435
  _react2.fireEvent.keyDown(number, {
326
436
  keyCode: 38
327
437
  });
438
+
328
439
  expect(number.value).toBe("5");
440
+
329
441
  _react2.fireEvent.keyDown(number, {
330
442
  keyCode: 38
331
443
  });
444
+
332
445
  expect(number.value).toBe("10");
446
+
333
447
  _react2.fireEvent.keyDown(number, {
334
448
  keyCode: 38
335
449
  });
450
+
336
451
  expect(number.value).toBe("15");
452
+
337
453
  _react2.fireEvent.keyDown(number, {
338
454
  keyCode: 38
339
455
  });
456
+
340
457
  expect(number.value).toBe("20");
458
+
341
459
  _react2.fireEvent.keyDown(number, {
342
460
  keyCode: 38
343
461
  });
462
+
344
463
  expect(number.value).toBe("20");
464
+
345
465
  _react2.fireEvent.keyDown(number, {
346
466
  keyCode: 40
347
467
  });
468
+
348
469
  expect(number.value).toBe("15");
470
+
349
471
  _react2.fireEvent.keyDown(number, {
350
472
  keyCode: 40
351
473
  });
474
+
352
475
  expect(number.value).toBe("10");
476
+
353
477
  _react2.fireEvent.keyDown(number, {
354
478
  keyCode: 40
355
479
  });
480
+
356
481
  expect(number.value).toBe("5");
482
+
357
483
  _react2.fireEvent.keyDown(number, {
358
484
  keyCode: 40
359
485
  });
486
+
360
487
  expect(number.value).toBe("5");
361
488
  });
362
489
  test("Number has correct accesibility attributes", function () {
363
490
  var _render22 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
364
- label: "Number input label"
365
- })),
366
- getByLabelText = _render22.getByLabelText,
367
- getAllByRole = _render22.getAllByRole;
491
+ label: "Number input label"
492
+ })),
493
+ getByLabelText = _render22.getByLabelText,
494
+ getAllByRole = _render22.getAllByRole;
495
+
368
496
  var number = getByLabelText("Number input label");
369
497
  expect(number.getAttribute("aria-autocomplete")).toBeNull();
370
498
  expect(number.getAttribute("aria-controls")).toBeNull();
@@ -383,24 +511,32 @@ describe("Number input component tests", function () {
383
511
  data: "0"
384
512
  });
385
513
  });
514
+
386
515
  var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
387
- onSubmit: handlerOnSubmit
388
- }, /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
389
- label: "Number input label",
390
- name: "data"
391
- }), /*#__PURE__*/_react["default"].createElement("button", {
392
- type: "submit"
393
- }, "Submit"))),
394
- getByText = _render23.getByText,
395
- getAllByRole = _render23.getAllByRole;
516
+ onSubmit: handlerOnSubmit
517
+ }, /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
518
+ label: "Number input label",
519
+ name: "data"
520
+ }), /*#__PURE__*/_react["default"].createElement("button", {
521
+ type: "submit"
522
+ }, "Submit"))),
523
+ getByText = _render23.getByText,
524
+ getAllByRole = _render23.getAllByRole;
525
+
396
526
  var less = getAllByRole("button")[0];
397
527
  var more = getAllByRole("button")[1];
398
528
  var submit = getByText("Submit");
529
+
399
530
  _userEvent["default"].click(more);
531
+
400
532
  expect(handlerOnSubmit).not.toHaveBeenCalled();
533
+
401
534
  _userEvent["default"].click(less);
535
+
402
536
  expect(handlerOnSubmit).not.toHaveBeenCalled();
537
+
403
538
  _userEvent["default"].click(submit);
539
+
404
540
  expect(handlerOnSubmit).toHaveBeenCalled();
405
541
  });
406
542
  });
@@ -1,14 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports["default"] = void 0;
9
+
8
10
  var _react = _interopRequireDefault(require("react"));
11
+
9
12
  var defaultState = {
10
13
  stepNumber: 1
11
14
  };
15
+
12
16
  var NumberInputContext = /*#__PURE__*/_react["default"].createContext(defaultState);
17
+
13
18
  var _default = NumberInputContext;
14
19
  exports["default"] = _default;
@@ -1,4 +1,4 @@
1
- type Props = {
1
+ declare type Props = {
2
2
  /**
3
3
  * Type of the input.
4
4
  */
@@ -1,11 +1,11 @@
1
- type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
- type Margin = {
1
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ declare type Margin = {
3
3
  top?: Space;
4
4
  bottom?: Space;
5
5
  left?: Space;
6
6
  right?: Space;
7
7
  };
8
- type Props = {
8
+ declare type Props = {
9
9
  /**
10
10
  * Text to be placed above the number.
11
11
  */
@@ -120,5 +120,5 @@ type Props = {
120
120
  /**
121
121
  * Reference to the component.
122
122
  */
123
- export type RefType = HTMLDivElement;
123
+ export declare type RefType = HTMLDivElement;
124
124
  export default Props;