@dxc-technology/halstack-react 10.1.0 → 11.0.0

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 (210) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +5 -17
  3. package/HalstackContext.d.ts +18 -6
  4. package/HalstackContext.js +9 -34
  5. package/accordion/Accordion.js +21 -58
  6. package/accordion/Accordion.stories.tsx +1 -15
  7. package/accordion/Accordion.test.js +18 -33
  8. package/accordion/types.d.ts +5 -5
  9. package/accordion-group/AccordionGroup.js +15 -42
  10. package/accordion-group/AccordionGroup.stories.tsx +1 -1
  11. package/accordion-group/AccordionGroup.test.js +42 -60
  12. package/accordion-group/AccordionGroupAccordion.js +9 -21
  13. package/accordion-group/types.d.ts +6 -6
  14. package/alert/Alert.js +14 -46
  15. package/alert/Alert.test.js +28 -45
  16. package/alert/types.d.ts +5 -5
  17. package/badge/Badge.js +4 -17
  18. package/badge/types.d.ts +1 -1
  19. package/bleed/Bleed.js +13 -21
  20. package/bleed/types.d.ts +2 -2
  21. package/box/Box.js +10 -29
  22. package/box/Box.test.js +1 -6
  23. package/box/types.d.ts +3 -3
  24. package/bulleted-list/BulletedList.js +7 -33
  25. package/bulleted-list/BulletedList.stories.tsx +1 -91
  26. package/bulleted-list/types.d.ts +5 -5
  27. package/button/Button.js +23 -46
  28. package/button/Button.stories.tsx +5 -86
  29. package/button/Button.test.js +11 -21
  30. package/button/types.d.ts +4 -4
  31. package/card/Card.js +21 -44
  32. package/card/Card.test.js +10 -21
  33. package/card/types.d.ts +5 -5
  34. package/checkbox/Checkbox.js +81 -111
  35. package/checkbox/Checkbox.stories.tsx +16 -54
  36. package/checkbox/Checkbox.test.js +107 -63
  37. package/checkbox/types.d.ts +8 -4
  38. package/chip/Chip.js +12 -31
  39. package/chip/Chip.test.js +15 -28
  40. package/chip/types.d.ts +4 -4
  41. package/common/coreTokens.js +1 -2
  42. package/common/utils.js +2 -8
  43. package/common/variables.d.ts +15 -6
  44. package/common/variables.js +17 -15
  45. package/date-input/Calendar.js +13 -57
  46. package/date-input/DateInput.js +50 -96
  47. package/date-input/DateInput.stories.tsx +11 -30
  48. package/date-input/DateInput.test.js +674 -701
  49. package/date-input/DatePicker.js +11 -42
  50. package/date-input/Icons.d.ts +6 -6
  51. package/date-input/Icons.js +6 -23
  52. package/date-input/YearPicker.js +8 -34
  53. package/date-input/types.d.ts +27 -21
  54. package/dialog/Dialog.js +11 -35
  55. package/dialog/Dialog.test.js +125 -187
  56. package/dialog/types.d.ts +18 -13
  57. package/dropdown/Dropdown.js +39 -93
  58. package/dropdown/Dropdown.test.js +391 -378
  59. package/dropdown/DropdownMenu.js +8 -19
  60. package/dropdown/DropdownMenuItem.js +5 -17
  61. package/dropdown/types.d.ts +17 -19
  62. package/file-input/FileInput.js +131 -220
  63. package/file-input/FileInput.stories.tsx +1 -1
  64. package/file-input/FileInput.test.js +293 -342
  65. package/file-input/FileItem.js +12 -39
  66. package/file-input/types.d.ts +9 -9
  67. package/flex/Flex.js +25 -39
  68. package/flex/types.d.ts +6 -6
  69. package/footer/Footer.js +9 -39
  70. package/footer/Footer.test.js +18 -32
  71. package/footer/Icons.d.ts +2 -2
  72. package/footer/Icons.js +2 -7
  73. package/footer/types.d.ts +13 -13
  74. package/grid/Grid.js +1 -16
  75. package/grid/types.d.ts +10 -10
  76. package/header/Header.d.ts +1 -1
  77. package/header/Header.js +19 -64
  78. package/header/Header.test.js +12 -25
  79. package/header/Icons.d.ts +2 -2
  80. package/header/Icons.js +2 -7
  81. package/header/types.d.ts +5 -7
  82. package/heading/Heading.js +9 -31
  83. package/heading/Heading.test.js +70 -87
  84. package/heading/types.d.ts +7 -7
  85. package/image/Image.d.ts +2 -2
  86. package/image/Image.js +17 -32
  87. package/image/types.d.ts +2 -2
  88. package/inset/Inset.js +13 -21
  89. package/inset/types.d.ts +2 -2
  90. package/layout/ApplicationLayout.d.ts +1 -1
  91. package/layout/ApplicationLayout.js +14 -54
  92. package/layout/Icons.d.ts +5 -5
  93. package/layout/Icons.js +1 -5
  94. package/layout/SidenavContext.d.ts +1 -1
  95. package/layout/SidenavContext.js +3 -9
  96. package/layout/types.d.ts +3 -3
  97. package/link/Link.js +21 -42
  98. package/link/Link.test.js +23 -41
  99. package/link/types.d.ts +14 -14
  100. package/main.d.ts +1 -1
  101. package/main.js +3 -52
  102. package/nav-tabs/NavTabs.js +11 -43
  103. package/nav-tabs/NavTabs.stories.tsx +1 -1
  104. package/nav-tabs/NavTabs.test.js +36 -43
  105. package/nav-tabs/Tab.js +16 -45
  106. package/nav-tabs/types.d.ts +9 -9
  107. package/number-input/NumberInput.d.ts +1 -1
  108. package/number-input/NumberInput.js +24 -35
  109. package/number-input/NumberInput.stories.tsx +42 -26
  110. package/number-input/NumberInput.test.js +682 -577
  111. package/number-input/types.d.ts +11 -5
  112. package/package.json +27 -25
  113. package/paginator/Icons.d.ts +5 -5
  114. package/paginator/Icons.js +5 -19
  115. package/paginator/Paginator.js +14 -39
  116. package/paginator/Paginator.test.js +224 -207
  117. package/paginator/types.d.ts +3 -3
  118. package/paragraph/Paragraph.js +3 -14
  119. package/paragraph/Paragraph.stories.tsx +0 -17
  120. package/password-input/Icons.d.ts +3 -3
  121. package/password-input/Icons.js +1 -5
  122. package/password-input/PasswordInput.js +26 -48
  123. package/password-input/PasswordInput.stories.tsx +1 -33
  124. package/password-input/PasswordInput.test.js +153 -129
  125. package/password-input/types.d.ts +8 -7
  126. package/progress-bar/ProgressBar.js +16 -42
  127. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
  128. package/progress-bar/ProgressBar.test.js +35 -52
  129. package/progress-bar/types.d.ts +3 -3
  130. package/quick-nav/QuickNav.js +4 -27
  131. package/quick-nav/QuickNav.stories.tsx +1 -1
  132. package/quick-nav/types.d.ts +10 -10
  133. package/radio-group/Radio.d.ts +1 -1
  134. package/radio-group/Radio.js +22 -54
  135. package/radio-group/RadioGroup.js +37 -83
  136. package/radio-group/RadioGroup.stories.tsx +10 -10
  137. package/radio-group/RadioGroup.test.js +504 -470
  138. package/radio-group/types.d.ts +8 -8
  139. package/resultset-table/Icons.d.ts +7 -0
  140. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  141. package/{resultsetTable → resultset-table}/ResultsetTable.js +22 -58
  142. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +72 -92
  143. package/{resultsetTable → resultset-table}/types.d.ts +7 -7
  144. package/select/Icons.d.ts +7 -7
  145. package/select/Icons.js +1 -5
  146. package/select/Listbox.js +13 -39
  147. package/select/Option.js +9 -26
  148. package/select/Select.js +54 -138
  149. package/select/Select.test.js +1902 -1796
  150. package/select/types.d.ts +14 -15
  151. package/sidenav/Icons.d.ts +4 -4
  152. package/sidenav/Icons.js +1 -5
  153. package/sidenav/Sidenav.js +24 -63
  154. package/sidenav/Sidenav.test.js +3 -10
  155. package/sidenav/types.d.ts +18 -18
  156. package/slider/Slider.js +38 -86
  157. package/slider/Slider.test.js +107 -103
  158. package/slider/types.d.ts +4 -4
  159. package/spinner/Spinner.js +10 -40
  160. package/spinner/Spinner.test.js +25 -34
  161. package/spinner/types.d.ts +3 -3
  162. package/switch/Switch.js +26 -69
  163. package/switch/Switch.stories.tsx +0 -34
  164. package/switch/Switch.test.js +51 -96
  165. package/switch/types.d.ts +4 -4
  166. package/table/Table.js +4 -23
  167. package/table/Table.test.js +1 -6
  168. package/table/types.d.ts +8 -8
  169. package/tabs/Tab.js +10 -29
  170. package/tabs/Tabs.js +48 -124
  171. package/tabs/Tabs.test.js +62 -118
  172. package/tabs/types.d.ts +19 -19
  173. package/tag/Tag.js +21 -51
  174. package/tag/Tag.test.js +19 -30
  175. package/tag/types.d.ts +7 -7
  176. package/text-input/Icons.d.ts +5 -5
  177. package/text-input/Icons.js +1 -5
  178. package/text-input/Suggestion.js +9 -26
  179. package/text-input/Suggestions.d.ts +1 -1
  180. package/text-input/Suggestions.js +12 -57
  181. package/text-input/TextInput.js +128 -193
  182. package/text-input/TextInput.stories.tsx +48 -152
  183. package/text-input/TextInput.test.js +1210 -1194
  184. package/text-input/types.d.ts +25 -17
  185. package/textarea/Textarea.js +60 -96
  186. package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -99
  187. package/textarea/Textarea.test.js +150 -179
  188. package/textarea/types.d.ts +9 -5
  189. package/toggle-group/ToggleGroup.js +20 -57
  190. package/toggle-group/ToggleGroup.stories.tsx +1 -1
  191. package/toggle-group/ToggleGroup.test.js +48 -81
  192. package/toggle-group/types.d.ts +10 -10
  193. package/typography/Typography.js +4 -13
  194. package/typography/types.d.ts +1 -1
  195. package/useTheme.d.ts +12 -3
  196. package/useTheme.js +1 -8
  197. package/useTranslatedLabels.js +1 -7
  198. package/utils/BaseTypography.d.ts +2 -2
  199. package/utils/BaseTypography.js +16 -30
  200. package/utils/FocusLock.js +12 -36
  201. package/wizard/Wizard.js +14 -49
  202. package/wizard/Wizard.test.js +53 -80
  203. package/wizard/types.d.ts +6 -6
  204. package/resultsetTable/Icons.d.ts +0 -7
  205. package/slider/Slider.stories.tsx +0 -240
  206. /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
  207. /package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +0 -0
  208. /package/{resultsetTable → resultset-table}/types.js +0 -0
  209. /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
  210. /package/table/{Table.stories.jsx → Table.stories.tsx} +0 -0
@@ -1,19 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
5
6
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
6
-
7
7
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
-
9
8
  var _react = _interopRequireDefault(require("react"));
10
-
11
9
  var _react2 = require("@testing-library/react");
12
-
13
10
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
14
-
15
11
  var _Dropdown = _interopRequireDefault(require("./Dropdown.tsx"));
16
-
17
12
  // Mocking DOMRect for Radix Primitive Popover
18
13
  global.globalThis = global;
19
14
  global.DOMRect = {
@@ -28,12 +23,10 @@ global.DOMRect = {
28
23
  };
29
24
  }
30
25
  };
31
-
32
26
  global.ResizeObserver = /*#__PURE__*/function () {
33
27
  function ResizeObserver() {
34
28
  (0, _classCallCheck2["default"])(this, ResizeObserver);
35
29
  }
36
-
37
30
  (0, _createClass2["default"])(ResizeObserver, [{
38
31
  key: "observe",
39
32
  value: function observe() {}
@@ -46,7 +39,6 @@ global.ResizeObserver = /*#__PURE__*/function () {
46
39
  }]);
47
40
  return ResizeObserver;
48
41
  }();
49
-
50
42
  var options = [{
51
43
  value: "1",
52
44
  label: "Amazon"
@@ -61,150 +53,170 @@ var options = [{
61
53
  label: "Aliexpress"
62
54
  }];
63
55
  describe("Dropdown component tests", function () {
64
- test("Renders with correct aria attributes", function () {
65
- var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
66
- options: options,
67
- label: "dropdown-test"
68
- })),
69
- getAllByRole = _render.getAllByRole,
70
- getByRole = _render.getByRole;
71
-
72
- var dropdown = getByRole("button");
73
- expect(dropdown.getAttribute("aria-haspopup")).toBe("true");
74
- expect(dropdown.getAttribute("aria-expanded")).toBeNull();
75
- expect(dropdown.getAttribute("aria-activedescendant")).toBeNull();
76
-
77
- _userEvent["default"].click(dropdown);
78
-
79
- var menu = getByRole("menu");
80
- expect(dropdown.getAttribute("aria-controls")).toBe(menu.id);
81
- expect(dropdown.getAttribute("aria-expanded")).toBe("true");
82
- expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
83
- expect(menu.getAttribute("aria-orientation")).toBe("vertical");
84
- expect(menu.getAttribute("aria-labelledby")).toBe(dropdown.id);
85
- expect(getAllByRole("menuitem").length).toBe(4);
86
- });
87
- test("Button trigger opens and closes the menu options when clicked", function () {
88
- var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
89
- options: options,
90
- label: "dropdown-test"
91
- })),
92
- getByRole = _render2.getByRole,
93
- queryByRole = _render2.queryByRole,
94
- getByText = _render2.getByText;
95
-
96
- var dropdown = getByRole("button");
97
- expect(queryByRole("menu")).toBeFalsy();
98
-
99
- _userEvent["default"].click(dropdown);
100
-
101
- expect(queryByRole("menu")).toBeTruthy();
102
- expect(getByText("Amazon")).toBeTruthy();
103
- expect(getByText("Ebay")).toBeTruthy();
104
- expect(getByText("Wallapop")).toBeTruthy();
105
- expect(getByText("Aliexpress")).toBeTruthy();
106
-
107
- _userEvent["default"].click(dropdown);
108
-
109
- expect(queryByRole("menu")).toBeFalsy();
110
- });
111
- test("Button trigger is not interactable when disabled", function () {
112
- var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
113
- disabled: true,
114
- options: options,
115
- label: "dropdown-test"
116
- })),
117
- getByRole = _render3.getByRole,
118
- queryByRole = _render3.queryByRole,
119
- queryByText = _render3.queryByText;
120
-
121
- var dropdown = getByRole("button");
122
- expect(queryByRole("menu")).toBeFalsy();
123
-
124
- _userEvent["default"].click(dropdown);
125
-
126
- expect(queryByRole("menu")).toBeFalsy();
127
- expect(queryByText("Amazon")).toBeFalsy();
128
-
129
- _userEvent["default"].click(dropdown);
130
-
131
- expect(queryByRole("menu")).toBeFalsy();
132
- expect(dropdown.getAttribute("aria-expanded")).toBeNull();
133
- });
134
- test("onSelectOption function is called correctly when an option is clicked", function () {
135
- var onSelectOption = jest.fn();
136
-
137
- var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
138
- options: options,
139
- onSelectOption: onSelectOption,
140
- label: "dropdown-test"
141
- })),
142
- getByText = _render4.getByText;
143
-
144
- var dropdown = getByText("dropdown-test");
145
-
146
- _userEvent["default"].click(dropdown);
147
-
148
- var option = getByText("Aliexpress");
149
-
150
- _userEvent["default"].click(option);
151
-
152
- expect(onSelectOption).toHaveBeenCalledWith("4");
153
- });
56
+ test("Renders with correct aria attributes", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
57
+ var _render, getAllByRole, getByRole, dropdown, menu;
58
+ return _regenerator["default"].wrap(function _callee$(_context) {
59
+ while (1) switch (_context.prev = _context.next) {
60
+ case 0:
61
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
62
+ options: options,
63
+ label: "dropdown-test"
64
+ })), getAllByRole = _render.getAllByRole, getByRole = _render.getByRole;
65
+ dropdown = getByRole("button");
66
+ expect(dropdown.getAttribute("aria-haspopup")).toBe("true");
67
+ expect(dropdown.getAttribute("aria-expanded")).toBeNull();
68
+ expect(dropdown.getAttribute("aria-activedescendant")).toBeNull();
69
+ _context.next = 7;
70
+ return _userEvent["default"].click(dropdown);
71
+ case 7:
72
+ menu = getByRole("menu");
73
+ expect(dropdown.getAttribute("aria-controls")).toBe(menu.id);
74
+ expect(dropdown.getAttribute("aria-expanded")).toBe("true");
75
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
76
+ expect(menu.getAttribute("aria-orientation")).toBe("vertical");
77
+ expect(menu.getAttribute("aria-labelledby")).toBe(dropdown.id);
78
+ expect(getAllByRole("menuitem").length).toBe(4);
79
+ case 14:
80
+ case "end":
81
+ return _context.stop();
82
+ }
83
+ }, _callee);
84
+ })));
85
+ test("Button trigger opens and closes the menu options when clicked", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
86
+ var _render2, getByRole, queryByRole, getByText, dropdown;
87
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
88
+ while (1) switch (_context2.prev = _context2.next) {
89
+ case 0:
90
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
91
+ options: options,
92
+ label: "dropdown-test"
93
+ })), getByRole = _render2.getByRole, queryByRole = _render2.queryByRole, getByText = _render2.getByText;
94
+ dropdown = getByRole("button");
95
+ expect(queryByRole("menu")).toBeFalsy();
96
+ _context2.next = 5;
97
+ return _userEvent["default"].click(dropdown);
98
+ case 5:
99
+ expect(queryByRole("menu")).toBeTruthy();
100
+ expect(getByText("Amazon")).toBeTruthy();
101
+ expect(getByText("Ebay")).toBeTruthy();
102
+ expect(getByText("Wallapop")).toBeTruthy();
103
+ expect(getByText("Aliexpress")).toBeTruthy();
104
+ _context2.next = 12;
105
+ return _userEvent["default"].click(dropdown);
106
+ case 12:
107
+ expect(queryByRole("menu")).toBeFalsy();
108
+ case 13:
109
+ case "end":
110
+ return _context2.stop();
111
+ }
112
+ }, _callee2);
113
+ })));
114
+ test("Button trigger is not interactive when disabled", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
115
+ var _render3, getByRole, queryByRole, queryByText, dropdown;
116
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
117
+ while (1) switch (_context3.prev = _context3.next) {
118
+ case 0:
119
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
120
+ disabled: true,
121
+ options: options,
122
+ label: "dropdown-test"
123
+ })), getByRole = _render3.getByRole, queryByRole = _render3.queryByRole, queryByText = _render3.queryByText;
124
+ dropdown = getByRole("button");
125
+ expect(queryByRole("menu")).toBeFalsy();
126
+ _context3.next = 5;
127
+ return _userEvent["default"].click(dropdown);
128
+ case 5:
129
+ expect(queryByRole("menu")).toBeFalsy();
130
+ expect(queryByText("Amazon")).toBeFalsy();
131
+ _context3.next = 9;
132
+ return _userEvent["default"].click(dropdown);
133
+ case 9:
134
+ expect(queryByRole("menu")).toBeFalsy();
135
+ expect(dropdown.getAttribute("aria-expanded")).toBeNull();
136
+ case 11:
137
+ case "end":
138
+ return _context3.stop();
139
+ }
140
+ }, _callee3);
141
+ })));
142
+ test("onSelectOption function is called correctly when an option is clicked", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
143
+ var onSelectOption, _render4, getByText, dropdown, option;
144
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
145
+ while (1) switch (_context4.prev = _context4.next) {
146
+ case 0:
147
+ onSelectOption = jest.fn();
148
+ _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
149
+ options: options,
150
+ onSelectOption: onSelectOption,
151
+ label: "dropdown-test"
152
+ })), getByText = _render4.getByText;
153
+ dropdown = getByText("dropdown-test");
154
+ _context4.next = 5;
155
+ return _userEvent["default"].click(dropdown);
156
+ case 5:
157
+ option = getByText("Aliexpress");
158
+ _context4.next = 8;
159
+ return _userEvent["default"].click(option);
160
+ case 8:
161
+ expect(onSelectOption).toHaveBeenCalledWith("4");
162
+ case 9:
163
+ case "end":
164
+ return _context4.stop();
165
+ }
166
+ }, _callee4);
167
+ })));
154
168
  test("When expandOnHover is true, the dropdown trigger shows and hides the menu when it is hovered", function () {
155
169
  var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
156
- options: options,
157
- expandOnHover: true,
158
- label: "dropdown-test"
159
- })),
160
- queryByText = _render5.queryByText,
161
- getByRole = _render5.getByRole,
162
- queryByRole = _render5.queryByRole;
163
-
170
+ options: options,
171
+ expandOnHover: true,
172
+ label: "dropdown-test"
173
+ })),
174
+ queryByText = _render5.queryByText,
175
+ getByRole = _render5.getByRole,
176
+ queryByRole = _render5.queryByRole;
164
177
  expect(queryByText("option-test")).toBeFalsy();
165
178
  expect(queryByRole("menu")).toBeFalsy();
166
-
167
179
  _react2.fireEvent.mouseOver(getByRole("button"));
168
-
169
180
  var menu = getByRole("menu");
170
181
  expect(menu).toBeTruthy();
171
182
  expect(document.activeElement === menu).toBeTruthy();
172
183
  expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
173
184
  });
174
- test("The menu is closed when the dropdown loses the focus (blur)", function () {
175
- var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
176
- options: options,
177
- label: "dropdown-test"
178
- })),
179
- getByRole = _render6.getByRole,
180
- queryByRole = _render6.queryByRole;
181
-
182
- var dropdown = getByRole("button");
183
-
184
- _userEvent["default"].click(dropdown);
185
-
186
- expect(getByRole("menu")).toBeTruthy();
187
-
188
- _react2.fireEvent.blur(getByRole("menu"));
189
-
190
- expect(queryByRole("menu")).toBeFalsy();
191
- });
185
+ test("The menu is closed when the dropdown loses the focus (blur)", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
186
+ var _render6, getByRole, queryByRole, dropdown;
187
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
188
+ while (1) switch (_context5.prev = _context5.next) {
189
+ case 0:
190
+ _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
191
+ options: options,
192
+ label: "dropdown-test"
193
+ })), getByRole = _render6.getByRole, queryByRole = _render6.queryByRole;
194
+ dropdown = getByRole("button");
195
+ _context5.next = 4;
196
+ return _userEvent["default"].click(dropdown);
197
+ case 4:
198
+ expect(getByRole("menu")).toBeTruthy();
199
+ _react2.fireEvent.blur(getByRole("menu"));
200
+ expect(queryByRole("menu")).toBeFalsy();
201
+ case 7:
202
+ case "end":
203
+ return _context5.stop();
204
+ }
205
+ }, _callee5);
206
+ })));
192
207
  test("Menu button key events - Arrow up opens the list and moves the focus to the last menu item", function () {
193
208
  var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
194
- options: options,
195
- label: "dropdown-test"
196
- })),
197
- getByRole = _render7.getByRole;
198
-
209
+ options: options,
210
+ label: "dropdown-test"
211
+ })),
212
+ getByRole = _render7.getByRole;
199
213
  var dropdown = getByRole("button");
200
-
201
214
  _react2.fireEvent.keyDown(dropdown, {
202
215
  key: "ArrowUp",
203
216
  code: "ArrowUp",
204
217
  keyCode: 38,
205
218
  charCode: 38
206
219
  });
207
-
208
220
  var menu = getByRole("menu");
209
221
  expect(menu).toBeTruthy();
210
222
  expect(document.activeElement === menu).toBeTruthy();
@@ -212,20 +224,17 @@ describe("Dropdown component tests", function () {
212
224
  });
213
225
  test("Menu button key events - Arrow down opens the list and moves the focus to the first menu item", function () {
214
226
  var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
215
- options: options,
216
- label: "dropdown-test"
217
- })),
218
- getByRole = _render8.getByRole;
219
-
227
+ options: options,
228
+ label: "dropdown-test"
229
+ })),
230
+ getByRole = _render8.getByRole;
220
231
  var dropdown = getByRole("button");
221
-
222
232
  _react2.fireEvent.keyDown(dropdown, {
223
233
  key: "ArrowDown",
224
234
  code: "ArrowDown",
225
235
  keyCode: 40,
226
236
  charCode: 40
227
237
  });
228
-
229
238
  var menu = getByRole("menu");
230
239
  expect(menu).toBeTruthy();
231
240
  expect(document.activeElement === menu).toBeTruthy();
@@ -233,20 +242,17 @@ describe("Dropdown component tests", function () {
233
242
  });
234
243
  test("Menu button key events - Enter opens the list and moves the focus to the first menu item", function () {
235
244
  var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
236
- options: options,
237
- label: "dropdown-test"
238
- })),
239
- getByRole = _render9.getByRole;
240
-
245
+ options: options,
246
+ label: "dropdown-test"
247
+ })),
248
+ getByRole = _render9.getByRole;
241
249
  var dropdown = getByRole("button");
242
-
243
250
  _react2.fireEvent.keyDown(dropdown, {
244
251
  key: "Enter",
245
252
  code: "Enter",
246
253
  keyCode: 13,
247
254
  charCode: 13
248
255
  });
249
-
250
256
  var menu = getByRole("menu");
251
257
  expect(menu).toBeTruthy();
252
258
  expect(document.activeElement === menu).toBeTruthy();
@@ -254,20 +260,17 @@ describe("Dropdown component tests", function () {
254
260
  });
255
261
  test("Menu button key events - Space opens the list and moves the focus to the first menu item", function () {
256
262
  var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
257
- options: options,
258
- label: "dropdown-test"
259
- })),
260
- getByRole = _render10.getByRole;
261
-
263
+ options: options,
264
+ label: "dropdown-test"
265
+ })),
266
+ getByRole = _render10.getByRole;
262
267
  var dropdown = getByRole("button");
263
-
264
268
  _react2.fireEvent.keyDown(dropdown, {
265
269
  key: " ",
266
270
  code: "Space",
267
271
  keyCode: 32,
268
272
  charCode: 32
269
273
  });
270
-
271
274
  var menu = getByRole("menu");
272
275
  expect(menu).toBeTruthy();
273
276
  expect(document.activeElement === menu).toBeTruthy();
@@ -275,312 +278,322 @@ describe("Dropdown component tests", function () {
275
278
  });
276
279
  test("Menu key events - Arrow up moves the focus to the previous menu item", function () {
277
280
  var onSelectOption = jest.fn();
278
-
279
281
  var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
280
- onSelectOption: onSelectOption,
281
- options: options,
282
- label: "dropdown-test"
283
- })),
284
- getByRole = _render11.getByRole;
285
-
282
+ onSelectOption: onSelectOption,
283
+ options: options,
284
+ label: "dropdown-test"
285
+ })),
286
+ getByRole = _render11.getByRole;
286
287
  _react2.fireEvent.keyDown(getByRole("button"), {
287
288
  key: "ArrowUp",
288
289
  code: "ArrowUp",
289
290
  keyCode: 38,
290
291
  charCode: 38
291
292
  });
292
-
293
293
  var menu = getByRole("menu");
294
-
295
294
  _react2.fireEvent.keyDown(menu, {
296
295
  key: "ArrowUp",
297
296
  code: "ArrowUp",
298
297
  keyCode: 38,
299
298
  charCode: 38
300
299
  });
301
-
302
300
  expect(document.activeElement === menu).toBeTruthy();
303
301
  expect(menu.getAttribute("aria-activedescendant")).toBe("option-2");
304
-
305
302
  _react2.fireEvent.keyDown(menu, {
306
303
  key: "Enter",
307
304
  code: "Enter",
308
305
  keyCode: 13,
309
306
  charCode: 13
310
307
  });
311
-
312
- expect(onSelectOption).toHaveBeenCalledWith("3");
313
- });
314
- test("Menu key events - Arrow up, if focus is on the first menu item, moves focus to the last menu item.", function () {
315
- var onSelectOption = jest.fn();
316
-
317
- var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
318
- onSelectOption: onSelectOption,
319
- options: options,
320
- label: "dropdown-test"
321
- })),
322
- getByRole = _render12.getByRole;
323
-
324
- _userEvent["default"].click(getByRole("button"));
325
-
326
- var menu = getByRole("menu");
327
-
328
- _react2.fireEvent.keyDown(menu, {
329
- key: "ArrowUp",
330
- code: "ArrowUp",
331
- keyCode: 38,
332
- charCode: 38
333
- });
334
-
335
- expect(document.activeElement === menu).toBeTruthy();
336
- expect(menu.getAttribute("aria-activedescendant")).toBe("option-3");
337
-
338
- _react2.fireEvent.keyDown(menu, {
339
- key: "Enter",
340
- code: "Enter",
341
- keyCode: 13,
342
- charCode: 13
343
- });
344
-
345
- expect(onSelectOption).toHaveBeenCalledWith("4");
346
- });
347
- test("Menu key events - Arrow down moves the focus to the next menu item", function () {
348
- var onSelectOption = jest.fn();
349
-
350
- var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
351
- onSelectOption: onSelectOption,
352
- options: options,
353
- label: "dropdown-test"
354
- })),
355
- getByRole = _render13.getByRole;
356
-
357
- _userEvent["default"].click(getByRole("button"));
358
-
359
- var menu = getByRole("menu");
360
-
361
- _react2.fireEvent.keyDown(menu, {
362
- key: "ArrowDown",
363
- code: "ArrowDown",
364
- keyCode: 40,
365
- charCode: 40
366
- });
367
-
368
- _react2.fireEvent.keyDown(menu, {
369
- key: "ArrowDown",
370
- code: "ArrowDown",
371
- keyCode: 40,
372
- charCode: 40
373
- });
374
-
375
- expect(document.activeElement === menu).toBeTruthy();
376
- expect(menu.getAttribute("aria-activedescendant")).toBe("option-2");
377
-
378
- _react2.fireEvent.keyDown(menu, {
379
- key: "Enter",
380
- code: "Enter",
381
- keyCode: 13,
382
- charCode: 13
383
- });
384
-
385
308
  expect(onSelectOption).toHaveBeenCalledWith("3");
386
309
  });
310
+ test("Menu key events - Arrow up, if focus is on the first menu item, moves focus to the last menu item.", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
311
+ var onSelectOption, _render12, getByRole, menu;
312
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
313
+ while (1) switch (_context6.prev = _context6.next) {
314
+ case 0:
315
+ onSelectOption = jest.fn();
316
+ _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
317
+ onSelectOption: onSelectOption,
318
+ options: options,
319
+ label: "dropdown-test"
320
+ })), getByRole = _render12.getByRole;
321
+ _context6.next = 4;
322
+ return _userEvent["default"].click(getByRole("button"));
323
+ case 4:
324
+ menu = getByRole("menu");
325
+ _react2.fireEvent.keyDown(menu, {
326
+ key: "ArrowUp",
327
+ code: "ArrowUp",
328
+ keyCode: 38,
329
+ charCode: 38
330
+ });
331
+ expect(document.activeElement === menu).toBeTruthy();
332
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-3");
333
+ _react2.fireEvent.keyDown(menu, {
334
+ key: "Enter",
335
+ code: "Enter",
336
+ keyCode: 13,
337
+ charCode: 13
338
+ });
339
+ expect(onSelectOption).toHaveBeenCalledWith("4");
340
+ case 10:
341
+ case "end":
342
+ return _context6.stop();
343
+ }
344
+ }, _callee6);
345
+ })));
346
+ test("Menu key events - Arrow down moves the focus to the next menu item", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
347
+ var onSelectOption, _render13, getByRole, menu;
348
+ return _regenerator["default"].wrap(function _callee7$(_context7) {
349
+ while (1) switch (_context7.prev = _context7.next) {
350
+ case 0:
351
+ onSelectOption = jest.fn();
352
+ _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
353
+ onSelectOption: onSelectOption,
354
+ options: options,
355
+ label: "dropdown-test"
356
+ })), getByRole = _render13.getByRole;
357
+ _context7.next = 4;
358
+ return _userEvent["default"].click(getByRole("button"));
359
+ case 4:
360
+ menu = getByRole("menu");
361
+ _react2.fireEvent.keyDown(menu, {
362
+ key: "ArrowDown",
363
+ code: "ArrowDown",
364
+ keyCode: 40,
365
+ charCode: 40
366
+ });
367
+ _react2.fireEvent.keyDown(menu, {
368
+ key: "ArrowDown",
369
+ code: "ArrowDown",
370
+ keyCode: 40,
371
+ charCode: 40
372
+ });
373
+ expect(document.activeElement === menu).toBeTruthy();
374
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-2");
375
+ _react2.fireEvent.keyDown(menu, {
376
+ key: "Enter",
377
+ code: "Enter",
378
+ keyCode: 13,
379
+ charCode: 13
380
+ });
381
+ expect(onSelectOption).toHaveBeenCalledWith("3");
382
+ case 11:
383
+ case "end":
384
+ return _context7.stop();
385
+ }
386
+ }, _callee7);
387
+ })));
387
388
  test("Menu key events - Arrow down, if focus is on the last menu item, moves focus to the first menu item. ", function () {
388
389
  var onSelectOption = jest.fn();
389
-
390
390
  var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
391
- onSelectOption: onSelectOption,
392
- options: options,
393
- label: "dropdown-test"
394
- })),
395
- getByRole = _render14.getByRole;
396
-
391
+ onSelectOption: onSelectOption,
392
+ options: options,
393
+ label: "dropdown-test"
394
+ })),
395
+ getByRole = _render14.getByRole;
397
396
  _react2.fireEvent.keyDown(getByRole("button"), {
398
397
  key: "ArrowUp",
399
398
  code: "ArrowUp",
400
399
  keyCode: 38,
401
400
  charCode: 38
402
401
  });
403
-
404
402
  var menu = getByRole("menu");
405
-
406
403
  _react2.fireEvent.keyDown(menu, {
407
404
  key: "ArrowDown",
408
405
  code: "ArrowDown",
409
406
  keyCode: 40,
410
407
  charCode: 40
411
408
  });
412
-
413
409
  expect(document.activeElement === menu).toBeTruthy();
414
410
  expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
415
-
416
411
  _react2.fireEvent.keyDown(menu, {
417
412
  key: "Enter",
418
413
  code: "Enter",
419
414
  keyCode: 13,
420
415
  charCode: 13
421
416
  });
422
-
423
- expect(onSelectOption).toHaveBeenCalledWith("1");
424
- });
425
- test("Menu key events - Enter key selects the current focused item and closes the menu", function () {
426
- var onSelectOption = jest.fn();
427
-
428
- var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
429
- onSelectOption: onSelectOption,
430
- options: options,
431
- label: "dropdown-test"
432
- })),
433
- getByRole = _render15.getByRole,
434
- queryByRole = _render15.queryByRole;
435
-
436
- _userEvent["default"].click(getByRole("button"));
437
-
438
- _react2.fireEvent.keyDown(getByRole("menu"), {
439
- key: "Enter",
440
- code: "Enter",
441
- keyCode: 13,
442
- charCode: 13
443
- });
444
-
445
417
  expect(onSelectOption).toHaveBeenCalledWith("1");
446
- expect(queryByRole("menu")).toBeFalsy();
447
- expect(document.activeElement === getByRole("button")).toBeTruthy();
448
- });
449
- test("Menu key events - Esc closes the menu and sets focus on the menu button", function () {
450
- var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
451
- options: options,
452
- label: "dropdown-test"
453
- })),
454
- getByRole = _render16.getByRole,
455
- queryByRole = _render16.queryByRole;
456
-
457
- _userEvent["default"].click(getByRole("button"));
458
-
459
- _react2.fireEvent.keyDown(getByRole("menu"), {
460
- key: "Esc",
461
- code: "Esc",
462
- keyCode: 27,
463
- charCode: 27
464
- });
465
-
466
- expect(queryByRole("menu")).toBeFalsy();
467
- expect(document.activeElement === getByRole("button")).toBeTruthy();
468
418
  });
419
+ test("Menu key events - Enter key selects the current focused item and closes the menu", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
420
+ var onSelectOption, _render15, getByRole, queryByRole;
421
+ return _regenerator["default"].wrap(function _callee8$(_context8) {
422
+ while (1) switch (_context8.prev = _context8.next) {
423
+ case 0:
424
+ onSelectOption = jest.fn();
425
+ _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
426
+ onSelectOption: onSelectOption,
427
+ options: options,
428
+ label: "dropdown-test"
429
+ })), getByRole = _render15.getByRole, queryByRole = _render15.queryByRole;
430
+ _context8.next = 4;
431
+ return _userEvent["default"].click(getByRole("button"));
432
+ case 4:
433
+ _react2.fireEvent.keyDown(getByRole("menu"), {
434
+ key: "Enter",
435
+ code: "Enter",
436
+ keyCode: 13,
437
+ charCode: 13
438
+ });
439
+ expect(onSelectOption).toHaveBeenCalledWith("1");
440
+ expect(queryByRole("menu")).toBeFalsy();
441
+ expect(document.activeElement === getByRole("button")).toBeTruthy();
442
+ case 8:
443
+ case "end":
444
+ return _context8.stop();
445
+ }
446
+ }, _callee8);
447
+ })));
448
+ test("Menu key events - Esc closes the menu and sets focus on the menu button", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
449
+ var _render16, getByRole, queryByRole;
450
+ return _regenerator["default"].wrap(function _callee9$(_context9) {
451
+ while (1) switch (_context9.prev = _context9.next) {
452
+ case 0:
453
+ _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
454
+ options: options,
455
+ label: "dropdown-test"
456
+ })), getByRole = _render16.getByRole, queryByRole = _render16.queryByRole;
457
+ _context9.next = 3;
458
+ return _userEvent["default"].click(getByRole("button"));
459
+ case 3:
460
+ _react2.fireEvent.keyDown(getByRole("menu"), {
461
+ key: "Esc",
462
+ code: "Esc",
463
+ keyCode: 27,
464
+ charCode: 27
465
+ });
466
+ expect(queryByRole("menu")).toBeFalsy();
467
+ expect(document.activeElement === getByRole("button")).toBeTruthy();
468
+ case 6:
469
+ case "end":
470
+ return _context9.stop();
471
+ }
472
+ }, _callee9);
473
+ })));
469
474
  test("Menu key events - Home moves the focus to the first menu item", function () {
470
475
  var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
471
- options: options,
472
- label: "dropdown-test-1"
473
- })),
474
- getByRole = _render17.getByRole;
475
-
476
+ options: options,
477
+ label: "dropdown-test-1"
478
+ })),
479
+ getByRole = _render17.getByRole;
476
480
  _react2.fireEvent.keyDown(getByRole("button"), {
477
481
  key: "ArrowUp",
478
482
  code: "ArrowUp",
479
483
  keyCode: 38,
480
484
  charCode: 38
481
485
  });
482
-
483
486
  var menu = getByRole("menu");
484
487
  expect(menu.getAttribute("aria-activedescendant")).toBe("option-3");
485
-
486
488
  _react2.fireEvent.keyDown(menu, {
487
489
  key: "Home",
488
490
  code: "Home",
489
491
  keyCode: 36,
490
492
  charCode: 36
491
493
  });
492
-
493
- expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
494
- });
495
- test("Menu key events - End moves the focus to the last menu item", function () {
496
- var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
497
- options: options,
498
- label: "dropdown-test-1"
499
- })),
500
- getByRole = _render18.getByRole;
501
-
502
- _userEvent["default"].click(getByRole("button"));
503
-
504
- var menu = getByRole("menu");
505
494
  expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
506
-
507
- _react2.fireEvent.keyDown(menu, {
508
- key: "End",
509
- code: "End",
510
- keyCode: 35,
511
- charCode: 35
512
- });
513
-
514
- expect(menu.getAttribute("aria-activedescendant")).toBe("option-3");
515
495
  });
496
+ test("Menu key events - End moves the focus to the last menu item", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10() {
497
+ var _render18, getByRole, menu;
498
+ return _regenerator["default"].wrap(function _callee10$(_context10) {
499
+ while (1) switch (_context10.prev = _context10.next) {
500
+ case 0:
501
+ _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
502
+ options: options,
503
+ label: "dropdown-test-1"
504
+ })), getByRole = _render18.getByRole;
505
+ _context10.next = 3;
506
+ return _userEvent["default"].click(getByRole("button"));
507
+ case 3:
508
+ menu = getByRole("menu");
509
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
510
+ _react2.fireEvent.keyDown(menu, {
511
+ key: "End",
512
+ code: "End",
513
+ keyCode: 35,
514
+ charCode: 35
515
+ });
516
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-3");
517
+ case 7:
518
+ case "end":
519
+ return _context10.stop();
520
+ }
521
+ }, _callee10);
522
+ })));
516
523
  test("Menu key events - PageUp moves the focus to the first menu item", function () {
517
524
  var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
518
- options: options,
519
- label: "dropdown-test-1"
520
- })),
521
- getByRole = _render19.getByRole;
522
-
525
+ options: options,
526
+ label: "dropdown-test-1"
527
+ })),
528
+ getByRole = _render19.getByRole;
523
529
  _react2.fireEvent.keyDown(getByRole("button"), {
524
530
  key: "ArrowUp",
525
531
  code: "ArrowUp",
526
532
  keyCode: 38,
527
533
  charCode: 38
528
534
  });
529
-
530
535
  var menu = getByRole("menu");
531
536
  expect(menu.getAttribute("aria-activedescendant")).toBe("option-3");
532
-
533
537
  _react2.fireEvent.keyDown(menu, {
534
538
  key: "PageUp",
535
539
  code: "PageUp",
536
540
  keyCode: 33,
537
541
  charCode: 33
538
542
  });
539
-
540
- expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
541
- });
542
- test("Menu key events - PageDown moves the focus to the last menu item", function () {
543
- var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
544
- options: options,
545
- label: "dropdown-test-1"
546
- })),
547
- getByRole = _render20.getByRole;
548
-
549
- _userEvent["default"].click(getByRole("button"));
550
-
551
- var menu = getByRole("menu");
552
543
  expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
553
-
554
- _react2.fireEvent.keyDown(menu, {
555
- key: "PageDown",
556
- code: "PageDown",
557
- keyCode: 34,
558
- charCode: 34
559
- });
560
-
561
- expect(menu.getAttribute("aria-activedescendant")).toBe("option-3");
562
- });
563
- test("Menu key events - Tab closes the menu and sets focus to the next element", function () {
564
- var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
565
- options: options,
566
- label: "dropdown-test-1"
567
- })),
568
- getByRole = _render21.getByRole,
569
- queryByRole = _render21.queryByRole;
570
-
571
- var dropdown = getByRole("button");
572
-
573
- _userEvent["default"].click(dropdown);
574
-
575
- expect(getByRole("menu")).toBeTruthy();
576
-
577
- _react2.fireEvent.keyDown(getByRole("menu"), {
578
- key: "Tab",
579
- code: "Tab",
580
- keyCode: 9,
581
- charCode: 9
582
- });
583
-
584
- expect(queryByRole("menu")).toBeFalsy();
585
544
  });
545
+ test("Menu key events - PageDown moves the focus to the last menu item", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11() {
546
+ var _render20, getByRole, menu;
547
+ return _regenerator["default"].wrap(function _callee11$(_context11) {
548
+ while (1) switch (_context11.prev = _context11.next) {
549
+ case 0:
550
+ _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
551
+ options: options,
552
+ label: "dropdown-test-1"
553
+ })), getByRole = _render20.getByRole;
554
+ _context11.next = 3;
555
+ return _userEvent["default"].click(getByRole("button"));
556
+ case 3:
557
+ menu = getByRole("menu");
558
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
559
+ _react2.fireEvent.keyDown(menu, {
560
+ key: "PageDown",
561
+ code: "PageDown",
562
+ keyCode: 34,
563
+ charCode: 34
564
+ });
565
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-3");
566
+ case 7:
567
+ case "end":
568
+ return _context11.stop();
569
+ }
570
+ }, _callee11);
571
+ })));
572
+ test("Menu key events - Tab closes the menu and sets focus to the next element", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee12() {
573
+ var _render21, getByRole, queryByRole, dropdown;
574
+ return _regenerator["default"].wrap(function _callee12$(_context12) {
575
+ while (1) switch (_context12.prev = _context12.next) {
576
+ case 0:
577
+ _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
578
+ options: options,
579
+ label: "dropdown-test-1"
580
+ })), getByRole = _render21.getByRole, queryByRole = _render21.queryByRole;
581
+ dropdown = getByRole("button");
582
+ _context12.next = 4;
583
+ return _userEvent["default"].click(dropdown);
584
+ case 4:
585
+ expect(getByRole("menu")).toBeTruthy();
586
+ _react2.fireEvent.keyDown(getByRole("menu"), {
587
+ key: "Tab",
588
+ code: "Tab",
589
+ keyCode: 9,
590
+ charCode: 9
591
+ });
592
+ expect(queryByRole("menu")).toBeFalsy();
593
+ case 7:
594
+ case "end":
595
+ return _context12.stop();
596
+ }
597
+ }, _callee12);
598
+ })));
586
599
  });