@dxc-technology/halstack-react 0.0.0-c18d61a → 0.0.0-c1a6e05

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 (201) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -1
  3. package/HalstackContext.d.ts +1329 -5
  4. package/HalstackContext.js +117 -77
  5. package/accordion/Accordion.js +13 -24
  6. package/accordion/Accordion.stories.tsx +102 -13
  7. package/accordion/Accordion.test.js +1 -1
  8. package/accordion/types.d.ts +3 -3
  9. package/accordion-group/AccordionGroup.d.ts +4 -3
  10. package/accordion-group/AccordionGroup.js +23 -44
  11. package/accordion-group/AccordionGroup.test.js +1 -1
  12. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  13. package/accordion-group/AccordionGroupAccordion.js +43 -0
  14. package/accordion-group/types.d.ts +2 -2
  15. package/alert/Alert.js +4 -8
  16. package/alert/Alert.stories.tsx +28 -0
  17. package/alert/Alert.test.js +1 -1
  18. package/bleed/Bleed.stories.tsx +1 -0
  19. package/box/Box.js +3 -5
  20. package/box/Box.stories.tsx +15 -0
  21. package/box/Box.test.js +1 -1
  22. package/bulleted-list/BulletedList.js +4 -2
  23. package/bulleted-list/BulletedList.stories.tsx +7 -1
  24. package/bulleted-list/types.d.ts +31 -4
  25. package/button/Button.js +13 -16
  26. package/button/Button.stories.tsx +151 -9
  27. package/button/Button.test.js +1 -1
  28. package/button/types.d.ts +3 -3
  29. package/card/Card.js +12 -13
  30. package/card/Card.stories.tsx +12 -13
  31. package/card/Card.test.js +1 -1
  32. package/checkbox/Checkbox.d.ts +2 -2
  33. package/checkbox/Checkbox.js +18 -17
  34. package/checkbox/Checkbox.stories.tsx +131 -59
  35. package/checkbox/Checkbox.test.js +1 -1
  36. package/checkbox/types.d.ts +6 -2
  37. package/chip/Chip.js +28 -49
  38. package/chip/Chip.stories.tsx +121 -26
  39. package/chip/Chip.test.js +3 -5
  40. package/common/OpenSans.css +68 -80
  41. package/common/coreTokens.d.ts +146 -0
  42. package/common/coreTokens.js +167 -0
  43. package/common/utils.d.ts +1 -0
  44. package/common/utils.js +4 -4
  45. package/common/variables.d.ts +1482 -0
  46. package/common/variables.js +981 -1129
  47. package/date-input/Calendar.d.ts +4 -0
  48. package/date-input/Calendar.js +258 -0
  49. package/date-input/DateInput.js +134 -237
  50. package/date-input/DateInput.stories.tsx +199 -33
  51. package/date-input/DateInput.test.js +494 -138
  52. package/date-input/DatePicker.d.ts +4 -0
  53. package/date-input/DatePicker.js +146 -0
  54. package/date-input/Icons.d.ts +6 -0
  55. package/date-input/Icons.js +75 -0
  56. package/date-input/YearPicker.d.ts +4 -0
  57. package/date-input/YearPicker.js +126 -0
  58. package/date-input/types.d.ts +51 -0
  59. package/dialog/Dialog.js +61 -74
  60. package/dialog/Dialog.stories.tsx +211 -159
  61. package/dialog/Dialog.test.js +302 -3
  62. package/dialog/types.d.ts +2 -2
  63. package/dropdown/Dropdown.js +37 -37
  64. package/dropdown/Dropdown.stories.tsx +210 -84
  65. package/dropdown/Dropdown.test.js +20 -24
  66. package/dropdown/DropdownMenu.js +12 -18
  67. package/dropdown/DropdownMenuItem.js +4 -17
  68. package/dropdown/types.d.ts +3 -3
  69. package/file-input/FileInput.d.ts +2 -2
  70. package/file-input/FileInput.js +28 -52
  71. package/file-input/FileInput.stories.tsx +96 -17
  72. package/file-input/FileInput.test.js +14 -55
  73. package/file-input/FileItem.d.ts +2 -12
  74. package/file-input/FileItem.js +29 -41
  75. package/file-input/types.d.ts +17 -0
  76. package/flex/Flex.js +4 -2
  77. package/flex/Flex.stories.tsx +35 -26
  78. package/flex/types.d.ts +70 -5
  79. package/footer/Footer.js +6 -8
  80. package/footer/Footer.stories.tsx +91 -0
  81. package/footer/Footer.test.js +14 -26
  82. package/grid/Grid.d.ts +7 -0
  83. package/grid/Grid.js +91 -0
  84. package/grid/Grid.stories.tsx +219 -0
  85. package/grid/types.d.ts +115 -0
  86. package/header/Header.d.ts +3 -2
  87. package/header/Header.js +21 -23
  88. package/header/Header.stories.tsx +149 -6
  89. package/header/Header.test.js +2 -2
  90. package/header/types.d.ts +2 -2
  91. package/heading/Heading.js +1 -1
  92. package/heading/Heading.test.js +1 -1
  93. package/inset/Inset.stories.tsx +2 -1
  94. package/layout/ApplicationLayout.d.ts +3 -3
  95. package/layout/ApplicationLayout.js +1 -1
  96. package/layout/types.d.ts +2 -3
  97. package/link/Link.js +4 -4
  98. package/link/Link.stories.tsx +60 -0
  99. package/link/Link.test.js +2 -4
  100. package/link/types.d.ts +2 -2
  101. package/main.d.ts +3 -2
  102. package/main.js +9 -1
  103. package/{tabs-nav → nav-tabs}/NavTabs.js +1 -1
  104. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +96 -6
  105. package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
  106. package/{tabs-nav → nav-tabs}/Tab.js +37 -17
  107. package/nav-tabs/types.js +5 -0
  108. package/number-input/NumberInput.test.js +6 -7
  109. package/package.json +8 -13
  110. package/paginator/Icons.d.ts +5 -0
  111. package/paginator/Icons.js +16 -28
  112. package/paginator/Paginator.js +6 -14
  113. package/paginator/Paginator.stories.tsx +24 -0
  114. package/paginator/Paginator.test.js +44 -47
  115. package/paragraph/Paragraph.d.ts +3 -4
  116. package/paragraph/Paragraph.js +5 -5
  117. package/password-input/PasswordInput.test.js +1 -1
  118. package/progress-bar/ProgressBar.d.ts +2 -2
  119. package/progress-bar/ProgressBar.js +5 -5
  120. package/progress-bar/ProgressBar.stories.jsx +35 -2
  121. package/progress-bar/ProgressBar.test.js +1 -1
  122. package/progress-bar/types.d.ts +4 -3
  123. package/quick-nav/QuickNav.stories.tsx +14 -0
  124. package/radio-group/Radio.js +10 -10
  125. package/radio-group/RadioGroup.js +8 -10
  126. package/radio-group/RadioGroup.stories.tsx +131 -18
  127. package/radio-group/RadioGroup.test.js +1 -1
  128. package/resultsetTable/Icons.d.ts +7 -0
  129. package/resultsetTable/Icons.js +51 -0
  130. package/resultsetTable/ResultsetTable.js +49 -106
  131. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  132. package/resultsetTable/ResultsetTable.test.js +41 -64
  133. package/resultsetTable/types.d.ts +1 -1
  134. package/select/Listbox.d.ts +1 -1
  135. package/select/Listbox.js +5 -34
  136. package/select/Option.js +11 -24
  137. package/select/Select.js +56 -35
  138. package/select/Select.stories.tsx +494 -150
  139. package/select/Select.test.js +76 -81
  140. package/select/types.d.ts +2 -2
  141. package/sidenav/Icons.d.ts +7 -0
  142. package/sidenav/Icons.js +51 -0
  143. package/sidenav/Sidenav.d.ts +2 -2
  144. package/sidenav/Sidenav.js +66 -96
  145. package/sidenav/Sidenav.stories.tsx +165 -63
  146. package/sidenav/types.d.ts +21 -18
  147. package/slider/Slider.d.ts +2 -2
  148. package/slider/Slider.js +11 -11
  149. package/slider/Slider.stories.tsx +57 -0
  150. package/slider/Slider.test.js +1 -1
  151. package/slider/types.d.ts +6 -2
  152. package/spinner/Spinner.js +17 -23
  153. package/spinner/Spinner.stories.jsx +53 -27
  154. package/spinner/Spinner.test.js +1 -1
  155. package/switch/Switch.d.ts +3 -3
  156. package/switch/Switch.js +7 -6
  157. package/switch/Switch.stories.tsx +33 -0
  158. package/switch/Switch.test.js +1 -1
  159. package/switch/types.d.ts +8 -3
  160. package/table/Table.js +2 -2
  161. package/table/Table.stories.jsx +80 -1
  162. package/table/Table.test.js +2 -2
  163. package/tabs/Tab.js +12 -15
  164. package/tabs/Tabs.js +11 -17
  165. package/tabs/Tabs.stories.tsx +45 -5
  166. package/tabs/Tabs.test.js +4 -5
  167. package/tabs/types.d.ts +2 -2
  168. package/tag/Tag.js +7 -9
  169. package/tag/Tag.stories.tsx +14 -1
  170. package/tag/Tag.test.js +1 -1
  171. package/text-input/Suggestion.js +34 -7
  172. package/text-input/TextInput.js +11 -15
  173. package/text-input/TextInput.stories.tsx +93 -5
  174. package/text-input/TextInput.test.js +587 -635
  175. package/textarea/Textarea.js +3 -4
  176. package/textarea/Textarea.stories.jsx +60 -1
  177. package/textarea/Textarea.test.js +2 -4
  178. package/toggle-group/ToggleGroup.d.ts +2 -2
  179. package/toggle-group/ToggleGroup.js +7 -4
  180. package/toggle-group/ToggleGroup.stories.tsx +42 -0
  181. package/toggle-group/ToggleGroup.test.js +1 -1
  182. package/toggle-group/types.d.ts +1 -1
  183. package/typography/Typography.d.ts +2 -2
  184. package/typography/Typography.js +14 -113
  185. package/typography/Typography.stories.tsx +1 -1
  186. package/useTheme.d.ts +1234 -1
  187. package/useTheme.js +1 -1
  188. package/useTranslatedLabels.d.ts +84 -1
  189. package/utils/BaseTypography.d.ts +21 -0
  190. package/utils/BaseTypography.js +108 -0
  191. package/utils/FocusLock.d.ts +13 -0
  192. package/utils/FocusLock.js +138 -0
  193. package/wizard/Wizard.js +2 -2
  194. package/wizard/Wizard.stories.tsx +20 -0
  195. package/wizard/Wizard.test.js +1 -1
  196. package/wizard/types.d.ts +5 -6
  197. package/common/RequiredComponent.js +0 -32
  198. /package/{tabs-nav → grid}/types.js +0 -0
  199. /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
  200. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  201. /package/{tabs-nav → nav-tabs}/types.d.ts +0 -0
@@ -16,7 +16,7 @@ var _react2 = require("@testing-library/react");
16
16
 
17
17
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
18
18
 
19
- var _TextInput = _interopRequireDefault(require("./TextInput"));
19
+ var _TextInput = _interopRequireDefault(require("./TextInput.tsx"));
20
20
 
21
21
  // Mocking DOMRect for Radix Primitive Popover
22
22
  global.globalThis = global;
@@ -57,6 +57,7 @@ global.DOMRect = {
57
57
  }
58
58
  };
59
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 = ["/", "\\", "*", "(", ")", "[", "]", "+", "?", "*{[]}|"];
60
61
  describe("TextInput component tests", function () {
61
62
  test("Renders with correct error aria attributes", function () {
62
63
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
@@ -401,27 +402,16 @@ describe("TextInput component tests", function () {
401
402
  value: "Blur test"
402
403
  });
403
404
  });
404
- test("Clear action tooltip is correct", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
405
- var _render10, 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;
406
412
 
407
- return _regenerator["default"].wrap(function _callee$(_context) {
408
- while (1) {
409
- switch (_context.prev = _context.next) {
410
- case 0:
411
- _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
412
- label: "Input label",
413
- value: "Text",
414
- clearable: true
415
- })), getByTitle = _render10.getByTitle;
416
- expect(getByTitle("Clear field")).toBeTruthy();
417
-
418
- case 2:
419
- case "end":
420
- return _context.stop();
421
- }
422
- }
423
- }, _callee);
424
- })));
413
+ expect(getByTitle("Clear field")).toBeTruthy();
414
+ });
425
415
  test("Clear action onClick cleans the input", function () {
426
416
  var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
427
417
  label: "Input label",
@@ -691,113 +681,88 @@ describe("TextInput component tests", function () {
691
681
  });
692
682
  });
693
683
  describe("TextInput component synchronous autosuggest tests", function () {
694
- test("Autosuggest is displayed when the input gains focus", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
695
- var onChange, _render21, getByRole, getByText, input, list;
684
+ test("Autosuggest is displayed when the input gains focus", function () {
685
+ var onChange = jest.fn();
696
686
 
697
- return _regenerator["default"].wrap(function _callee2$(_context2) {
698
- while (1) {
699
- switch (_context2.prev = _context2.next) {
700
- case 0:
701
- onChange = jest.fn();
702
- _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
703
- label: "Autocomplete Countries",
704
- suggestions: countries,
705
- onChange: onChange
706
- })), getByRole = _render21.getByRole, getByText = _render21.getByText;
707
- input = getByRole("combobox");
687
+ var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
688
+ label: "Autocomplete Countries",
689
+ suggestions: countries,
690
+ onChange: onChange
691
+ })),
692
+ getByRole = _render21.getByRole,
693
+ getByText = _render21.getByText;
708
694
 
709
- _react2.fireEvent.focus(input);
695
+ var input = getByRole("combobox");
710
696
 
711
- list = getByRole("listbox");
712
- expect(list).toBeTruthy();
713
- expect(getByText("Afghanistan")).toBeTruthy();
714
- expect(getByText("Albania")).toBeTruthy();
715
- expect(getByText("Algeria")).toBeTruthy();
716
- expect(getByText("Andorra")).toBeTruthy();
697
+ _react2.fireEvent.focus(input);
717
698
 
718
- case 10:
719
- case "end":
720
- return _context2.stop();
721
- }
722
- }
723
- }, _callee2);
724
- })));
725
- test("Autosuggest is displayed when the user clicks the input", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
726
- var onChange, _render22, getByRole, getByText, input, list;
699
+ var list = getByRole("listbox");
700
+ expect(list).toBeTruthy();
701
+ expect(getByText("Afghanistan")).toBeTruthy();
702
+ expect(getByText("Albania")).toBeTruthy();
703
+ expect(getByText("Algeria")).toBeTruthy();
704
+ expect(getByText("Andorra")).toBeTruthy();
705
+ });
706
+ test("Autosuggest is displayed when the user clicks the input", function () {
707
+ var onChange = jest.fn();
727
708
 
728
- return _regenerator["default"].wrap(function _callee3$(_context3) {
729
- while (1) {
730
- switch (_context3.prev = _context3.next) {
731
- case 0:
732
- onChange = jest.fn();
733
- _render22 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
734
- label: "Autocomplete Countries",
735
- suggestions: countries,
736
- onChange: onChange
737
- })), getByRole = _render22.getByRole, getByText = _render22.getByText;
738
- input = getByRole("combobox");
709
+ var _render22 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
710
+ label: "Autocomplete Countries",
711
+ suggestions: countries,
712
+ onChange: onChange
713
+ })),
714
+ getByRole = _render22.getByRole,
715
+ getByText = _render22.getByText;
739
716
 
740
- _react2.fireEvent.focus(input);
717
+ var input = getByRole("combobox");
741
718
 
742
- list = getByRole("listbox");
743
- expect(list).toBeTruthy();
744
- expect(getByText("Afghanistan")).toBeTruthy();
745
- expect(getByText("Albania")).toBeTruthy();
746
- expect(getByText("Algeria")).toBeTruthy();
747
- expect(getByText("Andorra")).toBeTruthy();
719
+ _react2.fireEvent.focus(input);
748
720
 
749
- case 10:
750
- case "end":
751
- return _context3.stop();
752
- }
753
- }
754
- }, _callee3);
755
- })));
756
- 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() {
757
- var onChange, _render23, getByRole, queryByRole, getByText, getAllByText, input, list;
721
+ var list = getByRole("listbox");
722
+ expect(list).toBeTruthy();
723
+ expect(getByText("Afghanistan")).toBeTruthy();
724
+ expect(getByText("Albania")).toBeTruthy();
725
+ expect(getByText("Algeria")).toBeTruthy();
726
+ expect(getByText("Andorra")).toBeTruthy();
727
+ });
728
+ test("Autosuggest is displayed while the user is writing (if closed previously, if it is open stays open)", function () {
729
+ var onChange = jest.fn();
758
730
 
759
- return _regenerator["default"].wrap(function _callee4$(_context4) {
760
- while (1) {
761
- switch (_context4.prev = _context4.next) {
762
- case 0:
763
- onChange = jest.fn();
764
- _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
765
- label: "Autocomplete Countries",
766
- suggestions: countries,
767
- onChange: onChange
768
- })), getByRole = _render23.getByRole, queryByRole = _render23.queryByRole, getByText = _render23.getByText, getAllByText = _render23.getAllByText;
769
- input = getByRole("combobox");
731
+ var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
732
+ label: "Autocomplete Countries",
733
+ suggestions: countries,
734
+ onChange: onChange
735
+ })),
736
+ getByRole = _render23.getByRole,
737
+ queryByRole = _render23.queryByRole,
738
+ getByText = _render23.getByText,
739
+ getAllByText = _render23.getAllByText;
770
740
 
771
- _react2.fireEvent.focus(input);
741
+ var input = getByRole("combobox");
772
742
 
773
- list = getByRole("listbox");
774
- expect(list).toBeTruthy();
743
+ _react2.fireEvent.focus(input);
775
744
 
776
- _react2.fireEvent.keyDown(input, {
777
- key: "Esc",
778
- code: "Esc",
779
- keyCode: 27,
780
- charCode: 27
781
- });
745
+ var list = getByRole("listbox");
746
+ expect(list).toBeTruthy();
782
747
 
783
- expect(queryByRole("listbox")).toBeFalsy();
748
+ _react2.fireEvent.keyDown(input, {
749
+ key: "Esc",
750
+ code: "Esc",
751
+ keyCode: 27,
752
+ charCode: 27
753
+ });
784
754
 
785
- _userEvent["default"].type(input, "B");
755
+ expect(queryByRole("listbox")).toBeFalsy();
786
756
 
787
- expect(list).toBeTruthy();
788
- expect(getAllByText("B").length).toBe(4);
789
- expect(getByText("ahamas")).toBeTruthy();
790
- expect(getByText("ahrain")).toBeTruthy();
791
- expect(getByText("angladesh")).toBeTruthy();
792
- expect(getByText("arbados")).toBeTruthy();
757
+ _userEvent["default"].type(input, "B");
793
758
 
794
- case 15:
795
- case "end":
796
- return _context4.stop();
797
- }
798
- }
799
- }, _callee4);
800
- })));
759
+ expect(list).toBeTruthy();
760
+ expect(getAllByText("B").length).toBe(4);
761
+ expect(getByText("ahamas")).toBeTruthy();
762
+ expect(getByText("ahrain")).toBeTruthy();
763
+ expect(getByText("angladesh")).toBeTruthy();
764
+ expect(getByText("arbados")).toBeTruthy();
765
+ });
801
766
  test("Autosuggest displays filtered when the input has a default value", function () {
802
767
  var _render24 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
803
768
  label: "Uncontrolled suggestions filtered by default",
@@ -821,517 +786,510 @@ describe("TextInput component synchronous autosuggest tests", function () {
821
786
  expect(getByText("3")).toBeTruthy();
822
787
  expect(getByText("4")).toBeTruthy();
823
788
  });
824
- test("Autosuggest is not displayed when prop suggestions is an empty array", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
825
- var onChange, _render25, queryByRole, input;
789
+ test("Autosuggest is not displayed when prop suggestions is an empty array", function () {
790
+ var onChange = jest.fn();
826
791
 
827
- return _regenerator["default"].wrap(function _callee5$(_context5) {
828
- while (1) {
829
- switch (_context5.prev = _context5.next) {
830
- case 0:
831
- onChange = jest.fn();
832
- _render25 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
833
- label: "Autocomplete Countries",
834
- suggestions: [],
835
- onChange: onChange
836
- })), queryByRole = _render25.queryByRole;
837
- input = queryByRole("textbox");
792
+ var _render25 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
793
+ label: "Autocomplete Countries",
794
+ suggestions: [],
795
+ onChange: onChange
796
+ })),
797
+ queryByRole = _render25.queryByRole;
838
798
 
839
- _react2.fireEvent.focus(input);
799
+ var input = queryByRole("textbox");
840
800
 
841
- expect(queryByRole("listbox")).toBeFalsy();
801
+ _react2.fireEvent.focus(input);
842
802
 
843
- case 5:
844
- case "end":
845
- return _context5.stop();
846
- }
847
- }
848
- }, _callee5);
849
- })));
850
- 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() {
851
- var onChange, _render26, getByRole, queryByRole, getByText, input, list;
803
+ expect(queryByRole("listbox")).toBeFalsy();
804
+ });
805
+ test("Autosuggest closes the listbox when there are no matches for the user's input", function () {
806
+ var onChange = jest.fn();
852
807
 
853
- return _regenerator["default"].wrap(function _callee6$(_context6) {
854
- while (1) {
855
- switch (_context6.prev = _context6.next) {
856
- case 0:
857
- onChange = jest.fn();
858
- _render26 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
859
- label: "Autocomplete Countries",
860
- suggestions: countries,
861
- onChange: onChange
862
- })), getByRole = _render26.getByRole, queryByRole = _render26.queryByRole, getByText = _render26.getByText;
863
- input = getByRole("combobox");
808
+ var _render26 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
809
+ label: "Autocomplete Countries",
810
+ suggestions: countries,
811
+ onChange: onChange
812
+ })),
813
+ getByRole = _render26.getByRole,
814
+ queryByRole = _render26.queryByRole,
815
+ getByText = _render26.getByText;
864
816
 
865
- _react2.fireEvent.focus(input);
817
+ var input = getByRole("combobox");
866
818
 
867
- list = getByRole("listbox");
868
- expect(list).toBeTruthy();
869
- expect(getByText("Afghanistan")).toBeTruthy();
819
+ _react2.fireEvent.focus(input);
870
820
 
871
- _userEvent["default"].type(input, "x");
821
+ var list = getByRole("listbox");
822
+ expect(list).toBeTruthy();
823
+ expect(getByText("Afghanistan")).toBeTruthy();
872
824
 
873
- expect(queryByRole("listbox")).toBeFalsy();
825
+ _userEvent["default"].type(input, "x");
874
826
 
875
- case 9:
876
- case "end":
877
- return _context6.stop();
878
- }
879
- }
880
- }, _callee6);
881
- })));
882
- test("Autosuggest with no matches founded doesn't let the listbox to be opened", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
883
- var onChange, _render27, getByRole, queryByRole, getByText, input, list;
827
+ expect(queryByRole("listbox")).toBeFalsy();
828
+ });
829
+ test("Autosuggest with no matches founded doesn't let the listbox to be opened", function () {
830
+ var onChange = jest.fn();
884
831
 
885
- return _regenerator["default"].wrap(function _callee7$(_context7) {
886
- while (1) {
887
- switch (_context7.prev = _context7.next) {
888
- case 0:
889
- onChange = jest.fn();
890
- _render27 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
891
- label: "Autocomplete Countries",
892
- suggestions: countries,
893
- onChange: onChange
894
- })), getByRole = _render27.getByRole, queryByRole = _render27.queryByRole, getByText = _render27.getByText;
895
- input = getByRole("combobox");
832
+ var _render27 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
833
+ label: "Autocomplete Countries",
834
+ suggestions: countries,
835
+ onChange: onChange
836
+ })),
837
+ getByRole = _render27.getByRole,
838
+ queryByRole = _render27.queryByRole,
839
+ getByText = _render27.getByText;
896
840
 
897
- _react2.fireEvent.focus(input);
841
+ var input = getByRole("combobox");
898
842
 
899
- list = getByRole("listbox");
900
- expect(list).toBeTruthy();
901
- expect(getByText("Afghanistan")).toBeTruthy();
843
+ _react2.fireEvent.focus(input);
902
844
 
903
- _userEvent["default"].type(input, "x");
845
+ var list = getByRole("listbox");
846
+ expect(list).toBeTruthy();
847
+ expect(getByText("Afghanistan")).toBeTruthy();
904
848
 
905
- expect(queryByRole("listbox")).toBeFalsy();
849
+ _userEvent["default"].type(input, "x");
906
850
 
907
- _react2.fireEvent.focus(input);
851
+ expect(queryByRole("listbox")).toBeFalsy();
908
852
 
909
- expect(queryByRole("listbox")).toBeFalsy();
853
+ _react2.fireEvent.focus(input);
910
854
 
911
- _react2.fireEvent.keyDown(input, {
912
- key: "ArrowUp",
913
- code: "ArrowUp",
914
- keyCode: 38,
915
- charCode: 38
916
- });
855
+ expect(queryByRole("listbox")).toBeFalsy();
917
856
 
918
- expect(queryByRole("listbox")).toBeFalsy();
857
+ _react2.fireEvent.keyDown(input, {
858
+ key: "ArrowUp",
859
+ code: "ArrowUp",
860
+ keyCode: 38,
861
+ charCode: 38
862
+ });
919
863
 
920
- _react2.fireEvent.keyDown(input, {
921
- key: "ArrowDown",
922
- code: "ArrowDown",
923
- keyCode: 40,
924
- charCode: 40
925
- });
864
+ expect(queryByRole("listbox")).toBeFalsy();
926
865
 
927
- expect(queryByRole("listbox")).toBeFalsy();
866
+ _react2.fireEvent.keyDown(input, {
867
+ key: "ArrowDown",
868
+ code: "ArrowDown",
869
+ keyCode: 40,
870
+ charCode: 40
871
+ });
928
872
 
929
- case 15:
930
- case "end":
931
- return _context7.stop();
932
- }
933
- }
934
- }, _callee7);
935
- })));
936
- test("Autosuggest uncontrolled - Suggestion selected by click", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
937
- var onChange, _render28, getByRole, getByText, queryByRole, input;
873
+ expect(queryByRole("listbox")).toBeFalsy();
874
+ });
875
+ test("Autosuggest uncontrolled - Suggestion selected by click", function () {
876
+ var onChange = jest.fn();
938
877
 
939
- return _regenerator["default"].wrap(function _callee8$(_context8) {
940
- while (1) {
941
- switch (_context8.prev = _context8.next) {
942
- case 0:
943
- onChange = jest.fn();
944
- _render28 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
945
- label: "Autocomplete Countries",
946
- suggestions: countries,
947
- onChange: onChange
948
- })), getByRole = _render28.getByRole, getByText = _render28.getByText, queryByRole = _render28.queryByRole;
949
- input = getByRole("combobox");
878
+ var _render28 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
879
+ label: "Autocomplete Countries",
880
+ suggestions: countries,
881
+ onChange: onChange
882
+ })),
883
+ getByRole = _render28.getByRole,
884
+ getByText = _render28.getByText,
885
+ queryByRole = _render28.queryByRole;
950
886
 
951
- _react2.fireEvent.focus(input);
887
+ var input = getByRole("combobox");
952
888
 
953
- _userEvent["default"].type(input, "Alba");
889
+ _react2.fireEvent.focus(input);
954
890
 
955
- expect(onChange).toHaveBeenCalled();
956
- expect(getByText("Alba")).toBeTruthy();
957
- expect(getByText("nia")).toBeTruthy();
891
+ _userEvent["default"].type(input, "Alba");
958
892
 
959
- _userEvent["default"].click(getByRole("option"));
893
+ expect(onChange).toHaveBeenCalled();
894
+ expect(getByText("Alba")).toBeTruthy();
895
+ expect(getByText("nia")).toBeTruthy();
960
896
 
961
- expect(input.value).toBe("Albania");
962
- expect(queryByRole("listbox")).toBeFalsy();
897
+ _userEvent["default"].click(getByRole("option"));
963
898
 
964
- case 11:
965
- case "end":
966
- return _context8.stop();
967
- }
968
- }
969
- }, _callee8);
970
- })));
971
- test("Autosuggest controlled - Suggestion selected by click", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
972
- var onChange, _render29, getByRole, getByText, queryByRole, input;
899
+ expect(input.value).toBe("Albania");
900
+ expect(queryByRole("listbox")).toBeFalsy();
901
+ });
902
+ test("Autosuggest controlled - Suggestion selected by click", function () {
903
+ var onChange = jest.fn();
973
904
 
974
- return _regenerator["default"].wrap(function _callee9$(_context9) {
975
- while (1) {
976
- switch (_context9.prev = _context9.next) {
977
- case 0:
978
- onChange = jest.fn();
979
- _render29 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
980
- label: "Autocomplete Countries",
981
- value: "Andor",
982
- suggestions: countries,
983
- onChange: onChange
984
- })), getByRole = _render29.getByRole, getByText = _render29.getByText, queryByRole = _render29.queryByRole;
985
- input = getByRole("combobox");
905
+ var _render29 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
906
+ label: "Autocomplete Countries",
907
+ value: "Andor",
908
+ suggestions: countries,
909
+ onChange: onChange
910
+ })),
911
+ getByRole = _render29.getByRole,
912
+ getByText = _render29.getByText,
913
+ queryByRole = _render29.queryByRole;
986
914
 
987
- _react2.fireEvent.focus(input);
915
+ var input = getByRole("combobox");
988
916
 
989
- expect(input.value).toBe("Andor");
990
- expect(getByText("Andor")).toBeTruthy();
991
- expect(getByText("ra")).toBeTruthy();
917
+ _userEvent["default"].click(getByText("Autocomplete Countries"));
992
918
 
993
- _userEvent["default"].click(getByRole("option"));
919
+ expect(input.value).toBe("Andor");
920
+ expect(getByText("Andor")).toBeTruthy();
921
+ expect(getByText("ra")).toBeTruthy();
994
922
 
995
- expect(onChange).toHaveBeenCalledWith({
996
- value: "Andorra"
997
- });
998
- expect(queryByRole("listbox")).toBeFalsy();
923
+ _userEvent["default"].click(getByRole("option"));
999
924
 
1000
- case 10:
1001
- case "end":
1002
- return _context9.stop();
1003
- }
1004
- }
1005
- }, _callee9);
1006
- })));
1007
- test("Autosuggest - Pattern constraint", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10() {
1008
- var onChange, onBlur, _render30, getByRole, getByText, input;
925
+ expect(onChange).toHaveBeenCalledWith({
926
+ value: "Andorra"
927
+ });
928
+ expect(queryByRole("listbox")).toBeFalsy();
929
+ });
930
+ test("Autosuggest - Pattern constraint", function () {
931
+ var onChange = jest.fn();
932
+ var onBlur = jest.fn();
1009
933
 
1010
- return _regenerator["default"].wrap(function _callee10$(_context10) {
1011
- while (1) {
1012
- switch (_context10.prev = _context10.next) {
1013
- case 0:
1014
- onChange = jest.fn();
1015
- onBlur = jest.fn();
1016
- _render30 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1017
- label: "Autocomplete Countries",
1018
- suggestions: countries,
1019
- onChange: onChange,
1020
- onBlur: onBlur,
1021
- pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$"
1022
- })), getByRole = _render30.getByRole, getByText = _render30.getByText;
1023
- input = getByRole("combobox");
934
+ var _render30 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
935
+ label: "Autocomplete Countries",
936
+ suggestions: countries,
937
+ onChange: onChange,
938
+ onBlur: onBlur,
939
+ pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$"
940
+ })),
941
+ getByRole = _render30.getByRole,
942
+ getByText = _render30.getByText;
1024
943
 
1025
- _react2.fireEvent.focus(input);
944
+ var input = getByRole("combobox");
1026
945
 
1027
- _userEvent["default"].type(input, "Andor");
946
+ _react2.fireEvent.focus(input);
1028
947
 
1029
- expect(getByText("Andor")).toBeTruthy();
1030
- expect(getByText("ra")).toBeTruthy();
948
+ _userEvent["default"].type(input, "Andor");
1031
949
 
1032
- _userEvent["default"].click(getByRole("option"));
950
+ expect(getByText("Andor")).toBeTruthy();
951
+ expect(getByText("ra")).toBeTruthy();
1033
952
 
1034
- expect(onChange).toHaveBeenCalledWith({
1035
- value: "Andorra",
1036
- error: "Please match the format requested."
1037
- });
953
+ _userEvent["default"].click(getByRole("option"));
1038
954
 
1039
- _react2.fireEvent.blur(input);
955
+ expect(onChange).toHaveBeenCalledWith({
956
+ value: "Andorra",
957
+ error: "Please match the format requested."
958
+ });
1040
959
 
1041
- expect(onBlur).toHaveBeenCalledWith({
1042
- value: "Andorra",
1043
- error: "Please match the format requested."
1044
- });
960
+ _react2.fireEvent.blur(input);
1045
961
 
1046
- case 12:
1047
- case "end":
1048
- return _context10.stop();
1049
- }
1050
- }
1051
- }, _callee10);
1052
- })));
1053
- test("Autosuggest - Length constraint", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11() {
1054
- var onChange, onBlur, _render31, getByText, getByRole, input;
962
+ expect(onBlur).toHaveBeenCalledWith({
963
+ value: "Andorra",
964
+ error: "Please match the format requested."
965
+ });
966
+ });
967
+ test("Autosuggest - Length constraint", function () {
968
+ var onChange = jest.fn();
969
+ var onBlur = jest.fn();
1055
970
 
1056
- return _regenerator["default"].wrap(function _callee11$(_context11) {
1057
- while (1) {
1058
- switch (_context11.prev = _context11.next) {
1059
- case 0:
1060
- onChange = jest.fn();
1061
- onBlur = jest.fn();
1062
- _render31 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1063
- label: "Autocomplete Countries",
1064
- suggestions: countries,
1065
- onChange: onChange,
1066
- onBlur: onBlur,
1067
- minLength: 5,
1068
- maxLength: 10
1069
- })), getByText = _render31.getByText, getByRole = _render31.getByRole;
1070
- input = getByRole("combobox");
971
+ var _render31 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
972
+ label: "Autocomplete Countries",
973
+ suggestions: countries,
974
+ onChange: onChange,
975
+ onBlur: onBlur,
976
+ minLength: 5,
977
+ maxLength: 10
978
+ })),
979
+ getByText = _render31.getByText,
980
+ getByRole = _render31.getByRole;
1071
981
 
1072
- _react2.fireEvent.focus(input);
982
+ var input = getByRole("combobox");
1073
983
 
1074
- _userEvent["default"].type(input, "Cha");
984
+ _react2.fireEvent.focus(input);
1075
985
 
1076
- expect(getByText("Cha")).toBeTruthy();
1077
- expect(getByText("d")).toBeTruthy();
986
+ _userEvent["default"].type(input, "Cha");
1078
987
 
1079
- _userEvent["default"].click(getByRole("option"));
988
+ expect(getByText("Cha")).toBeTruthy();
989
+ expect(getByText("d")).toBeTruthy();
1080
990
 
1081
- expect(onChange).toHaveBeenCalledWith({
1082
- value: "Cha",
1083
- error: "Min length 5, max length 10."
1084
- });
991
+ _userEvent["default"].click(getByRole("option"));
1085
992
 
1086
- _react2.fireEvent.blur(input);
993
+ expect(onChange).toHaveBeenCalledWith({
994
+ value: "Cha",
995
+ error: "Min length 5, max length 10."
996
+ });
1087
997
 
1088
- expect(onBlur).toHaveBeenCalledWith({
1089
- value: "Chad",
1090
- error: "Min length 5, max length 10."
1091
- });
998
+ _react2.fireEvent.blur(input);
1092
999
 
1093
- case 12:
1094
- case "end":
1095
- return _context11.stop();
1096
- }
1097
- }
1098
- }, _callee11);
1099
- })));
1100
- 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() {
1101
- var onChange, _render32, getByRole, queryByRole, input, list;
1000
+ expect(onBlur).toHaveBeenCalledWith({
1001
+ value: "Chad",
1002
+ error: "Min length 5, max length 10."
1003
+ });
1004
+ });
1005
+ test("Autosuggest keys: arrow down key opens autosuggest, active first option is selected with Enter and closes the autosuggest", function () {
1006
+ var onChange = jest.fn();
1102
1007
 
1103
- return _regenerator["default"].wrap(function _callee12$(_context12) {
1104
- while (1) {
1105
- switch (_context12.prev = _context12.next) {
1106
- case 0:
1107
- onChange = jest.fn();
1108
- _render32 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1109
- label: "Autocomplete Countries",
1110
- suggestions: countries,
1111
- onChange: onChange
1112
- })), getByRole = _render32.getByRole, queryByRole = _render32.queryByRole;
1113
- input = getByRole("combobox");
1008
+ var _render32 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1009
+ label: "Autocomplete Countries",
1010
+ suggestions: countries,
1011
+ onChange: onChange
1012
+ })),
1013
+ getByRole = _render32.getByRole,
1014
+ queryByRole = _render32.queryByRole;
1114
1015
 
1115
- _react2.fireEvent.keyDown(input, {
1116
- key: "ArrowDown",
1117
- code: "ArrowDown",
1118
- keyCode: 40,
1119
- charCode: 40
1120
- });
1016
+ var input = getByRole("combobox");
1121
1017
 
1122
- list = getByRole("listbox");
1123
- expect(list).toBeTruthy();
1018
+ _react2.fireEvent.keyDown(input, {
1019
+ key: "ArrowDown",
1020
+ code: "ArrowDown",
1021
+ keyCode: 40,
1022
+ charCode: 40
1023
+ });
1124
1024
 
1125
- _react2.fireEvent.keyDown(input, {
1126
- key: "Enter",
1127
- code: "Enter",
1128
- keyCode: 13,
1129
- charCode: 13
1130
- });
1025
+ var list = getByRole("listbox");
1026
+ expect(list).toBeTruthy();
1027
+
1028
+ _react2.fireEvent.keyDown(input, {
1029
+ key: "Enter",
1030
+ code: "Enter",
1031
+ keyCode: 13,
1032
+ charCode: 13
1033
+ });
1034
+
1035
+ expect(input.value).toBe("Afghanistan");
1036
+ expect(queryByRole("list")).toBeFalsy();
1037
+ });
1038
+ test("Autosuggest keys: arrow up key opens autosuggest, active last option is selected with Enter and closes the autosuggest", function () {
1039
+ var onChange = jest.fn();
1040
+
1041
+ var _render33 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1042
+ label: "Autocomplete Countries",
1043
+ suggestions: countries,
1044
+ onChange: onChange
1045
+ })),
1046
+ getByRole = _render33.getByRole,
1047
+ queryByRole = _render33.queryByRole;
1048
+
1049
+ var input = getByRole("combobox");
1050
+
1051
+ _react2.fireEvent.keyDown(input, {
1052
+ key: "ArrowUp",
1053
+ code: "ArrowUp",
1054
+ keyCode: 38,
1055
+ charCode: 38
1056
+ });
1057
+
1058
+ var list = getByRole("listbox");
1059
+ expect(list).toBeTruthy();
1060
+
1061
+ _react2.fireEvent.keyDown(input, {
1062
+ key: "Enter",
1063
+ code: "Enter",
1064
+ keyCode: 13,
1065
+ charCode: 13
1066
+ });
1067
+
1068
+ expect(input.value).toBe("Djibouti");
1069
+ expect(queryByRole("list")).toBeFalsy();
1070
+ });
1071
+ test("Autosuggest keys: Esc key closes the autosuggest and cleans the input", function () {
1072
+ var onChange = jest.fn();
1073
+
1074
+ var _render34 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1075
+ label: "Autocomplete Countries",
1076
+ suggestions: countries,
1077
+ onChange: onChange
1078
+ })),
1079
+ getByRole = _render34.getByRole,
1080
+ queryByRole = _render34.queryByRole;
1081
+
1082
+ var input = getByRole("combobox");
1083
+
1084
+ _react2.fireEvent.focus(input);
1085
+
1086
+ _userEvent["default"].type(input, "Bangla");
1087
+
1088
+ var list = getByRole("listbox");
1089
+ expect(list).toBeTruthy();
1090
+
1091
+ _react2.fireEvent.keyDown(input, {
1092
+ key: "Esc",
1093
+ code: "Esc",
1094
+ keyCode: 27,
1095
+ charCode: 27
1096
+ });
1097
+
1098
+ expect(input.value).toBe("");
1099
+ expect(queryByRole("listbox")).toBeFalsy();
1100
+ });
1101
+ test("Autosuggest keys: Enter, if no active suggestion closes the autosuggest", function () {
1102
+ var onChange = jest.fn();
1103
+
1104
+ var _render35 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1105
+ label: "Autocomplete Countries",
1106
+ suggestions: countries,
1107
+ onChange: onChange
1108
+ })),
1109
+ getByRole = _render35.getByRole,
1110
+ queryByRole = _render35.queryByRole;
1111
+
1112
+ var input = getByRole("combobox");
1113
+
1114
+ _react2.fireEvent.focus(input);
1115
+
1116
+ var list = getByRole("listbox");
1117
+ expect(list).toBeTruthy();
1118
+
1119
+ _react2.fireEvent.keyDown(input, {
1120
+ key: "Enter",
1121
+ code: "Enter",
1122
+ keyCode: 27,
1123
+ charCode: 27
1124
+ });
1125
+
1126
+ expect(input.value).toBe("");
1127
+ expect(queryByRole("list")).toBeFalsy();
1128
+ });
1129
+ test("Autosuggest complex key secuence: write, arrow up two times, arrow down and select with Enter. Then, clean with Esc.", function () {
1130
+ var onChange = jest.fn();
1131
+
1132
+ var _render36 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1133
+ label: "Autocomplete Countries",
1134
+ suggestions: countries,
1135
+ onChange: onChange
1136
+ })),
1137
+ getByRole = _render36.getByRole,
1138
+ queryByRole = _render36.queryByRole;
1131
1139
 
1132
- expect(input.value).toBe("Afghanistan");
1133
- expect(queryByRole("list")).toBeFalsy();
1140
+ var input = getByRole("combobox");
1134
1141
 
1135
- case 9:
1136
- case "end":
1137
- return _context12.stop();
1138
- }
1139
- }
1140
- }, _callee12);
1141
- })));
1142
- 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() {
1143
- var onChange, _render33, getByRole, queryByRole, input, list;
1142
+ _react2.fireEvent.focus(input);
1144
1143
 
1145
- return _regenerator["default"].wrap(function _callee13$(_context13) {
1146
- while (1) {
1147
- switch (_context13.prev = _context13.next) {
1148
- case 0:
1149
- onChange = jest.fn();
1150
- _render33 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1151
- label: "Autocomplete Countries",
1152
- suggestions: countries,
1153
- onChange: onChange
1154
- })), getByRole = _render33.getByRole, queryByRole = _render33.queryByRole;
1155
- input = getByRole("combobox");
1144
+ _userEvent["default"].type(input, "Ba");
1156
1145
 
1157
- _react2.fireEvent.keyDown(input, {
1158
- key: "ArrowUp",
1159
- code: "ArrowUp",
1160
- keyCode: 38,
1161
- charCode: 38
1162
- });
1146
+ _react2.fireEvent.keyDown(input, {
1147
+ key: "ArrowUp",
1148
+ code: "ArrowUp",
1149
+ keyCode: 38,
1150
+ charCode: 38
1151
+ });
1163
1152
 
1164
- list = getByRole("listbox");
1165
- expect(list).toBeTruthy();
1153
+ _react2.fireEvent.keyDown(input, {
1154
+ key: "ArrowUp",
1155
+ code: "ArrowUpp",
1156
+ keyCode: 38,
1157
+ charCode: 38
1158
+ });
1166
1159
 
1167
- _react2.fireEvent.keyDown(input, {
1168
- key: "Enter",
1169
- code: "Enter",
1170
- keyCode: 13,
1171
- charCode: 13
1172
- });
1160
+ _react2.fireEvent.keyDown(input, {
1161
+ key: "ArrowDown",
1162
+ code: "ArrowDown",
1163
+ keyCode: 40,
1164
+ charCode: 40
1165
+ });
1173
1166
 
1174
- expect(input.value).toBe("Djibouti");
1175
- expect(queryByRole("list")).toBeFalsy();
1167
+ _react2.fireEvent.keyDown(input, {
1168
+ key: "Enter",
1169
+ code: "Enter",
1170
+ keyCode: 13,
1171
+ charCode: 13
1172
+ });
1176
1173
 
1177
- case 9:
1178
- case "end":
1179
- return _context13.stop();
1180
- }
1181
- }
1182
- }, _callee13);
1183
- })));
1184
- test("Autosuggest keys: Esc key closes the autosuggest and cleans the input", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee14() {
1185
- var onChange, _render34, getByRole, queryByRole, input, list;
1174
+ expect(input.value).toBe("Barbados");
1175
+ expect(queryByRole("listbox")).toBeFalsy();
1186
1176
 
1187
- return _regenerator["default"].wrap(function _callee14$(_context14) {
1188
- while (1) {
1189
- switch (_context14.prev = _context14.next) {
1190
- case 0:
1191
- onChange = jest.fn();
1192
- _render34 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1193
- label: "Autocomplete Countries",
1194
- suggestions: countries,
1195
- onChange: onChange
1196
- })), getByRole = _render34.getByRole, queryByRole = _render34.queryByRole;
1197
- input = getByRole("combobox");
1177
+ _react2.fireEvent.keyDown(input, {
1178
+ key: "Esc",
1179
+ code: "Esp",
1180
+ keyCode: 27,
1181
+ charCode: 27
1182
+ });
1198
1183
 
1199
- _react2.fireEvent.focus(input);
1184
+ expect(input.value).toBe("");
1185
+ expect(queryByRole("listbox")).toBeFalsy();
1186
+ });
1187
+ test("Autosuggest escapes special characters", function () {
1188
+ var onChange = jest.fn();
1200
1189
 
1201
- _userEvent["default"].type(input, "Bangla");
1190
+ var _render37 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1191
+ label: "Autocomplete Countries",
1192
+ suggestions: specialCharacters,
1193
+ onChange: onChange
1194
+ })),
1195
+ getAllByText = _render37.getAllByText,
1196
+ getByRole = _render37.getByRole;
1202
1197
 
1203
- list = getByRole("listbox");
1204
- expect(list).toBeTruthy();
1198
+ var input = getByRole("combobox");
1205
1199
 
1206
- _react2.fireEvent.keyDown(input, {
1207
- key: "Esc",
1208
- code: "Esc",
1209
- keyCode: 27,
1210
- charCode: 27
1211
- });
1200
+ _react2.fireEvent.focus(input);
1212
1201
 
1213
- expect(input.value).toBe("");
1214
- expect(queryByRole("listbox")).toBeFalsy();
1202
+ var list = getByRole("listbox");
1215
1203
 
1216
- case 10:
1217
- case "end":
1218
- return _context14.stop();
1219
- }
1204
+ _react2.fireEvent.change(input, {
1205
+ target: {
1206
+ value: "/"
1220
1207
  }
1221
- }, _callee14);
1222
- })));
1223
- test("Autosuggest keys: Enter, if no active suggestion closes the autosuggest", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee15() {
1224
- var onChange, _render35, getByRole, queryByRole, input, list;
1208
+ });
1225
1209
 
1226
- return _regenerator["default"].wrap(function _callee15$(_context15) {
1227
- while (1) {
1228
- switch (_context15.prev = _context15.next) {
1229
- case 0:
1230
- onChange = jest.fn();
1231
- _render35 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1232
- label: "Autocomplete Countries",
1233
- suggestions: countries,
1234
- onChange: onChange
1235
- })), getByRole = _render35.getByRole, queryByRole = _render35.queryByRole;
1236
- input = getByRole("combobox");
1210
+ expect(list).toBeTruthy();
1211
+ expect(getAllByText("/").length).toBe(1);
1237
1212
 
1238
- _react2.fireEvent.focus(input);
1213
+ _react2.fireEvent.change(input, {
1214
+ target: {
1215
+ value: "\\"
1216
+ }
1217
+ });
1239
1218
 
1240
- list = getByRole("listbox");
1241
- expect(list).toBeTruthy();
1219
+ expect(list).toBeTruthy();
1220
+ expect(getAllByText("\\").length).toBe(1);
1242
1221
 
1243
- _react2.fireEvent.keyDown(input, {
1244
- key: "Enter",
1245
- code: "Enter",
1246
- keyCode: 27,
1247
- charCode: 27
1248
- });
1222
+ _react2.fireEvent.change(input, {
1223
+ target: {
1224
+ value: "*"
1225
+ }
1226
+ });
1249
1227
 
1250
- expect(input.value).toBe("");
1251
- expect(queryByRole("list")).toBeFalsy();
1228
+ expect(list).toBeTruthy();
1229
+ expect(getAllByText("*").length).toBe(2);
1252
1230
 
1253
- case 9:
1254
- case "end":
1255
- return _context15.stop();
1256
- }
1231
+ _react2.fireEvent.change(input, {
1232
+ target: {
1233
+ value: "("
1257
1234
  }
1258
- }, _callee15);
1259
- })));
1260
- 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() {
1261
- var onChange, _render36, getByRole, queryByRole, input;
1262
-
1263
- return _regenerator["default"].wrap(function _callee16$(_context16) {
1264
- while (1) {
1265
- switch (_context16.prev = _context16.next) {
1266
- case 0:
1267
- onChange = jest.fn();
1268
- _render36 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1269
- label: "Autocomplete Countries",
1270
- suggestions: countries,
1271
- onChange: onChange
1272
- })), getByRole = _render36.getByRole, queryByRole = _render36.queryByRole;
1273
- input = getByRole("combobox");
1235
+ });
1274
1236
 
1275
- _react2.fireEvent.focus(input);
1237
+ expect(list).toBeTruthy();
1238
+ expect(getAllByText("(").length).toBe(1);
1276
1239
 
1277
- _userEvent["default"].type(input, "Ba");
1240
+ _react2.fireEvent.change(input, {
1241
+ target: {
1242
+ value: ")"
1243
+ }
1244
+ });
1278
1245
 
1279
- _react2.fireEvent.keyDown(input, {
1280
- key: "ArrowUp",
1281
- code: "ArrowUp",
1282
- keyCode: 38,
1283
- charCode: 38
1284
- });
1246
+ expect(list).toBeTruthy();
1247
+ expect(getAllByText(")").length).toBe(1);
1285
1248
 
1286
- _react2.fireEvent.keyDown(input, {
1287
- key: "ArrowUp",
1288
- code: "ArrowUpp",
1289
- keyCode: 38,
1290
- charCode: 38
1291
- });
1249
+ _react2.fireEvent.change(input, {
1250
+ target: {
1251
+ value: "["
1252
+ }
1253
+ });
1292
1254
 
1293
- _react2.fireEvent.keyDown(input, {
1294
- key: "ArrowDown",
1295
- code: "ArrowDown",
1296
- keyCode: 40,
1297
- charCode: 40
1298
- });
1255
+ expect(list).toBeTruthy();
1256
+ expect(getAllByText("[").length).toBe(1);
1299
1257
 
1300
- _react2.fireEvent.keyDown(input, {
1301
- key: "Enter",
1302
- code: "Enter",
1303
- keyCode: 13,
1304
- charCode: 13
1305
- });
1258
+ _react2.fireEvent.change(input, {
1259
+ target: {
1260
+ value: "]"
1261
+ }
1262
+ });
1306
1263
 
1307
- expect(input.value).toBe("Barbados");
1308
- expect(queryByRole("listbox")).toBeFalsy();
1264
+ expect(list).toBeTruthy();
1265
+ expect(getAllByText("]").length).toBe(1);
1309
1266
 
1310
- _react2.fireEvent.keyDown(input, {
1311
- key: "Esc",
1312
- code: "Esp",
1313
- keyCode: 27,
1314
- charCode: 27
1315
- });
1267
+ _react2.fireEvent.change(input, {
1268
+ target: {
1269
+ value: "+"
1270
+ }
1271
+ });
1316
1272
 
1317
- expect(input.value).toBe("");
1318
- expect(queryByRole("listbox")).toBeFalsy();
1273
+ expect(list).toBeTruthy();
1274
+ expect(getAllByText("+").length).toBe(1);
1319
1275
 
1320
- case 14:
1321
- case "end":
1322
- return _context16.stop();
1323
- }
1276
+ _react2.fireEvent.change(input, {
1277
+ target: {
1278
+ value: "?"
1324
1279
  }
1325
- }, _callee16);
1326
- })));
1280
+ });
1281
+
1282
+ expect(list).toBeTruthy();
1283
+ expect(getAllByText("?").length).toBe(1);
1284
+ });
1327
1285
  });
1328
1286
  describe("TextInput component asynchronous autosuggest tests", function () {
1329
- test("Autosuggest 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee17() {
1330
- var callbackFunc, onChange, _render37, getByRole, getByText, input;
1287
+ test("Autosuggest 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
1288
+ var callbackFunc, onChange, _render38, getByRole, getByText, input;
1331
1289
 
1332
- return _regenerator["default"].wrap(function _callee17$(_context17) {
1290
+ return _regenerator["default"].wrap(function _callee$(_context) {
1333
1291
  while (1) {
1334
- switch (_context17.prev = _context17.next) {
1292
+ switch (_context.prev = _context.next) {
1335
1293
  case 0:
1336
1294
  callbackFunc = jest.fn(function (newValue) {
1337
1295
  var result = new Promise(function (resolve) {
@@ -1344,17 +1302,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1344
1302
  return result;
1345
1303
  });
1346
1304
  onChange = jest.fn();
1347
- _render37 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1305
+ _render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1348
1306
  label: "Autosuggest Countries",
1349
1307
  suggestions: callbackFunc,
1350
1308
  onChange: onChange
1351
- })), getByRole = _render37.getByRole, getByText = _render37.getByText;
1309
+ })), getByRole = _render38.getByRole, getByText = _render38.getByText;
1352
1310
  input = getByRole("combobox");
1353
1311
 
1354
1312
  _react2.fireEvent.focus(input);
1355
1313
 
1356
1314
  expect(getByRole("listbox")).toBeTruthy();
1357
- _context17.next = 8;
1315
+ _context.next = 8;
1358
1316
  return (0, _react2.waitForElementToBeRemoved)(function () {
1359
1317
  return getByText("Searching...");
1360
1318
  });
@@ -1367,7 +1325,7 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1367
1325
 
1368
1326
  _userEvent["default"].type(input, "Ab");
1369
1327
 
1370
- _context17.next = 15;
1328
+ _context.next = 15;
1371
1329
  return (0, _react2.waitForElementToBeRemoved)(function () {
1372
1330
  return getByText("Searching...");
1373
1331
  });
@@ -1393,66 +1351,58 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1393
1351
 
1394
1352
  case 19:
1395
1353
  case "end":
1396
- return _context17.stop();
1354
+ return _context.stop();
1397
1355
  }
1398
1356
  }
1399
- }, _callee17);
1357
+ }, _callee);
1400
1358
  })));
1401
- test("Autosuggest Esc key works while 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee18() {
1402
- var callbackFunc, onChange, _render38, getByRole, queryByText, queryByRole, input;
1359
+ test("Autosuggest Esc key works while 'Searching...' message is shown", function () {
1360
+ var callbackFunc = jest.fn(function (newValue) {
1361
+ var result = new Promise(function (resolve) {
1362
+ return setTimeout(function () {
1363
+ resolve(newValue ? countries.filter(function (option) {
1364
+ return option.toUpperCase().includes(newValue.toUpperCase());
1365
+ }) : countries);
1366
+ }, 100);
1367
+ });
1368
+ return result;
1369
+ });
1370
+ var onChange = jest.fn();
1403
1371
 
1404
- return _regenerator["default"].wrap(function _callee18$(_context18) {
1405
- while (1) {
1406
- switch (_context18.prev = _context18.next) {
1407
- case 0:
1408
- callbackFunc = jest.fn(function (newValue) {
1409
- var result = new Promise(function (resolve) {
1410
- return setTimeout(function () {
1411
- resolve(newValue ? countries.filter(function (option) {
1412
- return option.toUpperCase().includes(newValue.toUpperCase());
1413
- }) : countries);
1414
- }, 100);
1415
- });
1416
- return result;
1417
- });
1418
- onChange = jest.fn();
1419
- _render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1420
- label: "Autosuggest Countries",
1421
- suggestions: callbackFunc,
1422
- onChange: onChange
1423
- })), getByRole = _render38.getByRole, queryByText = _render38.queryByText, queryByRole = _render38.queryByRole;
1424
- input = getByRole("combobox");
1372
+ var _render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1373
+ label: "Autosuggest Countries",
1374
+ suggestions: callbackFunc,
1375
+ onChange: onChange
1376
+ })),
1377
+ getByRole = _render39.getByRole,
1378
+ queryByText = _render39.queryByText,
1379
+ queryByRole = _render39.queryByRole;
1425
1380
 
1426
- _react2.fireEvent.focus(input);
1381
+ var input = getByRole("combobox");
1427
1382
 
1428
- expect(getByRole("listbox")).toBeTruthy();
1383
+ _react2.fireEvent.focus(input);
1429
1384
 
1430
- _userEvent["default"].type(input, "Ab");
1385
+ expect(getByRole("listbox")).toBeTruthy();
1431
1386
 
1432
- _react2.fireEvent.keyDown(input, {
1433
- key: "Esc",
1434
- code: "Esc",
1435
- keyCode: 27,
1436
- charCode: 27
1437
- });
1387
+ _userEvent["default"].type(input, "Ab");
1438
1388
 
1439
- expect(queryByRole("listbox")).toBeFalsy();
1440
- expect(queryByText("Searching...")).toBeFalsy();
1441
- expect(input.value).toBe("");
1389
+ _react2.fireEvent.keyDown(input, {
1390
+ key: "Esc",
1391
+ code: "Esc",
1392
+ keyCode: 27,
1393
+ charCode: 27
1394
+ });
1442
1395
 
1443
- case 11:
1444
- case "end":
1445
- return _context18.stop();
1446
- }
1447
- }
1448
- }, _callee18);
1449
- })));
1450
- test("Autosuggest Esc + arrow down working while 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee19() {
1451
- var callbackFunc, onChange, _render39, getByRole, getByText, queryByText, queryByRole, input, list;
1396
+ expect(queryByRole("listbox")).toBeFalsy();
1397
+ expect(queryByText("Searching...")).toBeFalsy();
1398
+ expect(input.value).toBe("");
1399
+ });
1400
+ test("Autosuggest Esc + arrow down working while 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
1401
+ var callbackFunc, onChange, _render40, getByRole, getByText, queryByText, queryByRole, input, list;
1452
1402
 
1453
- return _regenerator["default"].wrap(function _callee19$(_context19) {
1403
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
1454
1404
  while (1) {
1455
- switch (_context19.prev = _context19.next) {
1405
+ switch (_context2.prev = _context2.next) {
1456
1406
  case 0:
1457
1407
  callbackFunc = jest.fn(function (newValue) {
1458
1408
  var result = new Promise(function (resolve) {
@@ -1465,11 +1415,11 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1465
1415
  return result;
1466
1416
  });
1467
1417
  onChange = jest.fn();
1468
- _render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1418
+ _render40 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1469
1419
  label: "Autosuggest Countries",
1470
1420
  suggestions: callbackFunc,
1471
1421
  onChange: onChange
1472
- })), getByRole = _render39.getByRole, getByText = _render39.getByText, queryByText = _render39.queryByText, queryByRole = _render39.queryByRole;
1422
+ })), getByRole = _render40.getByRole, getByText = _render40.getByText, queryByText = _render40.queryByText, queryByRole = _render40.queryByRole;
1473
1423
  input = getByRole("combobox");
1474
1424
 
1475
1425
  _react2.fireEvent.focus(input);
@@ -1498,7 +1448,7 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1498
1448
  });
1499
1449
 
1500
1450
  expect(list).toBeTruthy();
1501
- _context19.next = 16;
1451
+ _context2.next = 16;
1502
1452
  return (0, _react2.waitForElementToBeRemoved)(function () {
1503
1453
  return getByText("Searching...");
1504
1454
  });
@@ -1511,17 +1461,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1511
1461
 
1512
1462
  case 20:
1513
1463
  case "end":
1514
- return _context19.stop();
1464
+ return _context2.stop();
1515
1465
  }
1516
1466
  }
1517
- }, _callee19);
1467
+ }, _callee2);
1518
1468
  })));
1519
- test("Asynchronous uncontrolled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee20() {
1520
- var callbackFunc, onChange, _render40, getByRole, getByText, input;
1469
+ test("Asynchronous uncontrolled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
1470
+ var callbackFunc, onChange, _render41, getByRole, getByText, input;
1521
1471
 
1522
- return _regenerator["default"].wrap(function _callee20$(_context20) {
1472
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
1523
1473
  while (1) {
1524
- switch (_context20.prev = _context20.next) {
1474
+ switch (_context3.prev = _context3.next) {
1525
1475
  case 0:
1526
1476
  callbackFunc = jest.fn(function (newValue) {
1527
1477
  var result = new Promise(function (resolve) {
@@ -1534,18 +1484,18 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1534
1484
  return result;
1535
1485
  });
1536
1486
  onChange = jest.fn();
1537
- _render40 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1487
+ _render41 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1538
1488
  label: "Autosuggest Countries",
1539
1489
  onChange: onChange,
1540
1490
  suggestions: callbackFunc
1541
- })), getByRole = _render40.getByRole, getByText = _render40.getByText;
1491
+ })), getByRole = _render41.getByRole, getByText = _render41.getByText;
1542
1492
  input = getByRole("combobox");
1543
1493
 
1544
1494
  _react2.fireEvent.focus(input);
1545
1495
 
1546
1496
  _userEvent["default"].type(input, "Den");
1547
1497
 
1548
- _context20.next = 8;
1498
+ _context3.next = 8;
1549
1499
  return (0, _react2.waitForElementToBeRemoved)(function () {
1550
1500
  return getByText("Searching...");
1551
1501
  });
@@ -1562,17 +1512,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1562
1512
 
1563
1513
  case 12:
1564
1514
  case "end":
1565
- return _context20.stop();
1515
+ return _context3.stop();
1566
1516
  }
1567
1517
  }
1568
- }, _callee20);
1518
+ }, _callee3);
1569
1519
  })));
1570
- test("Asynchronous controlled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee21() {
1571
- var callbackFunc, onChange, _render41, getByRole, getByText, queryByRole, input;
1520
+ test("Asynchronous controlled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
1521
+ var callbackFunc, onChange, _render42, getByRole, getByText, queryByRole, input;
1572
1522
 
1573
- return _regenerator["default"].wrap(function _callee21$(_context21) {
1523
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
1574
1524
  while (1) {
1575
- switch (_context21.prev = _context21.next) {
1525
+ switch (_context4.prev = _context4.next) {
1576
1526
  case 0:
1577
1527
  callbackFunc = jest.fn(function (newValue) {
1578
1528
  var result = new Promise(function (resolve) {
@@ -1585,45 +1535,47 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1585
1535
  return result;
1586
1536
  });
1587
1537
  onChange = jest.fn();
1588
- _render41 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1538
+ _render42 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1589
1539
  label: "Autosuggest Countries",
1590
1540
  value: "Denm",
1591
1541
  onChange: onChange,
1592
1542
  suggestions: callbackFunc
1593
- })), getByRole = _render41.getByRole, getByText = _render41.getByText, queryByRole = _render41.queryByRole;
1543
+ })), getByRole = _render42.getByRole, getByText = _render42.getByText, queryByRole = _render42.queryByRole;
1594
1544
  input = getByRole("combobox");
1545
+ expect(input.value).toBe("Denm");
1595
1546
 
1596
- _react2.fireEvent.focus(input);
1547
+ _userEvent["default"].click(getByText("Autosuggest Countries"));
1597
1548
 
1598
- _context21.next = 7;
1549
+ _context4.next = 8;
1599
1550
  return (0, _react2.waitForElementToBeRemoved)(function () {
1600
1551
  return getByText("Searching...");
1601
1552
  });
1602
1553
 
1603
- case 7:
1604
- expect(input.value).toBe("Denm");
1554
+ case 8:
1605
1555
  expect(getByText("Denmark")).toBeTruthy();
1606
1556
 
1607
- _userEvent["default"].click(getByRole("option"));
1557
+ _react2.fireEvent.focus(getByRole("option"));
1558
+
1559
+ _userEvent["default"].click(getByText("Denmark"));
1608
1560
 
1609
1561
  expect(onChange).toHaveBeenCalledWith({
1610
1562
  value: "Denmark"
1611
1563
  });
1612
1564
  expect(queryByRole("listbox")).toBeFalsy();
1613
1565
 
1614
- case 12:
1566
+ case 13:
1615
1567
  case "end":
1616
- return _context21.stop();
1568
+ return _context4.stop();
1617
1569
  }
1618
1570
  }
1619
- }, _callee21);
1571
+ }, _callee4);
1620
1572
  })));
1621
- test("Asynchronous autosuggest closes the listbox after finishing no matches search", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee22() {
1622
- var callbackFunc, onChange, _render42, getByText, getByRole, queryByRole, input;
1573
+ test("Asynchronous autosuggest closes the listbox after finishing no matches search", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
1574
+ var callbackFunc, onChange, _render43, getByText, getByRole, queryByRole, input;
1623
1575
 
1624
- return _regenerator["default"].wrap(function _callee22$(_context22) {
1576
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
1625
1577
  while (1) {
1626
- switch (_context22.prev = _context22.next) {
1578
+ switch (_context5.prev = _context5.next) {
1627
1579
  case 0:
1628
1580
  callbackFunc = jest.fn(function (newValue) {
1629
1581
  var result = new Promise(function (resolve) {
@@ -1636,18 +1588,18 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1636
1588
  return result;
1637
1589
  });
1638
1590
  onChange = jest.fn();
1639
- _render42 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1591
+ _render43 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1640
1592
  label: "Autosuggest Countries",
1641
1593
  onChange: onChange,
1642
1594
  suggestions: callbackFunc
1643
- })), getByText = _render42.getByText, getByRole = _render42.getByRole, queryByRole = _render42.queryByRole;
1595
+ })), getByText = _render43.getByText, getByRole = _render43.getByRole, queryByRole = _render43.queryByRole;
1644
1596
  input = getByRole("combobox");
1645
1597
 
1646
1598
  _react2.fireEvent.focus(input);
1647
1599
 
1648
1600
  _userEvent["default"].type(input, "Example text");
1649
1601
 
1650
- _context22.next = 8;
1602
+ _context5.next = 8;
1651
1603
  return (0, _react2.waitForElementToBeRemoved)(function () {
1652
1604
  return getByText("Searching...");
1653
1605
  });
@@ -1657,17 +1609,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1657
1609
 
1658
1610
  case 9:
1659
1611
  case "end":
1660
- return _context22.stop();
1612
+ return _context5.stop();
1661
1613
  }
1662
1614
  }
1663
- }, _callee22);
1615
+ }, _callee5);
1664
1616
  })));
1665
- 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() {
1666
- var callbackFunc, onChange, _render43, getByText, getByRole, queryByRole, input;
1617
+ test("Asynchronous autosuggest with no matches founded doesn't let the listbox to be opened", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
1618
+ var callbackFunc, onChange, _render44, getByText, getByRole, queryByRole, input;
1667
1619
 
1668
- return _regenerator["default"].wrap(function _callee23$(_context23) {
1620
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
1669
1621
  while (1) {
1670
- switch (_context23.prev = _context23.next) {
1622
+ switch (_context6.prev = _context6.next) {
1671
1623
  case 0:
1672
1624
  callbackFunc = jest.fn(function (newValue) {
1673
1625
  var result = new Promise(function (resolve) {
@@ -1680,18 +1632,18 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1680
1632
  return result;
1681
1633
  });
1682
1634
  onChange = jest.fn();
1683
- _render43 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1635
+ _render44 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1684
1636
  label: "Autosuggest Countries",
1685
1637
  onChange: onChange,
1686
1638
  suggestions: callbackFunc
1687
- })), getByText = _render43.getByText, getByRole = _render43.getByRole, queryByRole = _render43.queryByRole;
1639
+ })), getByText = _render44.getByText, getByRole = _render44.getByRole, queryByRole = _render44.queryByRole;
1688
1640
  input = getByRole("combobox");
1689
1641
 
1690
1642
  _react2.fireEvent.focus(input);
1691
1643
 
1692
1644
  _userEvent["default"].type(input, "wrong");
1693
1645
 
1694
- _context23.next = 8;
1646
+ _context6.next = 8;
1695
1647
  return (0, _react2.waitForElementToBeRemoved)(function () {
1696
1648
  return getByText("Searching...");
1697
1649
  });
@@ -1723,17 +1675,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1723
1675
 
1724
1676
  case 15:
1725
1677
  case "end":
1726
- return _context23.stop();
1678
+ return _context6.stop();
1727
1679
  }
1728
1680
  }
1729
- }, _callee23);
1681
+ }, _callee6);
1730
1682
  })));
1731
- test("Asynchronous autosuggest request failed, shows 'Error fetching data' message", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee24() {
1732
- var errorCallbackFunc, onChange, _render44, getByRole, getByText, input;
1683
+ test("Asynchronous autosuggest request failed, shows 'Error fetching data' message", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
1684
+ var errorCallbackFunc, onChange, _render45, getByRole, getByText, input;
1733
1685
 
1734
- return _regenerator["default"].wrap(function _callee24$(_context24) {
1686
+ return _regenerator["default"].wrap(function _callee7$(_context7) {
1735
1687
  while (1) {
1736
- switch (_context24.prev = _context24.next) {
1688
+ switch (_context7.prev = _context7.next) {
1737
1689
  case 0:
1738
1690
  errorCallbackFunc = jest.fn(function () {
1739
1691
  var result = new Promise(function (resolve, reject) {
@@ -1744,16 +1696,16 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1744
1696
  return result;
1745
1697
  });
1746
1698
  onChange = jest.fn();
1747
- _render44 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1699
+ _render45 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1748
1700
  label: "Autosuggest Countries",
1749
1701
  onChange: onChange,
1750
1702
  suggestions: errorCallbackFunc
1751
- })), getByRole = _render44.getByRole, getByText = _render44.getByText;
1703
+ })), getByRole = _render45.getByRole, getByText = _render45.getByText;
1752
1704
  input = getByRole("combobox");
1753
1705
 
1754
1706
  _react2.fireEvent.focus(input);
1755
1707
 
1756
- _context24.next = 7;
1708
+ _context7.next = 7;
1757
1709
  return (0, _react2.waitForElementToBeRemoved)(function () {
1758
1710
  return getByText("Searching...");
1759
1711
  });
@@ -1763,9 +1715,9 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1763
1715
 
1764
1716
  case 8:
1765
1717
  case "end":
1766
- return _context24.stop();
1718
+ return _context7.stop();
1767
1719
  }
1768
1720
  }
1769
- }, _callee24);
1721
+ }, _callee7);
1770
1722
  })));
1771
1723
  });