@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.
Files changed (244) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -1
  3. package/HalstackContext.d.ts +1349 -5
  4. package/HalstackContext.js +117 -77
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +14 -37
  8. package/accordion/Accordion.stories.tsx +104 -113
  9. package/accordion/Accordion.test.js +1 -1
  10. package/accordion/types.d.ts +2 -13
  11. package/accordion-group/AccordionGroup.d.ts +4 -3
  12. package/accordion-group/AccordionGroup.js +23 -44
  13. package/accordion-group/AccordionGroup.stories.tsx +77 -76
  14. package/accordion-group/AccordionGroup.test.js +7 -17
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +43 -0
  17. package/accordion-group/types.d.ts +2 -13
  18. package/alert/Alert.js +4 -8
  19. package/alert/Alert.stories.tsx +28 -0
  20. package/alert/Alert.test.js +1 -1
  21. package/bleed/Bleed.stories.tsx +1 -0
  22. package/box/Box.d.ts +1 -1
  23. package/box/Box.js +7 -26
  24. package/box/Box.stories.tsx +38 -51
  25. package/box/Box.test.js +1 -1
  26. package/box/types.d.ts +0 -11
  27. package/bulleted-list/BulletedList.js +4 -2
  28. package/bulleted-list/BulletedList.stories.tsx +7 -1
  29. package/bulleted-list/types.d.ts +31 -4
  30. package/button/Button.d.ts +1 -1
  31. package/button/Button.js +48 -60
  32. package/button/Button.stories.tsx +151 -9
  33. package/button/Button.test.js +12 -1
  34. package/button/types.d.ts +7 -3
  35. package/card/Card.d.ts +1 -1
  36. package/card/Card.js +27 -45
  37. package/card/Card.stories.tsx +12 -42
  38. package/card/Card.test.js +1 -1
  39. package/card/types.d.ts +1 -6
  40. package/checkbox/Checkbox.d.ts +2 -2
  41. package/checkbox/Checkbox.js +74 -53
  42. package/checkbox/Checkbox.stories.tsx +146 -58
  43. package/checkbox/Checkbox.test.js +84 -11
  44. package/checkbox/types.d.ts +10 -2
  45. package/chip/Chip.js +28 -49
  46. package/chip/Chip.stories.tsx +121 -26
  47. package/chip/Chip.test.js +3 -5
  48. package/common/OpenSans.css +68 -80
  49. package/common/coreTokens.d.ts +146 -0
  50. package/common/coreTokens.js +167 -0
  51. package/common/utils.d.ts +1 -0
  52. package/common/utils.js +4 -4
  53. package/common/variables.d.ts +1499 -0
  54. package/common/variables.js +1004 -1134
  55. package/date-input/Calendar.d.ts +4 -0
  56. package/date-input/Calendar.js +258 -0
  57. package/date-input/DateInput.js +138 -239
  58. package/date-input/DateInput.stories.tsx +209 -33
  59. package/date-input/DateInput.test.js +519 -149
  60. package/date-input/DatePicker.d.ts +4 -0
  61. package/date-input/DatePicker.js +146 -0
  62. package/date-input/Icons.d.ts +6 -0
  63. package/date-input/Icons.js +75 -0
  64. package/date-input/YearPicker.d.ts +4 -0
  65. package/date-input/YearPicker.js +126 -0
  66. package/date-input/types.d.ts +57 -0
  67. package/dialog/Dialog.d.ts +1 -1
  68. package/dialog/Dialog.js +54 -85
  69. package/dialog/Dialog.stories.tsx +154 -170
  70. package/dialog/Dialog.test.js +302 -3
  71. package/dialog/types.d.ts +0 -12
  72. package/dropdown/Dropdown.js +42 -41
  73. package/dropdown/Dropdown.stories.tsx +210 -84
  74. package/dropdown/Dropdown.test.js +22 -27
  75. package/dropdown/DropdownMenu.js +12 -18
  76. package/dropdown/DropdownMenuItem.js +5 -18
  77. package/dropdown/types.d.ts +3 -3
  78. package/file-input/FileInput.d.ts +2 -2
  79. package/file-input/FileInput.js +174 -220
  80. package/file-input/FileInput.stories.tsx +122 -11
  81. package/file-input/FileInput.test.js +14 -14
  82. package/file-input/FileItem.d.ts +4 -14
  83. package/file-input/FileItem.js +39 -63
  84. package/file-input/types.d.ts +18 -1
  85. package/flex/Flex.d.ts +1 -1
  86. package/flex/Flex.js +33 -19
  87. package/flex/Flex.stories.tsx +35 -26
  88. package/flex/types.d.ts +83 -7
  89. package/footer/Footer.d.ts +1 -1
  90. package/footer/Footer.js +44 -64
  91. package/footer/Footer.stories.tsx +36 -21
  92. package/footer/Footer.test.js +16 -26
  93. package/footer/types.d.ts +10 -11
  94. package/grid/Grid.d.ts +7 -0
  95. package/grid/Grid.js +91 -0
  96. package/grid/Grid.stories.tsx +219 -0
  97. package/grid/types.d.ts +115 -0
  98. package/header/Header.d.ts +4 -3
  99. package/header/Header.js +20 -49
  100. package/header/Header.stories.tsx +115 -36
  101. package/header/Header.test.js +2 -2
  102. package/header/types.d.ts +1 -14
  103. package/heading/Heading.js +1 -1
  104. package/heading/Heading.test.js +1 -1
  105. package/image/Image.d.ts +4 -0
  106. package/image/Image.js +85 -0
  107. package/image/Image.stories.tsx +127 -0
  108. package/image/types.d.ts +72 -0
  109. package/inset/Inset.stories.tsx +2 -1
  110. package/layout/ApplicationLayout.d.ts +5 -5
  111. package/layout/ApplicationLayout.js +15 -12
  112. package/layout/ApplicationLayout.stories.tsx +1 -1
  113. package/layout/Icons.d.ts +7 -4
  114. package/layout/Icons.js +52 -56
  115. package/layout/types.d.ts +2 -3
  116. package/link/Link.js +4 -4
  117. package/link/Link.stories.tsx +60 -0
  118. package/link/Link.test.js +2 -4
  119. package/link/types.d.ts +2 -2
  120. package/main.d.ts +5 -3
  121. package/main.js +18 -2
  122. package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
  123. package/{tabs-nav → nav-tabs}/NavTabs.js +8 -11
  124. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +110 -6
  125. package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
  126. package/{tabs-nav → nav-tabs}/Tab.js +49 -33
  127. package/{tabs-nav → nav-tabs}/types.d.ts +8 -9
  128. package/number-input/NumberInput.d.ts +7 -0
  129. package/number-input/NumberInput.js +8 -4
  130. package/number-input/NumberInput.stories.tsx +47 -2
  131. package/number-input/NumberInput.test.js +354 -92
  132. package/number-input/types.d.ts +6 -0
  133. package/package.json +14 -19
  134. package/paginator/Icons.d.ts +5 -0
  135. package/paginator/Icons.js +16 -28
  136. package/paginator/Paginator.js +8 -16
  137. package/paginator/Paginator.stories.tsx +24 -0
  138. package/paginator/Paginator.test.js +58 -48
  139. package/paragraph/Paragraph.d.ts +3 -4
  140. package/paragraph/Paragraph.js +5 -5
  141. package/password-input/Icons.d.ts +6 -0
  142. package/password-input/Icons.js +39 -0
  143. package/password-input/PasswordInput.js +35 -82
  144. package/password-input/PasswordInput.stories.tsx +1 -0
  145. package/password-input/PasswordInput.test.js +34 -40
  146. package/progress-bar/ProgressBar.d.ts +2 -2
  147. package/progress-bar/ProgressBar.js +5 -5
  148. package/progress-bar/ProgressBar.stories.jsx +35 -2
  149. package/progress-bar/ProgressBar.test.js +1 -1
  150. package/progress-bar/types.d.ts +4 -3
  151. package/quick-nav/QuickNav.js +11 -12
  152. package/quick-nav/QuickNav.stories.tsx +111 -19
  153. package/radio-group/Radio.d.ts +1 -1
  154. package/radio-group/Radio.js +50 -35
  155. package/radio-group/RadioGroup.js +29 -29
  156. package/radio-group/RadioGroup.stories.tsx +132 -18
  157. package/radio-group/RadioGroup.test.js +153 -99
  158. package/radio-group/types.d.ts +5 -5
  159. package/resultset-table/Icons.d.ts +7 -0
  160. package/resultset-table/Icons.js +51 -0
  161. package/{resultsetTable → resultset-table}/ResultsetTable.js +49 -108
  162. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +50 -25
  163. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +41 -64
  164. package/{resultsetTable → resultset-table}/types.d.ts +1 -1
  165. package/resultset-table/types.js +5 -0
  166. package/select/Listbox.d.ts +1 -1
  167. package/select/Listbox.js +5 -35
  168. package/select/Option.js +11 -24
  169. package/select/Select.js +59 -36
  170. package/select/Select.stories.tsx +497 -153
  171. package/select/Select.test.js +345 -292
  172. package/select/types.d.ts +2 -2
  173. package/sidenav/Icons.d.ts +7 -0
  174. package/sidenav/Icons.js +51 -0
  175. package/sidenav/Sidenav.d.ts +2 -2
  176. package/sidenav/Sidenav.js +66 -96
  177. package/sidenav/Sidenav.stories.tsx +165 -63
  178. package/sidenav/types.d.ts +21 -18
  179. package/slider/Slider.d.ts +2 -2
  180. package/slider/Slider.js +17 -14
  181. package/slider/Slider.stories.tsx +57 -0
  182. package/slider/Slider.test.js +1 -1
  183. package/slider/types.d.ts +6 -2
  184. package/spinner/Spinner.js +17 -23
  185. package/spinner/Spinner.stories.jsx +53 -27
  186. package/spinner/Spinner.test.js +1 -1
  187. package/switch/Switch.d.ts +3 -3
  188. package/switch/Switch.js +95 -84
  189. package/switch/Switch.stories.tsx +33 -0
  190. package/switch/Switch.test.js +27 -14
  191. package/switch/types.d.ts +8 -3
  192. package/table/Table.js +3 -3
  193. package/table/Table.stories.jsx +80 -1
  194. package/table/Table.test.js +2 -2
  195. package/tabs/Tab.js +12 -15
  196. package/tabs/Tabs.js +11 -17
  197. package/tabs/Tabs.stories.tsx +45 -5
  198. package/tabs/Tabs.test.js +4 -5
  199. package/tabs/types.d.ts +2 -2
  200. package/tag/Tag.js +7 -9
  201. package/tag/Tag.stories.tsx +14 -1
  202. package/tag/Tag.test.js +1 -1
  203. package/text-input/Icons.d.ts +8 -0
  204. package/text-input/Icons.js +60 -0
  205. package/text-input/Suggestion.js +40 -11
  206. package/text-input/Suggestions.d.ts +4 -0
  207. package/text-input/Suggestions.js +134 -0
  208. package/text-input/TextInput.js +232 -342
  209. package/text-input/TextInput.stories.tsx +319 -184
  210. package/text-input/TextInput.test.js +848 -726
  211. package/text-input/types.d.ts +27 -2
  212. package/textarea/Textarea.js +27 -26
  213. package/textarea/Textarea.stories.jsx +68 -1
  214. package/textarea/Textarea.test.js +61 -19
  215. package/textarea/types.d.ts +4 -0
  216. package/toggle-group/ToggleGroup.d.ts +2 -2
  217. package/toggle-group/ToggleGroup.js +85 -59
  218. package/toggle-group/ToggleGroup.stories.tsx +48 -3
  219. package/toggle-group/ToggleGroup.test.js +38 -24
  220. package/toggle-group/types.d.ts +22 -13
  221. package/typography/Typography.d.ts +2 -2
  222. package/typography/Typography.js +14 -113
  223. package/typography/Typography.stories.tsx +1 -1
  224. package/useTheme.d.ts +1251 -1
  225. package/useTheme.js +1 -1
  226. package/useTranslatedLabels.d.ts +84 -1
  227. package/utils/BaseTypography.d.ts +21 -0
  228. package/utils/BaseTypography.js +108 -0
  229. package/utils/FocusLock.d.ts +13 -0
  230. package/utils/FocusLock.js +138 -0
  231. package/wizard/Wizard.js +2 -2
  232. package/wizard/Wizard.stories.tsx +20 -0
  233. package/wizard/Wizard.test.js +1 -1
  234. package/wizard/types.d.ts +5 -6
  235. package/card/ice-cream.jpg +0 -0
  236. package/common/RequiredComponent.js +0 -32
  237. package/number-input/NumberInputContext.d.ts +0 -4
  238. package/number-input/NumberInputContext.js +0 -19
  239. package/number-input/numberInputContextTypes.d.ts +0 -19
  240. /package/{resultsetTable → grid}/types.js +0 -0
  241. /package/{tabs-nav → image}/types.js +0 -0
  242. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  243. /package/{number-input/numberInputContextTypes.js → nav-tabs/types.js} +0 -0
  244. /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
@@ -6,64 +6,67 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
6
6
 
7
7
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
8
8
 
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+
9
13
  var _react = _interopRequireDefault(require("react"));
10
14
 
11
15
  var _react2 = require("@testing-library/react");
12
16
 
13
17
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
14
18
 
15
- var _TextInput = _interopRequireDefault(require("./TextInput"));
19
+ var _TextInput = _interopRequireDefault(require("./TextInput.tsx"));
20
+
21
+ // Mocking DOMRect for Radix Primitive Popover
22
+ global.globalThis = global;
23
+
24
+ global.ResizeObserver = /*#__PURE__*/function () {
25
+ function ResizeObserver(cb) {
26
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
27
+ this.cb = cb;
28
+ }
16
29
 
30
+ (0, _createClass2["default"])(ResizeObserver, [{
31
+ key: "observe",
32
+ value: function observe() {
33
+ this.cb([{
34
+ borderBoxSize: {
35
+ inlineSize: 0,
36
+ blockSize: 0
37
+ }
38
+ }]);
39
+ }
40
+ }, {
41
+ key: "unobserve",
42
+ value: function unobserve() {}
43
+ }]);
44
+ return ResizeObserver;
45
+ }();
46
+
47
+ global.DOMRect = {
48
+ fromRect: function fromRect() {
49
+ return {
50
+ top: 0,
51
+ left: 0,
52
+ bottom: 0,
53
+ right: 0,
54
+ width: 0,
55
+ height: 0
56
+ };
57
+ }
58
+ };
17
59
  var countries = ["Afghanistan", "Albania", "Algeria", "Andorra", "Angola", "Antigua and Barbuda", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Cabo Verde", "Cambodia", "Cameroon", "Canada", "Cayman Islands, The", "Central African Republic", "Chad", "Democratic Republic of the Congo", "Dominican Republic", "Dominica", "Denmark", "Djibouti"];
60
+ var specialCharacters = ["/", "\\", "*", "(", ")", "[", "]", "+", "?", "*{[]}|"];
18
61
  describe("TextInput component tests", function () {
19
- test("Renders with correct label", function () {
62
+ test("Renders with correct error aria attributes", function () {
20
63
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
21
- label: "Example label"
22
- })),
23
- getByText = _render.getByText;
24
-
25
- expect(getByText("Example label")).toBeTruthy();
26
- });
27
- test("Renders with correct label and helper text", function () {
28
- var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
29
- label: "Example label",
30
- helperText: "Example helper text"
31
- })),
32
- getByText = _render2.getByText;
33
-
34
- expect(getByText("Example label")).toBeTruthy();
35
- expect(getByText("Example helper text")).toBeTruthy();
36
- });
37
- test("Renders with correct label and optional", function () {
38
- var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
39
- label: "Example label",
40
- helperText: "Example helper text",
41
- optional: true
42
- })),
43
- getByText = _render3.getByText;
44
-
45
- expect(getByText("Example label")).toBeTruthy();
46
- expect(getByText("(Optional)")).toBeTruthy();
47
- expect(getByText("Example helper text")).toBeTruthy();
48
- });
49
- test("Renders with correct placeholder", function () {
50
- var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
51
- label: "Example label",
52
- placeholder: "Placeholder"
53
- })),
54
- getByRole = _render4.getByRole;
55
-
56
- var input = getByRole("textbox");
57
- expect(input.getAttribute("placeholder")).toBe("Placeholder");
58
- });
59
- test("Renders with error message and correct aria attributes", function () {
60
- var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
61
64
  label: "Error label",
62
65
  placeholder: "Placeholder",
63
66
  error: "Error message."
64
67
  })),
65
- getByText = _render5.getByText,
66
- getByRole = _render5.getByRole;
68
+ getByText = _render.getByText,
69
+ getByRole = _render.getByRole;
67
70
 
68
71
  var input = getByRole("textbox");
69
72
  var errorMessage = getByText("Error message.");
@@ -73,12 +76,12 @@ describe("TextInput component tests", function () {
73
76
  expect(errorMessage.getAttribute("aria-live")).toBe("assertive");
74
77
  });
75
78
  test("Renders with correct initial value", function () {
76
- var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
79
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
77
80
  label: "Default label",
78
81
  placeholder: "Placeholder",
79
82
  defaultValue: "Example text"
80
83
  })),
81
- getByRole = _render6.getByRole;
84
+ getByRole = _render2.getByRole;
82
85
 
83
86
  var input = getByRole("textbox");
84
87
  expect(input.value).toBe("Example text");
@@ -87,14 +90,14 @@ describe("TextInput component tests", function () {
87
90
  var onChange = jest.fn();
88
91
  var onBlur = jest.fn();
89
92
 
90
- var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
93
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
91
94
  label: "Input label",
92
95
  placeholder: "Placeholder",
93
96
  onChange: onChange,
94
97
  onBlur: onBlur,
95
98
  clearable: true
96
99
  })),
97
- getByRole = _render7.getByRole;
100
+ getByRole = _render3.getByRole;
98
101
 
99
102
  var input = getByRole("textbox");
100
103
 
@@ -124,13 +127,13 @@ describe("TextInput component tests", function () {
124
127
  test("Not optional constraint (onChange)", function () {
125
128
  var onChange = jest.fn();
126
129
 
127
- var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
130
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
128
131
  label: "Input label",
129
132
  placeholder: "Placeholder",
130
133
  onChange: onChange,
131
134
  clearable: true
132
135
  })),
133
- getByRole = _render8.getByRole;
136
+ getByRole = _render4.getByRole;
134
137
 
135
138
  var input = getByRole("textbox");
136
139
 
@@ -157,7 +160,7 @@ describe("TextInput component tests", function () {
157
160
  var onChange = jest.fn();
158
161
  var onBlur = jest.fn();
159
162
 
160
- var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
163
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
161
164
  label: "Input label",
162
165
  placeholder: "Placeholder",
163
166
  onChange: onChange,
@@ -169,7 +172,7 @@ describe("TextInput component tests", function () {
169
172
  clearable: true,
170
173
  pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$"
171
174
  })),
172
- getByRole = _render9.getByRole;
175
+ getByRole = _render5.getByRole;
173
176
 
174
177
  var input = getByRole("textbox");
175
178
 
@@ -217,7 +220,7 @@ describe("TextInput component tests", function () {
217
220
  var onChange = jest.fn();
218
221
  var onBlur = jest.fn();
219
222
 
220
- var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
223
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
221
224
  label: "Input label",
222
225
  placeholder: "Placeholder",
223
226
  onChange: onChange,
@@ -230,7 +233,7 @@ describe("TextInput component tests", function () {
230
233
  minLength: 5,
231
234
  maxLength: 10
232
235
  })),
233
- getByRole = _render10.getByRole;
236
+ getByRole = _render6.getByRole;
234
237
 
235
238
  var input = getByRole("textbox");
236
239
 
@@ -278,7 +281,7 @@ describe("TextInput component tests", function () {
278
281
  var onChange = jest.fn();
279
282
  var onBlur = jest.fn();
280
283
 
281
- var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
284
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
282
285
  label: "Input label",
283
286
  placeholder: "Placeholder",
284
287
  onChange: onChange,
@@ -292,7 +295,7 @@ describe("TextInput component tests", function () {
292
295
  minLength: 5,
293
296
  maxLength: 10
294
297
  })),
295
- getByRole = _render11.getByRole;
298
+ getByRole = _render7.getByRole;
296
299
 
297
300
  var input = getByRole("textbox");
298
301
 
@@ -357,11 +360,11 @@ describe("TextInput component tests", function () {
357
360
  test("onChange function is called correctly", function () {
358
361
  var onChange = jest.fn();
359
362
 
360
- var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
363
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
361
364
  label: "Input label",
362
365
  onChange: onChange
363
366
  })),
364
- getByRole = _render12.getByRole;
367
+ getByRole = _render8.getByRole;
365
368
 
366
369
  var input = getByRole("textbox");
367
370
 
@@ -377,12 +380,12 @@ describe("TextInput component tests", function () {
377
380
  var onBlur = jest.fn();
378
381
  var onChange = jest.fn();
379
382
 
380
- var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
383
+ var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
381
384
  label: "Input label",
382
385
  onChange: onChange,
383
386
  onBlur: onBlur
384
387
  })),
385
- getByRole = _render13.getByRole;
388
+ getByRole = _render9.getByRole;
386
389
 
387
390
  var input = getByRole("textbox");
388
391
 
@@ -399,33 +402,22 @@ describe("TextInput component tests", function () {
399
402
  value: "Blur test"
400
403
  });
401
404
  });
402
- test("Clear action's tooltip is correct", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
403
- var _render14, getByTitle;
405
+ test("Clear action tooltip is correct", function () {
406
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
407
+ label: "Input label",
408
+ value: "Text",
409
+ clearable: true
410
+ })),
411
+ getByTitle = _render10.getByTitle;
404
412
 
405
- return _regenerator["default"].wrap(function _callee$(_context) {
406
- while (1) {
407
- switch (_context.prev = _context.next) {
408
- case 0:
409
- _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
410
- label: "Input label",
411
- value: "Text",
412
- clearable: true
413
- })), getByTitle = _render14.getByTitle;
414
- expect(getByTitle("Clear field")).toBeTruthy();
415
-
416
- case 2:
417
- case "end":
418
- return _context.stop();
419
- }
420
- }
421
- }, _callee);
422
- })));
413
+ expect(getByTitle("Clear field")).toBeTruthy();
414
+ });
423
415
  test("Clear action onClick cleans the input", function () {
424
- var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
416
+ var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
425
417
  label: "Input label",
426
418
  clearable: true
427
419
  })),
428
- getByRole = _render15.getByRole;
420
+ getByRole = _render11.getByRole;
429
421
 
430
422
  var input = getByRole("textbox");
431
423
 
@@ -437,24 +429,23 @@ describe("TextInput component tests", function () {
437
429
 
438
430
  expect(input.value).toBe("");
439
431
  });
440
- test("Disabled input renders with correct aria and can not be modified", function () {
432
+ test("Disabled text input renders with correct aria and can not be modified", function () {
441
433
  var onChange = jest.fn();
442
434
 
443
- var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
435
+ var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
444
436
  label: "Input label",
445
437
  onChange: onChange,
446
438
  disabled: true
447
439
  })),
448
- getByRole = _render16.getByRole;
440
+ getByRole = _render12.getByRole;
449
441
 
450
442
  var input = getByRole("textbox");
451
- expect(input.getAttribute("aria-disabled")).toBe("true");
452
443
 
453
444
  _userEvent["default"].type(input, "Test");
454
445
 
455
446
  expect(onChange).not.toHaveBeenCalled();
456
447
  });
457
- test("Disabled input (action must be shown but not clickable)", function () {
448
+ test("Disabled text input (action must be shown but not clickable)", function () {
458
449
  var onClick = jest.fn();
459
450
  var action = {
460
451
  onClick: onClick,
@@ -473,12 +464,12 @@ describe("TextInput component tests", function () {
473
464
  }))
474
465
  };
475
466
 
476
- var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
467
+ var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
477
468
  label: "Disabled input label",
478
469
  action: action,
479
470
  disabled: true
480
471
  })),
481
- getByRole = _render17.getByRole;
472
+ getByRole = _render13.getByRole;
482
473
 
483
474
  var input = getByRole("textbox");
484
475
  expect(input.disabled).toBeTruthy();
@@ -487,36 +478,125 @@ describe("TextInput component tests", function () {
487
478
 
488
479
  expect(onClick).not.toHaveBeenCalled();
489
480
  });
490
- test("Disabled input (clear default action should not be displayed, even with text written on the input)", function () {
491
- var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
481
+ test("Disabled text input (clear default action should not be displayed, even with text written on the input)", function () {
482
+ var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
492
483
  label: "Disabled input label",
493
484
  value: "Sample text",
494
485
  disabled: true,
495
486
  clearable: true
496
487
  })),
497
- getByRole = _render18.getByRole,
498
- queryByRole = _render18.queryByRole;
488
+ getByRole = _render14.getByRole,
489
+ queryByRole = _render14.queryByRole;
499
490
 
500
491
  var input = getByRole("textbox");
501
492
  expect(input.disabled).toBeTruthy();
502
493
  expect(queryByRole("button")).toBeFalsy();
503
494
  });
504
- test("Disabled input (suffix and preffix must be displayed)", function () {
505
- var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
495
+ test("Disabled text input (suffix and prefix must be displayed)", function () {
496
+ var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
506
497
  label: "Disabled input label",
507
498
  value: "Sample text",
508
499
  prefix: "+34",
509
500
  suffix: "USD",
510
501
  disabled: true
511
502
  })),
512
- getByRole = _render19.getByRole,
513
- getByText = _render19.getByText;
503
+ getByRole = _render15.getByRole,
504
+ getByText = _render15.getByText;
514
505
 
515
506
  var input = getByRole("textbox");
516
507
  expect(input.disabled).toBeTruthy();
517
508
  expect(getByText("+34")).toBeTruthy();
518
509
  expect(getByText("USD")).toBeTruthy();
519
510
  });
511
+ test("Read-only text input doesn't render the clear action", function () {
512
+ var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
513
+ label: "Disabled input label",
514
+ defaultValue: "Sample text",
515
+ readOnly: true,
516
+ clearable: true
517
+ })),
518
+ getByRole = _render16.getByRole,
519
+ queryByRole = _render16.queryByRole;
520
+
521
+ var input = getByRole("textbox");
522
+ expect(input.readOnly).toBeTruthy();
523
+ expect(queryByRole("button")).toBeFalsy();
524
+ });
525
+ test("Read-only text input does not trigger onChange function", function () {
526
+ var onChange = jest.fn();
527
+
528
+ var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
529
+ label: "Example label",
530
+ onChange: onChange,
531
+ readOnly: true
532
+ })),
533
+ getByLabelText = _render17.getByLabelText;
534
+
535
+ var textInput = getByLabelText("Example label");
536
+
537
+ _userEvent["default"].type(textInput, "Test");
538
+
539
+ expect(onChange).not.toHaveBeenCalled();
540
+ });
541
+ test("Read-only text input sends its value on submit", function () {
542
+ var handlerOnSubmit = jest.fn(function (e) {
543
+ e.preventDefault();
544
+ var formData = new FormData(e.target);
545
+ var formProps = Object.fromEntries(formData);
546
+ expect(formProps).toStrictEqual({
547
+ data: "Text"
548
+ });
549
+ });
550
+
551
+ var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
552
+ onSubmit: handlerOnSubmit
553
+ }, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
554
+ label: "Example label",
555
+ name: "data",
556
+ defaultValue: "Text",
557
+ readOnly: true
558
+ }), /*#__PURE__*/_react["default"].createElement("button", {
559
+ type: "submit"
560
+ }, "Submit"))),
561
+ getByText = _render18.getByText;
562
+
563
+ var submit = getByText("Submit");
564
+
565
+ _userEvent["default"].click(submit);
566
+
567
+ expect(handlerOnSubmit).toHaveBeenCalled();
568
+ });
569
+ test("Read-only text input doesn't trigger custom action's onClick event", function () {
570
+ var onClick = jest.fn();
571
+ var action = {
572
+ onClick: onClick,
573
+ icon: /*#__PURE__*/_react["default"].createElement("svg", {
574
+ "data-testid": "image",
575
+ xmlns: "http://www.w3.org/2000/svg",
576
+ height: "24px",
577
+ viewBox: "0 0 24 24",
578
+ width: "24px",
579
+ fill: "currentColor"
580
+ }, /*#__PURE__*/_react["default"].createElement("path", {
581
+ d: "M0 0h24v24H0V0z",
582
+ fill: "none"
583
+ }), /*#__PURE__*/_react["default"].createElement("path", {
584
+ d: "M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"
585
+ })),
586
+ title: "Search"
587
+ };
588
+
589
+ var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
590
+ label: "Input label",
591
+ action: action,
592
+ readOnly: true
593
+ })),
594
+ getByRole = _render19.getByRole;
595
+
596
+ _userEvent["default"].click(getByRole("button"));
597
+
598
+ expect(onClick).not.toHaveBeenCalled();
599
+ });
520
600
  test("Action prop: image displayed with title and onClick event", function () {
521
601
  var onClick = jest.fn();
522
602
  var action = {
@@ -552,18 +632,75 @@ describe("TextInput component tests", function () {
552
632
 
553
633
  expect(onClick).toHaveBeenCalled();
554
634
  });
635
+ test("Text input submit correctly value in form", function () {
636
+ var onClick = jest.fn();
637
+ var action = {
638
+ onClick: onClick,
639
+ icon: /*#__PURE__*/_react["default"].createElement("svg", {
640
+ "data-testid": "image",
641
+ xmlns: "http://www.w3.org/2000/svg",
642
+ height: "24px",
643
+ viewBox: "0 0 24 24",
644
+ width: "24px",
645
+ fill: "currentColor"
646
+ }, /*#__PURE__*/_react["default"].createElement("path", {
647
+ d: "M0 0h24v24H0V0z",
648
+ fill: "none"
649
+ }), /*#__PURE__*/_react["default"].createElement("path", {
650
+ d: "M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"
651
+ })),
652
+ title: "Search"
653
+ };
654
+ var handlerOnSubmit = jest.fn(function (e) {
655
+ e.preventDefault();
656
+ var formData = new FormData(e.target);
657
+ var formProps = Object.fromEntries(formData);
658
+ expect(formProps).toStrictEqual({
659
+ data: "test"
660
+ });
661
+ });
662
+
663
+ var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
664
+ onSubmit: handlerOnSubmit
665
+ }, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
666
+ label: "Input label",
667
+ name: "data",
668
+ action: action
669
+ }), /*#__PURE__*/_react["default"].createElement("button", {
670
+ type: "submit"
671
+ }, "Submit"))),
672
+ getByText = _render21.getByText,
673
+ getAllByRole = _render21.getAllByRole,
674
+ getByRole = _render21.getByRole;
675
+
676
+ var search = getAllByRole("button")[0];
677
+ var submit = getByText("Submit");
678
+ var input = getByRole("textbox");
679
+
680
+ _userEvent["default"].type(input, "test");
681
+
682
+ expect(input.value).toBe("test");
683
+
684
+ _userEvent["default"].click(search);
685
+
686
+ expect(handlerOnSubmit).not.toHaveBeenCalled();
687
+
688
+ _userEvent["default"].click(submit);
689
+
690
+ expect(handlerOnSubmit).toHaveBeenCalled();
691
+ });
555
692
  test("Renders with correct prefix and suffix", function () {
556
- var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
693
+ var _render22 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
557
694
  label: "Input label",
558
695
  prefix: "+34",
559
696
  suffix: "USD"
560
697
  })),
561
- getByText = _render21.getByText;
698
+ getByText = _render22.getByText;
562
699
 
563
700
  expect(getByText("+34")).toBeTruthy();
564
701
  expect(getByText("USD")).toBeTruthy();
565
702
  });
566
- test("Input has correct accesibility attributes", function () {
703
+ test("Text Input has correct aria accessibility attributes", function () {
567
704
  var onClick = jest.fn();
568
705
  var action = {
569
706
  onClick: onClick,
@@ -583,18 +720,19 @@ describe("TextInput component tests", function () {
583
720
  title: "Search"
584
721
  };
585
722
 
586
- var _render22 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
723
+ var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
587
724
  label: "Example label",
588
725
  clearable: true,
589
726
  action: action
590
727
  })),
591
- getByRole = _render22.getByRole,
592
- getAllByRole = _render22.getAllByRole;
728
+ getByRole = _render23.getByRole,
729
+ getAllByRole = _render23.getAllByRole;
593
730
 
594
731
  var input = getByRole("textbox");
595
732
  expect(input.getAttribute("aria-autocomplete")).toBeNull();
596
733
  expect(input.getAttribute("aria-controls")).toBeNull();
597
734
  expect(input.getAttribute("aria-expanded")).toBeNull();
735
+ expect(input.getAttribute("aria-haspopup")).toBeNull();
598
736
  expect(input.getAttribute("aria-activedescendant")).toBeNull();
599
737
  expect(input.getAttribute("aria-invalid")).toBe("false");
600
738
  expect(input.getAttribute("aria-errormessage")).toBeNull();
@@ -607,18 +745,19 @@ describe("TextInput component tests", function () {
607
745
  var search = getAllByRole("button")[1];
608
746
  expect(search.getAttribute("aria-label")).toBe("Search");
609
747
  });
610
- test("Autosuggest has correct accesibility attributes", function () {
611
- var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
748
+ test("Autosuggest has correct accessibility attributes", function () {
749
+ var _render24 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
612
750
  label: "Autocomplete Countries",
613
751
  optional: true,
614
752
  suggestions: countries
615
753
  })),
616
- getByRole = _render23.getByRole,
617
- getAllByRole = _render23.getAllByRole;
754
+ getByRole = _render24.getByRole,
755
+ getAllByRole = _render24.getAllByRole;
618
756
 
619
757
  var input = getByRole("combobox");
620
758
  expect(input.getAttribute("aria-autocomplete")).toBe("list");
621
759
  expect(input.getAttribute("aria-expanded")).toBe("false");
760
+ expect(input.getAttribute("aria-haspopup")).toBe("listbox");
622
761
  expect(input.getAttribute("aria-required")).toBe("false");
623
762
 
624
763
  _react2.fireEvent.focus(input);
@@ -626,121 +765,117 @@ describe("TextInput component tests", function () {
626
765
  var list = getByRole("listbox");
627
766
  expect(input.getAttribute("aria-controls")).toBe(list.id);
628
767
  expect(input.getAttribute("aria-expanded")).toBe("true");
629
- expect(list.getAttribute("aria-label")).toBe("Autocomplete Countries");
630
768
  var options = getAllByRole("option");
631
769
  expect(options[0].getAttribute("aria-selected")).toBeNull();
632
770
  });
633
771
  });
634
772
  describe("TextInput component synchronous autosuggest tests", function () {
635
- test("Autosuggest is displayed when the input gains focus", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
636
- var onChange, _render24, getByRole, getByText, input, list;
773
+ test("Autosuggest is displayed when the input gains focus", function () {
774
+ var onChange = jest.fn();
637
775
 
638
- return _regenerator["default"].wrap(function _callee2$(_context2) {
639
- while (1) {
640
- switch (_context2.prev = _context2.next) {
641
- case 0:
642
- onChange = jest.fn();
643
- _render24 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
644
- label: "Autocomplete Countries",
645
- suggestions: countries,
646
- onChange: onChange
647
- })), getByRole = _render24.getByRole, getByText = _render24.getByText;
648
- input = getByRole("combobox");
776
+ var _render25 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
777
+ label: "Autocomplete Countries",
778
+ suggestions: countries,
779
+ onChange: onChange
780
+ })),
781
+ getByRole = _render25.getByRole,
782
+ getByText = _render25.getByText;
649
783
 
650
- _react2.fireEvent.focus(input);
784
+ var input = getByRole("combobox");
651
785
 
652
- list = getByRole("listbox");
653
- expect(list).toBeTruthy();
654
- expect(getByText("Afghanistan")).toBeTruthy();
655
- expect(getByText("Albania")).toBeTruthy();
656
- expect(getByText("Algeria")).toBeTruthy();
657
- expect(getByText("Andorra")).toBeTruthy();
786
+ _react2.fireEvent.focus(input);
658
787
 
659
- case 10:
660
- case "end":
661
- return _context2.stop();
662
- }
663
- }
664
- }, _callee2);
665
- })));
666
- test("Autosuggest is displayed when the user clicks the input", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
667
- var onChange, _render25, getByRole, getByText, input, list;
788
+ var list = getByRole("listbox");
789
+ expect(list).toBeTruthy();
790
+ expect(getByText("Afghanistan")).toBeTruthy();
791
+ expect(getByText("Albania")).toBeTruthy();
792
+ expect(getByText("Algeria")).toBeTruthy();
793
+ expect(getByText("Andorra")).toBeTruthy();
794
+ });
795
+ test("Autosuggest is displayed when the user clicks the input", function () {
796
+ var onChange = jest.fn();
668
797
 
669
- return _regenerator["default"].wrap(function _callee3$(_context3) {
670
- while (1) {
671
- switch (_context3.prev = _context3.next) {
672
- case 0:
673
- onChange = jest.fn();
674
- _render25 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
675
- label: "Autocomplete Countries",
676
- suggestions: countries,
677
- onChange: onChange
678
- })), getByRole = _render25.getByRole, getByText = _render25.getByText;
679
- input = getByRole("combobox");
798
+ var _render26 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
799
+ label: "Autocomplete Countries",
800
+ suggestions: countries,
801
+ onChange: onChange
802
+ })),
803
+ getByRole = _render26.getByRole,
804
+ getByText = _render26.getByText;
680
805
 
681
- _react2.fireEvent.focus(input);
806
+ var input = getByRole("combobox");
682
807
 
683
- list = getByRole("listbox");
684
- expect(list).toBeTruthy();
685
- expect(getByText("Afghanistan")).toBeTruthy();
686
- expect(getByText("Albania")).toBeTruthy();
687
- expect(getByText("Algeria")).toBeTruthy();
688
- expect(getByText("Andorra")).toBeTruthy();
808
+ _userEvent["default"].click(input);
689
809
 
690
- case 10:
691
- case "end":
692
- return _context3.stop();
693
- }
694
- }
695
- }, _callee3);
696
- })));
697
- test("Autosuggest is displayed while the user is writing (if closed previously, if it is open stays open)", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
698
- var onChange, _render26, getByRole, queryByRole, getByText, getAllByText, input, list;
810
+ var list = getByRole("listbox");
811
+ expect(list).toBeTruthy();
812
+ expect(getByText("Afghanistan")).toBeTruthy();
813
+ expect(getByText("Albania")).toBeTruthy();
814
+ expect(getByText("Algeria")).toBeTruthy();
815
+ expect(getByText("Andorra")).toBeTruthy();
816
+ });
817
+ test("Autosuggest is displayed while the user is writing (if closed previously, if it is open stays open)", function () {
818
+ var onChange = jest.fn();
699
819
 
700
- return _regenerator["default"].wrap(function _callee4$(_context4) {
701
- while (1) {
702
- switch (_context4.prev = _context4.next) {
703
- case 0:
704
- onChange = jest.fn();
705
- _render26 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
706
- label: "Autocomplete Countries",
707
- suggestions: countries,
708
- onChange: onChange
709
- })), getByRole = _render26.getByRole, queryByRole = _render26.queryByRole, getByText = _render26.getByText, getAllByText = _render26.getAllByText;
710
- input = getByRole("combobox");
820
+ var _render27 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
821
+ label: "Autocomplete Countries",
822
+ suggestions: countries,
823
+ onChange: onChange
824
+ })),
825
+ getByRole = _render27.getByRole,
826
+ queryByRole = _render27.queryByRole,
827
+ getByText = _render27.getByText,
828
+ getAllByText = _render27.getAllByText;
711
829
 
712
- _react2.fireEvent.focus(input);
830
+ var input = getByRole("combobox");
713
831
 
714
- list = getByRole("listbox");
715
- expect(list).toBeTruthy();
832
+ _react2.fireEvent.focus(input);
716
833
 
717
- _react2.fireEvent.keyDown(input, {
718
- key: "Esc",
719
- code: "Esc",
720
- keyCode: 27,
721
- charCode: 27
722
- });
834
+ var list = getByRole("listbox");
835
+ expect(list).toBeTruthy();
723
836
 
724
- expect(queryByRole("listbox")).toBeFalsy();
837
+ _react2.fireEvent.keyDown(input, {
838
+ key: "Esc",
839
+ code: "Esc",
840
+ keyCode: 27,
841
+ charCode: 27
842
+ });
725
843
 
726
- _userEvent["default"].type(input, "B");
844
+ expect(queryByRole("listbox")).toBeFalsy();
727
845
 
728
- expect(list).toBeTruthy();
729
- expect(getAllByText("B").length).toBe(4);
730
- expect(getByText("ahamas")).toBeTruthy();
731
- expect(getByText("ahrain")).toBeTruthy();
732
- expect(getByText("angladesh")).toBeTruthy();
733
- expect(getByText("arbados")).toBeTruthy();
846
+ _userEvent["default"].type(input, "B");
734
847
 
735
- case 15:
736
- case "end":
737
- return _context4.stop();
738
- }
739
- }
740
- }, _callee4);
741
- })));
848
+ expect(list).toBeTruthy();
849
+ expect(getAllByText("B").length).toBe(4);
850
+ expect(getByText("ahamas")).toBeTruthy();
851
+ expect(getByText("ahrain")).toBeTruthy();
852
+ expect(getByText("angladesh")).toBeTruthy();
853
+ expect(getByText("arbados")).toBeTruthy();
854
+ });
855
+ test("Read-only text input does not open the suggestions list", function () {
856
+ var onChange = jest.fn();
857
+
858
+ var _render28 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
859
+ label: "Autocomplete Countries",
860
+ suggestions: countries,
861
+ onChange: onChange,
862
+ readOnly: true
863
+ })),
864
+ getByRole = _render28.getByRole,
865
+ queryByRole = _render28.queryByRole;
866
+
867
+ var input = getByRole("combobox");
868
+
869
+ _react2.fireEvent.focus(input);
870
+
871
+ expect(queryByRole("listbox")).toBeFalsy();
872
+
873
+ _userEvent["default"].click(input);
874
+
875
+ expect(queryByRole("listbox")).toBeFalsy();
876
+ });
742
877
  test("Autosuggest displays filtered when the input has a default value", function () {
743
- var _render27 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
878
+ var _render29 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
744
879
  label: "Uncontrolled suggestions filtered by default",
745
880
  helperText: "Example of helper text",
746
881
  placeholder: "Placeholder",
@@ -749,9 +884,9 @@ describe("TextInput component synchronous autosuggest tests", function () {
749
884
  suggestions: ["Suggestion 11", "Suggestion 12", "Suggestion 23", "Suggestion 24"],
750
885
  clearable: true
751
886
  })),
752
- getByRole = _render27.getByRole,
753
- getByText = _render27.getByText,
754
- getAllByText = _render27.getAllByText;
887
+ getByRole = _render29.getByRole,
888
+ getByText = _render29.getByText,
889
+ getAllByText = _render29.getAllByText;
755
890
 
756
891
  var input = getByRole("combobox");
757
892
  expect(input.value).toBe("Suggestion 2");
@@ -762,517 +897,510 @@ describe("TextInput component synchronous autosuggest tests", function () {
762
897
  expect(getByText("3")).toBeTruthy();
763
898
  expect(getByText("4")).toBeTruthy();
764
899
  });
765
- test("Autosuggest is not displayed when prop suggestions is an empty array", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
766
- var onChange, _render28, queryByRole, input;
900
+ test("Autosuggest is not displayed when prop suggestions is an empty array", function () {
901
+ var onChange = jest.fn();
767
902
 
768
- return _regenerator["default"].wrap(function _callee5$(_context5) {
769
- while (1) {
770
- switch (_context5.prev = _context5.next) {
771
- case 0:
772
- onChange = jest.fn();
773
- _render28 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
774
- label: "Autocomplete Countries",
775
- suggestions: [],
776
- onChange: onChange
777
- })), queryByRole = _render28.queryByRole;
778
- input = queryByRole("textbox");
903
+ var _render30 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
904
+ label: "Autocomplete Countries",
905
+ suggestions: [],
906
+ onChange: onChange
907
+ })),
908
+ queryByRole = _render30.queryByRole;
779
909
 
780
- _react2.fireEvent.focus(input);
910
+ var input = queryByRole("textbox");
781
911
 
782
- expect(queryByRole("listbox")).toBeFalsy();
912
+ _react2.fireEvent.focus(input);
783
913
 
784
- case 5:
785
- case "end":
786
- return _context5.stop();
787
- }
788
- }
789
- }, _callee5);
790
- })));
791
- test("Autosuggest closes the listbox when there are no matches for the user's input", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
792
- var onChange, _render29, getByRole, queryByRole, getByText, input, list;
914
+ expect(queryByRole("listbox")).toBeFalsy();
915
+ });
916
+ test("Autosuggest closes the listbox when there are no matches for the user's input", function () {
917
+ var onChange = jest.fn();
793
918
 
794
- return _regenerator["default"].wrap(function _callee6$(_context6) {
795
- while (1) {
796
- switch (_context6.prev = _context6.next) {
797
- case 0:
798
- onChange = jest.fn();
799
- _render29 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
800
- label: "Autocomplete Countries",
801
- suggestions: countries,
802
- onChange: onChange
803
- })), getByRole = _render29.getByRole, queryByRole = _render29.queryByRole, getByText = _render29.getByText;
804
- input = getByRole("combobox");
919
+ var _render31 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
920
+ label: "Autocomplete Countries",
921
+ suggestions: countries,
922
+ onChange: onChange
923
+ })),
924
+ getByRole = _render31.getByRole,
925
+ queryByRole = _render31.queryByRole,
926
+ getByText = _render31.getByText;
805
927
 
806
- _react2.fireEvent.focus(input);
928
+ var input = getByRole("combobox");
807
929
 
808
- list = getByRole("listbox");
809
- expect(list).toBeTruthy();
810
- expect(getByText("Afghanistan")).toBeTruthy();
930
+ _react2.fireEvent.focus(input);
811
931
 
812
- _userEvent["default"].type(input, "x");
932
+ var list = getByRole("listbox");
933
+ expect(list).toBeTruthy();
934
+ expect(getByText("Afghanistan")).toBeTruthy();
813
935
 
814
- expect(queryByRole("listbox")).toBeFalsy();
936
+ _userEvent["default"].type(input, "x");
815
937
 
816
- case 9:
817
- case "end":
818
- return _context6.stop();
819
- }
820
- }
821
- }, _callee6);
822
- })));
823
- test("Autosuggest with no matches founded doesn't let the listbox to be opened", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
824
- var onChange, _render30, getByRole, queryByRole, getByText, input, list;
938
+ expect(queryByRole("listbox")).toBeFalsy();
939
+ });
940
+ test("Autosuggest with no matches founded doesn't let the listbox to be opened", function () {
941
+ var onChange = jest.fn();
825
942
 
826
- return _regenerator["default"].wrap(function _callee7$(_context7) {
827
- while (1) {
828
- switch (_context7.prev = _context7.next) {
829
- case 0:
830
- onChange = jest.fn();
831
- _render30 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
832
- label: "Autocomplete Countries",
833
- suggestions: countries,
834
- onChange: onChange
835
- })), getByRole = _render30.getByRole, queryByRole = _render30.queryByRole, getByText = _render30.getByText;
836
- input = getByRole("combobox");
943
+ var _render32 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
944
+ label: "Autocomplete Countries",
945
+ suggestions: countries,
946
+ onChange: onChange
947
+ })),
948
+ getByRole = _render32.getByRole,
949
+ queryByRole = _render32.queryByRole,
950
+ getByText = _render32.getByText;
837
951
 
838
- _react2.fireEvent.focus(input);
952
+ var input = getByRole("combobox");
839
953
 
840
- list = getByRole("listbox");
841
- expect(list).toBeTruthy();
842
- expect(getByText("Afghanistan")).toBeTruthy();
954
+ _react2.fireEvent.focus(input);
843
955
 
844
- _userEvent["default"].type(input, "x");
956
+ var list = getByRole("listbox");
957
+ expect(list).toBeTruthy();
958
+ expect(getByText("Afghanistan")).toBeTruthy();
845
959
 
846
- expect(queryByRole("listbox")).toBeFalsy();
960
+ _userEvent["default"].type(input, "x");
847
961
 
848
- _react2.fireEvent.focus(input);
962
+ expect(queryByRole("listbox")).toBeFalsy();
849
963
 
850
- expect(queryByRole("listbox")).toBeFalsy();
964
+ _react2.fireEvent.focus(input);
851
965
 
852
- _react2.fireEvent.keyDown(input, {
853
- key: "ArrowUp",
854
- code: "ArrowUp",
855
- keyCode: 38,
856
- charCode: 38
857
- });
966
+ expect(queryByRole("listbox")).toBeFalsy();
858
967
 
859
- expect(queryByRole("listbox")).toBeFalsy();
968
+ _react2.fireEvent.keyDown(input, {
969
+ key: "ArrowUp",
970
+ code: "ArrowUp",
971
+ keyCode: 38,
972
+ charCode: 38
973
+ });
860
974
 
861
- _react2.fireEvent.keyDown(input, {
862
- key: "ArrowDown",
863
- code: "ArrowDown",
864
- keyCode: 40,
865
- charCode: 40
866
- });
975
+ expect(queryByRole("listbox")).toBeFalsy();
867
976
 
868
- expect(queryByRole("listbox")).toBeFalsy();
977
+ _react2.fireEvent.keyDown(input, {
978
+ key: "ArrowDown",
979
+ code: "ArrowDown",
980
+ keyCode: 40,
981
+ charCode: 40
982
+ });
869
983
 
870
- case 15:
871
- case "end":
872
- return _context7.stop();
873
- }
874
- }
875
- }, _callee7);
876
- })));
877
- test("Autosuggest uncontrolled - Suggestion selected by click", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
878
- var onChange, _render31, getByRole, getByText, queryByRole, input;
984
+ expect(queryByRole("listbox")).toBeFalsy();
985
+ });
986
+ test("Autosuggest uncontrolled - Suggestion selected by click", function () {
987
+ var onChange = jest.fn();
879
988
 
880
- return _regenerator["default"].wrap(function _callee8$(_context8) {
881
- while (1) {
882
- switch (_context8.prev = _context8.next) {
883
- case 0:
884
- onChange = jest.fn();
885
- _render31 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
886
- label: "Autocomplete Countries",
887
- suggestions: countries,
888
- onChange: onChange
889
- })), getByRole = _render31.getByRole, getByText = _render31.getByText, queryByRole = _render31.queryByRole;
890
- input = getByRole("combobox");
989
+ var _render33 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
990
+ label: "Autocomplete Countries",
991
+ suggestions: countries,
992
+ onChange: onChange
993
+ })),
994
+ getByRole = _render33.getByRole,
995
+ getByText = _render33.getByText,
996
+ queryByRole = _render33.queryByRole;
891
997
 
892
- _react2.fireEvent.focus(input);
998
+ var input = getByRole("combobox");
893
999
 
894
- _userEvent["default"].type(input, "Alba");
1000
+ _react2.fireEvent.focus(input);
895
1001
 
896
- expect(onChange).toHaveBeenCalled();
897
- expect(getByText("Alba")).toBeTruthy();
898
- expect(getByText("nia")).toBeTruthy();
1002
+ _userEvent["default"].type(input, "Alba");
899
1003
 
900
- _userEvent["default"].click(getByRole("option"));
1004
+ expect(onChange).toHaveBeenCalled();
1005
+ expect(getByText("Alba")).toBeTruthy();
1006
+ expect(getByText("nia")).toBeTruthy();
901
1007
 
902
- expect(input.value).toBe("Albania");
903
- expect(queryByRole("listbox")).toBeFalsy();
1008
+ _userEvent["default"].click(getByRole("option"));
904
1009
 
905
- case 11:
906
- case "end":
907
- return _context8.stop();
908
- }
909
- }
910
- }, _callee8);
911
- })));
912
- test("Autosuggest controlled - Suggestion selected by click", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
913
- var onChange, _render32, getByRole, getByText, queryByRole, input;
1010
+ expect(input.value).toBe("Albania");
1011
+ expect(queryByRole("listbox")).toBeFalsy();
1012
+ });
1013
+ test("Autosuggest controlled - Suggestion selected by click", function () {
1014
+ var onChange = jest.fn();
914
1015
 
915
- return _regenerator["default"].wrap(function _callee9$(_context9) {
916
- while (1) {
917
- switch (_context9.prev = _context9.next) {
918
- case 0:
919
- onChange = jest.fn();
920
- _render32 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
921
- label: "Autocomplete Countries",
922
- value: "Andor",
923
- suggestions: countries,
924
- onChange: onChange
925
- })), getByRole = _render32.getByRole, getByText = _render32.getByText, queryByRole = _render32.queryByRole;
926
- input = getByRole("combobox");
1016
+ var _render34 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1017
+ label: "Autocomplete Countries",
1018
+ value: "Andor",
1019
+ suggestions: countries,
1020
+ onChange: onChange
1021
+ })),
1022
+ getByRole = _render34.getByRole,
1023
+ getByText = _render34.getByText,
1024
+ queryByRole = _render34.queryByRole;
927
1025
 
928
- _react2.fireEvent.focus(input);
1026
+ var input = getByRole("combobox");
929
1027
 
930
- expect(input.value).toBe("Andor");
931
- expect(getByText("Andor")).toBeTruthy();
932
- expect(getByText("ra")).toBeTruthy();
1028
+ _userEvent["default"].click(getByText("Autocomplete Countries"));
933
1029
 
934
- _userEvent["default"].click(getByRole("option"));
1030
+ expect(input.value).toBe("Andor");
1031
+ expect(getByText("Andor")).toBeTruthy();
1032
+ expect(getByText("ra")).toBeTruthy();
935
1033
 
936
- expect(onChange).toHaveBeenCalledWith({
937
- value: "Andorra"
938
- });
939
- expect(queryByRole("listbox")).toBeFalsy();
1034
+ _userEvent["default"].click(getByRole("option"));
940
1035
 
941
- case 10:
942
- case "end":
943
- return _context9.stop();
944
- }
945
- }
946
- }, _callee9);
947
- })));
948
- test("Autosuggest - Pattern constraint", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10() {
949
- var onChange, onBlur, _render33, getByRole, getByText, input;
1036
+ expect(onChange).toHaveBeenCalledWith({
1037
+ value: "Andorra"
1038
+ });
1039
+ expect(queryByRole("listbox")).toBeFalsy();
1040
+ });
1041
+ test("Autosuggest - Pattern constraint", function () {
1042
+ var onChange = jest.fn();
1043
+ var onBlur = jest.fn();
950
1044
 
951
- return _regenerator["default"].wrap(function _callee10$(_context10) {
952
- while (1) {
953
- switch (_context10.prev = _context10.next) {
954
- case 0:
955
- onChange = jest.fn();
956
- onBlur = jest.fn();
957
- _render33 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
958
- label: "Autocomplete Countries",
959
- suggestions: countries,
960
- onChange: onChange,
961
- onBlur: onBlur,
962
- pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$"
963
- })), getByRole = _render33.getByRole, getByText = _render33.getByText;
964
- input = getByRole("combobox");
1045
+ var _render35 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1046
+ label: "Autocomplete Countries",
1047
+ suggestions: countries,
1048
+ onChange: onChange,
1049
+ onBlur: onBlur,
1050
+ pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$"
1051
+ })),
1052
+ getByRole = _render35.getByRole,
1053
+ getByText = _render35.getByText;
965
1054
 
966
- _react2.fireEvent.focus(input);
1055
+ var input = getByRole("combobox");
967
1056
 
968
- _userEvent["default"].type(input, "Andor");
1057
+ _react2.fireEvent.focus(input);
969
1058
 
970
- expect(getByText("Andor")).toBeTruthy();
971
- expect(getByText("ra")).toBeTruthy();
1059
+ _userEvent["default"].type(input, "Andor");
972
1060
 
973
- _userEvent["default"].click(getByRole("option"));
1061
+ expect(getByText("Andor")).toBeTruthy();
1062
+ expect(getByText("ra")).toBeTruthy();
974
1063
 
975
- expect(onChange).toHaveBeenCalledWith({
976
- value: "Andorra",
977
- error: "Please match the format requested."
978
- });
1064
+ _userEvent["default"].click(getByRole("option"));
979
1065
 
980
- _react2.fireEvent.blur(input);
1066
+ expect(onChange).toHaveBeenCalledWith({
1067
+ value: "Andorra",
1068
+ error: "Please match the format requested."
1069
+ });
981
1070
 
982
- expect(onBlur).toHaveBeenCalledWith({
983
- value: "Andorra",
984
- error: "Please match the format requested."
985
- });
1071
+ _react2.fireEvent.blur(input);
986
1072
 
987
- case 12:
988
- case "end":
989
- return _context10.stop();
990
- }
991
- }
992
- }, _callee10);
993
- })));
994
- test("Autosuggest - Length constraint", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11() {
995
- var onChange, onBlur, _render34, getByText, getByRole, input;
1073
+ expect(onBlur).toHaveBeenCalledWith({
1074
+ value: "Andorra",
1075
+ error: "Please match the format requested."
1076
+ });
1077
+ });
1078
+ test("Autosuggest - Length constraint", function () {
1079
+ var onChange = jest.fn();
1080
+ var onBlur = jest.fn();
996
1081
 
997
- return _regenerator["default"].wrap(function _callee11$(_context11) {
998
- while (1) {
999
- switch (_context11.prev = _context11.next) {
1000
- case 0:
1001
- onChange = jest.fn();
1002
- onBlur = jest.fn();
1003
- _render34 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1004
- label: "Autocomplete Countries",
1005
- suggestions: countries,
1006
- onChange: onChange,
1007
- onBlur: onBlur,
1008
- minLength: 5,
1009
- maxLength: 10
1010
- })), getByText = _render34.getByText, getByRole = _render34.getByRole;
1011
- input = getByRole("combobox");
1082
+ var _render36 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1083
+ label: "Autocomplete Countries",
1084
+ suggestions: countries,
1085
+ onChange: onChange,
1086
+ onBlur: onBlur,
1087
+ minLength: 5,
1088
+ maxLength: 10
1089
+ })),
1090
+ getByText = _render36.getByText,
1091
+ getByRole = _render36.getByRole;
1012
1092
 
1013
- _react2.fireEvent.focus(input);
1093
+ var input = getByRole("combobox");
1014
1094
 
1015
- _userEvent["default"].type(input, "Cha");
1095
+ _react2.fireEvent.focus(input);
1016
1096
 
1017
- expect(getByText("Cha")).toBeTruthy();
1018
- expect(getByText("d")).toBeTruthy();
1097
+ _userEvent["default"].type(input, "Cha");
1019
1098
 
1020
- _userEvent["default"].click(getByRole("option"));
1099
+ expect(getByText("Cha")).toBeTruthy();
1100
+ expect(getByText("d")).toBeTruthy();
1021
1101
 
1022
- expect(onChange).toHaveBeenCalledWith({
1023
- value: "Cha",
1024
- error: "Min length 5, max length 10."
1025
- });
1102
+ _userEvent["default"].click(getByRole("option"));
1026
1103
 
1027
- _react2.fireEvent.blur(input);
1104
+ expect(onChange).toHaveBeenCalledWith({
1105
+ value: "Cha",
1106
+ error: "Min length 5, max length 10."
1107
+ });
1028
1108
 
1029
- expect(onBlur).toHaveBeenCalledWith({
1030
- value: "Chad",
1031
- error: "Min length 5, max length 10."
1032
- });
1109
+ _react2.fireEvent.blur(input);
1033
1110
 
1034
- case 12:
1035
- case "end":
1036
- return _context11.stop();
1037
- }
1038
- }
1039
- }, _callee11);
1040
- })));
1041
- test("Autosuggest keys: arrow down key opens autosuggest, active first option is selected with Enter and closes the autosuggest", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee12() {
1042
- var onChange, _render35, getByRole, queryByRole, input, list;
1111
+ expect(onBlur).toHaveBeenCalledWith({
1112
+ value: "Chad",
1113
+ error: "Min length 5, max length 10."
1114
+ });
1115
+ });
1116
+ test("Autosuggest keys: arrow down key opens autosuggest, active first option is selected with Enter and closes the autosuggest", function () {
1117
+ var onChange = jest.fn();
1043
1118
 
1044
- return _regenerator["default"].wrap(function _callee12$(_context12) {
1045
- while (1) {
1046
- switch (_context12.prev = _context12.next) {
1047
- case 0:
1048
- onChange = jest.fn();
1049
- _render35 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1050
- label: "Autocomplete Countries",
1051
- suggestions: countries,
1052
- onChange: onChange
1053
- })), getByRole = _render35.getByRole, queryByRole = _render35.queryByRole;
1054
- input = getByRole("combobox");
1119
+ var _render37 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1120
+ label: "Autocomplete Countries",
1121
+ suggestions: countries,
1122
+ onChange: onChange
1123
+ })),
1124
+ getByRole = _render37.getByRole,
1125
+ queryByRole = _render37.queryByRole;
1055
1126
 
1056
- _react2.fireEvent.keyDown(input, {
1057
- key: "ArrowDown",
1058
- code: "ArrowDown",
1059
- keyCode: 40,
1060
- charCode: 40
1061
- });
1127
+ var input = getByRole("combobox");
1062
1128
 
1063
- list = getByRole("listbox");
1064
- expect(list).toBeTruthy();
1129
+ _react2.fireEvent.keyDown(input, {
1130
+ key: "ArrowDown",
1131
+ code: "ArrowDown",
1132
+ keyCode: 40,
1133
+ charCode: 40
1134
+ });
1065
1135
 
1066
- _react2.fireEvent.keyDown(input, {
1067
- key: "Enter",
1068
- code: "Enter",
1069
- keyCode: 13,
1070
- charCode: 13
1071
- });
1136
+ var list = getByRole("listbox");
1137
+ expect(list).toBeTruthy();
1138
+
1139
+ _react2.fireEvent.keyDown(input, {
1140
+ key: "Enter",
1141
+ code: "Enter",
1142
+ keyCode: 13,
1143
+ charCode: 13
1144
+ });
1145
+
1146
+ expect(input.value).toBe("Afghanistan");
1147
+ expect(queryByRole("list")).toBeFalsy();
1148
+ });
1149
+ test("Autosuggest keys: arrow up key opens autosuggest, active last option is selected with Enter and closes the autosuggest", function () {
1150
+ var onChange = jest.fn();
1151
+
1152
+ var _render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1153
+ label: "Autocomplete Countries",
1154
+ suggestions: countries,
1155
+ onChange: onChange
1156
+ })),
1157
+ getByRole = _render38.getByRole,
1158
+ queryByRole = _render38.queryByRole;
1159
+
1160
+ var input = getByRole("combobox");
1161
+
1162
+ _react2.fireEvent.keyDown(input, {
1163
+ key: "ArrowUp",
1164
+ code: "ArrowUp",
1165
+ keyCode: 38,
1166
+ charCode: 38
1167
+ });
1168
+
1169
+ var list = getByRole("listbox");
1170
+ expect(list).toBeTruthy();
1171
+
1172
+ _react2.fireEvent.keyDown(input, {
1173
+ key: "Enter",
1174
+ code: "Enter",
1175
+ keyCode: 13,
1176
+ charCode: 13
1177
+ });
1178
+
1179
+ expect(input.value).toBe("Djibouti");
1180
+ expect(queryByRole("list")).toBeFalsy();
1181
+ });
1182
+ test("Autosuggest keys: Esc key closes the autosuggest and cleans the input", function () {
1183
+ var onChange = jest.fn();
1184
+
1185
+ var _render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1186
+ label: "Autocomplete Countries",
1187
+ suggestions: countries,
1188
+ onChange: onChange
1189
+ })),
1190
+ getByRole = _render39.getByRole,
1191
+ queryByRole = _render39.queryByRole;
1192
+
1193
+ var input = getByRole("combobox");
1194
+
1195
+ _react2.fireEvent.focus(input);
1196
+
1197
+ _userEvent["default"].type(input, "Bangla");
1198
+
1199
+ var list = getByRole("listbox");
1200
+ expect(list).toBeTruthy();
1201
+
1202
+ _react2.fireEvent.keyDown(input, {
1203
+ key: "Esc",
1204
+ code: "Esc",
1205
+ keyCode: 27,
1206
+ charCode: 27
1207
+ });
1208
+
1209
+ expect(input.value).toBe("");
1210
+ expect(queryByRole("listbox")).toBeFalsy();
1211
+ });
1212
+ test("Autosuggest keys: Enter, if no active suggestion closes the autosuggest", function () {
1213
+ var onChange = jest.fn();
1214
+
1215
+ var _render40 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1216
+ label: "Autocomplete Countries",
1217
+ suggestions: countries,
1218
+ onChange: onChange
1219
+ })),
1220
+ getByRole = _render40.getByRole,
1221
+ queryByRole = _render40.queryByRole;
1222
+
1223
+ var input = getByRole("combobox");
1224
+
1225
+ _react2.fireEvent.focus(input);
1226
+
1227
+ var list = getByRole("listbox");
1228
+ expect(list).toBeTruthy();
1229
+
1230
+ _react2.fireEvent.keyDown(input, {
1231
+ key: "Enter",
1232
+ code: "Enter",
1233
+ keyCode: 27,
1234
+ charCode: 27
1235
+ });
1236
+
1237
+ expect(input.value).toBe("");
1238
+ expect(queryByRole("list")).toBeFalsy();
1239
+ });
1240
+ test("Autosuggest complex key secuence: write, arrow up two times, arrow down and select with Enter. Then, clean with Esc.", function () {
1241
+ var onChange = jest.fn();
1072
1242
 
1073
- expect(input.value).toBe("Afghanistan");
1074
- expect(queryByRole("list")).toBeFalsy();
1243
+ var _render41 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1244
+ label: "Autocomplete Countries",
1245
+ suggestions: countries,
1246
+ onChange: onChange
1247
+ })),
1248
+ getByRole = _render41.getByRole,
1249
+ queryByRole = _render41.queryByRole;
1075
1250
 
1076
- case 9:
1077
- case "end":
1078
- return _context12.stop();
1079
- }
1080
- }
1081
- }, _callee12);
1082
- })));
1083
- test("Autosuggest keys: arrow up key opens autosuggest, active last option is selected with Enter and closes the autosuggest", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee13() {
1084
- var onChange, _render36, getByRole, queryByRole, input, list;
1251
+ var input = getByRole("combobox");
1085
1252
 
1086
- return _regenerator["default"].wrap(function _callee13$(_context13) {
1087
- while (1) {
1088
- switch (_context13.prev = _context13.next) {
1089
- case 0:
1090
- onChange = jest.fn();
1091
- _render36 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1092
- label: "Autocomplete Countries",
1093
- suggestions: countries,
1094
- onChange: onChange
1095
- })), getByRole = _render36.getByRole, queryByRole = _render36.queryByRole;
1096
- input = getByRole("combobox");
1253
+ _react2.fireEvent.focus(input);
1097
1254
 
1098
- _react2.fireEvent.keyDown(input, {
1099
- key: "ArrowUp",
1100
- code: "ArrowUp",
1101
- keyCode: 38,
1102
- charCode: 38
1103
- });
1255
+ _userEvent["default"].type(input, "Ba");
1104
1256
 
1105
- list = getByRole("listbox");
1106
- expect(list).toBeTruthy();
1257
+ _react2.fireEvent.keyDown(input, {
1258
+ key: "ArrowUp",
1259
+ code: "ArrowUp",
1260
+ keyCode: 38,
1261
+ charCode: 38
1262
+ });
1107
1263
 
1108
- _react2.fireEvent.keyDown(input, {
1109
- key: "Enter",
1110
- code: "Enter",
1111
- keyCode: 13,
1112
- charCode: 13
1113
- });
1264
+ _react2.fireEvent.keyDown(input, {
1265
+ key: "ArrowUp",
1266
+ code: "ArrowUpp",
1267
+ keyCode: 38,
1268
+ charCode: 38
1269
+ });
1114
1270
 
1115
- expect(input.value).toBe("Djibouti");
1116
- expect(queryByRole("list")).toBeFalsy();
1271
+ _react2.fireEvent.keyDown(input, {
1272
+ key: "ArrowDown",
1273
+ code: "ArrowDown",
1274
+ keyCode: 40,
1275
+ charCode: 40
1276
+ });
1117
1277
 
1118
- case 9:
1119
- case "end":
1120
- return _context13.stop();
1121
- }
1122
- }
1123
- }, _callee13);
1124
- })));
1125
- test("Autosuggest keys: Esc key closes the autosuggest and cleans the input", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee14() {
1126
- var onChange, _render37, getByRole, queryByRole, input, list;
1278
+ _react2.fireEvent.keyDown(input, {
1279
+ key: "Enter",
1280
+ code: "Enter",
1281
+ keyCode: 13,
1282
+ charCode: 13
1283
+ });
1127
1284
 
1128
- return _regenerator["default"].wrap(function _callee14$(_context14) {
1129
- while (1) {
1130
- switch (_context14.prev = _context14.next) {
1131
- case 0:
1132
- onChange = jest.fn();
1133
- _render37 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1134
- label: "Autocomplete Countries",
1135
- suggestions: countries,
1136
- onChange: onChange
1137
- })), getByRole = _render37.getByRole, queryByRole = _render37.queryByRole;
1138
- input = getByRole("combobox");
1285
+ expect(input.value).toBe("Barbados");
1286
+ expect(queryByRole("listbox")).toBeFalsy();
1139
1287
 
1140
- _react2.fireEvent.focus(input);
1288
+ _react2.fireEvent.keyDown(input, {
1289
+ key: "Esc",
1290
+ code: "Esp",
1291
+ keyCode: 27,
1292
+ charCode: 27
1293
+ });
1141
1294
 
1142
- _userEvent["default"].type(input, "Bangla");
1295
+ expect(input.value).toBe("");
1296
+ expect(queryByRole("listbox")).toBeFalsy();
1297
+ });
1298
+ test("Autosuggest escapes special characters", function () {
1299
+ var onChange = jest.fn();
1143
1300
 
1144
- list = getByRole("listbox");
1145
- expect(list).toBeTruthy();
1301
+ var _render42 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1302
+ label: "Autocomplete Countries",
1303
+ suggestions: specialCharacters,
1304
+ onChange: onChange
1305
+ })),
1306
+ getAllByText = _render42.getAllByText,
1307
+ getByRole = _render42.getByRole;
1146
1308
 
1147
- _react2.fireEvent.keyDown(input, {
1148
- key: "Esc",
1149
- code: "Esc",
1150
- keyCode: 27,
1151
- charCode: 27
1152
- });
1309
+ var input = getByRole("combobox");
1153
1310
 
1154
- expect(input.value).toBe("");
1155
- expect(queryByRole("listbox")).toBeFalsy();
1311
+ _react2.fireEvent.focus(input);
1156
1312
 
1157
- case 10:
1158
- case "end":
1159
- return _context14.stop();
1160
- }
1313
+ var list = getByRole("listbox");
1314
+
1315
+ _react2.fireEvent.change(input, {
1316
+ target: {
1317
+ value: "/"
1161
1318
  }
1162
- }, _callee14);
1163
- })));
1164
- test("Autosuggest keys: Enter, if no active suggestion closes the autosuggest", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee15() {
1165
- var onChange, _render38, getByRole, queryByRole, input, list;
1319
+ });
1166
1320
 
1167
- return _regenerator["default"].wrap(function _callee15$(_context15) {
1168
- while (1) {
1169
- switch (_context15.prev = _context15.next) {
1170
- case 0:
1171
- onChange = jest.fn();
1172
- _render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1173
- label: "Autocomplete Countries",
1174
- suggestions: countries,
1175
- onChange: onChange
1176
- })), getByRole = _render38.getByRole, queryByRole = _render38.queryByRole;
1177
- input = getByRole("combobox");
1321
+ expect(list).toBeTruthy();
1322
+ expect(getAllByText("/").length).toBe(1);
1178
1323
 
1179
- _react2.fireEvent.focus(input);
1324
+ _react2.fireEvent.change(input, {
1325
+ target: {
1326
+ value: "\\"
1327
+ }
1328
+ });
1180
1329
 
1181
- list = getByRole("listbox");
1182
- expect(list).toBeTruthy();
1330
+ expect(list).toBeTruthy();
1331
+ expect(getAllByText("\\").length).toBe(1);
1183
1332
 
1184
- _react2.fireEvent.keyDown(input, {
1185
- key: "Enter",
1186
- code: "Enter",
1187
- keyCode: 27,
1188
- charCode: 27
1189
- });
1333
+ _react2.fireEvent.change(input, {
1334
+ target: {
1335
+ value: "*"
1336
+ }
1337
+ });
1190
1338
 
1191
- expect(input.value).toBe("");
1192
- expect(queryByRole("list")).toBeFalsy();
1339
+ expect(list).toBeTruthy();
1340
+ expect(getAllByText("*").length).toBe(2);
1193
1341
 
1194
- case 9:
1195
- case "end":
1196
- return _context15.stop();
1197
- }
1342
+ _react2.fireEvent.change(input, {
1343
+ target: {
1344
+ value: "("
1198
1345
  }
1199
- }, _callee15);
1200
- })));
1201
- test("Autosuggest complex key secuence: write, arrow up two times, arrow down and select with Enter. Then, clean with Esc.", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee16() {
1202
- var onChange, _render39, getByRole, queryByRole, input;
1203
-
1204
- return _regenerator["default"].wrap(function _callee16$(_context16) {
1205
- while (1) {
1206
- switch (_context16.prev = _context16.next) {
1207
- case 0:
1208
- onChange = jest.fn();
1209
- _render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1210
- label: "Autocomplete Countries",
1211
- suggestions: countries,
1212
- onChange: onChange
1213
- })), getByRole = _render39.getByRole, queryByRole = _render39.queryByRole;
1214
- input = getByRole("combobox");
1346
+ });
1215
1347
 
1216
- _react2.fireEvent.focus(input);
1348
+ expect(list).toBeTruthy();
1349
+ expect(getAllByText("(").length).toBe(1);
1217
1350
 
1218
- _userEvent["default"].type(input, "Ba");
1351
+ _react2.fireEvent.change(input, {
1352
+ target: {
1353
+ value: ")"
1354
+ }
1355
+ });
1219
1356
 
1220
- _react2.fireEvent.keyDown(input, {
1221
- key: "ArrowUp",
1222
- code: "ArrowUp",
1223
- keyCode: 38,
1224
- charCode: 38
1225
- });
1357
+ expect(list).toBeTruthy();
1358
+ expect(getAllByText(")").length).toBe(1);
1226
1359
 
1227
- _react2.fireEvent.keyDown(input, {
1228
- key: "ArrowUp",
1229
- code: "ArrowUpp",
1230
- keyCode: 38,
1231
- charCode: 38
1232
- });
1360
+ _react2.fireEvent.change(input, {
1361
+ target: {
1362
+ value: "["
1363
+ }
1364
+ });
1233
1365
 
1234
- _react2.fireEvent.keyDown(input, {
1235
- key: "ArrowDown",
1236
- code: "ArrowDown",
1237
- keyCode: 40,
1238
- charCode: 40
1239
- });
1366
+ expect(list).toBeTruthy();
1367
+ expect(getAllByText("[").length).toBe(1);
1240
1368
 
1241
- _react2.fireEvent.keyDown(input, {
1242
- key: "Enter",
1243
- code: "Enter",
1244
- keyCode: 13,
1245
- charCode: 13
1246
- });
1369
+ _react2.fireEvent.change(input, {
1370
+ target: {
1371
+ value: "]"
1372
+ }
1373
+ });
1247
1374
 
1248
- expect(input.value).toBe("Barbados");
1249
- expect(queryByRole("listbox")).toBeFalsy();
1375
+ expect(list).toBeTruthy();
1376
+ expect(getAllByText("]").length).toBe(1);
1250
1377
 
1251
- _react2.fireEvent.keyDown(input, {
1252
- key: "Esc",
1253
- code: "Esp",
1254
- keyCode: 27,
1255
- charCode: 27
1256
- });
1378
+ _react2.fireEvent.change(input, {
1379
+ target: {
1380
+ value: "+"
1381
+ }
1382
+ });
1257
1383
 
1258
- expect(input.value).toBe("");
1259
- expect(queryByRole("listbox")).toBeFalsy();
1384
+ expect(list).toBeTruthy();
1385
+ expect(getAllByText("+").length).toBe(1);
1260
1386
 
1261
- case 14:
1262
- case "end":
1263
- return _context16.stop();
1264
- }
1387
+ _react2.fireEvent.change(input, {
1388
+ target: {
1389
+ value: "?"
1265
1390
  }
1266
- }, _callee16);
1267
- })));
1391
+ });
1392
+
1393
+ expect(list).toBeTruthy();
1394
+ expect(getAllByText("?").length).toBe(1);
1395
+ });
1268
1396
  });
1269
1397
  describe("TextInput component asynchronous autosuggest tests", function () {
1270
- test("Autosuggest 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee17() {
1271
- var callbackFunc, onChange, _render40, getByRole, getByText, input;
1398
+ test("Autosuggest 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
1399
+ var callbackFunc, onChange, _render43, getByRole, getByText, input;
1272
1400
 
1273
- return _regenerator["default"].wrap(function _callee17$(_context17) {
1401
+ return _regenerator["default"].wrap(function _callee$(_context) {
1274
1402
  while (1) {
1275
- switch (_context17.prev = _context17.next) {
1403
+ switch (_context.prev = _context.next) {
1276
1404
  case 0:
1277
1405
  callbackFunc = jest.fn(function (newValue) {
1278
1406
  var result = new Promise(function (resolve) {
@@ -1285,17 +1413,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1285
1413
  return result;
1286
1414
  });
1287
1415
  onChange = jest.fn();
1288
- _render40 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1416
+ _render43 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1289
1417
  label: "Autosuggest Countries",
1290
1418
  suggestions: callbackFunc,
1291
1419
  onChange: onChange
1292
- })), getByRole = _render40.getByRole, getByText = _render40.getByText;
1420
+ })), getByRole = _render43.getByRole, getByText = _render43.getByText;
1293
1421
  input = getByRole("combobox");
1294
1422
 
1295
1423
  _react2.fireEvent.focus(input);
1296
1424
 
1297
1425
  expect(getByRole("listbox")).toBeTruthy();
1298
- _context17.next = 8;
1426
+ _context.next = 8;
1299
1427
  return (0, _react2.waitForElementToBeRemoved)(function () {
1300
1428
  return getByText("Searching...");
1301
1429
  });
@@ -1308,7 +1436,7 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1308
1436
 
1309
1437
  _userEvent["default"].type(input, "Ab");
1310
1438
 
1311
- _context17.next = 15;
1439
+ _context.next = 15;
1312
1440
  return (0, _react2.waitForElementToBeRemoved)(function () {
1313
1441
  return getByText("Searching...");
1314
1442
  });
@@ -1334,66 +1462,58 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1334
1462
 
1335
1463
  case 19:
1336
1464
  case "end":
1337
- return _context17.stop();
1465
+ return _context.stop();
1338
1466
  }
1339
1467
  }
1340
- }, _callee17);
1468
+ }, _callee);
1341
1469
  })));
1342
- test("Autosuggest Esc key works while 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee18() {
1343
- var callbackFunc, onChange, _render41, getByRole, queryByText, queryByRole, input;
1470
+ test("Autosuggest Esc key works while 'Searching...' message is shown", function () {
1471
+ var callbackFunc = jest.fn(function (newValue) {
1472
+ var result = new Promise(function (resolve) {
1473
+ return setTimeout(function () {
1474
+ resolve(newValue ? countries.filter(function (option) {
1475
+ return option.toUpperCase().includes(newValue.toUpperCase());
1476
+ }) : countries);
1477
+ }, 100);
1478
+ });
1479
+ return result;
1480
+ });
1481
+ var onChange = jest.fn();
1344
1482
 
1345
- return _regenerator["default"].wrap(function _callee18$(_context18) {
1346
- while (1) {
1347
- switch (_context18.prev = _context18.next) {
1348
- case 0:
1349
- callbackFunc = jest.fn(function (newValue) {
1350
- var result = new Promise(function (resolve) {
1351
- return setTimeout(function () {
1352
- resolve(newValue ? countries.filter(function (option) {
1353
- return option.toUpperCase().includes(newValue.toUpperCase());
1354
- }) : countries);
1355
- }, 100);
1356
- });
1357
- return result;
1358
- });
1359
- onChange = jest.fn();
1360
- _render41 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1361
- label: "Autosuggest Countries",
1362
- suggestions: callbackFunc,
1363
- onChange: onChange
1364
- })), getByRole = _render41.getByRole, queryByText = _render41.queryByText, queryByRole = _render41.queryByRole;
1365
- input = getByRole("combobox");
1483
+ var _render44 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1484
+ label: "Autosuggest Countries",
1485
+ suggestions: callbackFunc,
1486
+ onChange: onChange
1487
+ })),
1488
+ getByRole = _render44.getByRole,
1489
+ queryByText = _render44.queryByText,
1490
+ queryByRole = _render44.queryByRole;
1366
1491
 
1367
- _react2.fireEvent.focus(input);
1492
+ var input = getByRole("combobox");
1368
1493
 
1369
- expect(getByRole("listbox")).toBeTruthy();
1494
+ _react2.fireEvent.focus(input);
1370
1495
 
1371
- _userEvent["default"].type(input, "Ab");
1496
+ expect(getByRole("listbox")).toBeTruthy();
1372
1497
 
1373
- _react2.fireEvent.keyDown(input, {
1374
- key: "Esc",
1375
- code: "Esc",
1376
- keyCode: 27,
1377
- charCode: 27
1378
- });
1498
+ _userEvent["default"].type(input, "Ab");
1379
1499
 
1380
- expect(queryByRole("listbox")).toBeFalsy();
1381
- expect(queryByText("Searching...")).toBeFalsy();
1382
- expect(input.value).toBe("");
1500
+ _react2.fireEvent.keyDown(input, {
1501
+ key: "Esc",
1502
+ code: "Esc",
1503
+ keyCode: 27,
1504
+ charCode: 27
1505
+ });
1383
1506
 
1384
- case 11:
1385
- case "end":
1386
- return _context18.stop();
1387
- }
1388
- }
1389
- }, _callee18);
1390
- })));
1391
- test("Autosuggest Esc + arrow down working while 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee19() {
1392
- var callbackFunc, onChange, _render42, getByRole, getByText, queryByText, queryByRole, input, list;
1507
+ expect(queryByRole("listbox")).toBeFalsy();
1508
+ expect(queryByText("Searching...")).toBeFalsy();
1509
+ expect(input.value).toBe("");
1510
+ });
1511
+ test("Autosuggest Esc + arrow down working while 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
1512
+ var callbackFunc, onChange, _render45, getByRole, getByText, queryByText, queryByRole, input, list;
1393
1513
 
1394
- return _regenerator["default"].wrap(function _callee19$(_context19) {
1514
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
1395
1515
  while (1) {
1396
- switch (_context19.prev = _context19.next) {
1516
+ switch (_context2.prev = _context2.next) {
1397
1517
  case 0:
1398
1518
  callbackFunc = jest.fn(function (newValue) {
1399
1519
  var result = new Promise(function (resolve) {
@@ -1406,11 +1526,11 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1406
1526
  return result;
1407
1527
  });
1408
1528
  onChange = jest.fn();
1409
- _render42 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1529
+ _render45 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1410
1530
  label: "Autosuggest Countries",
1411
1531
  suggestions: callbackFunc,
1412
1532
  onChange: onChange
1413
- })), getByRole = _render42.getByRole, getByText = _render42.getByText, queryByText = _render42.queryByText, queryByRole = _render42.queryByRole;
1533
+ })), getByRole = _render45.getByRole, getByText = _render45.getByText, queryByText = _render45.queryByText, queryByRole = _render45.queryByRole;
1414
1534
  input = getByRole("combobox");
1415
1535
 
1416
1536
  _react2.fireEvent.focus(input);
@@ -1439,7 +1559,7 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1439
1559
  });
1440
1560
 
1441
1561
  expect(list).toBeTruthy();
1442
- _context19.next = 16;
1562
+ _context2.next = 16;
1443
1563
  return (0, _react2.waitForElementToBeRemoved)(function () {
1444
1564
  return getByText("Searching...");
1445
1565
  });
@@ -1452,17 +1572,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1452
1572
 
1453
1573
  case 20:
1454
1574
  case "end":
1455
- return _context19.stop();
1575
+ return _context2.stop();
1456
1576
  }
1457
1577
  }
1458
- }, _callee19);
1578
+ }, _callee2);
1459
1579
  })));
1460
- test("Asynchronous uncontrolled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee20() {
1461
- var callbackFunc, onChange, _render43, getByRole, getByText, input;
1580
+ test("Asynchronous uncontrolled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
1581
+ var callbackFunc, onChange, _render46, getByRole, getByText, input;
1462
1582
 
1463
- return _regenerator["default"].wrap(function _callee20$(_context20) {
1583
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
1464
1584
  while (1) {
1465
- switch (_context20.prev = _context20.next) {
1585
+ switch (_context3.prev = _context3.next) {
1466
1586
  case 0:
1467
1587
  callbackFunc = jest.fn(function (newValue) {
1468
1588
  var result = new Promise(function (resolve) {
@@ -1475,18 +1595,18 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1475
1595
  return result;
1476
1596
  });
1477
1597
  onChange = jest.fn();
1478
- _render43 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1598
+ _render46 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1479
1599
  label: "Autosuggest Countries",
1480
1600
  onChange: onChange,
1481
1601
  suggestions: callbackFunc
1482
- })), getByRole = _render43.getByRole, getByText = _render43.getByText;
1602
+ })), getByRole = _render46.getByRole, getByText = _render46.getByText;
1483
1603
  input = getByRole("combobox");
1484
1604
 
1485
1605
  _react2.fireEvent.focus(input);
1486
1606
 
1487
1607
  _userEvent["default"].type(input, "Den");
1488
1608
 
1489
- _context20.next = 8;
1609
+ _context3.next = 8;
1490
1610
  return (0, _react2.waitForElementToBeRemoved)(function () {
1491
1611
  return getByText("Searching...");
1492
1612
  });
@@ -1503,17 +1623,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1503
1623
 
1504
1624
  case 12:
1505
1625
  case "end":
1506
- return _context20.stop();
1626
+ return _context3.stop();
1507
1627
  }
1508
1628
  }
1509
- }, _callee20);
1629
+ }, _callee3);
1510
1630
  })));
1511
- test("Asynchronous controlled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee21() {
1512
- var callbackFunc, onChange, _render44, getByRole, getByText, queryByRole, input;
1631
+ test("Asynchronous controlled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
1632
+ var callbackFunc, onChange, _render47, getByRole, getByText, queryByRole, input;
1513
1633
 
1514
- return _regenerator["default"].wrap(function _callee21$(_context21) {
1634
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
1515
1635
  while (1) {
1516
- switch (_context21.prev = _context21.next) {
1636
+ switch (_context4.prev = _context4.next) {
1517
1637
  case 0:
1518
1638
  callbackFunc = jest.fn(function (newValue) {
1519
1639
  var result = new Promise(function (resolve) {
@@ -1526,45 +1646,47 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1526
1646
  return result;
1527
1647
  });
1528
1648
  onChange = jest.fn();
1529
- _render44 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1649
+ _render47 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1530
1650
  label: "Autosuggest Countries",
1531
1651
  value: "Denm",
1532
1652
  onChange: onChange,
1533
1653
  suggestions: callbackFunc
1534
- })), getByRole = _render44.getByRole, getByText = _render44.getByText, queryByRole = _render44.queryByRole;
1654
+ })), getByRole = _render47.getByRole, getByText = _render47.getByText, queryByRole = _render47.queryByRole;
1535
1655
  input = getByRole("combobox");
1656
+ expect(input.value).toBe("Denm");
1536
1657
 
1537
- _react2.fireEvent.focus(input);
1658
+ _userEvent["default"].click(getByText("Autosuggest Countries"));
1538
1659
 
1539
- _context21.next = 7;
1660
+ _context4.next = 8;
1540
1661
  return (0, _react2.waitForElementToBeRemoved)(function () {
1541
1662
  return getByText("Searching...");
1542
1663
  });
1543
1664
 
1544
- case 7:
1545
- expect(input.value).toBe("Denm");
1665
+ case 8:
1546
1666
  expect(getByText("Denmark")).toBeTruthy();
1547
1667
 
1548
- _userEvent["default"].click(getByRole("option"));
1668
+ _react2.fireEvent.focus(getByRole("option"));
1669
+
1670
+ _userEvent["default"].click(getByText("Denmark"));
1549
1671
 
1550
1672
  expect(onChange).toHaveBeenCalledWith({
1551
1673
  value: "Denmark"
1552
1674
  });
1553
1675
  expect(queryByRole("listbox")).toBeFalsy();
1554
1676
 
1555
- case 12:
1677
+ case 13:
1556
1678
  case "end":
1557
- return _context21.stop();
1679
+ return _context4.stop();
1558
1680
  }
1559
1681
  }
1560
- }, _callee21);
1682
+ }, _callee4);
1561
1683
  })));
1562
- test("Asynchronous autosuggest closes the listbox after finishing no matches search", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee22() {
1563
- var callbackFunc, onChange, _render45, getByText, getByRole, queryByRole, input;
1684
+ test("Asynchronous autosuggest closes the listbox after finishing no matches search", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
1685
+ var callbackFunc, onChange, _render48, getByText, getByRole, queryByRole, input;
1564
1686
 
1565
- return _regenerator["default"].wrap(function _callee22$(_context22) {
1687
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
1566
1688
  while (1) {
1567
- switch (_context22.prev = _context22.next) {
1689
+ switch (_context5.prev = _context5.next) {
1568
1690
  case 0:
1569
1691
  callbackFunc = jest.fn(function (newValue) {
1570
1692
  var result = new Promise(function (resolve) {
@@ -1577,18 +1699,18 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1577
1699
  return result;
1578
1700
  });
1579
1701
  onChange = jest.fn();
1580
- _render45 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1702
+ _render48 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1581
1703
  label: "Autosuggest Countries",
1582
1704
  onChange: onChange,
1583
1705
  suggestions: callbackFunc
1584
- })), getByText = _render45.getByText, getByRole = _render45.getByRole, queryByRole = _render45.queryByRole;
1706
+ })), getByText = _render48.getByText, getByRole = _render48.getByRole, queryByRole = _render48.queryByRole;
1585
1707
  input = getByRole("combobox");
1586
1708
 
1587
1709
  _react2.fireEvent.focus(input);
1588
1710
 
1589
1711
  _userEvent["default"].type(input, "Example text");
1590
1712
 
1591
- _context22.next = 8;
1713
+ _context5.next = 8;
1592
1714
  return (0, _react2.waitForElementToBeRemoved)(function () {
1593
1715
  return getByText("Searching...");
1594
1716
  });
@@ -1598,17 +1720,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1598
1720
 
1599
1721
  case 9:
1600
1722
  case "end":
1601
- return _context22.stop();
1723
+ return _context5.stop();
1602
1724
  }
1603
1725
  }
1604
- }, _callee22);
1726
+ }, _callee5);
1605
1727
  })));
1606
- test("Asynchronous autosuggest with no matches founded doesn't let the listbox to be opened", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee23() {
1607
- var callbackFunc, onChange, _render46, getByText, getByRole, queryByRole, input;
1728
+ test("Asynchronous autosuggest with no matches founded doesn't let the listbox to be opened", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
1729
+ var callbackFunc, onChange, _render49, getByText, getByRole, queryByRole, input;
1608
1730
 
1609
- return _regenerator["default"].wrap(function _callee23$(_context23) {
1731
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
1610
1732
  while (1) {
1611
- switch (_context23.prev = _context23.next) {
1733
+ switch (_context6.prev = _context6.next) {
1612
1734
  case 0:
1613
1735
  callbackFunc = jest.fn(function (newValue) {
1614
1736
  var result = new Promise(function (resolve) {
@@ -1621,18 +1743,18 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1621
1743
  return result;
1622
1744
  });
1623
1745
  onChange = jest.fn();
1624
- _render46 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1746
+ _render49 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1625
1747
  label: "Autosuggest Countries",
1626
1748
  onChange: onChange,
1627
1749
  suggestions: callbackFunc
1628
- })), getByText = _render46.getByText, getByRole = _render46.getByRole, queryByRole = _render46.queryByRole;
1750
+ })), getByText = _render49.getByText, getByRole = _render49.getByRole, queryByRole = _render49.queryByRole;
1629
1751
  input = getByRole("combobox");
1630
1752
 
1631
1753
  _react2.fireEvent.focus(input);
1632
1754
 
1633
1755
  _userEvent["default"].type(input, "wrong");
1634
1756
 
1635
- _context23.next = 8;
1757
+ _context6.next = 8;
1636
1758
  return (0, _react2.waitForElementToBeRemoved)(function () {
1637
1759
  return getByText("Searching...");
1638
1760
  });
@@ -1664,17 +1786,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1664
1786
 
1665
1787
  case 15:
1666
1788
  case "end":
1667
- return _context23.stop();
1789
+ return _context6.stop();
1668
1790
  }
1669
1791
  }
1670
- }, _callee23);
1792
+ }, _callee6);
1671
1793
  })));
1672
- test("Asynchronous autosuggest request failed, shows 'Error fetching data' message", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee24() {
1673
- var errorCallbackFunc, onChange, _render47, getByRole, getByText, input;
1794
+ test("Asynchronous autosuggest request failed, shows 'Error fetching data' message", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
1795
+ var errorCallbackFunc, onChange, _render50, getByRole, getByText, input;
1674
1796
 
1675
- return _regenerator["default"].wrap(function _callee24$(_context24) {
1797
+ return _regenerator["default"].wrap(function _callee7$(_context7) {
1676
1798
  while (1) {
1677
- switch (_context24.prev = _context24.next) {
1799
+ switch (_context7.prev = _context7.next) {
1678
1800
  case 0:
1679
1801
  errorCallbackFunc = jest.fn(function () {
1680
1802
  var result = new Promise(function (resolve, reject) {
@@ -1685,16 +1807,16 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1685
1807
  return result;
1686
1808
  });
1687
1809
  onChange = jest.fn();
1688
- _render47 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1810
+ _render50 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1689
1811
  label: "Autosuggest Countries",
1690
1812
  onChange: onChange,
1691
1813
  suggestions: errorCallbackFunc
1692
- })), getByRole = _render47.getByRole, getByText = _render47.getByText;
1814
+ })), getByRole = _render50.getByRole, getByText = _render50.getByText;
1693
1815
  input = getByRole("combobox");
1694
1816
 
1695
1817
  _react2.fireEvent.focus(input);
1696
1818
 
1697
- _context24.next = 7;
1819
+ _context7.next = 7;
1698
1820
  return (0, _react2.waitForElementToBeRemoved)(function () {
1699
1821
  return getByText("Searching...");
1700
1822
  });
@@ -1704,9 +1826,9 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1704
1826
 
1705
1827
  case 8:
1706
1828
  case "end":
1707
- return _context24.stop();
1829
+ return _context7.stop();
1708
1830
  }
1709
1831
  }
1710
- }, _callee24);
1832
+ }, _callee7);
1711
1833
  })));
1712
1834
  });