@dxc-technology/halstack-react 0.0.0-59568e7 → 0.0.0-5a1e592

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