@dxc-technology/halstack-react 12.0.0 → 12.0.1

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 (195) hide show
  1. package/HalstackContext.d.ts +0 -3
  2. package/HalstackContext.js +2 -6
  3. package/accordion/Accordion.accessibility.test.d.ts +1 -0
  4. package/accordion/Accordion.accessibility.test.js +1 -1
  5. package/accordion/Accordion.js +5 -8
  6. package/accordion/Accordion.test.d.ts +1 -0
  7. package/accordion/Accordion.test.js +3 -3
  8. package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
  9. package/accordion-group/AccordionGroup.accessibility.test.js +8 -14
  10. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  11. package/accordion-group/AccordionGroup.test.js +5 -9
  12. package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
  13. package/action-icon/ActionIcon.accessibility.test.js +1 -1
  14. package/action-icon/ActionIcon.test.d.ts +1 -0
  15. package/action-icon/ActionIcon.test.js +1 -1
  16. package/alert/Alert.accessibility.test.d.ts +1 -0
  17. package/alert/Alert.accessibility.test.js +1 -1
  18. package/alert/Alert.test.d.ts +1 -0
  19. package/alert/Alert.test.js +1 -1
  20. package/badge/Badge.accessibility.test.d.ts +1 -0
  21. package/badge/Badge.accessibility.test.js +2 -2
  22. package/badge/Badge.test.d.ts +1 -0
  23. package/badge/Badge.test.js +2 -2
  24. package/box/Box.accessibility.test.d.ts +1 -0
  25. package/box/Box.accessibility.test.js +1 -1
  26. package/box/Box.test.d.ts +1 -0
  27. package/box/Box.test.js +1 -1
  28. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  29. package/button/Button.accessibility.test.d.ts +1 -0
  30. package/button/Button.accessibility.test.js +1 -1
  31. package/button/Button.test.d.ts +1 -0
  32. package/button/Button.test.js +1 -1
  33. package/card/Card.accessibility.test.d.ts +1 -0
  34. package/card/Card.accessibility.test.js +1 -1
  35. package/card/Card.test.d.ts +1 -0
  36. package/card/Card.test.js +1 -1
  37. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  38. package/checkbox/Checkbox.accessibility.test.js +1 -1
  39. package/checkbox/Checkbox.js +5 -8
  40. package/checkbox/Checkbox.test.d.ts +1 -0
  41. package/checkbox/Checkbox.test.js +1 -1
  42. package/chip/Chip.accessibility.test.d.ts +1 -0
  43. package/chip/Chip.accessibility.test.js +3 -1
  44. package/chip/Chip.js +10 -21
  45. package/chip/Chip.stories.tsx +78 -46
  46. package/chip/Chip.test.d.ts +1 -0
  47. package/chip/Chip.test.js +1 -1
  48. package/chip/types.d.ts +35 -12
  49. package/common/fonts.css +2 -0
  50. package/common/variables.d.ts +0 -3
  51. package/common/variables.js +1 -4
  52. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  53. package/contextual-menu/ContextualMenu.accessibility.test.js +2 -1
  54. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  55. package/contextual-menu/ContextualMenu.test.js +1 -1
  56. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  57. package/date-input/DateInput.accessibility.test.js +4 -2
  58. package/date-input/DateInput.js +15 -15
  59. package/date-input/DateInput.test.d.ts +1 -0
  60. package/date-input/DateInput.test.js +9 -8
  61. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  62. package/dialog/Dialog.accessibility.test.js +1 -1
  63. package/dialog/Dialog.stories.tsx +1 -2
  64. package/dialog/Dialog.test.d.ts +1 -0
  65. package/dialog/Dialog.test.js +112 -48
  66. package/divider/Divider.accessibility.test.d.ts +1 -0
  67. package/divider/Divider.test.d.ts +1 -0
  68. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  69. package/dropdown/Dropdown.accessibility.test.js +6 -2
  70. package/dropdown/Dropdown.js +11 -12
  71. package/dropdown/Dropdown.test.d.ts +1 -0
  72. package/dropdown/Dropdown.test.js +82 -52
  73. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  74. package/file-input/FileInput.accessibility.test.js +25 -18
  75. package/file-input/FileInput.js +1 -4
  76. package/file-input/FileInput.test.d.ts +1 -0
  77. package/file-input/FileInput.test.js +44 -22
  78. package/footer/Footer.accessibility.test.d.ts +1 -0
  79. package/footer/Footer.accessibility.test.js +1 -1
  80. package/footer/Footer.test.d.ts +1 -0
  81. package/footer/Footer.test.js +1 -1
  82. package/header/Header.accessibility.test.d.ts +1 -0
  83. package/header/Header.accessibility.test.js +5 -4
  84. package/header/Header.test.d.ts +1 -0
  85. package/header/Header.test.js +1 -1
  86. package/heading/Heading.accessibility.test.d.ts +1 -0
  87. package/heading/Heading.accessibility.test.js +1 -1
  88. package/heading/Heading.test.d.ts +1 -0
  89. package/heading/Heading.test.js +1 -14
  90. package/icon/Icon.accessibility.test.d.ts +1 -0
  91. package/image/Image.accessibility.test.d.ts +1 -0
  92. package/link/Link.accessibility.test.d.ts +1 -0
  93. package/link/Link.accessibility.test.js +2 -2
  94. package/link/Link.test.d.ts +1 -0
  95. package/link/Link.test.js +1 -1
  96. package/main.d.ts +1 -0
  97. package/main.js +1 -0
  98. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  99. package/nav-tabs/NavTabs.accessibility.test.js +1 -1
  100. package/nav-tabs/NavTabs.js +18 -3
  101. package/nav-tabs/NavTabs.stories.tsx +18 -3
  102. package/nav-tabs/NavTabs.test.d.ts +1 -0
  103. package/nav-tabs/NavTabs.test.js +1 -1
  104. package/nav-tabs/Tab.js +1 -1
  105. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  106. package/number-input/NumberInput.accessibility.test.js +1 -1
  107. package/number-input/NumberInput.test.d.ts +1 -0
  108. package/number-input/NumberInput.test.js +5 -5
  109. package/package.json +6 -6
  110. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  111. package/paginator/Paginator.accessibility.test.js +1 -1
  112. package/paginator/Paginator.test.d.ts +1 -0
  113. package/paginator/Paginator.test.js +1 -1
  114. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  115. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  116. package/password-input/PasswordInput.accessibility.test.js +1 -1
  117. package/password-input/PasswordInput.test.d.ts +1 -0
  118. package/password-input/PasswordInput.test.js +1 -1
  119. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  120. package/progress-bar/ProgressBar.accessibility.test.js +1 -1
  121. package/progress-bar/ProgressBar.test.d.ts +1 -0
  122. package/progress-bar/ProgressBar.test.js +1 -1
  123. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  124. package/radio-group/Radio.js +5 -8
  125. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  126. package/radio-group/RadioGroup.accessibility.test.js +1 -1
  127. package/radio-group/RadioGroup.js +12 -15
  128. package/radio-group/RadioGroup.test.d.ts +1 -0
  129. package/radio-group/RadioGroup.test.js +3 -5
  130. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  131. package/resultset-table/ResultsetTable.accessibility.test.js +1 -1
  132. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  133. package/resultset-table/ResultsetTable.test.js +1 -2
  134. package/select/Listbox.js +6 -10
  135. package/select/Select.accessibility.test.d.ts +1 -0
  136. package/select/Select.accessibility.test.js +3 -3
  137. package/select/Select.js +15 -17
  138. package/select/Select.test.d.ts +1 -0
  139. package/select/Select.test.js +6 -3
  140. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  141. package/sidenav/Sidenav.accessibility.test.js +1 -1
  142. package/sidenav/Sidenav.test.d.ts +1 -0
  143. package/sidenav/Sidenav.test.js +1 -1
  144. package/slider/Slider.accessibility.test.d.ts +1 -0
  145. package/slider/Slider.accessibility.test.js +1 -1
  146. package/slider/Slider.js +8 -11
  147. package/slider/Slider.stories.tsx +180 -0
  148. package/slider/Slider.test.d.ts +1 -0
  149. package/slider/Slider.test.js +12 -9
  150. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  151. package/spinner/Spinner.accessibility.test.js +2 -2
  152. package/spinner/Spinner.test.d.ts +1 -0
  153. package/spinner/Spinner.test.js +1 -1
  154. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  155. package/status-light/StatusLight.accessibility.test.js +2 -2
  156. package/status-light/StatusLight.test.d.ts +1 -0
  157. package/status-light/StatusLight.test.js +1 -1
  158. package/switch/Switch.accessibility.test.d.ts +1 -0
  159. package/switch/Switch.accessibility.test.js +1 -1
  160. package/switch/Switch.js +5 -8
  161. package/switch/Switch.test.d.ts +1 -0
  162. package/switch/Switch.test.js +1 -1
  163. package/table/Table.accessibility.test.d.ts +1 -0
  164. package/table/Table.accessibility.test.js +1 -1
  165. package/table/Table.test.d.ts +1 -0
  166. package/table/Table.test.js +1 -2
  167. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  168. package/tabs/Tabs.accessibility.test.js +1 -1
  169. package/tabs/Tabs.test.d.ts +1 -0
  170. package/tabs/Tabs.test.js +1 -1
  171. package/tag/Tag.accessibility.test.d.ts +1 -0
  172. package/tag/Tag.accessibility.test.js +1 -1
  173. package/tag/Tag.test.d.ts +1 -0
  174. package/tag/Tag.test.js +1 -1
  175. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  176. package/text-input/TextInput.accessibility.test.js +1 -1
  177. package/text-input/TextInput.js +19 -21
  178. package/text-input/TextInput.test.d.ts +1 -0
  179. package/text-input/TextInput.test.js +1 -1
  180. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  181. package/textarea/Textarea.accessibility.test.js +1 -1
  182. package/textarea/Textarea.js +1 -4
  183. package/textarea/Textarea.test.d.ts +1 -0
  184. package/textarea/Textarea.test.js +1 -1
  185. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  186. package/toggle-group/ToggleGroup.accessibility.test.js +2 -2
  187. package/toggle-group/ToggleGroup.js +5 -8
  188. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  189. package/toggle-group/ToggleGroup.test.js +1 -1
  190. package/typography/Typography.accessibility.test.d.ts +1 -0
  191. package/useTheme.d.ts +0 -3
  192. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  193. package/wizard/Wizard.accessibility.test.js +1 -1
  194. package/wizard/Wizard.test.d.ts +1 -0
  195. package/wizard/Wizard.test.js +1 -1
@@ -8,7 +8,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _react2 = require("@testing-library/react");
10
10
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
11
- var _Dropdown = _interopRequireDefault(require("./Dropdown.tsx"));
11
+ var _Dropdown = _interopRequireDefault(require("./Dropdown"));
12
12
  // Mocking DOMRect for Radix Primitive Popover
13
13
  global.globalThis = global;
14
14
  global.DOMRect = {
@@ -54,21 +54,23 @@ var options = [{
54
54
  }];
55
55
  describe("Dropdown component tests", function () {
56
56
  test("Renders with correct aria attributes", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
57
- var _render, getAllByRole, getByRole, dropdown, menu;
57
+ var onSelectOption, _render, getAllByRole, getByRole, dropdown, menu;
58
58
  return _regenerator["default"].wrap(function _callee$(_context) {
59
59
  while (1) switch (_context.prev = _context.next) {
60
60
  case 0:
61
+ onSelectOption = jest.fn();
61
62
  _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
62
63
  options: options,
63
- label: "dropdown-test"
64
+ label: "dropdown-test",
65
+ onSelectOption: onSelectOption
64
66
  })), getAllByRole = _render.getAllByRole, getByRole = _render.getByRole;
65
67
  dropdown = getByRole("button");
66
68
  expect(dropdown.getAttribute("aria-haspopup")).toBe("true");
67
69
  expect(dropdown.getAttribute("aria-expanded")).toBeNull();
68
70
  expect(dropdown.getAttribute("aria-activedescendant")).toBeNull();
69
- _context.next = 7;
71
+ _context.next = 8;
70
72
  return _userEvent["default"].click(dropdown);
71
- case 7:
73
+ case 8:
72
74
  menu = getByRole("menu");
73
75
  expect(dropdown.getAttribute("aria-controls")).toBe(menu.id);
74
76
  expect(dropdown.getAttribute("aria-expanded")).toBe("true");
@@ -76,64 +78,68 @@ describe("Dropdown component tests", function () {
76
78
  expect(menu.getAttribute("aria-orientation")).toBe("vertical");
77
79
  expect(menu.getAttribute("aria-labelledby")).toBe(dropdown.id);
78
80
  expect(getAllByRole("menuitem").length).toBe(4);
79
- case 14:
81
+ case 15:
80
82
  case "end":
81
83
  return _context.stop();
82
84
  }
83
85
  }, _callee);
84
86
  })));
85
87
  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;
88
+ var onSelectOption, _render2, getByRole, queryByRole, getByText, dropdown;
87
89
  return _regenerator["default"].wrap(function _callee2$(_context2) {
88
90
  while (1) switch (_context2.prev = _context2.next) {
89
91
  case 0:
92
+ onSelectOption = jest.fn();
90
93
  _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
91
94
  options: options,
92
- label: "dropdown-test"
95
+ label: "dropdown-test",
96
+ onSelectOption: onSelectOption
93
97
  })), getByRole = _render2.getByRole, queryByRole = _render2.queryByRole, getByText = _render2.getByText;
94
98
  dropdown = getByRole("button");
95
99
  expect(queryByRole("menu")).toBeFalsy();
96
- _context2.next = 5;
100
+ _context2.next = 6;
97
101
  return _userEvent["default"].click(dropdown);
98
- case 5:
102
+ case 6:
99
103
  expect(queryByRole("menu")).toBeTruthy();
100
104
  expect(getByText("Amazon")).toBeTruthy();
101
105
  expect(getByText("Ebay")).toBeTruthy();
102
106
  expect(getByText("Wallapop")).toBeTruthy();
103
107
  expect(getByText("Aliexpress")).toBeTruthy();
104
- _context2.next = 12;
108
+ _context2.next = 13;
105
109
  return _userEvent["default"].click(dropdown);
106
- case 12:
107
- expect(queryByRole("menu")).toBeFalsy();
108
110
  case 13:
111
+ expect(queryByRole("menu")).toBeFalsy();
112
+ case 14:
109
113
  case "end":
110
114
  return _context2.stop();
111
115
  }
112
116
  }, _callee2);
113
117
  })));
114
118
  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;
119
+ var onSelectOption, _render3, getByRole, queryByRole, queryByText, dropdown;
116
120
  return _regenerator["default"].wrap(function _callee3$(_context3) {
117
121
  while (1) switch (_context3.prev = _context3.next) {
118
122
  case 0:
123
+ onSelectOption = jest.fn();
119
124
  _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
120
125
  disabled: true,
121
126
  options: options,
122
- label: "dropdown-test"
127
+ label: "dropdown-test",
128
+ onSelectOption: onSelectOption
123
129
  })), getByRole = _render3.getByRole, queryByRole = _render3.queryByRole, queryByText = _render3.queryByText;
124
130
  dropdown = getByRole("button");
125
131
  expect(queryByRole("menu")).toBeFalsy();
126
- _context3.next = 5;
132
+ _context3.next = 6;
127
133
  return _userEvent["default"].click(dropdown);
128
- case 5:
134
+ case 6:
129
135
  expect(queryByRole("menu")).toBeFalsy();
130
136
  expect(queryByText("Amazon")).toBeFalsy();
131
- _context3.next = 9;
137
+ _context3.next = 10;
132
138
  return _userEvent["default"].click(dropdown);
133
- case 9:
139
+ case 10:
134
140
  expect(queryByRole("menu")).toBeFalsy();
135
141
  expect(dropdown.getAttribute("aria-expanded")).toBeNull();
136
- case 11:
142
+ case 12:
137
143
  case "end":
138
144
  return _context3.stop();
139
145
  }
@@ -166,10 +172,12 @@ describe("Dropdown component tests", function () {
166
172
  }, _callee4);
167
173
  })));
168
174
  test("When expandOnHover is true, the dropdown trigger shows and hides the menu when it is hovered", function () {
175
+ var onSelectOption = jest.fn();
169
176
  var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
170
177
  options: options,
171
178
  expandOnHover: true,
172
- label: "dropdown-test"
179
+ label: "dropdown-test",
180
+ onSelectOption: onSelectOption
173
181
  })),
174
182
  queryByText = _render5.queryByText,
175
183
  getByRole = _render5.getByRole,
@@ -183,31 +191,35 @@ describe("Dropdown component tests", function () {
183
191
  expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
184
192
  });
185
193
  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;
194
+ var onSelectOption, _render6, getByRole, queryByRole, dropdown;
187
195
  return _regenerator["default"].wrap(function _callee5$(_context5) {
188
196
  while (1) switch (_context5.prev = _context5.next) {
189
197
  case 0:
198
+ onSelectOption = jest.fn();
190
199
  _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
191
200
  options: options,
192
- label: "dropdown-test"
201
+ label: "dropdown-test",
202
+ onSelectOption: onSelectOption
193
203
  })), getByRole = _render6.getByRole, queryByRole = _render6.queryByRole;
194
204
  dropdown = getByRole("button");
195
- _context5.next = 4;
205
+ _context5.next = 5;
196
206
  return _userEvent["default"].click(dropdown);
197
- case 4:
207
+ case 5:
198
208
  expect(getByRole("menu")).toBeTruthy();
199
209
  _react2.fireEvent.blur(getByRole("menu"));
200
210
  expect(queryByRole("menu")).toBeFalsy();
201
- case 7:
211
+ case 8:
202
212
  case "end":
203
213
  return _context5.stop();
204
214
  }
205
215
  }, _callee5);
206
216
  })));
207
217
  test("Menu button key events - Arrow up opens the list and moves the focus to the last menu item", function () {
218
+ var onSelectOption = jest.fn();
208
219
  var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
209
220
  options: options,
210
- label: "dropdown-test"
221
+ label: "dropdown-test",
222
+ onSelectOption: onSelectOption
211
223
  })),
212
224
  getByRole = _render7.getByRole;
213
225
  var dropdown = getByRole("button");
@@ -223,9 +235,11 @@ describe("Dropdown component tests", function () {
223
235
  expect(getByRole("menu").getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-3"));
224
236
  });
225
237
  test("Menu button key events - Arrow down opens the list and moves the focus to the first menu item", function () {
238
+ var onSelectOption = jest.fn();
226
239
  var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
227
240
  options: options,
228
- label: "dropdown-test"
241
+ label: "dropdown-test",
242
+ onSelectOption: onSelectOption
229
243
  })),
230
244
  getByRole = _render8.getByRole;
231
245
  var dropdown = getByRole("button");
@@ -241,9 +255,11 @@ describe("Dropdown component tests", function () {
241
255
  expect(getByRole("menu").getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
242
256
  });
243
257
  test("Menu button key events - Enter opens the list and moves the focus to the first menu item", function () {
258
+ var onSelectOption = jest.fn();
244
259
  var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
245
260
  options: options,
246
- label: "dropdown-test"
261
+ label: "dropdown-test",
262
+ onSelectOption: onSelectOption
247
263
  })),
248
264
  getByRole = _render9.getByRole;
249
265
  var dropdown = getByRole("button");
@@ -259,9 +275,11 @@ describe("Dropdown component tests", function () {
259
275
  expect(getByRole("menu").getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
260
276
  });
261
277
  test("Menu button key events - Space opens the list and moves the focus to the first menu item", function () {
278
+ var onSelectOption = jest.fn();
262
279
  var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
263
280
  options: options,
264
- label: "dropdown-test"
281
+ label: "dropdown-test",
282
+ onSelectOption: onSelectOption
265
283
  })),
266
284
  getByRole = _render10.getByRole;
267
285
  var dropdown = getByRole("button");
@@ -446,17 +464,19 @@ describe("Dropdown component tests", function () {
446
464
  }, _callee8);
447
465
  })));
448
466
  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;
467
+ var onSelectOption, _render16, getByRole, queryByRole;
450
468
  return _regenerator["default"].wrap(function _callee9$(_context9) {
451
469
  while (1) switch (_context9.prev = _context9.next) {
452
470
  case 0:
471
+ onSelectOption = jest.fn();
453
472
  _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
454
473
  options: options,
455
- label: "dropdown-test"
474
+ label: "dropdown-test",
475
+ onSelectOption: onSelectOption
456
476
  })), getByRole = _render16.getByRole, queryByRole = _render16.queryByRole;
457
- _context9.next = 3;
477
+ _context9.next = 4;
458
478
  return _userEvent["default"].click(getByRole("button"));
459
- case 3:
479
+ case 4:
460
480
  _react2.fireEvent.keyDown(getByRole("menu"), {
461
481
  key: "Esc",
462
482
  code: "Esc",
@@ -465,16 +485,18 @@ describe("Dropdown component tests", function () {
465
485
  });
466
486
  expect(queryByRole("menu")).toBeFalsy();
467
487
  expect(document.activeElement === getByRole("button")).toBeTruthy();
468
- case 6:
488
+ case 7:
469
489
  case "end":
470
490
  return _context9.stop();
471
491
  }
472
492
  }, _callee9);
473
493
  })));
474
494
  test("Menu key events - Home moves the focus to the first menu item", function () {
495
+ var onSelectOption = jest.fn();
475
496
  var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
476
497
  options: options,
477
- label: "dropdown-test-1"
498
+ label: "dropdown-test-1",
499
+ onSelectOption: onSelectOption
478
500
  })),
479
501
  getByRole = _render17.getByRole;
480
502
  _react2.fireEvent.keyDown(getByRole("button"), {
@@ -494,17 +516,19 @@ describe("Dropdown component tests", function () {
494
516
  expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
495
517
  });
496
518
  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;
519
+ var onSelectOption, _render18, getByRole, menu;
498
520
  return _regenerator["default"].wrap(function _callee10$(_context10) {
499
521
  while (1) switch (_context10.prev = _context10.next) {
500
522
  case 0:
523
+ onSelectOption = jest.fn();
501
524
  _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
502
525
  options: options,
503
- label: "dropdown-test-1"
526
+ label: "dropdown-test-1",
527
+ onSelectOption: onSelectOption
504
528
  })), getByRole = _render18.getByRole;
505
- _context10.next = 3;
529
+ _context10.next = 4;
506
530
  return _userEvent["default"].click(getByRole("button"));
507
- case 3:
531
+ case 4:
508
532
  menu = getByRole("menu");
509
533
  expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
510
534
  _react2.fireEvent.keyDown(menu, {
@@ -514,16 +538,18 @@ describe("Dropdown component tests", function () {
514
538
  charCode: 35
515
539
  });
516
540
  expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-3"));
517
- case 7:
541
+ case 8:
518
542
  case "end":
519
543
  return _context10.stop();
520
544
  }
521
545
  }, _callee10);
522
546
  })));
523
547
  test("Menu key events - PageUp moves the focus to the first menu item", function () {
548
+ var onSelectOption = jest.fn();
524
549
  var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
525
550
  options: options,
526
- label: "dropdown-test-1"
551
+ label: "dropdown-test-1",
552
+ onSelectOption: onSelectOption
527
553
  })),
528
554
  getByRole = _render19.getByRole;
529
555
  _react2.fireEvent.keyDown(getByRole("button"), {
@@ -543,17 +569,19 @@ describe("Dropdown component tests", function () {
543
569
  expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
544
570
  });
545
571
  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;
572
+ var onSelectOption, _render20, getByRole, menu;
547
573
  return _regenerator["default"].wrap(function _callee11$(_context11) {
548
574
  while (1) switch (_context11.prev = _context11.next) {
549
575
  case 0:
576
+ onSelectOption = jest.fn();
550
577
  _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
551
578
  options: options,
552
- label: "dropdown-test-1"
579
+ label: "dropdown-test-1",
580
+ onSelectOption: onSelectOption
553
581
  })), getByRole = _render20.getByRole;
554
- _context11.next = 3;
582
+ _context11.next = 4;
555
583
  return _userEvent["default"].click(getByRole("button"));
556
- case 3:
584
+ case 4:
557
585
  menu = getByRole("menu");
558
586
  expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
559
587
  _react2.fireEvent.keyDown(menu, {
@@ -563,25 +591,27 @@ describe("Dropdown component tests", function () {
563
591
  charCode: 34
564
592
  });
565
593
  expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-3"));
566
- case 7:
594
+ case 8:
567
595
  case "end":
568
596
  return _context11.stop();
569
597
  }
570
598
  }, _callee11);
571
599
  })));
572
600
  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;
601
+ var onSelectOption, _render21, getByRole, queryByRole, dropdown;
574
602
  return _regenerator["default"].wrap(function _callee12$(_context12) {
575
603
  while (1) switch (_context12.prev = _context12.next) {
576
604
  case 0:
605
+ onSelectOption = jest.fn();
577
606
  _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
578
607
  options: options,
579
- label: "dropdown-test-1"
608
+ label: "dropdown-test-1",
609
+ onSelectOption: onSelectOption
580
610
  })), getByRole = _render21.getByRole, queryByRole = _render21.queryByRole;
581
611
  dropdown = getByRole("button");
582
- _context12.next = 4;
612
+ _context12.next = 5;
583
613
  return _userEvent["default"].click(dropdown);
584
- case 4:
614
+ case 5:
585
615
  expect(getByRole("menu")).toBeTruthy();
586
616
  _react2.fireEvent.keyDown(getByRole("menu"), {
587
617
  key: "Tab",
@@ -590,7 +620,7 @@ describe("Dropdown component tests", function () {
590
620
  charCode: 9
591
621
  });
592
622
  expect(queryByRole("menu")).toBeFalsy();
593
- case 7:
623
+ case 8:
594
624
  case "end":
595
625
  return _context12.stop();
596
626
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -6,7 +6,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
6
6
  var _react = _interopRequireDefault(require("react"));
7
7
  var _react2 = require("@testing-library/react");
8
8
  var _axeHelper = require("../../test/accessibility/axe-helper.js");
9
- var _FileInput = _interopRequireDefault(require("./FileInput.tsx"));
9
+ var _FileInput = _interopRequireDefault(require("./FileInput"));
10
10
  var picPreview = "https://cdn.mos.cms.futurecdn.net/CAZ6JXi6huSuN4QGE627NR.jpg";
11
11
  var file1 = new File(["file1"], "file.pdf", {
12
12
  type: "text/plain"
@@ -42,10 +42,11 @@ var filesExamples = [{
42
42
  }];
43
43
  describe("FileInput component accessibility tests", function () {
44
44
  it("Should not have basic accessibility issues for dropzone mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
45
- var _render, container, results;
45
+ var callbackFile, _render, container, results;
46
46
  return _regenerator["default"].wrap(function _callee$(_context) {
47
47
  while (1) switch (_context.prev = _context.next) {
48
48
  case 0:
49
+ callbackFile = jest.fn();
49
50
  _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
50
51
  label: "File input",
51
52
  helperText: "Helper Text",
@@ -55,26 +56,28 @@ describe("FileInput component accessibility tests", function () {
55
56
  margin: "medium",
56
57
  mode: "dropzone",
57
58
  multiple: true,
59
+ callbackFile: callbackFile,
58
60
  minSize: 1000,
59
61
  maxSize: 20000,
60
62
  showPreview: true
61
63
  })), container = _render.container;
62
- _context.next = 3;
64
+ _context.next = 4;
63
65
  return (0, _axeHelper.axe)(container);
64
- case 3:
66
+ case 4:
65
67
  results = _context.sent;
66
68
  expect(results).toHaveNoViolations();
67
- case 5:
69
+ case 6:
68
70
  case "end":
69
71
  return _context.stop();
70
72
  }
71
73
  }, _callee);
72
74
  })));
73
75
  it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
74
- var _render2, container, results;
76
+ var callbackFile, _render2, container, results;
75
77
  return _regenerator["default"].wrap(function _callee2$(_context2) {
76
78
  while (1) switch (_context2.prev = _context2.next) {
77
79
  case 0:
80
+ callbackFile = jest.fn();
78
81
  _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
79
82
  label: "File input",
80
83
  helperText: "Helper Text",
@@ -84,55 +87,58 @@ describe("FileInput component accessibility tests", function () {
84
87
  margin: "medium",
85
88
  mode: "dropzone",
86
89
  multiple: true,
90
+ callbackFile: callbackFile,
87
91
  minSize: 1000,
88
92
  maxSize: 20000,
89
93
  disabled: true
90
94
  })), container = _render2.container;
91
- _context2.next = 3;
95
+ _context2.next = 4;
92
96
  return (0, _axeHelper.axe)(container);
93
- case 3:
97
+ case 4:
94
98
  results = _context2.sent;
95
99
  expect(results).toHaveNoViolations();
96
- case 5:
100
+ case 6:
97
101
  case "end":
98
102
  return _context2.stop();
99
103
  }
100
104
  }, _callee2);
101
105
  })));
102
106
  it("Should not have basic accessibility issues for file mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
103
- var _render3, container, results;
107
+ var callbackFile, _render3, container, results;
104
108
  return _regenerator["default"].wrap(function _callee3$(_context3) {
105
109
  while (1) switch (_context3.prev = _context3.next) {
106
110
  case 0:
111
+ callbackFile = jest.fn();
107
112
  _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
108
113
  label: "File input",
109
114
  helperText: "Helper Text",
110
115
  value: filesExamples,
111
116
  buttonLabel: "Button Label",
112
- dropAreaLabel: "Drop Area",
113
117
  margin: "medium",
114
118
  mode: "file",
115
119
  multiple: true,
120
+ callbackFile: callbackFile,
116
121
  minSize: 1000,
117
122
  maxSize: 20000,
118
123
  showPreview: true
119
124
  })), container = _render3.container;
120
- _context3.next = 3;
125
+ _context3.next = 4;
121
126
  return (0, _axeHelper.axe)(container);
122
- case 3:
127
+ case 4:
123
128
  results = _context3.sent;
124
129
  expect(results).toHaveNoViolations();
125
- case 5:
130
+ case 6:
126
131
  case "end":
127
132
  return _context3.stop();
128
133
  }
129
134
  }, _callee3);
130
135
  })));
131
136
  it("Should not have basic accessibility issues for filedrop mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
132
- var _render4, container, results;
137
+ var callbackFile, _render4, container, results;
133
138
  return _regenerator["default"].wrap(function _callee4$(_context4) {
134
139
  while (1) switch (_context4.prev = _context4.next) {
135
140
  case 0:
141
+ callbackFile = jest.fn();
136
142
  _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
137
143
  label: "File input",
138
144
  helperText: "Helper Text",
@@ -142,16 +148,17 @@ describe("FileInput component accessibility tests", function () {
142
148
  margin: "medium",
143
149
  mode: "filedrop",
144
150
  multiple: true,
151
+ callbackFile: callbackFile,
145
152
  minSize: 1000,
146
153
  maxSize: 20000,
147
154
  showPreview: true
148
155
  })), container = _render4.container;
149
- _context4.next = 3;
156
+ _context4.next = 4;
150
157
  return (0, _axeHelper.axe)(container);
151
- case 3:
158
+ case 4:
152
159
  results = _context4.sent;
153
160
  expect(results).toHaveNoViolations();
154
- case 5:
161
+ case 6:
155
162
  case "end":
156
163
  return _context4.stop();
157
164
  }
@@ -15,7 +15,6 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
15
15
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
16
16
  var _react = _interopRequireWildcard(require("react"));
17
17
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
18
- var _uuid = require("uuid");
19
18
  var _variables = require("../common/variables");
20
19
  var _useTheme = _interopRequireDefault(require("../useTheme"));
21
20
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
@@ -112,9 +111,7 @@ var DxcFileInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref3, re
112
111
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
113
112
  files = _useState4[0],
114
113
  setFiles = _useState4[1];
115
- var _useState5 = (0, _react.useState)("file-input-".concat((0, _uuid.v4)())),
116
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 1),
117
- fileInputId = _useState6[0];
114
+ var fileInputId = "file-input-".concat((0, _react.useId)());
118
115
  var colorsTheme = (0, _useTheme["default"])();
119
116
  var translatedLabels = (0, _useTranslatedLabels["default"])();
120
117
  var checkFileSize = function checkFileSize(file) {
@@ -0,0 +1 @@
1
+ export {};