@dxc-technology/halstack-react 0.0.0-0f1b72b → 0.0.0-100df21

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 (304) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1229 -6
  4. package/HalstackContext.js +125 -110
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +116 -160
  8. package/accordion/Accordion.stories.tsx +102 -126
  9. package/accordion/Accordion.test.js +25 -41
  10. package/accordion/types.d.ts +5 -16
  11. package/accordion-group/AccordionGroup.d.ts +4 -3
  12. package/accordion-group/AccordionGroup.js +31 -98
  13. package/accordion-group/AccordionGroup.stories.tsx +94 -67
  14. package/accordion-group/AccordionGroup.test.js +52 -105
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/types.d.ts +11 -16
  18. package/alert/Alert.js +20 -59
  19. package/alert/Alert.stories.tsx +28 -0
  20. package/alert/Alert.test.js +29 -46
  21. package/alert/types.d.ts +5 -5
  22. package/badge/Badge.js +4 -17
  23. package/badge/types.d.ts +1 -1
  24. package/bleed/Bleed.js +13 -21
  25. package/bleed/Bleed.stories.tsx +64 -63
  26. package/bleed/types.d.ts +2 -2
  27. package/box/Box.d.ts +1 -1
  28. package/box/Box.js +19 -60
  29. package/box/Box.stories.tsx +38 -51
  30. package/box/Box.test.js +2 -7
  31. package/box/types.d.ts +3 -14
  32. package/bulleted-list/BulletedList.d.ts +7 -0
  33. package/bulleted-list/BulletedList.js +89 -0
  34. package/bulleted-list/BulletedList.stories.tsx +115 -0
  35. package/bulleted-list/types.d.ts +38 -0
  36. package/button/Button.d.ts +1 -1
  37. package/button/Button.js +63 -117
  38. package/button/Button.stories.tsx +160 -90
  39. package/button/Button.test.js +18 -17
  40. package/button/types.d.ts +12 -8
  41. package/card/Card.d.ts +1 -1
  42. package/card/Card.js +48 -89
  43. package/card/Card.stories.tsx +12 -42
  44. package/card/Card.test.js +11 -22
  45. package/card/types.d.ts +6 -11
  46. package/checkbox/Checkbox.d.ts +2 -2
  47. package/checkbox/Checkbox.js +140 -182
  48. package/checkbox/Checkbox.stories.tsx +128 -94
  49. package/checkbox/Checkbox.test.js +160 -39
  50. package/checkbox/types.d.ts +11 -3
  51. package/chip/Chip.js +39 -79
  52. package/chip/Chip.stories.tsx +121 -26
  53. package/chip/Chip.test.js +16 -31
  54. package/chip/types.d.ts +4 -4
  55. package/common/OpenSans.css +68 -80
  56. package/common/coreTokens.d.ts +237 -0
  57. package/common/coreTokens.js +184 -0
  58. package/common/utils.d.ts +1 -0
  59. package/common/utils.js +6 -12
  60. package/common/variables.d.ts +1381 -0
  61. package/common/variables.js +914 -1131
  62. package/container/Container.d.ts +4 -0
  63. package/container/Container.js +194 -0
  64. package/container/Container.stories.tsx +214 -0
  65. package/container/types.d.ts +74 -0
  66. package/date-input/Calendar.d.ts +4 -0
  67. package/date-input/Calendar.js +214 -0
  68. package/date-input/DateInput.js +150 -299
  69. package/date-input/DateInput.stories.tsx +203 -56
  70. package/date-input/DateInput.test.js +700 -371
  71. package/date-input/DatePicker.d.ts +4 -0
  72. package/date-input/DatePicker.js +115 -0
  73. package/date-input/Icons.d.ts +6 -0
  74. package/date-input/Icons.js +58 -0
  75. package/date-input/YearPicker.d.ts +4 -0
  76. package/date-input/YearPicker.js +100 -0
  77. package/date-input/types.d.ts +72 -15
  78. package/dialog/Dialog.d.ts +1 -1
  79. package/dialog/Dialog.js +73 -107
  80. package/dialog/Dialog.stories.tsx +320 -167
  81. package/dialog/Dialog.test.js +287 -20
  82. package/dialog/types.d.ts +18 -25
  83. package/dropdown/Dropdown.d.ts +1 -1
  84. package/dropdown/Dropdown.js +243 -300
  85. package/dropdown/Dropdown.stories.tsx +245 -56
  86. package/dropdown/Dropdown.test.js +575 -165
  87. package/dropdown/DropdownMenu.d.ts +4 -0
  88. package/dropdown/DropdownMenu.js +63 -0
  89. package/dropdown/DropdownMenuItem.d.ts +4 -0
  90. package/dropdown/DropdownMenuItem.js +67 -0
  91. package/dropdown/types.d.ts +32 -14
  92. package/file-input/FileInput.d.ts +2 -2
  93. package/file-input/FileInput.js +241 -355
  94. package/file-input/FileInput.stories.tsx +123 -12
  95. package/file-input/FileInput.test.js +369 -367
  96. package/file-input/FileItem.d.ts +4 -14
  97. package/file-input/FileItem.js +45 -96
  98. package/file-input/types.d.ts +25 -8
  99. package/flex/Flex.d.ts +4 -0
  100. package/flex/Flex.js +57 -0
  101. package/flex/Flex.stories.tsx +112 -0
  102. package/flex/types.d.ts +97 -0
  103. package/footer/Footer.d.ts +1 -1
  104. package/footer/Footer.js +55 -115
  105. package/footer/Footer.stories.tsx +41 -19
  106. package/footer/Footer.test.js +33 -57
  107. package/footer/Icons.d.ts +2 -2
  108. package/footer/Icons.js +3 -8
  109. package/footer/types.d.ts +21 -28
  110. package/grid/Grid.d.ts +7 -0
  111. package/grid/Grid.js +76 -0
  112. package/grid/Grid.stories.tsx +219 -0
  113. package/grid/types.d.ts +115 -0
  114. package/header/Header.d.ts +4 -3
  115. package/header/Header.js +85 -168
  116. package/header/Header.stories.tsx +118 -39
  117. package/header/Header.test.js +13 -26
  118. package/header/Icons.d.ts +2 -2
  119. package/header/Icons.js +4 -9
  120. package/header/types.d.ts +5 -19
  121. package/heading/Heading.js +10 -32
  122. package/heading/Heading.test.js +71 -88
  123. package/heading/types.d.ts +7 -7
  124. package/image/Image.d.ts +4 -0
  125. package/image/Image.js +70 -0
  126. package/image/Image.stories.tsx +127 -0
  127. package/image/types.d.ts +72 -0
  128. package/inset/Inset.js +13 -21
  129. package/inset/Inset.stories.tsx +5 -4
  130. package/inset/types.d.ts +2 -2
  131. package/layout/ApplicationLayout.d.ts +15 -6
  132. package/layout/ApplicationLayout.js +51 -116
  133. package/layout/ApplicationLayout.stories.tsx +81 -45
  134. package/layout/Icons.d.ts +8 -5
  135. package/layout/Icons.js +51 -59
  136. package/layout/SidenavContext.d.ts +1 -1
  137. package/layout/SidenavContext.js +3 -9
  138. package/layout/types.d.ts +21 -32
  139. package/link/Link.js +25 -46
  140. package/link/Link.stories.tsx +73 -6
  141. package/link/Link.test.js +24 -44
  142. package/link/types.d.ts +14 -14
  143. package/main.d.ts +10 -12
  144. package/main.js +41 -106
  145. package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
  146. package/{tabs-nav → nav-tabs}/NavTabs.js +22 -57
  147. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +111 -7
  148. package/{tabs-nav → nav-tabs}/NavTabs.test.js +37 -44
  149. package/nav-tabs/Tab.js +117 -0
  150. package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
  151. package/number-input/NumberInput.d.ts +7 -0
  152. package/number-input/NumberInput.js +26 -35
  153. package/number-input/NumberInput.stories.tsx +42 -26
  154. package/number-input/NumberInput.test.js +701 -377
  155. package/number-input/types.d.ts +11 -5
  156. package/package.json +43 -46
  157. package/paginator/Icons.d.ts +5 -0
  158. package/paginator/Icons.js +21 -47
  159. package/paginator/Paginator.js +23 -59
  160. package/paginator/Paginator.stories.tsx +24 -0
  161. package/paginator/Paginator.test.js +253 -226
  162. package/paginator/types.d.ts +3 -3
  163. package/paragraph/Paragraph.d.ts +5 -0
  164. package/paragraph/Paragraph.js +22 -0
  165. package/paragraph/Paragraph.stories.tsx +27 -0
  166. package/password-input/Icons.d.ts +6 -0
  167. package/password-input/Icons.js +35 -0
  168. package/password-input/PasswordInput.js +57 -126
  169. package/password-input/PasswordInput.stories.tsx +1 -33
  170. package/password-input/PasswordInput.test.js +160 -142
  171. package/password-input/types.d.ts +8 -7
  172. package/progress-bar/ProgressBar.js +65 -91
  173. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +39 -4
  174. package/progress-bar/ProgressBar.test.js +72 -44
  175. package/progress-bar/types.d.ts +3 -3
  176. package/quick-nav/QuickNav.js +27 -45
  177. package/quick-nav/QuickNav.stories.tsx +146 -27
  178. package/quick-nav/types.d.ts +10 -10
  179. package/radio-group/Radio.d.ts +1 -1
  180. package/radio-group/Radio.js +59 -76
  181. package/radio-group/RadioGroup.js +67 -114
  182. package/radio-group/RadioGroup.stories.tsx +132 -18
  183. package/radio-group/RadioGroup.test.js +518 -457
  184. package/radio-group/types.d.ts +10 -10
  185. package/resultset-table/Icons.d.ts +7 -0
  186. package/resultset-table/Icons.js +47 -0
  187. package/resultset-table/ResultsetTable.js +159 -0
  188. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +50 -25
  189. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +101 -144
  190. package/{resultsetTable → resultset-table}/types.d.ts +7 -7
  191. package/select/Icons.d.ts +7 -7
  192. package/select/Icons.js +1 -5
  193. package/select/Listbox.js +17 -49
  194. package/select/Option.js +20 -50
  195. package/select/Select.js +119 -198
  196. package/select/Select.stories.tsx +497 -152
  197. package/select/Select.test.js +1966 -1758
  198. package/select/types.d.ts +16 -19
  199. package/sidenav/Icons.d.ts +7 -0
  200. package/sidenav/Icons.js +47 -0
  201. package/sidenav/Sidenav.d.ts +6 -5
  202. package/sidenav/Sidenav.js +127 -78
  203. package/sidenav/Sidenav.stories.tsx +251 -151
  204. package/sidenav/Sidenav.test.js +26 -45
  205. package/sidenav/types.d.ts +52 -26
  206. package/slider/Slider.d.ts +2 -2
  207. package/slider/Slider.js +148 -181
  208. package/slider/Slider.test.js +185 -81
  209. package/slider/types.d.ts +7 -3
  210. package/spinner/Spinner.js +31 -75
  211. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  212. package/spinner/Spinner.test.js +26 -35
  213. package/spinner/types.d.ts +3 -3
  214. package/switch/Switch.d.ts +2 -2
  215. package/switch/Switch.js +145 -126
  216. package/switch/Switch.stories.tsx +37 -60
  217. package/switch/Switch.test.js +138 -56
  218. package/switch/types.d.ts +7 -3
  219. package/table/Table.js +8 -30
  220. package/table/{Table.stories.jsx → Table.stories.tsx} +80 -1
  221. package/table/Table.test.js +3 -8
  222. package/table/types.d.ts +8 -8
  223. package/tabs/Tab.d.ts +4 -0
  224. package/tabs/Tab.js +113 -0
  225. package/tabs/Tabs.js +315 -141
  226. package/tabs/Tabs.stories.tsx +119 -5
  227. package/tabs/Tabs.test.js +223 -69
  228. package/tabs/types.d.ts +28 -18
  229. package/tag/Tag.js +29 -61
  230. package/tag/Tag.stories.tsx +14 -1
  231. package/tag/Tag.test.js +20 -31
  232. package/tag/types.d.ts +7 -7
  233. package/text-input/Icons.d.ts +8 -0
  234. package/text-input/Icons.js +56 -0
  235. package/text-input/Suggestion.js +40 -28
  236. package/text-input/Suggestions.d.ts +4 -0
  237. package/text-input/Suggestions.js +84 -0
  238. package/text-input/TextInput.js +291 -483
  239. package/text-input/TextInput.stories.tsx +266 -275
  240. package/text-input/TextInput.test.js +1402 -1375
  241. package/text-input/types.d.ts +43 -16
  242. package/textarea/Textarea.js +70 -113
  243. package/textarea/Textarea.stories.tsx +174 -0
  244. package/textarea/Textarea.test.js +152 -183
  245. package/textarea/types.d.ts +9 -5
  246. package/toggle-group/ToggleGroup.d.ts +2 -2
  247. package/toggle-group/ToggleGroup.js +92 -106
  248. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  249. package/toggle-group/ToggleGroup.test.js +69 -88
  250. package/toggle-group/types.d.ts +26 -17
  251. package/typography/Typography.d.ts +4 -0
  252. package/typography/Typography.js +23 -0
  253. package/typography/Typography.stories.tsx +198 -0
  254. package/typography/types.d.ts +18 -0
  255. package/typography/types.js +5 -0
  256. package/useTheme.d.ts +1133 -1
  257. package/useTheme.js +2 -9
  258. package/useTranslatedLabels.d.ts +84 -1
  259. package/useTranslatedLabels.js +1 -7
  260. package/utils/BaseTypography.d.ts +21 -0
  261. package/utils/BaseTypography.js +94 -0
  262. package/utils/FocusLock.d.ts +13 -0
  263. package/utils/FocusLock.js +121 -0
  264. package/wizard/Wizard.js +24 -66
  265. package/wizard/Wizard.stories.tsx +40 -1
  266. package/wizard/Wizard.test.js +54 -81
  267. package/wizard/types.d.ts +7 -7
  268. package/card/ice-cream.jpg +0 -0
  269. package/common/RequiredComponent.js +0 -32
  270. package/inline/Inline.d.ts +0 -4
  271. package/inline/Inline.js +0 -54
  272. package/inline/Inline.stories.tsx +0 -240
  273. package/inline/types.d.ts +0 -32
  274. package/list/List.d.ts +0 -4
  275. package/list/List.js +0 -47
  276. package/list/List.stories.tsx +0 -95
  277. package/list/types.d.ts +0 -7
  278. package/number-input/NumberInputContext.d.ts +0 -4
  279. package/number-input/NumberInputContext.js +0 -19
  280. package/number-input/numberInputContextTypes.d.ts +0 -19
  281. package/resultsetTable/ResultsetTable.js +0 -254
  282. package/row/Row.d.ts +0 -3
  283. package/row/Row.js +0 -127
  284. package/row/Row.stories.tsx +0 -237
  285. package/row/types.d.ts +0 -28
  286. package/slider/Slider.stories.tsx +0 -177
  287. package/stack/Stack.d.ts +0 -3
  288. package/stack/Stack.js +0 -97
  289. package/stack/Stack.stories.tsx +0 -164
  290. package/stack/types.d.ts +0 -24
  291. package/tabs-nav/Tab.js +0 -132
  292. package/text/Text.d.ts +0 -7
  293. package/text/Text.js +0 -30
  294. package/text/Text.stories.tsx +0 -19
  295. package/textarea/Textarea.stories.jsx +0 -157
  296. /package/{inline → bulleted-list}/types.js +0 -0
  297. /package/{list → container}/types.js +0 -0
  298. /package/{resultsetTable → flex}/types.js +0 -0
  299. /package/{row → grid}/types.js +0 -0
  300. /package/{stack → image}/types.js +0 -0
  301. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  302. /package/{tabs-nav → nav-tabs}/types.js +0 -0
  303. /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
  304. /package/{number-input/numberInputContextTypes.js → resultset-table/types.js} +0 -0
package/select/Select.js CHANGED
@@ -1,69 +1,46 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
11
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
-
18
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
-
20
13
  var _react = _interopRequireWildcard(require("react"));
21
-
22
14
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
-
24
15
  var _useTheme = _interopRequireDefault(require("../useTheme"));
25
-
26
16
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
27
-
28
- var _variables = require("../common/variables.js");
29
-
17
+ var _variables = require("../common/variables");
30
18
  var _uuid = require("uuid");
31
-
32
- var _utils = require("../common/utils.js");
33
-
19
+ var _utils = require("../common/utils");
34
20
  var _Icons = _interopRequireDefault(require("./Icons"));
35
-
36
21
  var _Listbox = _interopRequireDefault(require("./Listbox"));
37
-
38
22
  var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
39
-
40
23
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
41
-
42
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
43
-
44
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
45
-
46
- var groupsHaveOptions = function groupsHaveOptions(innerOptions) {
47
- return innerOptions[0].hasOwnProperty("options") ? innerOptions[0].options ? innerOptions.some(function (groupOption) {
48
- return groupOption.options.length > 0;
49
- }) : false : true;
24
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
25
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
26
+ var isOptionGroup = function isOptionGroup(option) {
27
+ return "options" in option && option.options != null;
50
28
  };
51
-
52
- var filteredGroupsHaveOptions = function filteredGroupsHaveOptions(filteredOptions) {
53
- return filteredOptions !== null && filteredOptions !== void 0 && filteredOptions[0].options ? filteredOptions.some(function (groupOption) {
29
+ var isArrayOfOptionGroups = function isArrayOfOptionGroups(options) {
30
+ return isOptionGroup(options[0]);
31
+ };
32
+ var groupsHaveOptions = function groupsHaveOptions(filteredOptions) {
33
+ return isArrayOfOptionGroups(filteredOptions) ? filteredOptions.some(function (groupOption) {
54
34
  var _groupOption$options;
55
-
56
35
  return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
57
36
  }) : true;
58
37
  };
59
-
60
38
  var canOpenOptions = function canOpenOptions(options, disabled) {
61
39
  return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions(options);
62
40
  };
63
-
64
41
  var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, searchValue) {
65
42
  if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
66
- if (options[0].options) return options.map(function (optionGroup) {
43
+ if (isArrayOfOptionGroups(options)) return options.map(function (optionGroup) {
67
44
  var group = {
68
45
  label: optionGroup.label,
69
46
  options: optionGroup.options.filter(function (option) {
@@ -76,32 +53,24 @@ var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, se
76
53
  });
77
54
  }
78
55
  };
79
-
80
56
  var getLastOptionIndex = function getLastOptionIndex(options, filteredOptions, searchable, optional, multiple) {
81
57
  var last = 0;
82
-
83
58
  var reducer = function reducer(acc, current) {
84
59
  var _current$options;
85
-
86
60
  return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
87
61
  };
88
-
89
- if (searchable && filteredOptions.length > 0) filteredOptions[0].options ? last = filteredOptions.reduce(reducer, 0) - 1 : last = filteredOptions.length - 1;else if ((options === null || options === void 0 ? void 0 : options.length) > 0) options[0].options ? last = options.reduce(reducer, 0) - 1 : last = options.length - 1;
62
+ if (searchable && (filteredOptions === null || filteredOptions === void 0 ? void 0 : filteredOptions.length) > 0) isArrayOfOptionGroups(filteredOptions) ? last = filteredOptions.reduce(reducer, 0) - 1 : last = filteredOptions.length - 1;else if ((options === null || options === void 0 ? void 0 : options.length) > 0) isArrayOfOptionGroups(options) ? last = options.reduce(reducer, 0) - 1 : last = options.length - 1;
90
63
  return optional && !multiple ? last + 1 : last;
91
64
  };
92
-
93
65
  var getSelectedOption = function getSelectedOption(value, options, multiple, optional, optionalItem) {
94
66
  var selectedOption = multiple ? [] : {};
95
67
  var singleSelectionIndex;
96
-
97
68
  if (multiple) {
98
69
  if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
99
70
  options.forEach(function (option) {
100
- if (option.options) {
101
- option.options.forEach(function (singleOption) {
102
- if (value.includes(singleOption.value)) selectedOption.push(singleOption);
103
- });
104
- } else if (value.includes(option.value)) selectedOption.push(option);
71
+ if (isOptionGroup(option)) option.options.forEach(function (singleOption) {
72
+ if (value.includes(singleOption.value) && Array.isArray(selectedOption)) selectedOption.push(singleOption);
73
+ });else if (value.includes(option.value) && Array.isArray(selectedOption)) selectedOption.push(option);
105
74
  });
106
75
  }
107
76
  } else {
@@ -111,14 +80,13 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
111
80
  } else if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
112
81
  var group_index = 0;
113
82
  options.some(function (option, index) {
114
- if (option.options) {
83
+ if (isOptionGroup(option)) {
115
84
  option.options.some(function (singleOption) {
116
85
  if (singleOption.value === value) {
117
86
  selectedOption = singleOption;
118
87
  singleSelectionIndex = optional ? group_index + 1 : group_index;
119
88
  return true;
120
89
  }
121
-
122
90
  group_index++;
123
91
  });
124
92
  } else if (option.value === value) {
@@ -129,81 +97,86 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
129
97
  });
130
98
  }
131
99
  }
132
-
133
100
  return {
134
101
  selectedOption: selectedOption,
135
102
  singleSelectionIndex: singleSelectionIndex
136
103
  };
137
104
  };
138
-
139
105
  var notOptionalCheck = function notOptionalCheck(value, multiple, optional) {
140
106
  return !optional && (multiple ? value.length === 0 : value === "");
141
107
  };
142
-
108
+ var useWidth = function useWidth(target) {
109
+ var _useState = (0, _react.useState)(0),
110
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
111
+ width = _useState2[0],
112
+ setWidth = _useState2[1];
113
+ (0, _react.useEffect)(function () {
114
+ if (target != null) {
115
+ setWidth(target.getBoundingClientRect().width);
116
+ var triggerObserver = new ResizeObserver(function (entries) {
117
+ var rect = entries[0].target.getBoundingClientRect();
118
+ setWidth(rect === null || rect === void 0 ? void 0 : rect.width);
119
+ });
120
+ triggerObserver.observe(target);
121
+ return function () {
122
+ triggerObserver.unobserve(target);
123
+ };
124
+ }
125
+ }, [target]);
126
+ return width;
127
+ };
143
128
  var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
144
- var _selectedOption$label;
145
-
129
+ var _ref4, _selectedOption$label;
146
130
  var label = _ref.label,
147
- _ref$name = _ref.name,
148
- name = _ref$name === void 0 ? "" : _ref$name,
149
- defaultValue = _ref.defaultValue,
150
- value = _ref.value,
151
- options = _ref.options,
152
- helperText = _ref.helperText,
153
- _ref$placeholder = _ref.placeholder,
154
- placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
155
- _ref$disabled = _ref.disabled,
156
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
157
- _ref$optional = _ref.optional,
158
- optional = _ref$optional === void 0 ? false : _ref$optional,
159
- _ref$searchable = _ref.searchable,
160
- searchable = _ref$searchable === void 0 ? false : _ref$searchable,
161
- _ref$multiple = _ref.multiple,
162
- multiple = _ref$multiple === void 0 ? false : _ref$multiple,
163
- onChange = _ref.onChange,
164
- onBlur = _ref.onBlur,
165
- error = _ref.error,
166
- margin = _ref.margin,
167
- _ref$size = _ref.size,
168
- size = _ref$size === void 0 ? "medium" : _ref$size,
169
- _ref$tabIndex = _ref.tabIndex,
170
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
171
-
172
- var _useState = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
173
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
174
- selectId = _useState2[0];
175
-
131
+ _ref$name = _ref.name,
132
+ name = _ref$name === void 0 ? "" : _ref$name,
133
+ defaultValue = _ref.defaultValue,
134
+ value = _ref.value,
135
+ options = _ref.options,
136
+ helperText = _ref.helperText,
137
+ _ref$placeholder = _ref.placeholder,
138
+ placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
139
+ _ref$disabled = _ref.disabled,
140
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
141
+ _ref$optional = _ref.optional,
142
+ optional = _ref$optional === void 0 ? false : _ref$optional,
143
+ _ref$searchable = _ref.searchable,
144
+ searchable = _ref$searchable === void 0 ? false : _ref$searchable,
145
+ _ref$multiple = _ref.multiple,
146
+ multiple = _ref$multiple === void 0 ? false : _ref$multiple,
147
+ onChange = _ref.onChange,
148
+ onBlur = _ref.onBlur,
149
+ error = _ref.error,
150
+ margin = _ref.margin,
151
+ _ref$size = _ref.size,
152
+ size = _ref$size === void 0 ? "medium" : _ref$size,
153
+ _ref$tabIndex = _ref.tabIndex,
154
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
155
+ var _useState3 = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
156
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
157
+ selectId = _useState4[0];
176
158
  var selectLabelId = "label-".concat(selectId);
177
159
  var errorId = "error-".concat(selectId);
178
160
  var optionsListId = "".concat(selectId, "-listbox");
179
-
180
- var _useState3 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
181
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
182
- innerValue = _useState4[0],
183
- setInnerValue = _useState4[1];
184
-
185
- var _useState5 = (0, _react.useState)(""),
186
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
187
- searchValue = _useState6[0],
188
- setSearchValue = _useState6[1];
189
-
190
- var _useState7 = (0, _react.useState)(-1),
191
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
192
- visualFocusIndex = _useState8[0],
193
- changeVisualFocusIndex = _useState8[1];
194
-
195
- var _useState9 = (0, _react.useState)(false),
196
- _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
197
- isOpen = _useState10[0],
198
- changeIsOpen = _useState10[1];
199
-
200
- var _useState11 = (0, _react.useState)(null),
201
- _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
202
- listboxStyles = _useState12[0],
203
- setListboxStyles = _useState12[1];
204
-
161
+ var _useState5 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
162
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
163
+ innerValue = _useState6[0],
164
+ setInnerValue = _useState6[1];
165
+ var _useState7 = (0, _react.useState)(""),
166
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
167
+ searchValue = _useState8[0],
168
+ setSearchValue = _useState8[1];
169
+ var _useState9 = (0, _react.useState)(-1),
170
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
171
+ visualFocusIndex = _useState10[0],
172
+ changeVisualFocusIndex = _useState10[1];
173
+ var _useState11 = (0, _react.useState)(false),
174
+ _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
175
+ isOpen = _useState12[0],
176
+ changeIsOpen = _useState12[1];
205
177
  var selectRef = (0, _react.useRef)(null);
206
178
  var selectSearchInputRef = (0, _react.useRef)(null);
179
+ var width = useWidth(selectRef.current);
207
180
  var colorsTheme = (0, _useTheme["default"])();
208
181
  var translatedLabels = (0, _useTranslatedLabels["default"])();
209
182
  var optionalItem = {
@@ -216,33 +189,28 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
216
189
  var lastOptionIndex = (0, _react.useMemo)(function () {
217
190
  return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
218
191
  }, [options, filteredOptions, searchable, optional, multiple]);
219
-
220
192
  var _useMemo = (0, _react.useMemo)(function () {
221
- return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
222
- }, [value, innerValue, options, multiple, optional, optionalItem]),
223
- selectedOption = _useMemo.selectedOption,
224
- singleSelectionIndex = _useMemo.singleSelectionIndex;
225
-
193
+ return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
194
+ }, [value, innerValue, options, multiple, optional, optionalItem]),
195
+ selectedOption = _useMemo.selectedOption,
196
+ singleSelectionIndex = _useMemo.singleSelectionIndex;
226
197
  var openOptions = function openOptions() {
227
198
  if (!isOpen && canOpenOptions(options, disabled)) changeIsOpen(true);
228
199
  };
229
-
230
200
  var closeOptions = function closeOptions() {
231
201
  if (isOpen) {
232
202
  changeIsOpen(false);
233
203
  changeVisualFocusIndex(-1);
234
204
  }
235
205
  };
236
-
237
206
  var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
238
207
  var newValue;
239
-
240
208
  if (multiple) {
241
- if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) newValue = (value !== null && value !== void 0 ? value : innerValue).filter(function (optionVal) {
209
+ var _ref2, _ref3;
210
+ if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) newValue = ((_ref2 = value && Array.isArray(value) && value) !== null && _ref2 !== void 0 ? _ref2 : innerValue && Array.isArray(innerValue) && innerValue).filter(function (optionVal) {
242
211
  return optionVal !== newOption.value;
243
- });else newValue = [].concat((0, _toConsumableArray2["default"])(value !== null && value !== void 0 ? value : innerValue), [newOption.value]);
212
+ });else newValue = [].concat((0, _toConsumableArray2["default"])((_ref3 = value && Array.isArray(value) && value) !== null && _ref3 !== void 0 ? _ref3 : innerValue && Array.isArray(innerValue) && innerValue), [newOption.value]);
244
213
  } else newValue = newOption.value;
245
-
246
214
  value !== null && value !== void 0 ? value : setInnerValue(newValue);
247
215
  notOptionalCheck(newValue, multiple, optional) ? onChange === null || onChange === void 0 ? void 0 : onChange({
248
216
  value: newValue,
@@ -251,22 +219,18 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
251
219
  value: newValue
252
220
  });
253
221
  };
254
-
255
222
  var handleSelectOnClick = function handleSelectOnClick() {
256
223
  searchable && selectSearchInputRef.current.focus();
257
-
258
224
  if (isOpen) {
259
225
  closeOptions();
260
226
  setSearchValue("");
261
227
  } else openOptions();
262
228
  };
263
-
264
229
  var handleSelectOnFocus = function handleSelectOnFocus(event) {
265
230
  if (!event.currentTarget.contains(event.relatedTarget)) searchable && selectSearchInputRef.current.focus();
266
231
  };
267
-
268
232
  var handleSelectOnBlur = function handleSelectOnBlur(event) {
269
- // focus leaves container (outside, not to childs)
233
+ // focus leaves container (outside, not to a child)
270
234
  if (!event.currentTarget.contains(event.relatedTarget)) {
271
235
  closeOptions();
272
236
  setSearchValue("");
@@ -279,42 +243,36 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
279
243
  });
280
244
  }
281
245
  };
282
-
283
246
  var handleSelectOnKeyDown = function handleSelectOnKeyDown(event) {
284
- switch (event.keyCode) {
285
- case 40:
286
- // Arrow Down
247
+ switch (event.key) {
248
+ case "Down":
249
+ case "ArrowDown":
287
250
  event.preventDefault();
288
251
  singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
289
252
  if (visualFocusIndex < lastOptionIndex) return visualFocusIndex + 1;else if (visualFocusIndex === lastOptionIndex) return 0;
290
253
  });
291
254
  openOptions();
292
255
  break;
293
-
294
- case 38:
295
- // Arrow Up
256
+ case "Up":
257
+ case "ArrowUp":
296
258
  event.preventDefault();
297
259
  singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
298
260
  return visualFocusIndex === 0 || visualFocusIndex === -1 ? lastOptionIndex : visualFocusIndex - 1;
299
261
  });
300
262
  openOptions();
301
263
  break;
302
-
303
- case 27:
304
- // Esc
264
+ case "Esc":
265
+ case "Escape":
305
266
  event.preventDefault();
306
267
  closeOptions();
307
268
  setSearchValue("");
308
269
  break;
309
-
310
- case 13:
311
- // Enter
270
+ case "Enter":
312
271
  if (isOpen && visualFocusIndex >= 0) {
313
272
  var accLength = optional && !multiple ? 1 : 0;
314
-
315
273
  if (searchable) {
316
274
  if (filteredOptions.length > 0) {
317
- if (optional && !multiple && visualFocusIndex === 0 && filteredGroupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else filteredOptions[0].options ? filteredGroupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
275
+ if (optional && !multiple && visualFocusIndex === 0 && groupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(filteredOptions) ? groupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
318
276
  var groupLength = accLength + groupOption.options.length;
319
277
  groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
320
278
  accLength = groupLength;
@@ -322,28 +280,24 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
322
280
  }) : handleSelectChangeValue(filteredOptions[visualFocusIndex - accLength]);
323
281
  }
324
282
  } else {
325
- if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else options[0].options ? options.some(function (groupOption) {
283
+ if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(options) ? options.some(function (groupOption) {
326
284
  var groupLength = accLength + groupOption.options.length;
327
285
  groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
328
286
  accLength = groupLength;
329
287
  return groupLength > visualFocusIndex;
330
288
  }) : handleSelectChangeValue(options[visualFocusIndex - accLength]);
331
289
  }
332
-
333
290
  !multiple && closeOptions();
334
291
  setSearchValue("");
335
292
  }
336
-
337
293
  break;
338
294
  }
339
295
  };
340
-
341
296
  var handleSearchIOnChange = function handleSearchIOnChange(event) {
342
297
  setSearchValue(event.target.value);
343
298
  changeVisualFocusIndex(-1);
344
299
  openOptions();
345
300
  };
346
-
347
301
  var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
348
302
  event.stopPropagation();
349
303
  value !== null && value !== void 0 ? value : setInnerValue([]);
@@ -354,34 +308,15 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
354
308
  value: []
355
309
  });
356
310
  };
357
-
358
311
  var handleClearSearchActionOnClick = function handleClearSearchActionOnClick(event) {
359
312
  event.stopPropagation();
360
313
  setSearchValue("");
361
314
  };
362
-
363
315
  var handleOptionOnClick = (0, _react.useCallback)(function (option) {
364
316
  handleSelectChangeValue(option);
365
317
  !multiple && closeOptions();
366
318
  setSearchValue("");
367
319
  }, [handleSelectChangeValue, closeOptions, multiple]);
368
-
369
- var handleListboxResize = function handleListboxResize() {
370
- var _selectRef$current;
371
-
372
- var rect = selectRef === null || selectRef === void 0 ? void 0 : (_selectRef$current = selectRef.current) === null || _selectRef$current === void 0 ? void 0 : _selectRef$current.getBoundingClientRect();
373
- setListboxStyles({
374
- width: rect === null || rect === void 0 ? void 0 : rect.width
375
- });
376
- };
377
-
378
- (0, _react.useEffect)(function () {
379
- handleListboxResize();
380
- window.addEventListener("resize", handleListboxResize);
381
- return function () {
382
- window.removeEventListener("resize", handleListboxResize);
383
- };
384
- }, [setListboxStyles]);
385
320
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
386
321
  theme: colorsTheme.select
387
322
  }, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
@@ -400,7 +335,8 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
400
335
  }, helperText), /*#__PURE__*/_react["default"].createElement(Popover.Root, {
401
336
  open: isOpen
402
337
  }, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
403
- asChild: true
338
+ asChild: true,
339
+ type: undefined
404
340
  }, /*#__PURE__*/_react["default"].createElement(Select, {
405
341
  id: selectId,
406
342
  disabled: disabled,
@@ -410,7 +346,7 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
410
346
  onFocus: handleSelectOnFocus,
411
347
  onKeyDown: handleSelectOnKeyDown,
412
348
  ref: selectRef,
413
- tabIndex: tabIndex,
349
+ tabIndex: disabled ? -1 : tabIndex,
414
350
  role: "combobox",
415
351
  "aria-controls": optionsListId,
416
352
  "aria-disabled": disabled,
@@ -418,10 +354,10 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
418
354
  "aria-haspopup": "listbox",
419
355
  "aria-labelledby": label ? selectLabelId : undefined,
420
356
  "aria-activedescendant": visualFocusIndex >= 0 ? "option-".concat(visualFocusIndex) : undefined,
421
- "aria-invalid": error ? "true" : "false",
357
+ "aria-invalid": error ? true : false,
422
358
  "aria-errormessage": error ? errorId : undefined,
423
359
  "aria-required": !disabled && !optional
424
- }, multiple && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
360
+ }, multiple && Array.isArray(selectedOption) && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
425
361
  disabled: disabled
426
362
  }, selectedOption.length), /*#__PURE__*/_react["default"].createElement(ClearOptionsAction, {
427
363
  disabled: disabled,
@@ -435,7 +371,8 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
435
371
  "aria-label": translatedLabels.select.actionClearSelectionTitle
436
372
  }, _Icons["default"].clear)), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
437
373
  name: name,
438
- value: multiple ? (value !== null && value !== void 0 ? value : innerValue).join(",") : value !== null && value !== void 0 ? value : innerValue,
374
+ disabled: disabled,
375
+ value: multiple ? ((_ref4 = value && Array.isArray(value) && value) !== null && _ref4 !== void 0 ? _ref4 : innerValue && Array.isArray(innerValue) && innerValue).join(",") : value !== null && value !== void 0 ? value : innerValue,
439
376
  readOnly: true,
440
377
  "aria-hidden": "true"
441
378
  }), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
@@ -449,12 +386,12 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
449
386
  }), (!searchable || searchValue === "") && (multiple ? /*#__PURE__*/_react["default"].createElement(SelectedOption, {
450
387
  disabled: disabled,
451
388
  atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || searchable && isOpen
452
- }, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, selectedOption.map(function (option) {
389
+ }, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, Array.isArray(selectedOption) && selectedOption.map(function (option) {
453
390
  return option.label;
454
- }).join(", ")), selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
391
+ }).join(", ")), Array.isArray(selectedOption) && selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
455
392
  disabled: disabled,
456
393
  atBackground: !(value !== null && value !== void 0 ? value : innerValue) || searchable && isOpen
457
- }, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, (_selectedOption$label = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _selectedOption$label !== void 0 ? _selectedOption$label : placeholder)))), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, _Icons["default"].error), searchable && searchValue.length > 0 && /*#__PURE__*/_react["default"].createElement(ClearSearchAction, {
394
+ }, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, !Array.isArray(selectedOption) ? (_selectedOption$label = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _selectedOption$label !== void 0 ? _selectedOption$label : placeholder : placeholder)))), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, _Icons["default"].error), searchable && searchValue.length > 0 && /*#__PURE__*/_react["default"].createElement(ClearSearchAction, {
458
395
  onMouseDown: function onMouseDown(event) {
459
396
  // Avoid input to lose focus
460
397
  event.preventDefault();
@@ -465,8 +402,11 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
465
402
  "aria-label": translatedLabels.select.actionClearSearchTitle
466
403
  }, _Icons["default"].clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
467
404
  disabled: disabled
468
- }, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown))), /*#__PURE__*/_react["default"].createElement(Popover.Content, {
405
+ }, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown))), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
469
406
  sideOffset: 4,
407
+ style: {
408
+ zIndex: "2147483647"
409
+ },
470
410
  onOpenAutoFocus: function onOpenAutoFocus(event) {
471
411
  // Avoid select to lose focus when the list is opened
472
412
  event.preventDefault();
@@ -486,24 +426,23 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
486
426
  optionalItem: optionalItem,
487
427
  searchable: searchable,
488
428
  handleOptionOnClick: handleOptionOnClick,
489
- styles: listboxStyles
490
- }))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
429
+ styles: {
430
+ width: width
431
+ }
432
+ })))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
491
433
  id: errorId,
492
434
  "aria-live": error ? "assertive" : "off"
493
435
  }, error)));
494
436
  });
495
-
496
437
  var sizes = {
497
438
  small: "240px",
498
439
  medium: "360px",
499
440
  large: "480px",
500
441
  fillParent: "100%"
501
442
  };
502
-
503
443
  var calculateWidth = function calculateWidth(margin, size) {
504
444
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
505
445
  };
506
-
507
446
  var SelectContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
508
447
  return calculateWidth(props.margin, props.size);
509
448
  }, function (props) {
@@ -517,7 +456,6 @@ var SelectContainer = _styledComponents["default"].div(_templateObject || (_temp
517
456
  }, function (props) {
518
457
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
519
458
  });
520
-
521
459
  var Label = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n cursor: default;\n ", "\n"])), function (props) {
522
460
  return props.disabled ? props.theme.disabledColor : props.theme.labelFontColor;
523
461
  }, function (props) {
@@ -533,11 +471,9 @@ var Label = _styledComponents["default"].span(_templateObject2 || (_templateObje
533
471
  }, function (props) {
534
472
  return !props.helperText && "margin-bottom: 0.25rem";
535
473
  });
536
-
537
474
  var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
538
475
  return props.theme.optionalLabelFontWeight;
539
476
  });
540
-
541
477
  var HelperText = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n margin-bottom: 0.25rem;\n"])), function (props) {
542
478
  return props.disabled ? props.theme.disabledColor : props.theme.helperTextFontColor;
543
479
  }, function (props) {
@@ -551,7 +487,6 @@ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templat
551
487
  }, function (props) {
552
488
  return props.theme.helperTextLineHeight;
553
489
  });
554
-
555
490
  var Select = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: relative;\n align-items: center;\n height: calc(2.5rem - 2px);\n padding: 0 0.5rem;\n outline: none;\n ", ";\n box-shadow: 0 0 0 2px transparent;\n border-radius: 4px;\n border: 1px solid\n ", ";\n ", "\n ", ";\n\n ", ";\n"])), function (props) {
556
491
  return props.disabled && "background-color: ".concat(props.theme.disabledInputBackgroundColor);
557
492
  }, function (props) {
@@ -563,11 +498,9 @@ var Select = _styledComponents["default"].div(_templateObject5 || (_templateObje
563
498
  }, function (props) {
564
499
  return !props.disabled && "\n &:hover {\n border-color: ".concat(props.error ? "transparent" : props.theme.hoverInputBorderColor, ";\n ").concat(props.error && "box-shadow: 0 0 0 2px ".concat(props.theme.hoverInputErrorBorderColor, ";"), "\n }\n &:focus-within {\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(props.theme.focusInputBorderColor, ";\n }\n ");
565
500
  });
566
-
567
501
  var SelectionIndicator = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n border: 1px solid ", ";\n border-radius: 2px;\n max-height: 22px;\n width: 46px;\n"])), function (props) {
568
502
  return props.theme.selectionIndicatorBorderColor;
569
503
  });
570
-
571
504
  var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 22px;\n height: 22px;\n user-select: none;\n ", ";\n border-right: 1px solid ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n ", "\n"])), function (props) {
572
505
  return !props.disabled && "background-color: ".concat(props.theme.selectionIndicatorBackgroundColor);
573
506
  }, function (props) {
@@ -585,7 +518,6 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_te
585
518
  }, function (props) {
586
519
  return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
587
520
  });
588
-
589
521
  var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n width: 23px;\n height: 22px;\n border: none;\n padding: 0.25rem;\n ", "\n background-color: ", ";\n color: ", ";\n\n :focus-visible {\n outline: none;\n }\n ", "\n\n svg {\n line-height: 18px;\n }\n"])), function (props) {
590
522
  return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
591
523
  }, function (props) {
@@ -595,9 +527,7 @@ var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 ||
595
527
  }, function (props) {
596
528
  return !props.disabled && "\n &:hover {\n background-color: ".concat(props.theme.hoverSelectionIndicatorActionBackgroundColor, ";\n color: ").concat(props.theme.hoverSelectionIndicatorActionIconColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.activeSelectionIndicatorActionBackgroundColor, ";\n color: ").concat(props.theme.activeSelectionIndicatorActionIconColor, ";\n }\n ");
597
529
  });
598
-
599
530
  var SearchableValueContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"])));
600
-
601
531
  var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n grid-area: 1 / 1 / 1 / 1;\n display: inline-flex;\n align-items: center;\n height: calc(2.5rem - 2px);\n padding: 0 0.5rem;\n user-select: none;\n overflow: hidden;\n\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
602
532
  if (props.disabled) return props.theme.disabledColor;else if (props.atBackground) return props.theme.placeholderFontColor;else return props.theme.valueFontColor;
603
533
  }, function (props) {
@@ -609,11 +539,8 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_te
609
539
  }, function (props) {
610
540
  return props.theme.valueFontWeight;
611
541
  });
612
-
613
542
  var SelectedOptionLabel = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
614
-
615
543
  var ValueInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
616
-
617
544
  var SearchInput = _styledComponents["default"].input(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n grid-area: 1 / 1 / 1 / 1;\n height: calc(2.5rem - 2px);\n background: none;\n border: none;\n outline: none;\n padding: 0 0.5rem;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n"])), function (props) {
618
545
  return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
619
546
  }, function (props) {
@@ -625,21 +552,17 @@ var SearchInput = _styledComponents["default"].input(_templateObject13 || (_temp
625
552
  }, function (props) {
626
553
  return props.theme.valueFontWeight;
627
554
  });
628
-
629
555
  var ErrorIcon = _styledComponents["default"].span(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n padding: 3px;\n height: 18px;\n width: 18px;\n margin-left: 0.25rem;\n pointer-events: none;\n color: ", ";\n\n svg {\n line-height: 18px;\n font-size: 1.25rem;\n }\n"])), function (props) {
630
556
  return props.theme.errorIconColor;
631
557
  });
632
-
633
558
  var Error = _styledComponents["default"].span(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 1.5em;\n color: ", ";\n font-family: ", ";\n font-size: 0.75rem;\n font-weight: 400;\n line-height: 1.5em;\n margin-top: 0.25rem;\n"])), function (props) {
634
559
  return props.theme.errorMessageColor;
635
560
  }, function (props) {
636
561
  return props.theme.fontFamily;
637
562
  });
638
-
639
563
  var CollapseIndicator = _styledComponents["default"].span(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 16px;\n width: 16px;\n padding: 4px;\n margin-left: 0.25rem;\n color: ", ";\n"])), function (props) {
640
564
  return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
641
565
  });
642
-
643
566
  var ClearSearchAction = _styledComponents["default"].button(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n border-radius: 2px;\n padding: 3px;\n margin-left: 0.25rem;\n background-color: ", ";\n color: ", ";\n\n cursor: pointer;\n &:hover {\n background-color: ", ";\n color: ", ";\n }\n &:active {\n background-color: ", ";\n color: ", ";\n }\n svg {\n line-height: 18px;\n }\n"])), function (props) {
644
567
  return props.theme.fontFamily;
645
568
  }, function (props) {
@@ -655,6 +578,4 @@ var ClearSearchAction = _styledComponents["default"].button(_templateObject17 ||
655
578
  }, function (props) {
656
579
  return props.theme.activeActionIconColor;
657
580
  });
658
-
659
- var _default = DxcSelect;
660
- exports["default"] = _default;
581
+ var _default = exports["default"] = DxcSelect;