@dxc-technology/halstack-react 0.0.0-0271b6e → 0.0.0-0276e5a

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