@dxc-technology/halstack-react 0.0.0-49006fa → 0.0.0-49081f0

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 (211) hide show
  1. package/HalstackContext.d.ts +12 -0
  2. package/HalstackContext.js +295 -0
  3. package/accordion/Accordion.d.ts +1 -1
  4. package/accordion/Accordion.js +121 -123
  5. package/accordion/Accordion.stories.tsx +13 -14
  6. package/accordion/Accordion.test.js +25 -11
  7. package/accordion/types.d.ts +9 -4
  8. package/accordion-group/AccordionGroup.d.ts +1 -1
  9. package/accordion-group/AccordionGroup.js +15 -36
  10. package/accordion-group/AccordionGroup.stories.tsx +28 -2
  11. package/accordion-group/AccordionGroup.test.js +30 -37
  12. package/accordion-group/types.d.ts +14 -3
  13. package/alert/Alert.js +5 -2
  14. package/badge/Badge.d.ts +1 -1
  15. package/badge/Badge.js +5 -3
  16. package/badge/types.d.ts +1 -0
  17. package/bleed/Bleed.js +1 -34
  18. package/bleed/Bleed.stories.tsx +94 -95
  19. package/bleed/types.d.ts +1 -1
  20. package/box/Box.js +23 -33
  21. package/box/types.d.ts +1 -0
  22. package/bulleted-list/BulletedList.d.ts +7 -0
  23. package/bulleted-list/BulletedList.js +123 -0
  24. package/bulleted-list/BulletedList.stories.tsx +200 -0
  25. package/bulleted-list/types.d.ts +11 -0
  26. package/{list → bulleted-list}/types.js +0 -0
  27. package/button/Button.js +53 -68
  28. package/button/Button.stories.tsx +9 -0
  29. package/button/types.d.ts +7 -7
  30. package/card/Card.js +24 -27
  31. package/card/types.d.ts +1 -0
  32. package/checkbox/Checkbox.d.ts +1 -1
  33. package/checkbox/Checkbox.js +99 -97
  34. package/checkbox/Checkbox.stories.tsx +124 -128
  35. package/checkbox/Checkbox.test.js +93 -16
  36. package/checkbox/types.d.ts +5 -5
  37. package/chip/types.d.ts +1 -1
  38. package/common/variables.js +236 -100
  39. package/date-input/DateInput.js +41 -23
  40. package/date-input/DateInput.test.js +9 -22
  41. package/date-input/types.d.ts +12 -9
  42. package/dialog/Dialog.js +46 -50
  43. package/dialog/Dialog.stories.tsx +57 -2
  44. package/dialog/Dialog.test.js +34 -4
  45. package/dialog/types.d.ts +3 -2
  46. package/dropdown/Dropdown.d.ts +1 -1
  47. package/dropdown/Dropdown.js +244 -251
  48. package/dropdown/Dropdown.stories.tsx +126 -63
  49. package/dropdown/Dropdown.test.js +509 -108
  50. package/dropdown/DropdownMenu.d.ts +4 -0
  51. package/dropdown/DropdownMenu.js +80 -0
  52. package/dropdown/DropdownMenuItem.d.ts +4 -0
  53. package/dropdown/DropdownMenuItem.js +92 -0
  54. package/dropdown/types.d.ts +25 -5
  55. package/file-input/FileInput.js +174 -193
  56. package/file-input/FileInput.stories.tsx +38 -6
  57. package/file-input/FileInput.test.js +41 -0
  58. package/file-input/FileItem.d.ts +4 -4
  59. package/file-input/FileItem.js +29 -39
  60. package/flex/Flex.d.ts +4 -0
  61. package/flex/Flex.js +69 -0
  62. package/flex/Flex.stories.tsx +103 -0
  63. package/flex/types.d.ts +32 -0
  64. package/{radio → flex}/types.js +0 -0
  65. package/footer/Footer.js +15 -88
  66. package/footer/Footer.stories.tsx +8 -1
  67. package/footer/Icons.js +1 -1
  68. package/footer/types.d.ts +2 -1
  69. package/header/Header.js +95 -114
  70. package/header/Header.stories.tsx +46 -36
  71. package/header/Header.test.js +18 -2
  72. package/header/Icons.js +2 -2
  73. package/header/types.d.ts +3 -2
  74. package/inset/Inset.js +1 -34
  75. package/inset/Inset.stories.tsx +36 -36
  76. package/inset/types.d.ts +25 -1
  77. package/layout/ApplicationLayout.d.ts +16 -6
  78. package/layout/ApplicationLayout.js +71 -131
  79. package/layout/ApplicationLayout.stories.tsx +84 -93
  80. package/layout/Icons.d.ts +5 -0
  81. package/layout/Icons.js +13 -2
  82. package/layout/SidenavContext.d.ts +5 -0
  83. package/layout/SidenavContext.js +19 -0
  84. package/layout/types.d.ts +18 -33
  85. package/link/Link.d.ts +3 -2
  86. package/link/Link.js +57 -74
  87. package/link/Link.stories.tsx +95 -53
  88. package/link/Link.test.js +7 -15
  89. package/link/types.d.ts +7 -23
  90. package/main.d.ts +8 -10
  91. package/main.js +46 -56
  92. package/number-input/NumberInput.test.js +40 -5
  93. package/number-input/types.d.ts +13 -10
  94. package/package.json +14 -12
  95. package/paginator/Paginator.js +17 -38
  96. package/paginator/Paginator.test.js +43 -1
  97. package/paragraph/Paragraph.d.ts +6 -0
  98. package/paragraph/Paragraph.js +38 -0
  99. package/paragraph/Paragraph.stories.tsx +44 -0
  100. package/password-input/PasswordInput.js +7 -4
  101. package/password-input/PasswordInput.test.js +16 -18
  102. package/password-input/types.d.ts +14 -11
  103. package/progress-bar/ProgressBar.d.ts +2 -2
  104. package/progress-bar/ProgressBar.js +57 -51
  105. package/progress-bar/ProgressBar.stories.jsx +13 -11
  106. package/progress-bar/ProgressBar.test.js +67 -22
  107. package/progress-bar/types.d.ts +3 -4
  108. package/quick-nav/QuickNav.d.ts +4 -0
  109. package/quick-nav/QuickNav.js +117 -0
  110. package/quick-nav/QuickNav.stories.tsx +342 -0
  111. package/quick-nav/types.d.ts +21 -0
  112. package/{row → quick-nav}/types.js +0 -0
  113. package/radio-group/Radio.d.ts +1 -1
  114. package/radio-group/Radio.js +43 -28
  115. package/radio-group/RadioGroup.js +30 -27
  116. package/radio-group/RadioGroup.stories.tsx +1 -0
  117. package/radio-group/RadioGroup.test.js +123 -96
  118. package/radio-group/types.d.ts +2 -2
  119. package/resultsetTable/ResultsetTable.js +1 -3
  120. package/resultsetTable/ResultsetTable.test.js +42 -0
  121. package/select/Listbox.d.ts +4 -0
  122. package/select/Listbox.js +198 -0
  123. package/select/Option.js +1 -1
  124. package/select/Select.js +104 -199
  125. package/select/Select.stories.tsx +145 -100
  126. package/select/Select.test.js +503 -286
  127. package/select/types.d.ts +31 -12
  128. package/sidenav/Sidenav.d.ts +6 -5
  129. package/sidenav/Sidenav.js +184 -52
  130. package/sidenav/Sidenav.stories.tsx +154 -156
  131. package/sidenav/Sidenav.test.js +25 -37
  132. package/sidenav/types.d.ts +50 -27
  133. package/slider/Slider.d.ts +1 -1
  134. package/slider/Slider.js +118 -93
  135. package/slider/Slider.stories.tsx +15 -9
  136. package/slider/Slider.test.js +142 -21
  137. package/slider/types.d.ts +6 -2
  138. package/spinner/Spinner.js +1 -1
  139. package/switch/Switch.d.ts +2 -2
  140. package/switch/Switch.js +133 -64
  141. package/switch/Switch.stories.tsx +16 -38
  142. package/switch/Switch.test.js +144 -17
  143. package/switch/types.d.ts +5 -6
  144. package/table/Table.js +1 -1
  145. package/tabs/Tab.d.ts +4 -0
  146. package/tabs/Tab.js +135 -0
  147. package/tabs/Tabs.d.ts +1 -1
  148. package/tabs/Tabs.js +362 -108
  149. package/tabs/Tabs.stories.tsx +74 -8
  150. package/tabs/Tabs.test.js +241 -13
  151. package/tabs/types.d.ts +19 -5
  152. package/tabs-nav/NavTabs.d.ts +8 -0
  153. package/tabs-nav/NavTabs.js +125 -0
  154. package/tabs-nav/NavTabs.stories.tsx +170 -0
  155. package/tabs-nav/NavTabs.test.js +82 -0
  156. package/tabs-nav/Tab.d.ts +4 -0
  157. package/tabs-nav/Tab.js +130 -0
  158. package/tabs-nav/types.d.ts +53 -0
  159. package/{stack → tabs-nav}/types.js +0 -0
  160. package/tag/Tag.js +6 -9
  161. package/tag/types.d.ts +1 -1
  162. package/text-input/Icons.d.ts +8 -0
  163. package/text-input/Icons.js +60 -0
  164. package/text-input/Suggestion.d.ts +4 -0
  165. package/text-input/Suggestion.js +57 -0
  166. package/text-input/Suggestions.d.ts +4 -0
  167. package/text-input/Suggestions.js +134 -0
  168. package/text-input/TextInput.js +213 -334
  169. package/text-input/TextInput.stories.tsx +189 -182
  170. package/text-input/TextInput.test.js +244 -198
  171. package/text-input/types.d.ts +46 -12
  172. package/textarea/Textarea.js +10 -19
  173. package/textarea/types.d.ts +10 -7
  174. package/toggle-group/ToggleGroup.d.ts +1 -1
  175. package/toggle-group/ToggleGroup.js +5 -4
  176. package/toggle-group/ToggleGroup.stories.tsx +4 -4
  177. package/toggle-group/ToggleGroup.test.js +35 -4
  178. package/toggle-group/types.d.ts +9 -1
  179. package/typography/Typography.d.ts +4 -0
  180. package/typography/Typography.js +131 -0
  181. package/typography/Typography.stories.tsx +198 -0
  182. package/typography/types.d.ts +18 -0
  183. package/typography/types.js +5 -0
  184. package/useTheme.js +2 -2
  185. package/useTranslatedLabels.d.ts +2 -0
  186. package/useTranslatedLabels.js +20 -0
  187. package/wizard/Wizard.js +43 -44
  188. package/wizard/Wizard.stories.tsx +20 -1
  189. package/wizard/types.d.ts +5 -4
  190. package/ThemeContext.d.ts +0 -10
  191. package/ThemeContext.js +0 -243
  192. package/list/List.d.ts +0 -4
  193. package/list/List.js +0 -47
  194. package/list/List.stories.tsx +0 -95
  195. package/list/types.d.ts +0 -7
  196. package/radio/Radio.d.ts +0 -4
  197. package/radio/Radio.js +0 -174
  198. package/radio/Radio.stories.tsx +0 -192
  199. package/radio/Radio.test.js +0 -71
  200. package/radio/types.d.ts +0 -54
  201. package/row/Row.d.ts +0 -3
  202. package/row/Row.js +0 -127
  203. package/row/Row.stories.tsx +0 -237
  204. package/row/types.d.ts +0 -28
  205. package/stack/Stack.d.ts +0 -3
  206. package/stack/Stack.js +0 -97
  207. package/stack/Stack.stories.tsx +0 -164
  208. package/stack/types.d.ts +0 -24
  209. package/text/Text.d.ts +0 -7
  210. package/text/Text.js +0 -30
  211. package/text/Text.stories.tsx +0 -19
@@ -2,6 +2,10 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
6
+
7
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
+
5
9
  var _react = _interopRequireDefault(require("react"));
6
10
 
7
11
  var _Select = _interopRequireDefault(require("./Select"));
@@ -10,6 +14,44 @@ var _react2 = require("@testing-library/react");
10
14
 
11
15
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
12
16
 
17
+ // Mocking DOMRect for Radix Primitive Popover
18
+ global.globalThis = global;
19
+
20
+ global.ResizeObserver = /*#__PURE__*/function () {
21
+ function ResizeObserver(cb) {
22
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
23
+ this.cb = cb;
24
+ }
25
+
26
+ (0, _createClass2["default"])(ResizeObserver, [{
27
+ key: "observe",
28
+ value: function observe() {
29
+ this.cb([{
30
+ borderBoxSize: {
31
+ inlineSize: 0,
32
+ blockSize: 0
33
+ }
34
+ }]);
35
+ }
36
+ }, {
37
+ key: "unobserve",
38
+ value: function unobserve() {}
39
+ }]);
40
+ return ResizeObserver;
41
+ }();
42
+
43
+ global.DOMRect = {
44
+ fromRect: function fromRect() {
45
+ return {
46
+ top: 0,
47
+ left: 0,
48
+ bottom: 0,
49
+ right: 0,
50
+ width: 0,
51
+ height: 0
52
+ };
53
+ }
54
+ };
13
55
  var single_options = [{
14
56
  label: "Option 01",
15
57
  value: "1"
@@ -264,7 +306,7 @@ var grouped_icon_options = [{
264
306
  }]
265
307
  }];
266
308
  describe("Select component tests", function () {
267
- test("Renders with correct label", function () {
309
+ test("When clicking the label, the focus goes to the select", function () {
268
310
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
269
311
  label: "test-select-label",
270
312
  helperText: "test-select-helper-text",
@@ -275,40 +317,18 @@ describe("Select component tests", function () {
275
317
 
276
318
  var select = getByRole("combobox");
277
319
  var label = getByText("test-select-label");
278
- expect(label).toBeTruthy();
279
320
 
280
321
  _userEvent["default"].click(label);
281
322
 
282
323
  expect(document.activeElement).toEqual(select);
283
324
  });
284
- test("Renders with correct helper text and placeholder", function () {
325
+ test("Renders with correct aria attributes when is in error state", function () {
285
326
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
286
- label: "test-select-label",
287
- helperText: "test-select-helper-text",
288
- placeholder: "Example text"
289
- })),
290
- getByText = _render2.getByText;
291
-
292
- expect(getByText("test-select-helper-text")).toBeTruthy();
293
- expect(getByText("Example text")).toBeTruthy();
294
- });
295
- test("Renders with correct optional label", function () {
296
- var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
297
- label: "test-select-label",
298
- optional: true
299
- })),
300
- getByText = _render3.getByText;
301
-
302
- expect(getByText("test-select-label")).toBeTruthy();
303
- expect(getByText("(Optional)")).toBeTruthy();
304
- });
305
- test("Renders with error message and correct aria attributes", function () {
306
- var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
307
327
  label: "Error label",
308
328
  error: "Error message."
309
329
  })),
310
- getByText = _render4.getByText,
311
- getByRole = _render4.getByRole;
330
+ getByText = _render2.getByText,
331
+ getByRole = _render2.getByRole;
312
332
 
313
333
  var select = getByRole("combobox");
314
334
  var errorMessage = getByText("Error message.");
@@ -318,13 +338,13 @@ describe("Select component tests", function () {
318
338
  expect(errorMessage.getAttribute("aria-live")).toBe("assertive");
319
339
  });
320
340
  test("Renders with correct aria attributes", function () {
321
- var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
341
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
322
342
  label: "test-select-label",
323
343
  placeholder: "Example",
324
344
  options: single_options
325
345
  })),
326
- getByText = _render5.getByText,
327
- getByRole = _render5.getByRole;
346
+ getByText = _render3.getByText,
347
+ getByRole = _render3.getByRole;
328
348
 
329
349
  var select = getByRole("combobox");
330
350
  var label = getByText("test-select-label");
@@ -343,17 +363,17 @@ describe("Select component tests", function () {
343
363
  expect(list.getAttribute("aria-multiselectable")).toBe("false");
344
364
  });
345
365
  test("Single selection: Renders with correct default value", function () {
346
- var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
366
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
347
367
  label: "test-select-label",
348
368
  name: "test",
349
369
  defaultValue: "4",
350
370
  options: single_options
351
371
  })),
352
- getByText = _render6.getByText,
353
- getByRole = _render6.getByRole,
354
- getAllByRole = _render6.getAllByRole,
355
- queryByRole = _render6.queryByRole,
356
- container = _render6.container;
372
+ getByText = _render4.getByText,
373
+ getByRole = _render4.getByRole,
374
+ getAllByRole = _render4.getAllByRole,
375
+ queryByRole = _render4.queryByRole,
376
+ container = _render4.container;
357
377
 
358
378
  var select = getByRole("combobox");
359
379
  var submitInput = container.querySelector("input[name=\"test\"]");
@@ -371,18 +391,18 @@ describe("Select component tests", function () {
371
391
  expect(submitInput.value).toBe("8");
372
392
  });
373
393
  test("Multiple selection: Renders with correct default value", function () {
374
- var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
394
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
375
395
  label: "test-select-label",
376
396
  name: "test",
377
397
  defaultValue: ["4", "2", "6"],
378
398
  options: single_options,
379
399
  multiple: true
380
400
  })),
381
- getByText = _render7.getByText,
382
- getByRole = _render7.getByRole,
383
- getAllByRole = _render7.getAllByRole,
384
- queryByRole = _render7.queryByRole,
385
- container = _render7.container;
401
+ getByText = _render5.getByText,
402
+ getByRole = _render5.getByRole,
403
+ getAllByRole = _render5.getAllByRole,
404
+ queryByRole = _render5.queryByRole,
405
+ container = _render5.container;
386
406
 
387
407
  var select = getByRole("combobox");
388
408
  var submitInput = container.querySelector("input[name=\"test\"]");
@@ -401,18 +421,49 @@ describe("Select component tests", function () {
401
421
  expect(getByText("Option 02, Option 03, Option 04, Option 06")).toBeTruthy();
402
422
  expect(submitInput.value).toBe("4,2,6,3");
403
423
  });
404
- test("Disabled select - Clear all options action must be shown but not clickable", function () {
405
- var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
424
+ test("Sends its value when submitted", function () {
425
+ var handlerOnSubmit = jest.fn(function (e) {
426
+ e.preventDefault();
427
+ var formData = new FormData(e.target);
428
+ var formProps = Object.fromEntries(formData);
429
+ expect(formProps).toStrictEqual({
430
+ options: "1,5,3"
431
+ });
432
+ });
433
+
434
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
435
+ onSubmit: handlerOnSubmit
436
+ }, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
437
+ name: "options",
406
438
  label: "test-select-label",
407
- value: ["1", "2"],
439
+ defaultValue: ["1", "5"],
408
440
  options: single_options,
409
- disabled: true,
410
- searchable: true,
411
441
  multiple: true
442
+ }), /*#__PURE__*/_react["default"].createElement("button", {
443
+ type: "submit"
444
+ }, "Submit"))),
445
+ getByText = _render6.getByText,
446
+ getByRole = _render6.getByRole,
447
+ getAllByRole = _render6.getAllByRole;
448
+
449
+ var select = getByRole("combobox");
450
+ var submit = getByText("Submit");
451
+
452
+ _userEvent["default"].click(select);
453
+
454
+ _userEvent["default"].click(getAllByRole("option")[2]);
455
+
456
+ _userEvent["default"].click(submit);
457
+ });
458
+ test("Disabled select - Cannot gain focus or open the listbox via click", function () {
459
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
460
+ label: "test-select-label",
461
+ value: ["1", "2"],
462
+ options: single_options,
463
+ disabled: true
412
464
  })),
413
- getByRole = _render8.getByRole,
414
- getByText = _render8.getByText,
415
- queryByRole = _render8.queryByRole;
465
+ getByRole = _render7.getByRole,
466
+ queryByRole = _render7.queryByRole;
416
467
 
417
468
  var select = getByRole("combobox");
418
469
  expect(select.getAttribute("aria-disabled")).toBe("true");
@@ -420,13 +471,50 @@ describe("Select component tests", function () {
420
471
  _userEvent["default"].click(select);
421
472
 
422
473
  expect(queryByRole("listbox")).toBeFalsy();
474
+ expect(document.activeElement === select).toBeFalsy();
475
+ });
476
+ test("Disabled select - Clear all options action must be shown but not clickable", function () {
477
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
478
+ label: "test-select-label",
479
+ value: ["1", "2"],
480
+ options: single_options,
481
+ disabled: true,
482
+ searchable: true,
483
+ multiple: true
484
+ })),
485
+ getByRole = _render8.getByRole,
486
+ getByText = _render8.getByText;
423
487
 
424
488
  _userEvent["default"].click(getByRole("button"));
425
489
 
426
490
  expect(getByText("Option 01, Option 02")).toBeTruthy();
427
491
  });
428
- test("Focused select does not open the listbox", function () {
492
+ test("Disabled select - Does not call onBlur event", function () {
493
+ var onBlur = jest.fn();
494
+
429
495
  var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
496
+ label: "test-select-label",
497
+ options: single_options,
498
+ disabled: true,
499
+ onBlur: onBlur
500
+ })),
501
+ getByRole = _render9.getByRole;
502
+
503
+ var select = getByRole("combobox");
504
+
505
+ _userEvent["default"].click(select);
506
+
507
+ _react2.fireEvent.keyDown(getByRole("combobox"), {
508
+ key: "Tab",
509
+ code: "Tab",
510
+ keyCode: 9,
511
+ charCode: 9
512
+ });
513
+
514
+ expect(onBlur).not.toHaveBeenCalled();
515
+ });
516
+ test("Disabled select - When the component gains the focus, the listbox does not open", function () {
517
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
430
518
  label: "test-select-label",
431
519
  value: ["1", "2"],
432
520
  options: single_options,
@@ -434,27 +522,52 @@ describe("Select component tests", function () {
434
522
  searchable: true,
435
523
  multiple: true
436
524
  })),
437
- getByRole = _render9.getByRole,
438
- queryByRole = _render9.queryByRole;
525
+ getByRole = _render10.getByRole,
526
+ queryByRole = _render10.queryByRole;
439
527
 
440
528
  var select = getByRole("combobox");
441
529
 
442
530
  _react2.fireEvent.focus(select);
443
531
 
444
532
  expect(queryByRole("listbox")).toBeFalsy();
533
+ expect(document.activeElement === select).toBeFalsy();
445
534
  });
446
- test("Controlled - Not optional constraint", function () {
535
+ test("Disabled select - Doesn't send its value when submitted", function () {
536
+ var handlerOnSubmit = jest.fn(function (e) {
537
+ e.preventDefault();
538
+ var formData = new FormData(e.target);
539
+ var formProps = Object.fromEntries(formData);
540
+ expect(formProps).toStrictEqual({});
541
+ });
542
+
543
+ var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
544
+ onSubmit: handlerOnSubmit
545
+ }, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
546
+ label: "test-select-label",
547
+ defaultValue: "1",
548
+ options: single_options,
549
+ disabled: true
550
+ }), /*#__PURE__*/_react["default"].createElement("button", {
551
+ type: "submit"
552
+ }, "Submit"))),
553
+ getByText = _render11.getByText;
554
+
555
+ var submit = getByText("Submit");
556
+
557
+ _userEvent["default"].click(submit);
558
+ });
559
+ test("Controlled - Single selection - Not optional constraint", function () {
447
560
  var onChange = jest.fn();
448
561
  var onBlur = jest.fn();
449
562
 
450
- var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
563
+ var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
451
564
  label: "test-select-label",
452
565
  options: single_options,
453
566
  onChange: onChange,
454
567
  onBlur: onBlur
455
568
  })),
456
- getByRole = _render10.getByRole,
457
- getAllByRole = _render10.getAllByRole;
569
+ getByRole = _render12.getByRole,
570
+ getAllByRole = _render12.getAllByRole;
458
571
 
459
572
  var select = getByRole("combobox");
460
573
  expect(select.getAttribute("aria-required")).toBe("true");
@@ -475,32 +588,93 @@ describe("Select component tests", function () {
475
588
 
476
589
  expect(onChange).toHaveBeenCalled();
477
590
  expect(onChange).toHaveBeenCalledWith({
478
- value: "1",
479
- error: null
591
+ value: "1"
480
592
  });
481
593
 
594
+ _react2.fireEvent.blur(select);
595
+
596
+ expect(onBlur).toHaveBeenCalled();
597
+ expect(onBlur).toHaveBeenCalledWith({
598
+ value: "1"
599
+ });
600
+ });
601
+ test("Controlled - Multiple selection - Not optional constraint", function () {
602
+ var onChange = jest.fn();
603
+ var onBlur = jest.fn();
604
+
605
+ var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
606
+ label: "test-select-label",
607
+ options: single_options,
608
+ onChange: onChange,
609
+ onBlur: onBlur,
610
+ multiple: true
611
+ })),
612
+ getByRole = _render13.getByRole,
613
+ getAllByRole = _render13.getAllByRole;
614
+
615
+ var select = getByRole("combobox");
616
+ expect(select.getAttribute("aria-required")).toBe("true");
617
+
482
618
  _react2.fireEvent.focus(select);
483
619
 
484
620
  _react2.fireEvent.blur(select);
485
621
 
486
622
  expect(onBlur).toHaveBeenCalled();
487
623
  expect(onBlur).toHaveBeenCalledWith({
488
- value: "1",
489
- error: null
624
+ value: [],
625
+ error: "This field is required. Please, enter a value."
626
+ });
627
+
628
+ _userEvent["default"].click(select);
629
+
630
+ _userEvent["default"].click(getAllByRole("option")[0]);
631
+
632
+ _userEvent["default"].click(getAllByRole("option")[1]);
633
+
634
+ expect(onChange).toHaveBeenCalled();
635
+ expect(onChange).toHaveBeenCalledWith({
636
+ value: ["1", "2"]
637
+ });
638
+
639
+ _react2.fireEvent.blur(select);
640
+
641
+ expect(onBlur).toHaveBeenCalled();
642
+ expect(onBlur).toHaveBeenCalledWith({
643
+ value: ["1", "2"]
644
+ });
645
+
646
+ _userEvent["default"].click(select);
647
+
648
+ _userEvent["default"].click(getAllByRole("option")[0]);
649
+
650
+ _userEvent["default"].click(getAllByRole("option")[1]);
651
+
652
+ expect(onChange).toHaveBeenCalled();
653
+ expect(onChange).toHaveBeenCalledWith({
654
+ value: [],
655
+ error: "This field is required. Please, enter a value."
656
+ });
657
+
658
+ _react2.fireEvent.blur(select);
659
+
660
+ expect(onBlur).toHaveBeenCalled();
661
+ expect(onBlur).toHaveBeenCalledWith({
662
+ value: [],
663
+ error: "This field is required. Please, enter a value."
490
664
  });
491
665
  });
492
666
  test("Controlled - Optional constraint", function () {
493
667
  var onChange = jest.fn();
494
668
  var onBlur = jest.fn();
495
669
 
496
- var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
670
+ var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
497
671
  label: "test-select-label",
498
672
  options: single_options,
499
673
  onChange: onChange,
500
674
  onBlur: onBlur,
501
675
  optional: true
502
676
  })),
503
- getByRole = _render11.getByRole;
677
+ getByRole = _render14.getByRole;
504
678
 
505
679
  var select = getByRole("combobox");
506
680
  expect(select.getAttribute("aria-required")).toBe("false");
@@ -511,20 +685,19 @@ describe("Select component tests", function () {
511
685
 
512
686
  expect(onBlur).toHaveBeenCalled();
513
687
  expect(onBlur).toHaveBeenCalledWith({
514
- value: "",
515
- error: null
688
+ value: ""
516
689
  });
517
690
  expect(select.getAttribute("aria-invalid")).toBe("false");
518
691
  });
519
692
  test("Non-Grouped Options - Opens listbox and renders correctly or closes it with a click on select", function () {
520
- var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
693
+ var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
521
694
  label: "test-select-label",
522
695
  options: single_options
523
696
  })),
524
- getByText = _render12.getByText,
525
- getByRole = _render12.getByRole,
526
- getAllByRole = _render12.getAllByRole,
527
- queryByRole = _render12.queryByRole;
697
+ getByText = _render15.getByText,
698
+ getByRole = _render15.getByRole,
699
+ getAllByRole = _render15.getAllByRole,
700
+ queryByRole = _render15.queryByRole;
528
701
 
529
702
  var select = getByRole("combobox");
530
703
 
@@ -544,12 +717,12 @@ describe("Select component tests", function () {
544
717
  expect(select.getAttribute("aria-expanded")).toBe("false");
545
718
  });
546
719
  test("Non-Grouped Options - If an empty list of options is passed, the select is rendered but doestn't open the listbox", function () {
547
- var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
720
+ var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
548
721
  label: "test-select-label",
549
722
  options: []
550
723
  })),
551
- getByRole = _render13.getByRole,
552
- queryByRole = _render13.queryByRole;
724
+ getByRole = _render16.getByRole,
725
+ queryByRole = _render16.queryByRole;
553
726
 
554
727
  var select = getByRole("combobox");
555
728
 
@@ -561,17 +734,17 @@ describe("Select component tests", function () {
561
734
  test("Non-Grouped Options - Click in an option selects it and closes the listbox", function () {
562
735
  var onChange = jest.fn();
563
736
 
564
- var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
737
+ var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
565
738
  name: "test",
566
739
  label: "test-select-label",
567
740
  options: single_options,
568
741
  onChange: onChange
569
742
  })),
570
- getByText = _render14.getByText,
571
- getByRole = _render14.getByRole,
572
- getAllByRole = _render14.getAllByRole,
573
- queryByRole = _render14.queryByRole,
574
- container = _render14.container;
743
+ getByText = _render17.getByText,
744
+ getByRole = _render17.getByRole,
745
+ getAllByRole = _render17.getAllByRole,
746
+ queryByRole = _render17.queryByRole,
747
+ container = _render17.container;
575
748
 
576
749
  var select = getByRole("combobox");
577
750
  var submitInput = container.querySelector("input[name=\"test\"]");
@@ -581,8 +754,7 @@ describe("Select component tests", function () {
581
754
  _userEvent["default"].click(getAllByRole("option")[2]);
582
755
 
583
756
  expect(onChange).toHaveBeenCalledWith({
584
- value: "3",
585
- error: null
757
+ value: "3"
586
758
  });
587
759
  expect(queryByRole("listbox")).toBeFalsy();
588
760
  expect(getByText("Option 03")).toBeTruthy();
@@ -595,16 +767,16 @@ describe("Select component tests", function () {
595
767
  test("Non-Grouped Options - Optional renders an empty first option (selected by default) with the placeholder as its label", function () {
596
768
  var onChange = jest.fn();
597
769
 
598
- var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
770
+ var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
599
771
  label: "test-select-label",
600
772
  placeholder: "Choose an option",
601
773
  options: single_options,
602
774
  onChange: onChange,
603
775
  optional: true
604
776
  })),
605
- getByRole = _render15.getByRole,
606
- getAllByRole = _render15.getAllByRole,
607
- getAllByText = _render15.getAllByText;
777
+ getByRole = _render18.getByRole,
778
+ getAllByRole = _render18.getAllByRole,
779
+ getAllByText = _render18.getAllByText;
608
780
 
609
781
  var select = getByRole("combobox");
610
782
 
@@ -616,8 +788,7 @@ describe("Select component tests", function () {
616
788
  _userEvent["default"].click(getAllByRole("option")[0]);
617
789
 
618
790
  expect(onChange).toHaveBeenCalledWith({
619
- value: "",
620
- error: null
791
+ value: ""
621
792
  });
622
793
  expect(getAllByText("Choose an option").length).toBe(1);
623
794
 
@@ -638,8 +809,7 @@ describe("Select component tests", function () {
638
809
  });
639
810
 
640
811
  expect(onChange).toHaveBeenCalledWith({
641
- value: "",
642
- error: null
812
+ value: ""
643
813
  });
644
814
  expect(getAllByText("Choose an option").length).toBe(1);
645
815
 
@@ -653,18 +823,18 @@ describe("Select component tests", function () {
653
823
  expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
654
824
  });
655
825
  test("Non-Grouped Options - Filtering options never affects the optional item until there are no coincidence", function () {
656
- var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
826
+ var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
657
827
  label: "test-select-label",
658
828
  placeholder: "Placeholder example",
659
829
  options: single_options,
660
830
  optional: true,
661
831
  searchable: true
662
832
  })),
663
- getByRole = _render16.getByRole,
664
- getAllByRole = _render16.getAllByRole,
665
- getByText = _render16.getByText,
666
- queryByText = _render16.queryByText,
667
- container = _render16.container;
833
+ getByRole = _render19.getByRole,
834
+ getAllByRole = _render19.getAllByRole,
835
+ getByText = _render19.getByText,
836
+ queryByText = _render19.queryByText,
837
+ container = _render19.container;
668
838
 
669
839
  var select = getByRole("combobox");
670
840
  var searchInput = container.querySelectorAll("input")[1];
@@ -682,12 +852,12 @@ describe("Select component tests", function () {
682
852
  expect(getByText("No matches found")).toBeTruthy();
683
853
  });
684
854
  test("Non-Grouped Options - Renders SVG icons correctly when passed with options", function () {
685
- var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
855
+ var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
686
856
  label: "test-select-label",
687
857
  options: svg_icon_options
688
858
  })),
689
- getByRole = _render17.getByRole,
690
- getAllByRole = _render17.getAllByRole;
859
+ getByRole = _render20.getByRole,
860
+ getAllByRole = _render20.getAllByRole;
691
861
 
692
862
  var select = getByRole("combobox");
693
863
 
@@ -697,13 +867,13 @@ describe("Select component tests", function () {
697
867
  expect(getAllByRole("option").length).toBe(5);
698
868
  });
699
869
  test("Non-Grouped Options - Renders string url icons correctly when passed with options", function () {
700
- var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
870
+ var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
701
871
  label: "test-select-label",
702
872
  options: url_icon_options,
703
873
  optional: true
704
874
  })),
705
- getByRole = _render18.getByRole,
706
- getAllByRole = _render18.getAllByRole;
875
+ getByRole = _render21.getByRole,
876
+ getAllByRole = _render21.getAllByRole;
707
877
 
708
878
  var select = getByRole("combobox");
709
879
 
@@ -713,12 +883,12 @@ describe("Select component tests", function () {
713
883
  expect(getAllByRole("option").length).toBe(6);
714
884
  });
715
885
  test("Non-Grouped Options: Arrow up key - Opens the listbox and visually focus the last option", function () {
716
- var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
886
+ var _render22 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
717
887
  label: "test-select-label",
718
888
  options: single_options
719
889
  })),
720
- getByRole = _render19.getByRole,
721
- queryByRole = _render19.queryByRole;
890
+ getByRole = _render22.getByRole,
891
+ queryByRole = _render22.queryByRole;
722
892
 
723
893
  var select = getByRole("combobox");
724
894
 
@@ -733,12 +903,12 @@ describe("Select component tests", function () {
733
903
  expect(select.getAttribute("aria-activedescendant")).toBe("option-19");
734
904
  });
735
905
  test("Non-Grouped Options: Arrow up key - Puts the focus in last option when the first one is visually focused", function () {
736
- var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
906
+ var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
737
907
  label: "test-select-label",
738
908
  options: single_options
739
909
  })),
740
- getByRole = _render20.getByRole,
741
- queryByRole = _render20.queryByRole;
910
+ getByRole = _render23.getByRole,
911
+ queryByRole = _render23.queryByRole;
742
912
 
743
913
  var select = getByRole("combobox");
744
914
 
@@ -760,12 +930,12 @@ describe("Select component tests", function () {
760
930
  expect(select.getAttribute("aria-activedescendant")).toBe("option-19");
761
931
  });
762
932
  test("Non-Grouped Options: Arrow down key - Opens the listbox and visually focus the first option", function () {
763
- var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
933
+ var _render24 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
764
934
  label: "test-select-label",
765
935
  options: single_options
766
936
  })),
767
- getByRole = _render21.getByRole,
768
- queryByRole = _render21.queryByRole;
937
+ getByRole = _render24.getByRole,
938
+ queryByRole = _render24.queryByRole;
769
939
 
770
940
  var select = getByRole("combobox");
771
941
 
@@ -780,12 +950,12 @@ describe("Select component tests", function () {
780
950
  expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
781
951
  });
782
952
  test("Non-Grouped Options: Arrow down key - Puts the focus in the first option when the last one is visually focused", function () {
783
- var _render22 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
953
+ var _render25 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
784
954
  label: "test-select-label",
785
955
  options: single_options
786
956
  })),
787
- getByRole = _render22.getByRole,
788
- queryByRole = _render22.queryByRole;
957
+ getByRole = _render25.getByRole,
958
+ queryByRole = _render25.queryByRole;
789
959
 
790
960
  var select = getByRole("combobox");
791
961
 
@@ -809,16 +979,16 @@ describe("Select component tests", function () {
809
979
  test("Non-Grouped Options: Enter key - Selects the visually focused option and closes the listbox", function () {
810
980
  var onChange = jest.fn();
811
981
 
812
- var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
982
+ var _render26 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
813
983
  label: "test-select-label",
814
984
  options: single_options,
815
985
  onChange: onChange,
816
986
  optional: true
817
987
  })),
818
- getByText = _render23.getByText,
819
- getByRole = _render23.getByRole,
820
- getAllByRole = _render23.getAllByRole,
821
- queryByRole = _render23.queryByRole;
988
+ getByText = _render26.getByText,
989
+ getByRole = _render26.getByRole,
990
+ getAllByRole = _render26.getAllByRole,
991
+ queryByRole = _render26.queryByRole;
822
992
 
823
993
  var select = getByRole("combobox");
824
994
 
@@ -858,8 +1028,7 @@ describe("Select component tests", function () {
858
1028
  });
859
1029
 
860
1030
  expect(onChange).toHaveBeenCalledWith({
861
- value: "20",
862
- error: null
1031
+ value: "20"
863
1032
  });
864
1033
  expect(queryByRole("listbox")).toBeFalsy();
865
1034
  expect(getByText("Option 20")).toBeTruthy();
@@ -871,17 +1040,17 @@ describe("Select component tests", function () {
871
1040
  test("Non-Grouped Options: Searchable - Displays an input for filtering the list of options", function () {
872
1041
  var onChange = jest.fn();
873
1042
 
874
- var _render24 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1043
+ var _render27 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
875
1044
  label: "test-select-label",
876
1045
  options: single_options,
877
1046
  onChange: onChange,
878
1047
  searchable: true
879
1048
  })),
880
- container = _render24.container,
881
- getByText = _render24.getByText,
882
- getByRole = _render24.getByRole,
883
- getAllByRole = _render24.getAllByRole,
884
- queryByRole = _render24.queryByRole;
1049
+ container = _render27.container,
1050
+ getByText = _render27.getByText,
1051
+ getByRole = _render27.getByRole,
1052
+ getAllByRole = _render27.getAllByRole,
1053
+ queryByRole = _render27.queryByRole;
885
1054
 
886
1055
  var select = getByRole("combobox");
887
1056
  var searchInput = container.querySelectorAll("input")[1];
@@ -895,8 +1064,7 @@ describe("Select component tests", function () {
895
1064
  _userEvent["default"].click(getByRole("option"));
896
1065
 
897
1066
  expect(onChange).toHaveBeenCalledWith({
898
- value: "8",
899
- error: null
1067
+ value: "8"
900
1068
  });
901
1069
  expect(queryByRole("listbox")).toBeFalsy();
902
1070
  expect(getByText("Option 08")).toBeTruthy();
@@ -909,15 +1077,15 @@ describe("Select component tests", function () {
909
1077
  test("Non-Grouped Options: Searchable - Displays 'No matches found' when there are no filtering results", function () {
910
1078
  var onChange = jest.fn();
911
1079
 
912
- var _render25 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1080
+ var _render28 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
913
1081
  label: "test-select-label",
914
1082
  options: single_options,
915
1083
  onChange: onChange,
916
1084
  searchable: true
917
1085
  })),
918
- container = _render25.container,
919
- getByText = _render25.getByText,
920
- getByRole = _render25.getByRole;
1086
+ container = _render28.container,
1087
+ getByText = _render28.getByText,
1088
+ getByRole = _render28.getByRole;
921
1089
 
922
1090
  var select = getByRole("combobox");
923
1091
  var searchInput = container.querySelectorAll("input")[1];
@@ -933,16 +1101,16 @@ describe("Select component tests", function () {
933
1101
  test("Non-Grouped Options: Searchable - Clicking the select, when the list is open, clears the search value", function () {
934
1102
  var onChange = jest.fn();
935
1103
 
936
- var _render26 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1104
+ var _render29 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
937
1105
  label: "test-select-label",
938
1106
  options: single_options,
939
1107
  onChange: onChange,
940
1108
  searchable: true
941
1109
  })),
942
- container = _render26.container,
943
- getByText = _render26.getByText,
944
- getByRole = _render26.getByRole,
945
- getAllByRole = _render26.getAllByRole;
1110
+ container = _render29.container,
1111
+ getByText = _render29.getByText,
1112
+ getByRole = _render29.getByRole,
1113
+ getAllByRole = _render29.getAllByRole;
946
1114
 
947
1115
  var select = getByRole("combobox");
948
1116
  var searchInput = container.querySelectorAll("input")[1];
@@ -965,15 +1133,15 @@ describe("Select component tests", function () {
965
1133
  test("Non-Grouped Options: Searchable - Writing displays the listbox, if it was not open", function () {
966
1134
  var onChange = jest.fn();
967
1135
 
968
- var _render27 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1136
+ var _render30 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
969
1137
  label: "test-select-label",
970
1138
  options: single_options,
971
1139
  onChange: onChange,
972
1140
  searchable: true
973
1141
  })),
974
- container = _render27.container,
975
- getByRole = _render27.getByRole,
976
- queryByRole = _render27.queryByRole;
1142
+ container = _render30.container,
1143
+ getByRole = _render30.getByRole,
1144
+ queryByRole = _render30.queryByRole;
977
1145
 
978
1146
  var select = getByRole("combobox");
979
1147
  var searchInput = container.querySelectorAll("input")[1];
@@ -991,15 +1159,15 @@ describe("Select component tests", function () {
991
1159
  test("Non-Grouped Options: Searchable - Key Esc cleans the search value and closes the options", function () {
992
1160
  var onChange = jest.fn();
993
1161
 
994
- var _render28 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1162
+ var _render31 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
995
1163
  label: "test-select-label",
996
1164
  options: single_options,
997
1165
  onChange: onChange,
998
1166
  searchable: true
999
1167
  })),
1000
- container = _render28.container,
1001
- getByRole = _render28.getByRole,
1002
- queryByRole = _render28.queryByRole;
1168
+ container = _render31.container,
1169
+ getByRole = _render31.getByRole,
1170
+ queryByRole = _render31.queryByRole;
1003
1171
 
1004
1172
  var select = getByRole("combobox");
1005
1173
  var searchInput = container.querySelectorAll("input")[1];
@@ -1019,16 +1187,16 @@ describe("Select component tests", function () {
1019
1187
  test("Non-Grouped Options: Searchable - While user types, a clear action is displayed for cleaning the search value", function () {
1020
1188
  var onChange = jest.fn();
1021
1189
 
1022
- var _render29 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1190
+ var _render32 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1023
1191
  label: "test-select-label",
1024
1192
  options: single_options,
1025
1193
  onChange: onChange,
1026
1194
  searchable: true
1027
1195
  })),
1028
- container = _render29.container,
1029
- getByRole = _render29.getByRole,
1030
- getAllByRole = _render29.getAllByRole,
1031
- queryByTitle = _render29.queryByTitle;
1196
+ container = _render32.container,
1197
+ getByRole = _render32.getByRole,
1198
+ getAllByRole = _render32.getAllByRole,
1199
+ queryByTitle = _render32.queryByTitle;
1032
1200
 
1033
1201
  var searchInput = container.querySelectorAll("input")[1];
1034
1202
 
@@ -1048,19 +1216,19 @@ describe("Select component tests", function () {
1048
1216
  test("Non-Grouped Options: Multiple selection - Displays a checkbox per option and enables the multi-selection", function () {
1049
1217
  var onChange = jest.fn();
1050
1218
 
1051
- var _render30 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1219
+ var _render33 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1052
1220
  name: "test",
1053
1221
  label: "test-select-label",
1054
1222
  options: single_options,
1055
1223
  onChange: onChange,
1056
1224
  multiple: true
1057
1225
  })),
1058
- getByText = _render30.getByText,
1059
- getAllByText = _render30.getAllByText,
1060
- getByRole = _render30.getByRole,
1061
- getAllByRole = _render30.getAllByRole,
1062
- queryByRole = _render30.queryByRole,
1063
- container = _render30.container;
1226
+ getByText = _render33.getByText,
1227
+ getAllByText = _render33.getAllByText,
1228
+ getByRole = _render33.getByRole,
1229
+ getAllByRole = _render33.getAllByRole,
1230
+ queryByRole = _render33.queryByRole,
1231
+ container = _render33.container;
1064
1232
 
1065
1233
  var select = getByRole("combobox");
1066
1234
  var submitInput = container.querySelector("input[name=\"test\"]");
@@ -1069,9 +1237,11 @@ describe("Select component tests", function () {
1069
1237
 
1070
1238
  expect(getByRole("listbox").getAttribute("aria-multiselectable")).toBe("true");
1071
1239
 
1072
- _userEvent["default"].click(getAllByRole("option")[10]); // expect(onChange).toHaveBeenCalledWith({ value: ["11"], error: null });
1073
-
1240
+ _userEvent["default"].click(getAllByRole("option")[10]);
1074
1241
 
1242
+ expect(onChange).toHaveBeenCalledWith({
1243
+ value: ["11"]
1244
+ });
1075
1245
  expect(queryByRole("listbox")).toBeTruthy();
1076
1246
  expect(getAllByText("Option 11").length).toBe(2);
1077
1247
 
@@ -1094,9 +1264,11 @@ describe("Select component tests", function () {
1094
1264
  code: "Enter",
1095
1265
  keyCode: 13,
1096
1266
  charCode: 13
1097
- }); // expect(onChange).toHaveBeenCalledWith({ value: ["11", "19"], error: null });
1098
-
1267
+ });
1099
1268
 
1269
+ expect(onChange).toHaveBeenCalledWith({
1270
+ value: ["11", "19"]
1271
+ });
1100
1272
  expect(queryByRole("listbox")).toBeTruthy();
1101
1273
  expect(getByText("Option 11, Option 19")).toBeTruthy();
1102
1274
  expect(getAllByRole("option")[10].getAttribute("aria-selected")).toBe("true");
@@ -1106,19 +1278,19 @@ describe("Select component tests", function () {
1106
1278
  test("Non-Grouped Options: Multiple selection - Clear action and selection indicator", function () {
1107
1279
  var onChange = jest.fn();
1108
1280
 
1109
- var _render31 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1281
+ var _render34 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1110
1282
  label: "test-select-label",
1111
1283
  options: single_options,
1112
1284
  onChange: onChange,
1113
1285
  multiple: true
1114
1286
  })),
1115
- getByText = _render31.getByText,
1116
- queryByText = _render31.queryByText,
1117
- getByRole = _render31.getByRole,
1118
- getAllByRole = _render31.getAllByRole,
1119
- queryByRole = _render31.queryByRole,
1120
- getByTitle = _render31.getByTitle,
1121
- queryByTitle = _render31.queryByTitle;
1287
+ getByText = _render34.getByText,
1288
+ queryByText = _render34.queryByText,
1289
+ getByRole = _render34.getByRole,
1290
+ getAllByRole = _render34.getAllByRole,
1291
+ queryByRole = _render34.queryByRole,
1292
+ getByTitle = _render34.getByTitle,
1293
+ queryByTitle = _render34.queryByTitle;
1122
1294
 
1123
1295
  var select = getByRole("combobox");
1124
1296
 
@@ -1128,9 +1300,11 @@ describe("Select component tests", function () {
1128
1300
 
1129
1301
  _userEvent["default"].click(getAllByRole("option")[8]);
1130
1302
 
1131
- _userEvent["default"].click(getAllByRole("option")[13]); // expect(onChange).toHaveBeenCalledWith({ value: ["6", "9", "14"], error: null });
1132
-
1303
+ _userEvent["default"].click(getAllByRole("option")[13]);
1133
1304
 
1305
+ expect(onChange).toHaveBeenCalledWith({
1306
+ value: ["6", "9", "14"]
1307
+ });
1134
1308
  expect(queryByRole("listbox")).toBeTruthy();
1135
1309
  expect(getByText("Option 06, Option 09, Option 14")).toBeTruthy();
1136
1310
  expect(getByText("3", {
@@ -1139,6 +1313,10 @@ describe("Select component tests", function () {
1139
1313
 
1140
1314
  _userEvent["default"].click(getByTitle("Clear selection"));
1141
1315
 
1316
+ expect(onChange).toHaveBeenCalledWith({
1317
+ value: [],
1318
+ error: "This field is required. Please, enter a value."
1319
+ });
1142
1320
  expect(queryByRole("listbox")).toBeTruthy();
1143
1321
  expect(queryByText("Option 06, Option 09, Option 14")).toBeFalsy();
1144
1322
  expect(queryByText("3")).toBeFalsy();
@@ -1147,7 +1325,7 @@ describe("Select component tests", function () {
1147
1325
  test("Non-Grouped Options: Multiple selection - Optional option should not be added when the select is marked as multiple", function () {
1148
1326
  var onChange = jest.fn();
1149
1327
 
1150
- var _render32 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1328
+ var _render35 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1151
1329
  label: "test-select-label",
1152
1330
  placeholder: "Choose an option",
1153
1331
  options: single_options,
@@ -1155,10 +1333,10 @@ describe("Select component tests", function () {
1155
1333
  multiple: true,
1156
1334
  optional: true
1157
1335
  })),
1158
- getByText = _render32.getByText,
1159
- getAllByText = _render32.getAllByText,
1160
- getByRole = _render32.getByRole,
1161
- getAllByRole = _render32.getAllByRole;
1336
+ getByText = _render35.getByText,
1337
+ getAllByText = _render35.getAllByText,
1338
+ getByRole = _render35.getByRole,
1339
+ getAllByRole = _render35.getAllByRole;
1162
1340
 
1163
1341
  var select = getByRole("combobox");
1164
1342
  expect(getByText("(Optional)")).toBeTruthy();
@@ -1168,19 +1346,21 @@ describe("Select component tests", function () {
1168
1346
  expect(getAllByText("Choose an option").length).toBe(1);
1169
1347
  expect(getAllByRole("option")[0].getAttribute("aria-selected")).toBe("false");
1170
1348
 
1171
- _userEvent["default"].click(getAllByRole("option")[0]); // expect(onChange).toHaveBeenCalledWith({ value: ["1"], error: null });
1172
-
1349
+ _userEvent["default"].click(getAllByRole("option")[0]);
1173
1350
 
1351
+ expect(onChange).toHaveBeenCalledWith({
1352
+ value: ["1"]
1353
+ });
1174
1354
  expect(getAllByText("Option 01").length).toBe(2);
1175
1355
  });
1176
1356
  test("Non-Grouped Options - If an options was previously selected when its opened (by key press), the visual focus appears always in the selected option", function () {
1177
- var _render33 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1357
+ var _render36 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1178
1358
  label: "test-select-label",
1179
1359
  options: single_options
1180
1360
  })),
1181
- getByText = _render33.getByText,
1182
- getByRole = _render33.getByRole,
1183
- getAllByRole = _render33.getAllByRole;
1361
+ getByText = _render36.getByText,
1362
+ getByRole = _render36.getByRole,
1363
+ getAllByRole = _render36.getAllByRole;
1184
1364
 
1185
1365
  var select = getByRole("combobox");
1186
1366
 
@@ -1248,14 +1428,14 @@ describe("Select component tests", function () {
1248
1428
  expect(getByText("Option 06")).toBeTruthy();
1249
1429
  });
1250
1430
  test("Non-Grouped Options - If an options was previously selected when its opened (by click and key press), the visual focus appears always in the selected option", function () {
1251
- var _render34 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1431
+ var _render37 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1252
1432
  label: "test-select-label",
1253
1433
  options: single_options
1254
1434
  })),
1255
- getByText = _render34.getByText,
1256
- getByRole = _render34.getByRole,
1257
- getAllByRole = _render34.getAllByRole,
1258
- queryByRole = _render34.queryByRole;
1435
+ getByText = _render37.getByText,
1436
+ getByRole = _render37.getByRole,
1437
+ getAllByRole = _render37.getAllByRole,
1438
+ queryByRole = _render37.queryByRole;
1259
1439
 
1260
1440
  var select = getByRole("combobox");
1261
1441
 
@@ -1323,14 +1503,14 @@ describe("Select component tests", function () {
1323
1503
  expect(getByText("Option 17")).toBeTruthy();
1324
1504
  });
1325
1505
  test("Grouped Options - Opens listbox and renders it correctly or closes it with a click on select", function () {
1326
- var _render35 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1506
+ var _render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1327
1507
  label: "test-select-label",
1328
1508
  options: group_options
1329
1509
  })),
1330
- getByText = _render35.getByText,
1331
- getByRole = _render35.getByRole,
1332
- getAllByRole = _render35.getAllByRole,
1333
- queryByRole = _render35.queryByRole;
1510
+ getByText = _render38.getByText,
1511
+ getByRole = _render38.getByRole,
1512
+ getAllByRole = _render38.getAllByRole,
1513
+ queryByRole = _render38.queryByRole;
1334
1514
 
1335
1515
  var select = getByRole("combobox");
1336
1516
 
@@ -1358,15 +1538,15 @@ describe("Select component tests", function () {
1358
1538
  expect(select.getAttribute("aria-expanded")).toBe("false");
1359
1539
  });
1360
1540
  test("Grouped Options - If an empty list of options in a group is passed, the select is rendered but doestn't open the listbox", function () {
1361
- var _render36 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1541
+ var _render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1362
1542
  label: "test-select-label",
1363
1543
  options: [{
1364
1544
  label: "Group 1",
1365
1545
  options: []
1366
1546
  }]
1367
1547
  })),
1368
- getByRole = _render36.getByRole,
1369
- queryByRole = _render36.queryByRole;
1548
+ getByRole = _render39.getByRole,
1549
+ queryByRole = _render39.queryByRole;
1370
1550
 
1371
1551
  var select = getByRole("combobox");
1372
1552
 
@@ -1378,17 +1558,17 @@ describe("Select component tests", function () {
1378
1558
  test("Grouped Options - Click in an option selects it and closes the listbox", function () {
1379
1559
  var onChange = jest.fn();
1380
1560
 
1381
- var _render37 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1561
+ var _render40 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1382
1562
  name: "test",
1383
1563
  label: "test-select-label",
1384
1564
  options: group_options,
1385
1565
  onChange: onChange
1386
1566
  })),
1387
- getByText = _render37.getByText,
1388
- getByRole = _render37.getByRole,
1389
- getAllByRole = _render37.getAllByRole,
1390
- queryByRole = _render37.queryByRole,
1391
- container = _render37.container;
1567
+ getByText = _render40.getByText,
1568
+ getByRole = _render40.getByRole,
1569
+ getAllByRole = _render40.getAllByRole,
1570
+ queryByRole = _render40.queryByRole,
1571
+ container = _render40.container;
1392
1572
 
1393
1573
  var select = getByRole("combobox");
1394
1574
  var submitInput = container.querySelector("input[name=\"test\"]");
@@ -1398,8 +1578,7 @@ describe("Select component tests", function () {
1398
1578
  _userEvent["default"].click(getAllByRole("option")[8]);
1399
1579
 
1400
1580
  expect(onChange).toHaveBeenCalledWith({
1401
- value: "oviedo",
1402
- error: null
1581
+ value: "oviedo"
1403
1582
  });
1404
1583
  expect(queryByRole("listbox")).toBeFalsy();
1405
1584
  expect(getByText("Oviedo")).toBeTruthy();
@@ -1412,16 +1591,16 @@ describe("Select component tests", function () {
1412
1591
  test("Grouped Options - Optional renders an empty first option (out of any group) with the placeholder as its label", function () {
1413
1592
  var onChange = jest.fn();
1414
1593
 
1415
- var _render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1594
+ var _render41 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1416
1595
  label: "test-select-label",
1417
1596
  placeholder: "Placeholder example",
1418
1597
  options: group_options,
1419
1598
  onChange: onChange,
1420
1599
  optional: true
1421
1600
  })),
1422
- getByRole = _render38.getByRole,
1423
- getAllByRole = _render38.getAllByRole,
1424
- getAllByText = _render38.getAllByText;
1601
+ getByRole = _render41.getByRole,
1602
+ getAllByRole = _render41.getAllByRole,
1603
+ getAllByText = _render41.getAllByText;
1425
1604
 
1426
1605
  var select = getByRole("combobox");
1427
1606
 
@@ -1433,8 +1612,7 @@ describe("Select component tests", function () {
1433
1612
  _userEvent["default"].click(getAllByRole("option")[0]);
1434
1613
 
1435
1614
  expect(onChange).toHaveBeenCalledWith({
1436
- value: "",
1437
- error: null
1615
+ value: ""
1438
1616
  });
1439
1617
  expect(getAllByText("Placeholder example").length).toBe(1);
1440
1618
 
@@ -1455,8 +1633,7 @@ describe("Select component tests", function () {
1455
1633
  });
1456
1634
 
1457
1635
  expect(onChange).toHaveBeenCalledWith({
1458
- value: "",
1459
- error: null
1636
+ value: ""
1460
1637
  });
1461
1638
  expect(getAllByText("Placeholder example").length).toBe(1);
1462
1639
 
@@ -1470,18 +1647,18 @@ describe("Select component tests", function () {
1470
1647
  expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
1471
1648
  });
1472
1649
  test("Grouped Options - Filtering options never affects the optional item until there are no coincidence", function () {
1473
- var _render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1650
+ var _render42 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1474
1651
  label: "test-select-label",
1475
1652
  placeholder: "Placeholder example",
1476
1653
  options: group_options,
1477
1654
  optional: true,
1478
1655
  searchable: true
1479
1656
  })),
1480
- getByRole = _render39.getByRole,
1481
- getAllByRole = _render39.getAllByRole,
1482
- getByText = _render39.getByText,
1483
- queryByText = _render39.queryByText,
1484
- container = _render39.container;
1657
+ getByRole = _render42.getByRole,
1658
+ getAllByRole = _render42.getAllByRole,
1659
+ getByText = _render42.getByText,
1660
+ queryByText = _render42.queryByText,
1661
+ container = _render42.container;
1485
1662
 
1486
1663
  var select = getByRole("combobox");
1487
1664
  var searchInput = container.querySelectorAll("input")[1];
@@ -1499,13 +1676,13 @@ describe("Select component tests", function () {
1499
1676
  expect(getByText("No matches found")).toBeTruthy();
1500
1677
  });
1501
1678
  test("Grouped Options - Renders icons correctly when passed with group options", function () {
1502
- var _render40 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1679
+ var _render43 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1503
1680
  label: "test-select-label",
1504
1681
  options: grouped_icon_options,
1505
1682
  optional: true
1506
1683
  })),
1507
- getByRole = _render40.getByRole,
1508
- getAllByRole = _render40.getAllByRole;
1684
+ getByRole = _render43.getByRole,
1685
+ getAllByRole = _render43.getAllByRole;
1509
1686
 
1510
1687
  var select = getByRole("combobox");
1511
1688
 
@@ -1515,12 +1692,12 @@ describe("Select component tests", function () {
1515
1692
  expect(getAllByRole("option").length).toBe(11);
1516
1693
  });
1517
1694
  test("Grouped Options: Arrow up key - Opens the listbox and visually focus the last option", function () {
1518
- var _render41 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1695
+ var _render44 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1519
1696
  label: "test-select-label",
1520
1697
  options: group_options
1521
1698
  })),
1522
- getByRole = _render41.getByRole,
1523
- queryByRole = _render41.queryByRole;
1699
+ getByRole = _render44.getByRole,
1700
+ queryByRole = _render44.queryByRole;
1524
1701
 
1525
1702
  var select = getByRole("combobox");
1526
1703
 
@@ -1535,12 +1712,12 @@ describe("Select component tests", function () {
1535
1712
  expect(select.getAttribute("aria-activedescendant")).toBe("option-17");
1536
1713
  });
1537
1714
  test("Grouped Options: Arrow up key - Puts the focus in last option when the first one is visually focused", function () {
1538
- var _render42 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1715
+ var _render45 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1539
1716
  label: "test-select-label",
1540
1717
  options: group_options
1541
1718
  })),
1542
- getByRole = _render42.getByRole,
1543
- queryByRole = _render42.queryByRole;
1719
+ getByRole = _render45.getByRole,
1720
+ queryByRole = _render45.queryByRole;
1544
1721
 
1545
1722
  var select = getByRole("combobox");
1546
1723
 
@@ -1562,12 +1739,12 @@ describe("Select component tests", function () {
1562
1739
  expect(select.getAttribute("aria-activedescendant")).toBe("option-17");
1563
1740
  });
1564
1741
  test("Grouped Options: Arrow down key - Opens the listbox and visually focus the first option", function () {
1565
- var _render43 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1742
+ var _render46 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1566
1743
  label: "test-select-label",
1567
1744
  options: group_options
1568
1745
  })),
1569
- getByRole = _render43.getByRole,
1570
- queryByRole = _render43.queryByRole;
1746
+ getByRole = _render46.getByRole,
1747
+ queryByRole = _render46.queryByRole;
1571
1748
 
1572
1749
  var select = getByRole("combobox");
1573
1750
 
@@ -1582,12 +1759,12 @@ describe("Select component tests", function () {
1582
1759
  expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
1583
1760
  });
1584
1761
  test("Grouped Options: Arrow down key - Puts the focus in the first option when the last one is visually focused", function () {
1585
- var _render44 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1762
+ var _render47 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1586
1763
  label: "test-select-label",
1587
1764
  options: group_options
1588
1765
  })),
1589
- getByRole = _render44.getByRole,
1590
- queryByRole = _render44.queryByRole;
1766
+ getByRole = _render47.getByRole,
1767
+ queryByRole = _render47.queryByRole;
1591
1768
 
1592
1769
  var select = getByRole("combobox");
1593
1770
 
@@ -1611,16 +1788,16 @@ describe("Select component tests", function () {
1611
1788
  test("Grouped Options: Enter key - Selects the visually focused option and closes the listbox", function () {
1612
1789
  var onChange = jest.fn();
1613
1790
 
1614
- var _render45 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1791
+ var _render48 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1615
1792
  label: "test-select-label",
1616
1793
  options: group_options,
1617
1794
  onChange: onChange,
1618
1795
  optional: true
1619
1796
  })),
1620
- getByText = _render45.getByText,
1621
- getByRole = _render45.getByRole,
1622
- getAllByRole = _render45.getAllByRole,
1623
- queryByRole = _render45.queryByRole;
1797
+ getByText = _render48.getByText,
1798
+ getByRole = _render48.getByRole,
1799
+ getAllByRole = _render48.getAllByRole,
1800
+ queryByRole = _render48.queryByRole;
1624
1801
 
1625
1802
  var select = getByRole("combobox");
1626
1803
 
@@ -1660,8 +1837,7 @@ describe("Select component tests", function () {
1660
1837
  });
1661
1838
 
1662
1839
  expect(onChange).toHaveBeenCalledWith({
1663
- value: "ebro",
1664
- error: null
1840
+ value: "ebro"
1665
1841
  });
1666
1842
  expect(queryByRole("listbox")).toBeFalsy();
1667
1843
  expect(getByText("Ebro")).toBeTruthy();
@@ -1673,17 +1849,17 @@ describe("Select component tests", function () {
1673
1849
  test("Grouped Options: Searchable - Displays an input for filtering the list of options", function () {
1674
1850
  var onChange = jest.fn();
1675
1851
 
1676
- var _render46 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1852
+ var _render49 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1677
1853
  label: "test-select-label",
1678
1854
  options: group_options,
1679
1855
  onChange: onChange,
1680
1856
  searchable: true
1681
1857
  })),
1682
- container = _render46.container,
1683
- getByText = _render46.getByText,
1684
- getByRole = _render46.getByRole,
1685
- getAllByRole = _render46.getAllByRole,
1686
- queryByRole = _render46.queryByRole;
1858
+ container = _render49.container,
1859
+ getByText = _render49.getByText,
1860
+ getByRole = _render49.getByRole,
1861
+ getAllByRole = _render49.getAllByRole,
1862
+ queryByRole = _render49.queryByRole;
1687
1863
 
1688
1864
  var select = getByRole("combobox");
1689
1865
  var searchInput = container.querySelectorAll("input")[1];
@@ -1703,8 +1879,7 @@ describe("Select component tests", function () {
1703
1879
  _userEvent["default"].click(getAllByRole("option")[4]);
1704
1880
 
1705
1881
  expect(onChange).toHaveBeenCalledWith({
1706
- value: "ebro",
1707
- error: null
1882
+ value: "ebro"
1708
1883
  });
1709
1884
  expect(queryByRole("listbox")).toBeFalsy();
1710
1885
  expect(getByText("Ebro")).toBeTruthy();
@@ -1717,15 +1892,15 @@ describe("Select component tests", function () {
1717
1892
  test("Grouped Options: Searchable - Displays 'No matches found' when there are no filtering results", function () {
1718
1893
  var onChange = jest.fn();
1719
1894
 
1720
- var _render47 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1895
+ var _render50 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1721
1896
  label: "test-select-label",
1722
1897
  options: group_options,
1723
1898
  onChange: onChange,
1724
1899
  searchable: true
1725
1900
  })),
1726
- container = _render47.container,
1727
- getByText = _render47.getByText,
1728
- getByRole = _render47.getByRole;
1901
+ container = _render50.container,
1902
+ getByText = _render50.getByText,
1903
+ getByRole = _render50.getByRole;
1729
1904
 
1730
1905
  var select = getByRole("combobox");
1731
1906
  var searchInput = container.querySelectorAll("input")[1];
@@ -1741,19 +1916,19 @@ describe("Select component tests", function () {
1741
1916
  test("Grouped Options: Multiple selection - Displays a checkbox per option and enables the multi-selection", function () {
1742
1917
  var onChange = jest.fn();
1743
1918
 
1744
- var _render48 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1919
+ var _render51 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1745
1920
  name: "test",
1746
1921
  label: "test-select-label",
1747
1922
  options: group_options,
1748
1923
  onChange: onChange,
1749
1924
  multiple: true
1750
1925
  })),
1751
- getByText = _render48.getByText,
1752
- getAllByText = _render48.getAllByText,
1753
- getByRole = _render48.getByRole,
1754
- getAllByRole = _render48.getAllByRole,
1755
- queryByRole = _render48.queryByRole,
1756
- container = _render48.container;
1926
+ getByText = _render51.getByText,
1927
+ getAllByText = _render51.getAllByText,
1928
+ getByRole = _render51.getByRole,
1929
+ getAllByRole = _render51.getAllByRole,
1930
+ queryByRole = _render51.queryByRole,
1931
+ container = _render51.container;
1757
1932
 
1758
1933
  var select = getByRole("combobox");
1759
1934
  var submitInput = container.querySelector("input[name=\"test\"]");
@@ -1762,9 +1937,11 @@ describe("Select component tests", function () {
1762
1937
 
1763
1938
  expect(getByRole("listbox").getAttribute("aria-multiselectable")).toBe("true");
1764
1939
 
1765
- _userEvent["default"].click(getAllByRole("option")[10]); // expect(onChange).toHaveBeenCalledWith({ value: ["bilbao"], error: null });
1766
-
1940
+ _userEvent["default"].click(getAllByRole("option")[10]);
1767
1941
 
1942
+ expect(onChange).toHaveBeenCalledWith({
1943
+ value: ["bilbao"]
1944
+ });
1768
1945
  expect(queryByRole("listbox")).toBeTruthy();
1769
1946
  expect(getAllByText("Bilbao").length).toBe(2);
1770
1947
 
@@ -1787,9 +1964,11 @@ describe("Select component tests", function () {
1787
1964
  code: "Enter",
1788
1965
  keyCode: 13,
1789
1966
  charCode: 13
1790
- }); // expect(onChange).toHaveBeenCalledWith({ value: ["bilbao", "guadalquivir"], error: null });
1791
-
1967
+ });
1792
1968
 
1969
+ expect(onChange).toHaveBeenCalledWith({
1970
+ value: ["bilbao", "guadalquivir"]
1971
+ });
1793
1972
  expect(queryByRole("listbox")).toBeTruthy();
1794
1973
  expect(getByText("Bilbao, Guadalquivir")).toBeTruthy();
1795
1974
  expect(getAllByRole("option")[10].getAttribute("aria-selected")).toBe("true");
@@ -1799,19 +1978,19 @@ describe("Select component tests", function () {
1799
1978
  test("Grouped Options: Multiple selection - Clear action and selection indicator", function () {
1800
1979
  var onChange = jest.fn();
1801
1980
 
1802
- var _render49 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1981
+ var _render52 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1803
1982
  label: "test-select-label",
1804
1983
  options: group_options,
1805
1984
  onChange: onChange,
1806
1985
  multiple: true
1807
1986
  })),
1808
- getByText = _render49.getByText,
1809
- queryByText = _render49.queryByText,
1810
- getByRole = _render49.getByRole,
1811
- getAllByRole = _render49.getAllByRole,
1812
- queryByRole = _render49.queryByRole,
1813
- getByTitle = _render49.getByTitle,
1814
- queryByTitle = _render49.queryByTitle;
1987
+ getByText = _render52.getByText,
1988
+ queryByText = _render52.queryByText,
1989
+ getByRole = _render52.getByRole,
1990
+ getAllByRole = _render52.getAllByRole,
1991
+ queryByRole = _render52.queryByRole,
1992
+ getByTitle = _render52.getByTitle,
1993
+ queryByTitle = _render52.queryByTitle;
1815
1994
 
1816
1995
  var select = getByRole("combobox");
1817
1996
 
@@ -1823,9 +2002,11 @@ describe("Select component tests", function () {
1823
2002
 
1824
2003
  _userEvent["default"].click(getAllByRole("option")[13]);
1825
2004
 
1826
- _userEvent["default"].click(getAllByRole("option")[17]); // expect(onChange).toHaveBeenCalledWith({ value: ["blanco", "oviedo", "duero", "ebro"], error: null });
1827
-
2005
+ _userEvent["default"].click(getAllByRole("option")[17]);
1828
2006
 
2007
+ expect(onChange).toHaveBeenCalledWith({
2008
+ value: ["blanco", "oviedo", "duero", "ebro"]
2009
+ });
1829
2010
  expect(queryByRole("listbox")).toBeTruthy();
1830
2011
  expect(getByText("Blanco, Oviedo, Duero, Ebro")).toBeTruthy();
1831
2012
  expect(getByText("4", {
@@ -1842,7 +2023,7 @@ describe("Select component tests", function () {
1842
2023
  test("Grouped Options: Multiple selection - Optional option should not be added when the select is marked as multiple", function () {
1843
2024
  var onChange = jest.fn();
1844
2025
 
1845
- var _render50 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
2026
+ var _render53 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1846
2027
  label: "test-select-label",
1847
2028
  placeholder: "Choose an option",
1848
2029
  options: group_options,
@@ -1850,10 +2031,10 @@ describe("Select component tests", function () {
1850
2031
  multiple: true,
1851
2032
  optional: true
1852
2033
  })),
1853
- getByText = _render50.getByText,
1854
- getAllByText = _render50.getAllByText,
1855
- getByRole = _render50.getByRole,
1856
- getAllByRole = _render50.getAllByRole;
2034
+ getByText = _render53.getByText,
2035
+ getAllByText = _render53.getAllByText,
2036
+ getByRole = _render53.getByRole,
2037
+ getAllByRole = _render53.getAllByRole;
1857
2038
 
1858
2039
  var select = getByRole("combobox");
1859
2040
  expect(getByText("(Optional)")).toBeTruthy();
@@ -1863,19 +2044,21 @@ describe("Select component tests", function () {
1863
2044
  expect(getAllByText("Choose an option").length).toBe(1);
1864
2045
  expect(getAllByRole("option")[0].getAttribute("aria-selected")).toBe("false");
1865
2046
 
1866
- _userEvent["default"].click(getAllByRole("option")[0]); // expect(onChange).toHaveBeenCalledWith({ value: ["azul"], error: null });
1867
-
2047
+ _userEvent["default"].click(getAllByRole("option")[0]);
1868
2048
 
2049
+ expect(onChange).toHaveBeenCalledWith({
2050
+ value: ["azul"]
2051
+ });
1869
2052
  expect(getAllByText("Azul").length).toBe(2);
1870
2053
  });
1871
2054
  test("Grouped Options - If an options was previously selected when its opened (by key press), the visual focus appears always in the selected option", function () {
1872
- var _render51 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
2055
+ var _render54 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1873
2056
  label: "test-select-label",
1874
2057
  options: group_options
1875
2058
  })),
1876
- getByText = _render51.getByText,
1877
- getByRole = _render51.getByRole,
1878
- getAllByRole = _render51.getAllByRole;
2059
+ getByText = _render54.getByText,
2060
+ getByRole = _render54.getByRole,
2061
+ getAllByRole = _render54.getAllByRole;
1879
2062
 
1880
2063
  var select = getByRole("combobox");
1881
2064
 
@@ -1943,13 +2126,13 @@ describe("Select component tests", function () {
1943
2126
  expect(getByText("Verde")).toBeTruthy();
1944
2127
  });
1945
2128
  test("Grouped Options - If an options was previously selected when its opened (by click and key press), the visual focus appears always in the selected option", function () {
1946
- var _render52 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
2129
+ var _render55 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1947
2130
  label: "test-select-label",
1948
2131
  options: group_options
1949
2132
  })),
1950
- getByText = _render52.getByText,
1951
- getByRole = _render52.getByRole,
1952
- getAllByRole = _render52.getAllByRole;
2133
+ getByText = _render55.getByText,
2134
+ getByRole = _render55.getByRole,
2135
+ getAllByRole = _render55.getAllByRole;
1953
2136
 
1954
2137
  var select = getByRole("combobox");
1955
2138
 
@@ -2013,4 +2196,38 @@ describe("Select component tests", function () {
2013
2196
 
2014
2197
  expect(getByText("Azul")).toBeTruthy();
2015
2198
  });
2199
+ test("Multiple selection and optional - Clear action cleans every selected option but does not display an error", function () {
2200
+ var onChange = jest.fn();
2201
+
2202
+ var _render56 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
2203
+ label: "test-select-label",
2204
+ options: single_options,
2205
+ onChange: onChange,
2206
+ multiple: true,
2207
+ optional: true
2208
+ })),
2209
+ getByRole = _render56.getByRole,
2210
+ getAllByRole = _render56.getAllByRole,
2211
+ getByTitle = _render56.getByTitle;
2212
+
2213
+ var select = getByRole("combobox");
2214
+
2215
+ _userEvent["default"].click(select);
2216
+
2217
+ _userEvent["default"].click(getAllByRole("option")[5]);
2218
+
2219
+ _userEvent["default"].click(getAllByRole("option")[8]);
2220
+
2221
+ _userEvent["default"].click(getAllByRole("option")[13]);
2222
+
2223
+ expect(onChange).toHaveBeenCalledWith({
2224
+ value: ["6", "9", "14"]
2225
+ });
2226
+
2227
+ _userEvent["default"].click(getByTitle("Clear selection"));
2228
+
2229
+ expect(onChange).toHaveBeenCalledWith({
2230
+ value: []
2231
+ });
2232
+ });
2016
2233
  });