@dxc-technology/halstack-react 0.0.0-63ee6f9 → 0.0.0-64ec938

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 (163) 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 +7 -28
  5. package/accordion/Accordion.stories.tsx +12 -12
  6. package/accordion/Accordion.test.js +19 -4
  7. package/accordion/types.d.ts +4 -0
  8. package/accordion-group/AccordionGroup.d.ts +1 -1
  9. package/accordion-group/AccordionGroup.js +14 -15
  10. package/accordion-group/AccordionGroup.stories.tsx +1 -1
  11. package/accordion-group/AccordionGroup.test.js +24 -6
  12. package/accordion-group/types.d.ts +4 -0
  13. package/alert/Alert.js +4 -1
  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 +22 -32
  21. package/bulleted-list/BulletedList.d.ts +7 -0
  22. package/bulleted-list/BulletedList.js +123 -0
  23. package/bulleted-list/BulletedList.stories.tsx +200 -0
  24. package/bulleted-list/types.d.ts +11 -0
  25. package/{list → bulleted-list}/types.js +0 -0
  26. package/button/Button.js +14 -11
  27. package/card/Card.js +24 -27
  28. package/checkbox/Checkbox.d.ts +1 -1
  29. package/checkbox/Checkbox.js +38 -28
  30. package/checkbox/Checkbox.stories.tsx +124 -128
  31. package/checkbox/types.d.ts +3 -3
  32. package/common/variables.js +197 -84
  33. package/date-input/DateInput.js +38 -20
  34. package/date-input/DateInput.test.js +9 -22
  35. package/date-input/types.d.ts +12 -9
  36. package/dialog/Dialog.js +4 -32
  37. package/dropdown/Dropdown.js +13 -17
  38. package/dropdown/Dropdown.stories.tsx +1 -1
  39. package/file-input/FileInput.js +9 -6
  40. package/file-input/FileItem.js +7 -5
  41. package/flex/Flex.d.ts +3 -0
  42. package/flex/Flex.js +74 -0
  43. package/flex/Flex.stories.tsx +103 -0
  44. package/flex/types.d.ts +21 -0
  45. package/{radio → flex}/types.js +0 -0
  46. package/footer/Footer.js +15 -88
  47. package/footer/Icons.js +1 -1
  48. package/header/Header.js +27 -48
  49. package/header/Header.stories.tsx +46 -36
  50. package/header/Header.test.js +18 -2
  51. package/inset/Inset.js +1 -34
  52. package/inset/Inset.stories.tsx +36 -36
  53. package/inset/types.d.ts +25 -1
  54. package/layout/ApplicationLayout.d.ts +4 -3
  55. package/layout/ApplicationLayout.js +68 -113
  56. package/layout/ApplicationLayout.stories.tsx +14 -59
  57. package/layout/Icons.d.ts +5 -0
  58. package/layout/Icons.js +13 -2
  59. package/layout/SidenavContext.d.ts +5 -0
  60. package/layout/SidenavContext.js +19 -0
  61. package/layout/types.d.ts +5 -10
  62. package/link/Link.d.ts +3 -2
  63. package/link/Link.js +57 -74
  64. package/link/Link.stories.tsx +88 -53
  65. package/link/Link.test.js +7 -15
  66. package/link/types.d.ts +7 -23
  67. package/main.d.ts +8 -5
  68. package/main.js +51 -21
  69. package/number-input/NumberInput.test.js +2 -4
  70. package/number-input/types.d.ts +13 -10
  71. package/package.json +7 -5
  72. package/paginator/Paginator.js +17 -38
  73. package/paginator/Paginator.test.js +42 -0
  74. package/paragraph/Paragraph.d.ts +6 -0
  75. package/paragraph/Paragraph.js +38 -0
  76. package/paragraph/Paragraph.stories.tsx +44 -0
  77. package/password-input/PasswordInput.js +7 -4
  78. package/password-input/PasswordInput.test.js +3 -6
  79. package/password-input/types.d.ts +14 -11
  80. package/progress-bar/ProgressBar.js +1 -1
  81. package/progress-bar/ProgressBar.stories.jsx +11 -11
  82. package/quick-nav/QuickNav.d.ts +4 -0
  83. package/quick-nav/QuickNav.js +118 -0
  84. package/quick-nav/QuickNav.stories.tsx +264 -0
  85. package/quick-nav/types.d.ts +21 -0
  86. package/quick-nav/types.js +5 -0
  87. package/radio-group/Radio.js +1 -1
  88. package/radio-group/RadioGroup.js +10 -7
  89. package/resultsetTable/ResultsetTable.test.js +42 -0
  90. package/select/Listbox.d.ts +4 -0
  91. package/select/Listbox.js +175 -0
  92. package/select/Option.js +1 -1
  93. package/select/Select.js +106 -186
  94. package/select/Select.stories.tsx +144 -100
  95. package/select/Select.test.js +377 -231
  96. package/select/types.d.ts +32 -11
  97. package/sidenav/Sidenav.d.ts +1 -1
  98. package/sidenav/Sidenav.js +20 -9
  99. package/slider/Slider.d.ts +1 -1
  100. package/slider/Slider.js +2 -1
  101. package/slider/Slider.stories.tsx +8 -8
  102. package/slider/Slider.test.js +31 -10
  103. package/slider/types.d.ts +4 -0
  104. package/spinner/Spinner.js +1 -1
  105. package/stack/Stack.d.ts +2 -1
  106. package/stack/Stack.js +29 -70
  107. package/stack/Stack.stories.tsx +189 -90
  108. package/stack/types.d.ts +15 -7
  109. package/switch/Switch.d.ts +1 -1
  110. package/switch/Switch.js +35 -19
  111. package/switch/Switch.stories.tsx +14 -14
  112. package/switch/Switch.test.js +25 -0
  113. package/switch/types.d.ts +6 -2
  114. package/tabs/Tabs.d.ts +1 -1
  115. package/tabs/Tabs.js +9 -11
  116. package/tabs/Tabs.stories.tsx +0 -8
  117. package/tabs/Tabs.test.js +26 -9
  118. package/tabs/types.d.ts +4 -0
  119. package/tabs-nav/NavTabs.d.ts +8 -0
  120. package/tabs-nav/NavTabs.js +125 -0
  121. package/tabs-nav/NavTabs.stories.tsx +170 -0
  122. package/tabs-nav/NavTabs.test.js +82 -0
  123. package/tabs-nav/Tab.d.ts +4 -0
  124. package/tabs-nav/Tab.js +132 -0
  125. package/tabs-nav/types.d.ts +53 -0
  126. package/tabs-nav/types.js +5 -0
  127. package/tag/Tag.js +5 -8
  128. package/text-input/Suggestion.d.ts +4 -0
  129. package/text-input/Suggestion.js +55 -0
  130. package/text-input/TextInput.js +48 -76
  131. package/text-input/TextInput.test.js +22 -35
  132. package/text-input/types.d.ts +27 -12
  133. package/textarea/Textarea.js +12 -23
  134. package/textarea/Textarea.test.js +10 -20
  135. package/textarea/types.d.ts +14 -11
  136. package/toggle-group/ToggleGroup.d.ts +1 -1
  137. package/toggle-group/ToggleGroup.js +5 -4
  138. package/toggle-group/ToggleGroup.stories.tsx +4 -4
  139. package/toggle-group/ToggleGroup.test.js +35 -4
  140. package/toggle-group/types.d.ts +8 -0
  141. package/typography/Typography.d.ts +4 -0
  142. package/typography/Typography.js +131 -0
  143. package/typography/Typography.stories.tsx +198 -0
  144. package/typography/types.d.ts +18 -0
  145. package/typography/types.js +5 -0
  146. package/useTheme.js +2 -2
  147. package/useTranslatedLabels.d.ts +2 -0
  148. package/useTranslatedLabels.js +20 -0
  149. package/wizard/Wizard.js +35 -29
  150. package/ThemeContext.d.ts +0 -10
  151. package/ThemeContext.js +0 -243
  152. package/list/List.d.ts +0 -4
  153. package/list/List.js +0 -47
  154. package/list/List.stories.tsx +0 -95
  155. package/list/types.d.ts +0 -7
  156. package/radio/Radio.d.ts +0 -4
  157. package/radio/Radio.js +0 -174
  158. package/radio/Radio.stories.tsx +0 -192
  159. package/radio/Radio.test.js +0 -71
  160. package/radio/types.d.ts +0 -54
  161. package/text/Text.d.ts +0 -7
  162. package/text/Text.js +0 -30
  163. 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"
@@ -443,7 +485,7 @@ describe("Select component tests", function () {
443
485
 
444
486
  expect(queryByRole("listbox")).toBeFalsy();
445
487
  });
446
- test("Controlled - Not optional constraint", function () {
488
+ test("Controlled - Single selection - Not optional constraint", function () {
447
489
  var onChange = jest.fn();
448
490
  var onBlur = jest.fn();
449
491
 
@@ -475,9 +517,32 @@ describe("Select component tests", function () {
475
517
 
476
518
  expect(onChange).toHaveBeenCalled();
477
519
  expect(onChange).toHaveBeenCalledWith({
478
- value: "1",
479
- error: null
520
+ value: "1"
521
+ });
522
+
523
+ _react2.fireEvent.blur(select);
524
+
525
+ expect(onBlur).toHaveBeenCalled();
526
+ expect(onBlur).toHaveBeenCalledWith({
527
+ value: "1"
480
528
  });
529
+ });
530
+ test("Controlled - Multiple selection - Not optional constraint", function () {
531
+ var onChange = jest.fn();
532
+ var onBlur = jest.fn();
533
+
534
+ var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
535
+ label: "test-select-label",
536
+ options: single_options,
537
+ onChange: onChange,
538
+ onBlur: onBlur,
539
+ multiple: true
540
+ })),
541
+ getByRole = _render11.getByRole,
542
+ getAllByRole = _render11.getAllByRole;
543
+
544
+ var select = getByRole("combobox");
545
+ expect(select.getAttribute("aria-required")).toBe("true");
481
546
 
482
547
  _react2.fireEvent.focus(select);
483
548
 
@@ -485,22 +550,60 @@ describe("Select component tests", function () {
485
550
 
486
551
  expect(onBlur).toHaveBeenCalled();
487
552
  expect(onBlur).toHaveBeenCalledWith({
488
- value: "1",
489
- error: null
553
+ value: [],
554
+ error: "This field is required. Please, enter a value."
555
+ });
556
+
557
+ _userEvent["default"].click(select);
558
+
559
+ _userEvent["default"].click(getAllByRole("option")[0]);
560
+
561
+ _userEvent["default"].click(getAllByRole("option")[1]);
562
+
563
+ expect(onChange).toHaveBeenCalled();
564
+ expect(onChange).toHaveBeenCalledWith({
565
+ value: ["1", "2"]
566
+ });
567
+
568
+ _react2.fireEvent.blur(select);
569
+
570
+ expect(onBlur).toHaveBeenCalled();
571
+ expect(onBlur).toHaveBeenCalledWith({
572
+ value: ["1", "2"]
573
+ });
574
+
575
+ _userEvent["default"].click(select);
576
+
577
+ _userEvent["default"].click(getAllByRole("option")[0]);
578
+
579
+ _userEvent["default"].click(getAllByRole("option")[1]);
580
+
581
+ expect(onChange).toHaveBeenCalled();
582
+ expect(onChange).toHaveBeenCalledWith({
583
+ value: [],
584
+ error: "This field is required. Please, enter a value."
585
+ });
586
+
587
+ _react2.fireEvent.blur(select);
588
+
589
+ expect(onBlur).toHaveBeenCalled();
590
+ expect(onBlur).toHaveBeenCalledWith({
591
+ value: [],
592
+ error: "This field is required. Please, enter a value."
490
593
  });
491
594
  });
492
595
  test("Controlled - Optional constraint", function () {
493
596
  var onChange = jest.fn();
494
597
  var onBlur = jest.fn();
495
598
 
496
- var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
599
+ var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
497
600
  label: "test-select-label",
498
601
  options: single_options,
499
602
  onChange: onChange,
500
603
  onBlur: onBlur,
501
604
  optional: true
502
605
  })),
503
- getByRole = _render11.getByRole;
606
+ getByRole = _render12.getByRole;
504
607
 
505
608
  var select = getByRole("combobox");
506
609
  expect(select.getAttribute("aria-required")).toBe("false");
@@ -511,20 +614,19 @@ describe("Select component tests", function () {
511
614
 
512
615
  expect(onBlur).toHaveBeenCalled();
513
616
  expect(onBlur).toHaveBeenCalledWith({
514
- value: "",
515
- error: null
617
+ value: ""
516
618
  });
517
619
  expect(select.getAttribute("aria-invalid")).toBe("false");
518
620
  });
519
621
  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"], {
622
+ var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
521
623
  label: "test-select-label",
522
624
  options: single_options
523
625
  })),
524
- getByText = _render12.getByText,
525
- getByRole = _render12.getByRole,
526
- getAllByRole = _render12.getAllByRole,
527
- queryByRole = _render12.queryByRole;
626
+ getByText = _render13.getByText,
627
+ getByRole = _render13.getByRole,
628
+ getAllByRole = _render13.getAllByRole,
629
+ queryByRole = _render13.queryByRole;
528
630
 
529
631
  var select = getByRole("combobox");
530
632
 
@@ -544,12 +646,12 @@ describe("Select component tests", function () {
544
646
  expect(select.getAttribute("aria-expanded")).toBe("false");
545
647
  });
546
648
  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"], {
649
+ var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
548
650
  label: "test-select-label",
549
651
  options: []
550
652
  })),
551
- getByRole = _render13.getByRole,
552
- queryByRole = _render13.queryByRole;
653
+ getByRole = _render14.getByRole,
654
+ queryByRole = _render14.queryByRole;
553
655
 
554
656
  var select = getByRole("combobox");
555
657
 
@@ -561,17 +663,17 @@ describe("Select component tests", function () {
561
663
  test("Non-Grouped Options - Click in an option selects it and closes the listbox", function () {
562
664
  var onChange = jest.fn();
563
665
 
564
- var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
666
+ var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
565
667
  name: "test",
566
668
  label: "test-select-label",
567
669
  options: single_options,
568
670
  onChange: onChange
569
671
  })),
570
- getByText = _render14.getByText,
571
- getByRole = _render14.getByRole,
572
- getAllByRole = _render14.getAllByRole,
573
- queryByRole = _render14.queryByRole,
574
- container = _render14.container;
672
+ getByText = _render15.getByText,
673
+ getByRole = _render15.getByRole,
674
+ getAllByRole = _render15.getAllByRole,
675
+ queryByRole = _render15.queryByRole,
676
+ container = _render15.container;
575
677
 
576
678
  var select = getByRole("combobox");
577
679
  var submitInput = container.querySelector("input[name=\"test\"]");
@@ -581,8 +683,7 @@ describe("Select component tests", function () {
581
683
  _userEvent["default"].click(getAllByRole("option")[2]);
582
684
 
583
685
  expect(onChange).toHaveBeenCalledWith({
584
- value: "3",
585
- error: null
686
+ value: "3"
586
687
  });
587
688
  expect(queryByRole("listbox")).toBeFalsy();
588
689
  expect(getByText("Option 03")).toBeTruthy();
@@ -595,16 +696,16 @@ describe("Select component tests", function () {
595
696
  test("Non-Grouped Options - Optional renders an empty first option (selected by default) with the placeholder as its label", function () {
596
697
  var onChange = jest.fn();
597
698
 
598
- var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
699
+ var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
599
700
  label: "test-select-label",
600
701
  placeholder: "Choose an option",
601
702
  options: single_options,
602
703
  onChange: onChange,
603
704
  optional: true
604
705
  })),
605
- getByRole = _render15.getByRole,
606
- getAllByRole = _render15.getAllByRole,
607
- getAllByText = _render15.getAllByText;
706
+ getByRole = _render16.getByRole,
707
+ getAllByRole = _render16.getAllByRole,
708
+ getAllByText = _render16.getAllByText;
608
709
 
609
710
  var select = getByRole("combobox");
610
711
 
@@ -616,8 +717,7 @@ describe("Select component tests", function () {
616
717
  _userEvent["default"].click(getAllByRole("option")[0]);
617
718
 
618
719
  expect(onChange).toHaveBeenCalledWith({
619
- value: "",
620
- error: null
720
+ value: ""
621
721
  });
622
722
  expect(getAllByText("Choose an option").length).toBe(1);
623
723
 
@@ -638,8 +738,7 @@ describe("Select component tests", function () {
638
738
  });
639
739
 
640
740
  expect(onChange).toHaveBeenCalledWith({
641
- value: "",
642
- error: null
741
+ value: ""
643
742
  });
644
743
  expect(getAllByText("Choose an option").length).toBe(1);
645
744
 
@@ -653,18 +752,18 @@ describe("Select component tests", function () {
653
752
  expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
654
753
  });
655
754
  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"], {
755
+ var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
657
756
  label: "test-select-label",
658
757
  placeholder: "Placeholder example",
659
758
  options: single_options,
660
759
  optional: true,
661
760
  searchable: true
662
761
  })),
663
- getByRole = _render16.getByRole,
664
- getAllByRole = _render16.getAllByRole,
665
- getByText = _render16.getByText,
666
- queryByText = _render16.queryByText,
667
- container = _render16.container;
762
+ getByRole = _render17.getByRole,
763
+ getAllByRole = _render17.getAllByRole,
764
+ getByText = _render17.getByText,
765
+ queryByText = _render17.queryByText,
766
+ container = _render17.container;
668
767
 
669
768
  var select = getByRole("combobox");
670
769
  var searchInput = container.querySelectorAll("input")[1];
@@ -682,12 +781,12 @@ describe("Select component tests", function () {
682
781
  expect(getByText("No matches found")).toBeTruthy();
683
782
  });
684
783
  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"], {
784
+ var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
686
785
  label: "test-select-label",
687
786
  options: svg_icon_options
688
787
  })),
689
- getByRole = _render17.getByRole,
690
- getAllByRole = _render17.getAllByRole;
788
+ getByRole = _render18.getByRole,
789
+ getAllByRole = _render18.getAllByRole;
691
790
 
692
791
  var select = getByRole("combobox");
693
792
 
@@ -697,13 +796,13 @@ describe("Select component tests", function () {
697
796
  expect(getAllByRole("option").length).toBe(5);
698
797
  });
699
798
  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"], {
799
+ var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
701
800
  label: "test-select-label",
702
801
  options: url_icon_options,
703
802
  optional: true
704
803
  })),
705
- getByRole = _render18.getByRole,
706
- getAllByRole = _render18.getAllByRole;
804
+ getByRole = _render19.getByRole,
805
+ getAllByRole = _render19.getAllByRole;
707
806
 
708
807
  var select = getByRole("combobox");
709
808
 
@@ -713,12 +812,12 @@ describe("Select component tests", function () {
713
812
  expect(getAllByRole("option").length).toBe(6);
714
813
  });
715
814
  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"], {
815
+ var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
717
816
  label: "test-select-label",
718
817
  options: single_options
719
818
  })),
720
- getByRole = _render19.getByRole,
721
- queryByRole = _render19.queryByRole;
819
+ getByRole = _render20.getByRole,
820
+ queryByRole = _render20.queryByRole;
722
821
 
723
822
  var select = getByRole("combobox");
724
823
 
@@ -733,12 +832,12 @@ describe("Select component tests", function () {
733
832
  expect(select.getAttribute("aria-activedescendant")).toBe("option-19");
734
833
  });
735
834
  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"], {
835
+ var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
737
836
  label: "test-select-label",
738
837
  options: single_options
739
838
  })),
740
- getByRole = _render20.getByRole,
741
- queryByRole = _render20.queryByRole;
839
+ getByRole = _render21.getByRole,
840
+ queryByRole = _render21.queryByRole;
742
841
 
743
842
  var select = getByRole("combobox");
744
843
 
@@ -760,12 +859,12 @@ describe("Select component tests", function () {
760
859
  expect(select.getAttribute("aria-activedescendant")).toBe("option-19");
761
860
  });
762
861
  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"], {
862
+ var _render22 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
764
863
  label: "test-select-label",
765
864
  options: single_options
766
865
  })),
767
- getByRole = _render21.getByRole,
768
- queryByRole = _render21.queryByRole;
866
+ getByRole = _render22.getByRole,
867
+ queryByRole = _render22.queryByRole;
769
868
 
770
869
  var select = getByRole("combobox");
771
870
 
@@ -780,12 +879,12 @@ describe("Select component tests", function () {
780
879
  expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
781
880
  });
782
881
  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"], {
882
+ var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
784
883
  label: "test-select-label",
785
884
  options: single_options
786
885
  })),
787
- getByRole = _render22.getByRole,
788
- queryByRole = _render22.queryByRole;
886
+ getByRole = _render23.getByRole,
887
+ queryByRole = _render23.queryByRole;
789
888
 
790
889
  var select = getByRole("combobox");
791
890
 
@@ -809,16 +908,16 @@ describe("Select component tests", function () {
809
908
  test("Non-Grouped Options: Enter key - Selects the visually focused option and closes the listbox", function () {
810
909
  var onChange = jest.fn();
811
910
 
812
- var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
911
+ var _render24 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
813
912
  label: "test-select-label",
814
913
  options: single_options,
815
914
  onChange: onChange,
816
915
  optional: true
817
916
  })),
818
- getByText = _render23.getByText,
819
- getByRole = _render23.getByRole,
820
- getAllByRole = _render23.getAllByRole,
821
- queryByRole = _render23.queryByRole;
917
+ getByText = _render24.getByText,
918
+ getByRole = _render24.getByRole,
919
+ getAllByRole = _render24.getAllByRole,
920
+ queryByRole = _render24.queryByRole;
822
921
 
823
922
  var select = getByRole("combobox");
824
923
 
@@ -858,8 +957,7 @@ describe("Select component tests", function () {
858
957
  });
859
958
 
860
959
  expect(onChange).toHaveBeenCalledWith({
861
- value: "20",
862
- error: null
960
+ value: "20"
863
961
  });
864
962
  expect(queryByRole("listbox")).toBeFalsy();
865
963
  expect(getByText("Option 20")).toBeTruthy();
@@ -871,17 +969,17 @@ describe("Select component tests", function () {
871
969
  test("Non-Grouped Options: Searchable - Displays an input for filtering the list of options", function () {
872
970
  var onChange = jest.fn();
873
971
 
874
- var _render24 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
972
+ var _render25 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
875
973
  label: "test-select-label",
876
974
  options: single_options,
877
975
  onChange: onChange,
878
976
  searchable: true
879
977
  })),
880
- container = _render24.container,
881
- getByText = _render24.getByText,
882
- getByRole = _render24.getByRole,
883
- getAllByRole = _render24.getAllByRole,
884
- queryByRole = _render24.queryByRole;
978
+ container = _render25.container,
979
+ getByText = _render25.getByText,
980
+ getByRole = _render25.getByRole,
981
+ getAllByRole = _render25.getAllByRole,
982
+ queryByRole = _render25.queryByRole;
885
983
 
886
984
  var select = getByRole("combobox");
887
985
  var searchInput = container.querySelectorAll("input")[1];
@@ -895,8 +993,7 @@ describe("Select component tests", function () {
895
993
  _userEvent["default"].click(getByRole("option"));
896
994
 
897
995
  expect(onChange).toHaveBeenCalledWith({
898
- value: "8",
899
- error: null
996
+ value: "8"
900
997
  });
901
998
  expect(queryByRole("listbox")).toBeFalsy();
902
999
  expect(getByText("Option 08")).toBeTruthy();
@@ -909,15 +1006,15 @@ describe("Select component tests", function () {
909
1006
  test("Non-Grouped Options: Searchable - Displays 'No matches found' when there are no filtering results", function () {
910
1007
  var onChange = jest.fn();
911
1008
 
912
- var _render25 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1009
+ var _render26 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
913
1010
  label: "test-select-label",
914
1011
  options: single_options,
915
1012
  onChange: onChange,
916
1013
  searchable: true
917
1014
  })),
918
- container = _render25.container,
919
- getByText = _render25.getByText,
920
- getByRole = _render25.getByRole;
1015
+ container = _render26.container,
1016
+ getByText = _render26.getByText,
1017
+ getByRole = _render26.getByRole;
921
1018
 
922
1019
  var select = getByRole("combobox");
923
1020
  var searchInput = container.querySelectorAll("input")[1];
@@ -933,16 +1030,16 @@ describe("Select component tests", function () {
933
1030
  test("Non-Grouped Options: Searchable - Clicking the select, when the list is open, clears the search value", function () {
934
1031
  var onChange = jest.fn();
935
1032
 
936
- var _render26 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1033
+ var _render27 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
937
1034
  label: "test-select-label",
938
1035
  options: single_options,
939
1036
  onChange: onChange,
940
1037
  searchable: true
941
1038
  })),
942
- container = _render26.container,
943
- getByText = _render26.getByText,
944
- getByRole = _render26.getByRole,
945
- getAllByRole = _render26.getAllByRole;
1039
+ container = _render27.container,
1040
+ getByText = _render27.getByText,
1041
+ getByRole = _render27.getByRole,
1042
+ getAllByRole = _render27.getAllByRole;
946
1043
 
947
1044
  var select = getByRole("combobox");
948
1045
  var searchInput = container.querySelectorAll("input")[1];
@@ -965,15 +1062,15 @@ describe("Select component tests", function () {
965
1062
  test("Non-Grouped Options: Searchable - Writing displays the listbox, if it was not open", function () {
966
1063
  var onChange = jest.fn();
967
1064
 
968
- var _render27 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1065
+ var _render28 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
969
1066
  label: "test-select-label",
970
1067
  options: single_options,
971
1068
  onChange: onChange,
972
1069
  searchable: true
973
1070
  })),
974
- container = _render27.container,
975
- getByRole = _render27.getByRole,
976
- queryByRole = _render27.queryByRole;
1071
+ container = _render28.container,
1072
+ getByRole = _render28.getByRole,
1073
+ queryByRole = _render28.queryByRole;
977
1074
 
978
1075
  var select = getByRole("combobox");
979
1076
  var searchInput = container.querySelectorAll("input")[1];
@@ -991,15 +1088,15 @@ describe("Select component tests", function () {
991
1088
  test("Non-Grouped Options: Searchable - Key Esc cleans the search value and closes the options", function () {
992
1089
  var onChange = jest.fn();
993
1090
 
994
- var _render28 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1091
+ var _render29 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
995
1092
  label: "test-select-label",
996
1093
  options: single_options,
997
1094
  onChange: onChange,
998
1095
  searchable: true
999
1096
  })),
1000
- container = _render28.container,
1001
- getByRole = _render28.getByRole,
1002
- queryByRole = _render28.queryByRole;
1097
+ container = _render29.container,
1098
+ getByRole = _render29.getByRole,
1099
+ queryByRole = _render29.queryByRole;
1003
1100
 
1004
1101
  var select = getByRole("combobox");
1005
1102
  var searchInput = container.querySelectorAll("input")[1];
@@ -1019,16 +1116,16 @@ describe("Select component tests", function () {
1019
1116
  test("Non-Grouped Options: Searchable - While user types, a clear action is displayed for cleaning the search value", function () {
1020
1117
  var onChange = jest.fn();
1021
1118
 
1022
- var _render29 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1119
+ var _render30 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1023
1120
  label: "test-select-label",
1024
1121
  options: single_options,
1025
1122
  onChange: onChange,
1026
1123
  searchable: true
1027
1124
  })),
1028
- container = _render29.container,
1029
- getByRole = _render29.getByRole,
1030
- getAllByRole = _render29.getAllByRole,
1031
- queryByTitle = _render29.queryByTitle;
1125
+ container = _render30.container,
1126
+ getByRole = _render30.getByRole,
1127
+ getAllByRole = _render30.getAllByRole,
1128
+ queryByTitle = _render30.queryByTitle;
1032
1129
 
1033
1130
  var searchInput = container.querySelectorAll("input")[1];
1034
1131
 
@@ -1048,19 +1145,19 @@ describe("Select component tests", function () {
1048
1145
  test("Non-Grouped Options: Multiple selection - Displays a checkbox per option and enables the multi-selection", function () {
1049
1146
  var onChange = jest.fn();
1050
1147
 
1051
- var _render30 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1148
+ var _render31 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1052
1149
  name: "test",
1053
1150
  label: "test-select-label",
1054
1151
  options: single_options,
1055
1152
  onChange: onChange,
1056
1153
  multiple: true
1057
1154
  })),
1058
- getByText = _render30.getByText,
1059
- getAllByText = _render30.getAllByText,
1060
- getByRole = _render30.getByRole,
1061
- getAllByRole = _render30.getAllByRole,
1062
- queryByRole = _render30.queryByRole,
1063
- container = _render30.container;
1155
+ getByText = _render31.getByText,
1156
+ getAllByText = _render31.getAllByText,
1157
+ getByRole = _render31.getByRole,
1158
+ getAllByRole = _render31.getAllByRole,
1159
+ queryByRole = _render31.queryByRole,
1160
+ container = _render31.container;
1064
1161
 
1065
1162
  var select = getByRole("combobox");
1066
1163
  var submitInput = container.querySelector("input[name=\"test\"]");
@@ -1069,9 +1166,11 @@ describe("Select component tests", function () {
1069
1166
 
1070
1167
  expect(getByRole("listbox").getAttribute("aria-multiselectable")).toBe("true");
1071
1168
 
1072
- _userEvent["default"].click(getAllByRole("option")[10]); // expect(onChange).toHaveBeenCalledWith({ value: ["11"], error: null });
1073
-
1169
+ _userEvent["default"].click(getAllByRole("option")[10]);
1074
1170
 
1171
+ expect(onChange).toHaveBeenCalledWith({
1172
+ value: ["11"]
1173
+ });
1075
1174
  expect(queryByRole("listbox")).toBeTruthy();
1076
1175
  expect(getAllByText("Option 11").length).toBe(2);
1077
1176
 
@@ -1094,9 +1193,11 @@ describe("Select component tests", function () {
1094
1193
  code: "Enter",
1095
1194
  keyCode: 13,
1096
1195
  charCode: 13
1097
- }); // expect(onChange).toHaveBeenCalledWith({ value: ["11", "19"], error: null });
1098
-
1196
+ });
1099
1197
 
1198
+ expect(onChange).toHaveBeenCalledWith({
1199
+ value: ["11", "19"]
1200
+ });
1100
1201
  expect(queryByRole("listbox")).toBeTruthy();
1101
1202
  expect(getByText("Option 11, Option 19")).toBeTruthy();
1102
1203
  expect(getAllByRole("option")[10].getAttribute("aria-selected")).toBe("true");
@@ -1106,19 +1207,19 @@ describe("Select component tests", function () {
1106
1207
  test("Non-Grouped Options: Multiple selection - Clear action and selection indicator", function () {
1107
1208
  var onChange = jest.fn();
1108
1209
 
1109
- var _render31 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1210
+ var _render32 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1110
1211
  label: "test-select-label",
1111
1212
  options: single_options,
1112
1213
  onChange: onChange,
1113
1214
  multiple: true
1114
1215
  })),
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;
1216
+ getByText = _render32.getByText,
1217
+ queryByText = _render32.queryByText,
1218
+ getByRole = _render32.getByRole,
1219
+ getAllByRole = _render32.getAllByRole,
1220
+ queryByRole = _render32.queryByRole,
1221
+ getByTitle = _render32.getByTitle,
1222
+ queryByTitle = _render32.queryByTitle;
1122
1223
 
1123
1224
  var select = getByRole("combobox");
1124
1225
 
@@ -1128,9 +1229,11 @@ describe("Select component tests", function () {
1128
1229
 
1129
1230
  _userEvent["default"].click(getAllByRole("option")[8]);
1130
1231
 
1131
- _userEvent["default"].click(getAllByRole("option")[13]); // expect(onChange).toHaveBeenCalledWith({ value: ["6", "9", "14"], error: null });
1132
-
1232
+ _userEvent["default"].click(getAllByRole("option")[13]);
1133
1233
 
1234
+ expect(onChange).toHaveBeenCalledWith({
1235
+ value: ["6", "9", "14"]
1236
+ });
1134
1237
  expect(queryByRole("listbox")).toBeTruthy();
1135
1238
  expect(getByText("Option 06, Option 09, Option 14")).toBeTruthy();
1136
1239
  expect(getByText("3", {
@@ -1139,6 +1242,10 @@ describe("Select component tests", function () {
1139
1242
 
1140
1243
  _userEvent["default"].click(getByTitle("Clear selection"));
1141
1244
 
1245
+ expect(onChange).toHaveBeenCalledWith({
1246
+ value: [],
1247
+ error: "This field is required. Please, enter a value."
1248
+ });
1142
1249
  expect(queryByRole("listbox")).toBeTruthy();
1143
1250
  expect(queryByText("Option 06, Option 09, Option 14")).toBeFalsy();
1144
1251
  expect(queryByText("3")).toBeFalsy();
@@ -1147,7 +1254,7 @@ describe("Select component tests", function () {
1147
1254
  test("Non-Grouped Options: Multiple selection - Optional option should not be added when the select is marked as multiple", function () {
1148
1255
  var onChange = jest.fn();
1149
1256
 
1150
- var _render32 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1257
+ var _render33 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1151
1258
  label: "test-select-label",
1152
1259
  placeholder: "Choose an option",
1153
1260
  options: single_options,
@@ -1155,10 +1262,10 @@ describe("Select component tests", function () {
1155
1262
  multiple: true,
1156
1263
  optional: true
1157
1264
  })),
1158
- getByText = _render32.getByText,
1159
- getAllByText = _render32.getAllByText,
1160
- getByRole = _render32.getByRole,
1161
- getAllByRole = _render32.getAllByRole;
1265
+ getByText = _render33.getByText,
1266
+ getAllByText = _render33.getAllByText,
1267
+ getByRole = _render33.getByRole,
1268
+ getAllByRole = _render33.getAllByRole;
1162
1269
 
1163
1270
  var select = getByRole("combobox");
1164
1271
  expect(getByText("(Optional)")).toBeTruthy();
@@ -1168,19 +1275,21 @@ describe("Select component tests", function () {
1168
1275
  expect(getAllByText("Choose an option").length).toBe(1);
1169
1276
  expect(getAllByRole("option")[0].getAttribute("aria-selected")).toBe("false");
1170
1277
 
1171
- _userEvent["default"].click(getAllByRole("option")[0]); // expect(onChange).toHaveBeenCalledWith({ value: ["1"], error: null });
1172
-
1278
+ _userEvent["default"].click(getAllByRole("option")[0]);
1173
1279
 
1280
+ expect(onChange).toHaveBeenCalledWith({
1281
+ value: ["1"]
1282
+ });
1174
1283
  expect(getAllByText("Option 01").length).toBe(2);
1175
1284
  });
1176
1285
  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"], {
1286
+ var _render34 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1178
1287
  label: "test-select-label",
1179
1288
  options: single_options
1180
1289
  })),
1181
- getByText = _render33.getByText,
1182
- getByRole = _render33.getByRole,
1183
- getAllByRole = _render33.getAllByRole;
1290
+ getByText = _render34.getByText,
1291
+ getByRole = _render34.getByRole,
1292
+ getAllByRole = _render34.getAllByRole;
1184
1293
 
1185
1294
  var select = getByRole("combobox");
1186
1295
 
@@ -1248,14 +1357,14 @@ describe("Select component tests", function () {
1248
1357
  expect(getByText("Option 06")).toBeTruthy();
1249
1358
  });
1250
1359
  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"], {
1360
+ var _render35 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1252
1361
  label: "test-select-label",
1253
1362
  options: single_options
1254
1363
  })),
1255
- getByText = _render34.getByText,
1256
- getByRole = _render34.getByRole,
1257
- getAllByRole = _render34.getAllByRole,
1258
- queryByRole = _render34.queryByRole;
1364
+ getByText = _render35.getByText,
1365
+ getByRole = _render35.getByRole,
1366
+ getAllByRole = _render35.getAllByRole,
1367
+ queryByRole = _render35.queryByRole;
1259
1368
 
1260
1369
  var select = getByRole("combobox");
1261
1370
 
@@ -1323,14 +1432,14 @@ describe("Select component tests", function () {
1323
1432
  expect(getByText("Option 17")).toBeTruthy();
1324
1433
  });
1325
1434
  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"], {
1435
+ var _render36 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1327
1436
  label: "test-select-label",
1328
1437
  options: group_options
1329
1438
  })),
1330
- getByText = _render35.getByText,
1331
- getByRole = _render35.getByRole,
1332
- getAllByRole = _render35.getAllByRole,
1333
- queryByRole = _render35.queryByRole;
1439
+ getByText = _render36.getByText,
1440
+ getByRole = _render36.getByRole,
1441
+ getAllByRole = _render36.getAllByRole,
1442
+ queryByRole = _render36.queryByRole;
1334
1443
 
1335
1444
  var select = getByRole("combobox");
1336
1445
 
@@ -1358,15 +1467,15 @@ describe("Select component tests", function () {
1358
1467
  expect(select.getAttribute("aria-expanded")).toBe("false");
1359
1468
  });
1360
1469
  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"], {
1470
+ var _render37 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1362
1471
  label: "test-select-label",
1363
1472
  options: [{
1364
1473
  label: "Group 1",
1365
1474
  options: []
1366
1475
  }]
1367
1476
  })),
1368
- getByRole = _render36.getByRole,
1369
- queryByRole = _render36.queryByRole;
1477
+ getByRole = _render37.getByRole,
1478
+ queryByRole = _render37.queryByRole;
1370
1479
 
1371
1480
  var select = getByRole("combobox");
1372
1481
 
@@ -1378,17 +1487,17 @@ describe("Select component tests", function () {
1378
1487
  test("Grouped Options - Click in an option selects it and closes the listbox", function () {
1379
1488
  var onChange = jest.fn();
1380
1489
 
1381
- var _render37 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1490
+ var _render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1382
1491
  name: "test",
1383
1492
  label: "test-select-label",
1384
1493
  options: group_options,
1385
1494
  onChange: onChange
1386
1495
  })),
1387
- getByText = _render37.getByText,
1388
- getByRole = _render37.getByRole,
1389
- getAllByRole = _render37.getAllByRole,
1390
- queryByRole = _render37.queryByRole,
1391
- container = _render37.container;
1496
+ getByText = _render38.getByText,
1497
+ getByRole = _render38.getByRole,
1498
+ getAllByRole = _render38.getAllByRole,
1499
+ queryByRole = _render38.queryByRole,
1500
+ container = _render38.container;
1392
1501
 
1393
1502
  var select = getByRole("combobox");
1394
1503
  var submitInput = container.querySelector("input[name=\"test\"]");
@@ -1398,8 +1507,7 @@ describe("Select component tests", function () {
1398
1507
  _userEvent["default"].click(getAllByRole("option")[8]);
1399
1508
 
1400
1509
  expect(onChange).toHaveBeenCalledWith({
1401
- value: "oviedo",
1402
- error: null
1510
+ value: "oviedo"
1403
1511
  });
1404
1512
  expect(queryByRole("listbox")).toBeFalsy();
1405
1513
  expect(getByText("Oviedo")).toBeTruthy();
@@ -1412,16 +1520,16 @@ describe("Select component tests", function () {
1412
1520
  test("Grouped Options - Optional renders an empty first option (out of any group) with the placeholder as its label", function () {
1413
1521
  var onChange = jest.fn();
1414
1522
 
1415
- var _render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1523
+ var _render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1416
1524
  label: "test-select-label",
1417
1525
  placeholder: "Placeholder example",
1418
1526
  options: group_options,
1419
1527
  onChange: onChange,
1420
1528
  optional: true
1421
1529
  })),
1422
- getByRole = _render38.getByRole,
1423
- getAllByRole = _render38.getAllByRole,
1424
- getAllByText = _render38.getAllByText;
1530
+ getByRole = _render39.getByRole,
1531
+ getAllByRole = _render39.getAllByRole,
1532
+ getAllByText = _render39.getAllByText;
1425
1533
 
1426
1534
  var select = getByRole("combobox");
1427
1535
 
@@ -1433,8 +1541,7 @@ describe("Select component tests", function () {
1433
1541
  _userEvent["default"].click(getAllByRole("option")[0]);
1434
1542
 
1435
1543
  expect(onChange).toHaveBeenCalledWith({
1436
- value: "",
1437
- error: null
1544
+ value: ""
1438
1545
  });
1439
1546
  expect(getAllByText("Placeholder example").length).toBe(1);
1440
1547
 
@@ -1455,8 +1562,7 @@ describe("Select component tests", function () {
1455
1562
  });
1456
1563
 
1457
1564
  expect(onChange).toHaveBeenCalledWith({
1458
- value: "",
1459
- error: null
1565
+ value: ""
1460
1566
  });
1461
1567
  expect(getAllByText("Placeholder example").length).toBe(1);
1462
1568
 
@@ -1470,18 +1576,18 @@ describe("Select component tests", function () {
1470
1576
  expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
1471
1577
  });
1472
1578
  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"], {
1579
+ var _render40 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1474
1580
  label: "test-select-label",
1475
1581
  placeholder: "Placeholder example",
1476
1582
  options: group_options,
1477
1583
  optional: true,
1478
1584
  searchable: true
1479
1585
  })),
1480
- getByRole = _render39.getByRole,
1481
- getAllByRole = _render39.getAllByRole,
1482
- getByText = _render39.getByText,
1483
- queryByText = _render39.queryByText,
1484
- container = _render39.container;
1586
+ getByRole = _render40.getByRole,
1587
+ getAllByRole = _render40.getAllByRole,
1588
+ getByText = _render40.getByText,
1589
+ queryByText = _render40.queryByText,
1590
+ container = _render40.container;
1485
1591
 
1486
1592
  var select = getByRole("combobox");
1487
1593
  var searchInput = container.querySelectorAll("input")[1];
@@ -1499,13 +1605,13 @@ describe("Select component tests", function () {
1499
1605
  expect(getByText("No matches found")).toBeTruthy();
1500
1606
  });
1501
1607
  test("Grouped Options - Renders icons correctly when passed with group options", function () {
1502
- var _render40 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1608
+ var _render41 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1503
1609
  label: "test-select-label",
1504
1610
  options: grouped_icon_options,
1505
1611
  optional: true
1506
1612
  })),
1507
- getByRole = _render40.getByRole,
1508
- getAllByRole = _render40.getAllByRole;
1613
+ getByRole = _render41.getByRole,
1614
+ getAllByRole = _render41.getAllByRole;
1509
1615
 
1510
1616
  var select = getByRole("combobox");
1511
1617
 
@@ -1515,12 +1621,12 @@ describe("Select component tests", function () {
1515
1621
  expect(getAllByRole("option").length).toBe(11);
1516
1622
  });
1517
1623
  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"], {
1624
+ var _render42 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1519
1625
  label: "test-select-label",
1520
1626
  options: group_options
1521
1627
  })),
1522
- getByRole = _render41.getByRole,
1523
- queryByRole = _render41.queryByRole;
1628
+ getByRole = _render42.getByRole,
1629
+ queryByRole = _render42.queryByRole;
1524
1630
 
1525
1631
  var select = getByRole("combobox");
1526
1632
 
@@ -1535,12 +1641,12 @@ describe("Select component tests", function () {
1535
1641
  expect(select.getAttribute("aria-activedescendant")).toBe("option-17");
1536
1642
  });
1537
1643
  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"], {
1644
+ var _render43 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1539
1645
  label: "test-select-label",
1540
1646
  options: group_options
1541
1647
  })),
1542
- getByRole = _render42.getByRole,
1543
- queryByRole = _render42.queryByRole;
1648
+ getByRole = _render43.getByRole,
1649
+ queryByRole = _render43.queryByRole;
1544
1650
 
1545
1651
  var select = getByRole("combobox");
1546
1652
 
@@ -1562,12 +1668,12 @@ describe("Select component tests", function () {
1562
1668
  expect(select.getAttribute("aria-activedescendant")).toBe("option-17");
1563
1669
  });
1564
1670
  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"], {
1671
+ var _render44 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1566
1672
  label: "test-select-label",
1567
1673
  options: group_options
1568
1674
  })),
1569
- getByRole = _render43.getByRole,
1570
- queryByRole = _render43.queryByRole;
1675
+ getByRole = _render44.getByRole,
1676
+ queryByRole = _render44.queryByRole;
1571
1677
 
1572
1678
  var select = getByRole("combobox");
1573
1679
 
@@ -1582,12 +1688,12 @@ describe("Select component tests", function () {
1582
1688
  expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
1583
1689
  });
1584
1690
  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"], {
1691
+ var _render45 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1586
1692
  label: "test-select-label",
1587
1693
  options: group_options
1588
1694
  })),
1589
- getByRole = _render44.getByRole,
1590
- queryByRole = _render44.queryByRole;
1695
+ getByRole = _render45.getByRole,
1696
+ queryByRole = _render45.queryByRole;
1591
1697
 
1592
1698
  var select = getByRole("combobox");
1593
1699
 
@@ -1611,16 +1717,16 @@ describe("Select component tests", function () {
1611
1717
  test("Grouped Options: Enter key - Selects the visually focused option and closes the listbox", function () {
1612
1718
  var onChange = jest.fn();
1613
1719
 
1614
- var _render45 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1720
+ var _render46 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1615
1721
  label: "test-select-label",
1616
1722
  options: group_options,
1617
1723
  onChange: onChange,
1618
1724
  optional: true
1619
1725
  })),
1620
- getByText = _render45.getByText,
1621
- getByRole = _render45.getByRole,
1622
- getAllByRole = _render45.getAllByRole,
1623
- queryByRole = _render45.queryByRole;
1726
+ getByText = _render46.getByText,
1727
+ getByRole = _render46.getByRole,
1728
+ getAllByRole = _render46.getAllByRole,
1729
+ queryByRole = _render46.queryByRole;
1624
1730
 
1625
1731
  var select = getByRole("combobox");
1626
1732
 
@@ -1660,8 +1766,7 @@ describe("Select component tests", function () {
1660
1766
  });
1661
1767
 
1662
1768
  expect(onChange).toHaveBeenCalledWith({
1663
- value: "ebro",
1664
- error: null
1769
+ value: "ebro"
1665
1770
  });
1666
1771
  expect(queryByRole("listbox")).toBeFalsy();
1667
1772
  expect(getByText("Ebro")).toBeTruthy();
@@ -1673,17 +1778,17 @@ describe("Select component tests", function () {
1673
1778
  test("Grouped Options: Searchable - Displays an input for filtering the list of options", function () {
1674
1779
  var onChange = jest.fn();
1675
1780
 
1676
- var _render46 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1781
+ var _render47 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1677
1782
  label: "test-select-label",
1678
1783
  options: group_options,
1679
1784
  onChange: onChange,
1680
1785
  searchable: true
1681
1786
  })),
1682
- container = _render46.container,
1683
- getByText = _render46.getByText,
1684
- getByRole = _render46.getByRole,
1685
- getAllByRole = _render46.getAllByRole,
1686
- queryByRole = _render46.queryByRole;
1787
+ container = _render47.container,
1788
+ getByText = _render47.getByText,
1789
+ getByRole = _render47.getByRole,
1790
+ getAllByRole = _render47.getAllByRole,
1791
+ queryByRole = _render47.queryByRole;
1687
1792
 
1688
1793
  var select = getByRole("combobox");
1689
1794
  var searchInput = container.querySelectorAll("input")[1];
@@ -1703,8 +1808,7 @@ describe("Select component tests", function () {
1703
1808
  _userEvent["default"].click(getAllByRole("option")[4]);
1704
1809
 
1705
1810
  expect(onChange).toHaveBeenCalledWith({
1706
- value: "ebro",
1707
- error: null
1811
+ value: "ebro"
1708
1812
  });
1709
1813
  expect(queryByRole("listbox")).toBeFalsy();
1710
1814
  expect(getByText("Ebro")).toBeTruthy();
@@ -1717,15 +1821,15 @@ describe("Select component tests", function () {
1717
1821
  test("Grouped Options: Searchable - Displays 'No matches found' when there are no filtering results", function () {
1718
1822
  var onChange = jest.fn();
1719
1823
 
1720
- var _render47 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1824
+ var _render48 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1721
1825
  label: "test-select-label",
1722
1826
  options: group_options,
1723
1827
  onChange: onChange,
1724
1828
  searchable: true
1725
1829
  })),
1726
- container = _render47.container,
1727
- getByText = _render47.getByText,
1728
- getByRole = _render47.getByRole;
1830
+ container = _render48.container,
1831
+ getByText = _render48.getByText,
1832
+ getByRole = _render48.getByRole;
1729
1833
 
1730
1834
  var select = getByRole("combobox");
1731
1835
  var searchInput = container.querySelectorAll("input")[1];
@@ -1741,19 +1845,19 @@ describe("Select component tests", function () {
1741
1845
  test("Grouped Options: Multiple selection - Displays a checkbox per option and enables the multi-selection", function () {
1742
1846
  var onChange = jest.fn();
1743
1847
 
1744
- var _render48 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1848
+ var _render49 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1745
1849
  name: "test",
1746
1850
  label: "test-select-label",
1747
1851
  options: group_options,
1748
1852
  onChange: onChange,
1749
1853
  multiple: true
1750
1854
  })),
1751
- getByText = _render48.getByText,
1752
- getAllByText = _render48.getAllByText,
1753
- getByRole = _render48.getByRole,
1754
- getAllByRole = _render48.getAllByRole,
1755
- queryByRole = _render48.queryByRole,
1756
- container = _render48.container;
1855
+ getByText = _render49.getByText,
1856
+ getAllByText = _render49.getAllByText,
1857
+ getByRole = _render49.getByRole,
1858
+ getAllByRole = _render49.getAllByRole,
1859
+ queryByRole = _render49.queryByRole,
1860
+ container = _render49.container;
1757
1861
 
1758
1862
  var select = getByRole("combobox");
1759
1863
  var submitInput = container.querySelector("input[name=\"test\"]");
@@ -1762,9 +1866,11 @@ describe("Select component tests", function () {
1762
1866
 
1763
1867
  expect(getByRole("listbox").getAttribute("aria-multiselectable")).toBe("true");
1764
1868
 
1765
- _userEvent["default"].click(getAllByRole("option")[10]); // expect(onChange).toHaveBeenCalledWith({ value: ["bilbao"], error: null });
1766
-
1869
+ _userEvent["default"].click(getAllByRole("option")[10]);
1767
1870
 
1871
+ expect(onChange).toHaveBeenCalledWith({
1872
+ value: ["bilbao"]
1873
+ });
1768
1874
  expect(queryByRole("listbox")).toBeTruthy();
1769
1875
  expect(getAllByText("Bilbao").length).toBe(2);
1770
1876
 
@@ -1787,9 +1893,11 @@ describe("Select component tests", function () {
1787
1893
  code: "Enter",
1788
1894
  keyCode: 13,
1789
1895
  charCode: 13
1790
- }); // expect(onChange).toHaveBeenCalledWith({ value: ["bilbao", "guadalquivir"], error: null });
1791
-
1896
+ });
1792
1897
 
1898
+ expect(onChange).toHaveBeenCalledWith({
1899
+ value: ["bilbao", "guadalquivir"]
1900
+ });
1793
1901
  expect(queryByRole("listbox")).toBeTruthy();
1794
1902
  expect(getByText("Bilbao, Guadalquivir")).toBeTruthy();
1795
1903
  expect(getAllByRole("option")[10].getAttribute("aria-selected")).toBe("true");
@@ -1799,19 +1907,19 @@ describe("Select component tests", function () {
1799
1907
  test("Grouped Options: Multiple selection - Clear action and selection indicator", function () {
1800
1908
  var onChange = jest.fn();
1801
1909
 
1802
- var _render49 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1910
+ var _render50 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1803
1911
  label: "test-select-label",
1804
1912
  options: group_options,
1805
1913
  onChange: onChange,
1806
1914
  multiple: true
1807
1915
  })),
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;
1916
+ getByText = _render50.getByText,
1917
+ queryByText = _render50.queryByText,
1918
+ getByRole = _render50.getByRole,
1919
+ getAllByRole = _render50.getAllByRole,
1920
+ queryByRole = _render50.queryByRole,
1921
+ getByTitle = _render50.getByTitle,
1922
+ queryByTitle = _render50.queryByTitle;
1815
1923
 
1816
1924
  var select = getByRole("combobox");
1817
1925
 
@@ -1823,9 +1931,11 @@ describe("Select component tests", function () {
1823
1931
 
1824
1932
  _userEvent["default"].click(getAllByRole("option")[13]);
1825
1933
 
1826
- _userEvent["default"].click(getAllByRole("option")[17]); // expect(onChange).toHaveBeenCalledWith({ value: ["blanco", "oviedo", "duero", "ebro"], error: null });
1827
-
1934
+ _userEvent["default"].click(getAllByRole("option")[17]);
1828
1935
 
1936
+ expect(onChange).toHaveBeenCalledWith({
1937
+ value: ["blanco", "oviedo", "duero", "ebro"]
1938
+ });
1829
1939
  expect(queryByRole("listbox")).toBeTruthy();
1830
1940
  expect(getByText("Blanco, Oviedo, Duero, Ebro")).toBeTruthy();
1831
1941
  expect(getByText("4", {
@@ -1842,7 +1952,7 @@ describe("Select component tests", function () {
1842
1952
  test("Grouped Options: Multiple selection - Optional option should not be added when the select is marked as multiple", function () {
1843
1953
  var onChange = jest.fn();
1844
1954
 
1845
- var _render50 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1955
+ var _render51 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1846
1956
  label: "test-select-label",
1847
1957
  placeholder: "Choose an option",
1848
1958
  options: group_options,
@@ -1850,10 +1960,10 @@ describe("Select component tests", function () {
1850
1960
  multiple: true,
1851
1961
  optional: true
1852
1962
  })),
1853
- getByText = _render50.getByText,
1854
- getAllByText = _render50.getAllByText,
1855
- getByRole = _render50.getByRole,
1856
- getAllByRole = _render50.getAllByRole;
1963
+ getByText = _render51.getByText,
1964
+ getAllByText = _render51.getAllByText,
1965
+ getByRole = _render51.getByRole,
1966
+ getAllByRole = _render51.getAllByRole;
1857
1967
 
1858
1968
  var select = getByRole("combobox");
1859
1969
  expect(getByText("(Optional)")).toBeTruthy();
@@ -1863,19 +1973,21 @@ describe("Select component tests", function () {
1863
1973
  expect(getAllByText("Choose an option").length).toBe(1);
1864
1974
  expect(getAllByRole("option")[0].getAttribute("aria-selected")).toBe("false");
1865
1975
 
1866
- _userEvent["default"].click(getAllByRole("option")[0]); // expect(onChange).toHaveBeenCalledWith({ value: ["azul"], error: null });
1867
-
1976
+ _userEvent["default"].click(getAllByRole("option")[0]);
1868
1977
 
1978
+ expect(onChange).toHaveBeenCalledWith({
1979
+ value: ["azul"]
1980
+ });
1869
1981
  expect(getAllByText("Azul").length).toBe(2);
1870
1982
  });
1871
1983
  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"], {
1984
+ var _render52 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1873
1985
  label: "test-select-label",
1874
1986
  options: group_options
1875
1987
  })),
1876
- getByText = _render51.getByText,
1877
- getByRole = _render51.getByRole,
1878
- getAllByRole = _render51.getAllByRole;
1988
+ getByText = _render52.getByText,
1989
+ getByRole = _render52.getByRole,
1990
+ getAllByRole = _render52.getAllByRole;
1879
1991
 
1880
1992
  var select = getByRole("combobox");
1881
1993
 
@@ -1943,13 +2055,13 @@ describe("Select component tests", function () {
1943
2055
  expect(getByText("Verde")).toBeTruthy();
1944
2056
  });
1945
2057
  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"], {
2058
+ var _render53 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
1947
2059
  label: "test-select-label",
1948
2060
  options: group_options
1949
2061
  })),
1950
- getByText = _render52.getByText,
1951
- getByRole = _render52.getByRole,
1952
- getAllByRole = _render52.getAllByRole;
2062
+ getByText = _render53.getByText,
2063
+ getByRole = _render53.getByRole,
2064
+ getAllByRole = _render53.getAllByRole;
1953
2065
 
1954
2066
  var select = getByRole("combobox");
1955
2067
 
@@ -2013,4 +2125,38 @@ describe("Select component tests", function () {
2013
2125
 
2014
2126
  expect(getByText("Azul")).toBeTruthy();
2015
2127
  });
2128
+ test("Multiple selection and optional - Clear action cleans every selected option but does not display an error", function () {
2129
+ var onChange = jest.fn();
2130
+
2131
+ var _render54 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
2132
+ label: "test-select-label",
2133
+ options: single_options,
2134
+ onChange: onChange,
2135
+ multiple: true,
2136
+ optional: true
2137
+ })),
2138
+ getByRole = _render54.getByRole,
2139
+ getAllByRole = _render54.getAllByRole,
2140
+ getByTitle = _render54.getByTitle;
2141
+
2142
+ var select = getByRole("combobox");
2143
+
2144
+ _userEvent["default"].click(select);
2145
+
2146
+ _userEvent["default"].click(getAllByRole("option")[5]);
2147
+
2148
+ _userEvent["default"].click(getAllByRole("option")[8]);
2149
+
2150
+ _userEvent["default"].click(getAllByRole("option")[13]);
2151
+
2152
+ expect(onChange).toHaveBeenCalledWith({
2153
+ value: ["6", "9", "14"]
2154
+ });
2155
+
2156
+ _userEvent["default"].click(getByTitle("Clear selection"));
2157
+
2158
+ expect(onChange).toHaveBeenCalledWith({
2159
+ value: []
2160
+ });
2161
+ });
2016
2162
  });