@dxc-technology/halstack-react 0.0.0-0271b6e → 0.0.0-0276e5a

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