@dxc-technology/halstack-react 0.0.0-f53e801 → 0.0.0-f6290b3

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 (313) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1243 -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 +101 -125
  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 +30 -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/action-icon/ActionIcon.d.ts +4 -0
  19. package/action-icon/ActionIcon.js +47 -0
  20. package/action-icon/ActionIcon.stories.tsx +41 -0
  21. package/action-icon/ActionIcon.test.js +64 -0
  22. package/action-icon/types.d.ts +26 -0
  23. package/alert/Alert.js +20 -59
  24. package/alert/Alert.stories.tsx +28 -0
  25. package/alert/Alert.test.js +29 -46
  26. package/alert/types.d.ts +5 -5
  27. package/badge/Badge.d.ts +1 -1
  28. package/badge/Badge.js +141 -43
  29. package/badge/Badge.stories.tsx +210 -0
  30. package/badge/Badge.test.js +30 -0
  31. package/badge/types.d.ts +52 -3
  32. package/bleed/Bleed.js +13 -21
  33. package/bleed/Bleed.stories.tsx +1 -0
  34. package/bleed/types.d.ts +2 -2
  35. package/box/Box.d.ts +1 -1
  36. package/box/Box.js +19 -60
  37. package/box/Box.stories.tsx +38 -51
  38. package/box/Box.test.js +2 -7
  39. package/box/types.d.ts +3 -14
  40. package/bulleted-list/BulletedList.js +19 -53
  41. package/bulleted-list/BulletedList.stories.tsx +8 -93
  42. package/bulleted-list/types.d.ts +32 -5
  43. package/button/Button.d.ts +1 -1
  44. package/button/Button.js +69 -105
  45. package/button/Button.stories.tsx +152 -91
  46. package/button/Button.test.js +20 -17
  47. package/button/types.d.ts +8 -4
  48. package/card/Card.d.ts +1 -1
  49. package/card/Card.js +48 -89
  50. package/card/Card.stories.tsx +12 -42
  51. package/card/Card.test.js +11 -22
  52. package/card/types.d.ts +6 -11
  53. package/checkbox/Checkbox.d.ts +2 -2
  54. package/checkbox/Checkbox.js +140 -182
  55. package/checkbox/Checkbox.stories.tsx +128 -94
  56. package/checkbox/Checkbox.test.js +160 -39
  57. package/checkbox/types.d.ts +11 -3
  58. package/chip/Chip.js +39 -79
  59. package/chip/Chip.stories.tsx +121 -26
  60. package/chip/Chip.test.js +16 -31
  61. package/chip/types.d.ts +4 -4
  62. package/common/OpenSans.css +68 -80
  63. package/common/coreTokens.d.ts +237 -0
  64. package/common/coreTokens.js +184 -0
  65. package/common/utils.d.ts +1 -0
  66. package/common/utils.js +6 -12
  67. package/common/variables.d.ts +1395 -0
  68. package/common/variables.js +927 -1164
  69. package/container/Container.d.ts +4 -0
  70. package/container/Container.js +194 -0
  71. package/container/Container.stories.tsx +214 -0
  72. package/container/types.d.ts +74 -0
  73. package/contextual-menu/ContextualMenu.d.ts +7 -0
  74. package/contextual-menu/ContextualMenu.js +71 -0
  75. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  76. package/contextual-menu/ContextualMenu.test.js +71 -0
  77. package/contextual-menu/MenuItemAction.d.ts +4 -0
  78. package/contextual-menu/MenuItemAction.js +46 -0
  79. package/contextual-menu/types.d.ts +22 -0
  80. package/date-input/Calendar.d.ts +4 -0
  81. package/date-input/Calendar.js +214 -0
  82. package/date-input/DateInput.js +150 -299
  83. package/date-input/DateInput.stories.tsx +203 -56
  84. package/date-input/DateInput.test.js +700 -371
  85. package/date-input/DatePicker.d.ts +4 -0
  86. package/date-input/DatePicker.js +115 -0
  87. package/date-input/Icons.d.ts +6 -0
  88. package/date-input/Icons.js +58 -0
  89. package/date-input/YearPicker.d.ts +4 -0
  90. package/date-input/YearPicker.js +100 -0
  91. package/date-input/types.d.ts +72 -15
  92. package/dialog/Dialog.d.ts +1 -1
  93. package/dialog/Dialog.js +60 -118
  94. package/dialog/Dialog.stories.tsx +320 -166
  95. package/dialog/Dialog.test.js +269 -32
  96. package/dialog/types.d.ts +18 -25
  97. package/divider/Divider.d.ts +4 -0
  98. package/divider/Divider.js +36 -0
  99. package/divider/Divider.stories.tsx +223 -0
  100. package/divider/Divider.test.js +38 -0
  101. package/divider/types.d.ts +19 -0
  102. package/divider/types.js +5 -0
  103. package/dropdown/Dropdown.js +81 -132
  104. package/dropdown/Dropdown.stories.tsx +210 -84
  105. package/dropdown/Dropdown.test.js +410 -402
  106. package/dropdown/DropdownMenu.js +20 -37
  107. package/dropdown/DropdownMenuItem.js +10 -35
  108. package/dropdown/types.d.ts +18 -20
  109. package/file-input/FileInput.d.ts +2 -2
  110. package/file-input/FileInput.js +241 -355
  111. package/file-input/FileInput.stories.tsx +123 -12
  112. package/file-input/FileInput.test.js +369 -367
  113. package/file-input/FileItem.d.ts +4 -14
  114. package/file-input/FileItem.js +45 -96
  115. package/file-input/types.d.ts +25 -8
  116. package/flex/Flex.d.ts +1 -1
  117. package/flex/Flex.js +40 -40
  118. package/flex/Flex.stories.tsx +35 -26
  119. package/flex/types.d.ts +84 -8
  120. package/footer/Footer.d.ts +1 -1
  121. package/footer/Footer.js +70 -117
  122. package/footer/Footer.stories.tsx +60 -19
  123. package/footer/Footer.test.js +33 -57
  124. package/footer/Icons.d.ts +3 -2
  125. package/footer/Icons.js +66 -7
  126. package/footer/types.d.ts +25 -26
  127. package/grid/Grid.d.ts +7 -0
  128. package/grid/Grid.js +76 -0
  129. package/grid/Grid.stories.tsx +219 -0
  130. package/grid/types.d.ts +115 -0
  131. package/grid/types.js +5 -0
  132. package/header/Header.d.ts +4 -3
  133. package/header/Header.js +48 -133
  134. package/header/Header.stories.tsx +118 -39
  135. package/header/Header.test.js +13 -26
  136. package/header/Icons.d.ts +2 -2
  137. package/header/Icons.js +2 -7
  138. package/header/types.d.ts +7 -21
  139. package/heading/Heading.js +10 -32
  140. package/heading/Heading.test.js +71 -88
  141. package/heading/types.d.ts +7 -7
  142. package/image/Image.d.ts +4 -0
  143. package/image/Image.js +70 -0
  144. package/image/Image.stories.tsx +129 -0
  145. package/image/types.d.ts +72 -0
  146. package/image/types.js +5 -0
  147. package/inset/Inset.js +13 -21
  148. package/inset/Inset.stories.tsx +2 -1
  149. package/inset/types.d.ts +2 -2
  150. package/layout/ApplicationLayout.d.ts +5 -5
  151. package/layout/ApplicationLayout.js +29 -66
  152. package/layout/ApplicationLayout.stories.tsx +2 -1
  153. package/layout/Icons.d.ts +8 -5
  154. package/layout/Icons.js +51 -59
  155. package/layout/SidenavContext.d.ts +1 -1
  156. package/layout/SidenavContext.js +3 -9
  157. package/layout/types.d.ts +5 -6
  158. package/link/Link.js +25 -46
  159. package/link/Link.stories.tsx +60 -0
  160. package/link/Link.test.js +24 -44
  161. package/link/types.d.ts +14 -14
  162. package/main.d.ts +9 -5
  163. package/main.js +40 -59
  164. package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
  165. package/{tabs-nav → nav-tabs}/NavTabs.js +23 -55
  166. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +115 -9
  167. package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -45
  168. package/nav-tabs/Tab.js +118 -0
  169. package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
  170. package/nav-tabs/types.js +5 -0
  171. package/number-input/NumberInput.d.ts +7 -0
  172. package/number-input/NumberInput.js +47 -37
  173. package/number-input/NumberInput.stories.tsx +42 -26
  174. package/number-input/NumberInput.test.js +860 -377
  175. package/number-input/types.d.ts +11 -5
  176. package/package.json +39 -42
  177. package/paginator/Icons.d.ts +5 -0
  178. package/paginator/Icons.js +21 -47
  179. package/paginator/Paginator.js +23 -59
  180. package/paginator/Paginator.stories.tsx +24 -0
  181. package/paginator/Paginator.test.js +253 -226
  182. package/paginator/types.d.ts +3 -3
  183. package/paragraph/Paragraph.d.ts +3 -4
  184. package/paragraph/Paragraph.js +6 -22
  185. package/paragraph/Paragraph.stories.tsx +0 -17
  186. package/password-input/Icons.d.ts +6 -0
  187. package/password-input/Icons.js +35 -0
  188. package/password-input/PasswordInput.js +57 -126
  189. package/password-input/PasswordInput.stories.tsx +1 -33
  190. package/password-input/PasswordInput.test.js +160 -142
  191. package/password-input/types.d.ts +8 -7
  192. package/progress-bar/ProgressBar.d.ts +2 -2
  193. package/progress-bar/ProgressBar.js +23 -55
  194. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
  195. package/progress-bar/ProgressBar.test.js +36 -53
  196. package/progress-bar/types.d.ts +4 -3
  197. package/quick-nav/QuickNav.js +15 -39
  198. package/quick-nav/QuickNav.stories.tsx +112 -20
  199. package/quick-nav/types.d.ts +10 -10
  200. package/radio-group/Radio.d.ts +1 -1
  201. package/radio-group/Radio.js +59 -76
  202. package/radio-group/RadioGroup.js +59 -105
  203. package/radio-group/RadioGroup.stories.tsx +132 -18
  204. package/radio-group/RadioGroup.test.js +518 -457
  205. package/radio-group/types.d.ts +10 -10
  206. package/resultset-table/Icons.d.ts +7 -0
  207. package/resultset-table/Icons.js +47 -0
  208. package/resultset-table/ResultsetTable.d.ts +7 -0
  209. package/resultset-table/ResultsetTable.js +166 -0
  210. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +152 -30
  211. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +167 -144
  212. package/{resultsetTable → resultset-table}/types.d.ts +13 -7
  213. package/resultset-table/types.js +5 -0
  214. package/select/Icons.d.ts +7 -7
  215. package/select/Icons.js +1 -5
  216. package/select/Listbox.d.ts +1 -1
  217. package/select/Listbox.js +17 -73
  218. package/select/Option.js +27 -50
  219. package/select/Select.js +123 -176
  220. package/select/Select.stories.tsx +497 -153
  221. package/select/Select.test.js +1970 -1775
  222. package/select/types.d.ts +16 -17
  223. package/sidenav/Icons.d.ts +7 -0
  224. package/sidenav/Icons.js +47 -0
  225. package/sidenav/Sidenav.d.ts +2 -2
  226. package/sidenav/Sidenav.js +82 -153
  227. package/sidenav/Sidenav.stories.tsx +165 -63
  228. package/sidenav/Sidenav.test.js +3 -10
  229. package/sidenav/types.d.ts +31 -28
  230. package/slider/Slider.d.ts +2 -2
  231. package/slider/Slider.js +146 -179
  232. package/slider/Slider.test.js +164 -97
  233. package/slider/types.d.ts +7 -3
  234. package/spinner/Spinner.js +31 -75
  235. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  236. package/spinner/Spinner.test.js +26 -35
  237. package/spinner/types.d.ts +3 -3
  238. package/status-light/StatusLight.d.ts +4 -0
  239. package/status-light/StatusLight.js +51 -0
  240. package/status-light/StatusLight.stories.tsx +74 -0
  241. package/status-light/StatusLight.test.js +25 -0
  242. package/status-light/types.d.ts +17 -0
  243. package/status-light/types.js +5 -0
  244. package/switch/Switch.d.ts +3 -3
  245. package/switch/Switch.js +113 -150
  246. package/switch/Switch.stories.tsx +33 -34
  247. package/switch/Switch.test.js +70 -102
  248. package/switch/types.d.ts +8 -3
  249. package/table/DropdownTheme.js +62 -0
  250. package/table/Table.d.ts +6 -2
  251. package/table/Table.js +87 -35
  252. package/table/Table.stories.tsx +658 -0
  253. package/table/Table.test.js +95 -8
  254. package/table/types.d.ts +48 -6
  255. package/tabs/Tab.d.ts +4 -0
  256. package/tabs/Tab.js +116 -0
  257. package/tabs/Tabs.js +314 -141
  258. package/tabs/Tabs.stories.tsx +120 -6
  259. package/tabs/Tabs.test.js +223 -69
  260. package/tabs/types.d.ts +28 -18
  261. package/tag/Tag.js +29 -61
  262. package/tag/Tag.stories.tsx +14 -1
  263. package/tag/Tag.test.js +20 -31
  264. package/tag/types.d.ts +7 -7
  265. package/text-input/Icons.d.ts +8 -0
  266. package/text-input/Icons.js +56 -0
  267. package/text-input/Suggestion.js +40 -28
  268. package/text-input/Suggestions.d.ts +4 -0
  269. package/text-input/Suggestions.js +84 -0
  270. package/text-input/TextInput.js +301 -497
  271. package/text-input/TextInput.stories.tsx +266 -274
  272. package/text-input/TextInput.test.js +1419 -1375
  273. package/text-input/types.d.ts +43 -16
  274. package/textarea/Textarea.js +70 -113
  275. package/textarea/Textarea.stories.tsx +174 -0
  276. package/textarea/Textarea.test.js +152 -183
  277. package/textarea/types.d.ts +9 -5
  278. package/toggle-group/ToggleGroup.d.ts +2 -2
  279. package/toggle-group/ToggleGroup.js +92 -106
  280. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  281. package/toggle-group/ToggleGroup.test.js +69 -88
  282. package/toggle-group/types.d.ts +26 -17
  283. package/typography/Typography.d.ts +2 -2
  284. package/typography/Typography.js +15 -123
  285. package/typography/Typography.stories.tsx +1 -1
  286. package/typography/types.d.ts +1 -1
  287. package/useTheme.d.ts +1147 -1
  288. package/useTheme.js +2 -9
  289. package/useTranslatedLabels.d.ts +84 -1
  290. package/useTranslatedLabels.js +1 -7
  291. package/utils/BaseTypography.d.ts +21 -0
  292. package/utils/BaseTypography.js +94 -0
  293. package/utils/FocusLock.d.ts +13 -0
  294. package/utils/FocusLock.js +124 -0
  295. package/wizard/Wizard.js +16 -51
  296. package/wizard/Wizard.stories.tsx +20 -0
  297. package/wizard/Wizard.test.js +54 -81
  298. package/wizard/types.d.ts +9 -10
  299. package/card/ice-cream.jpg +0 -0
  300. package/common/RequiredComponent.js +0 -32
  301. package/number-input/NumberInputContext.d.ts +0 -4
  302. package/number-input/NumberInputContext.js +0 -19
  303. package/number-input/numberInputContextTypes.d.ts +0 -19
  304. package/resultsetTable/ResultsetTable.d.ts +0 -4
  305. package/resultsetTable/ResultsetTable.js +0 -254
  306. package/slider/Slider.stories.tsx +0 -177
  307. package/table/Table.stories.jsx +0 -277
  308. package/tabs-nav/Tab.js +0 -130
  309. package/textarea/Textarea.stories.jsx +0 -157
  310. /package/{resultsetTable → action-icon}/types.js +0 -0
  311. /package/{tabs-nav → container}/types.js +0 -0
  312. /package/{number-input/numberInputContextTypes.js → contextual-menu/types.js} +0 -0
  313. /package/{tabs-nav → nav-tabs}/Tab.d.ts +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,76 +97,93 @@ 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
-
105
+ var getSelectedOptionLabel = function getSelectedOptionLabel(placeholder, selectedOption) {
106
+ var _selectedOption$label;
107
+ if (Array.isArray(selectedOption)) return selectedOption.length === 0 ? placeholder : selectedOption.map(function (option) {
108
+ return option.label;
109
+ }).join(", ");else return (_selectedOption$label = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _selectedOption$label !== void 0 ? _selectedOption$label : placeholder;
110
+ };
139
111
  var notOptionalCheck = function notOptionalCheck(value, multiple, optional) {
140
112
  return !optional && (multiple ? value.length === 0 : value === "");
141
113
  };
142
-
114
+ var useWidth = function useWidth(target) {
115
+ var _useState = (0, _react.useState)(0),
116
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
117
+ width = _useState2[0],
118
+ setWidth = _useState2[1];
119
+ (0, _react.useEffect)(function () {
120
+ if (target != null) {
121
+ setWidth(target.getBoundingClientRect().width);
122
+ var triggerObserver = new ResizeObserver(function (entries) {
123
+ var rect = entries[0].target.getBoundingClientRect();
124
+ setWidth(rect === null || rect === void 0 ? void 0 : rect.width);
125
+ });
126
+ triggerObserver.observe(target);
127
+ return function () {
128
+ triggerObserver.unobserve(target);
129
+ };
130
+ }
131
+ }, [target]);
132
+ return width;
133
+ };
143
134
  var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
144
- var _selectedOption$label;
145
-
135
+ var _ref4;
146
136
  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
-
137
+ _ref$name = _ref.name,
138
+ name = _ref$name === void 0 ? "" : _ref$name,
139
+ defaultValue = _ref.defaultValue,
140
+ value = _ref.value,
141
+ options = _ref.options,
142
+ helperText = _ref.helperText,
143
+ _ref$placeholder = _ref.placeholder,
144
+ placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
145
+ _ref$disabled = _ref.disabled,
146
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
147
+ _ref$optional = _ref.optional,
148
+ optional = _ref$optional === void 0 ? false : _ref$optional,
149
+ _ref$searchable = _ref.searchable,
150
+ searchable = _ref$searchable === void 0 ? false : _ref$searchable,
151
+ _ref$multiple = _ref.multiple,
152
+ multiple = _ref$multiple === void 0 ? false : _ref$multiple,
153
+ onChange = _ref.onChange,
154
+ onBlur = _ref.onBlur,
155
+ error = _ref.error,
156
+ margin = _ref.margin,
157
+ _ref$size = _ref.size,
158
+ size = _ref$size === void 0 ? "medium" : _ref$size,
159
+ _ref$tabIndex = _ref.tabIndex,
160
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
161
+ var _useState3 = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
162
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
163
+ selectId = _useState4[0];
176
164
  var selectLabelId = "label-".concat(selectId);
177
165
  var errorId = "error-".concat(selectId);
178
166
  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
-
167
+ var _useState5 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
168
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
169
+ innerValue = _useState6[0],
170
+ setInnerValue = _useState6[1];
171
+ var _useState7 = (0, _react.useState)(""),
172
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
173
+ searchValue = _useState8[0],
174
+ setSearchValue = _useState8[1];
175
+ var _useState9 = (0, _react.useState)(-1),
176
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
177
+ visualFocusIndex = _useState10[0],
178
+ changeVisualFocusIndex = _useState10[1];
179
+ var _useState11 = (0, _react.useState)(false),
180
+ _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
181
+ isOpen = _useState12[0],
182
+ changeIsOpen = _useState12[1];
200
183
  var selectRef = (0, _react.useRef)(null);
201
184
  var selectSearchInputRef = (0, _react.useRef)(null);
185
+ var selectedOptionLabelRef = (0, _react.useRef)(null);
186
+ var width = useWidth(selectRef.current);
202
187
  var colorsTheme = (0, _useTheme["default"])();
203
188
  var translatedLabels = (0, _useTranslatedLabels["default"])();
204
189
  var optionalItem = {
@@ -211,33 +196,28 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
211
196
  var lastOptionIndex = (0, _react.useMemo)(function () {
212
197
  return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
213
198
  }, [options, filteredOptions, searchable, optional, multiple]);
214
-
215
199
  var _useMemo = (0, _react.useMemo)(function () {
216
- return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
217
- }, [value, innerValue, options, multiple, optional, optionalItem]),
218
- selectedOption = _useMemo.selectedOption,
219
- singleSelectionIndex = _useMemo.singleSelectionIndex;
220
-
200
+ return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
201
+ }, [value, innerValue, options, multiple, optional, optionalItem]),
202
+ selectedOption = _useMemo.selectedOption,
203
+ singleSelectionIndex = _useMemo.singleSelectionIndex;
221
204
  var openOptions = function openOptions() {
222
205
  if (!isOpen && canOpenOptions(options, disabled)) changeIsOpen(true);
223
206
  };
224
-
225
207
  var closeOptions = function closeOptions() {
226
208
  if (isOpen) {
227
209
  changeIsOpen(false);
228
210
  changeVisualFocusIndex(-1);
229
211
  }
230
212
  };
231
-
232
213
  var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
233
214
  var newValue;
234
-
235
215
  if (multiple) {
236
- if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) newValue = (value !== null && value !== void 0 ? value : innerValue).filter(function (optionVal) {
216
+ var _ref2, _ref3;
217
+ 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) {
237
218
  return optionVal !== newOption.value;
238
- });else newValue = [].concat((0, _toConsumableArray2["default"])(value !== null && value !== void 0 ? value : innerValue), [newOption.value]);
219
+ });else newValue = [].concat((0, _toConsumableArray2["default"])((_ref3 = value && Array.isArray(value) && value) !== null && _ref3 !== void 0 ? _ref3 : innerValue && Array.isArray(innerValue) && innerValue), [newOption.value]);
239
220
  } else newValue = newOption.value;
240
-
241
221
  value !== null && value !== void 0 ? value : setInnerValue(newValue);
242
222
  notOptionalCheck(newValue, multiple, optional) ? onChange === null || onChange === void 0 ? void 0 : onChange({
243
223
  value: newValue,
@@ -246,22 +226,18 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
246
226
  value: newValue
247
227
  });
248
228
  };
249
-
250
229
  var handleSelectOnClick = function handleSelectOnClick() {
251
230
  searchable && selectSearchInputRef.current.focus();
252
-
253
231
  if (isOpen) {
254
232
  closeOptions();
255
233
  setSearchValue("");
256
234
  } else openOptions();
257
235
  };
258
-
259
236
  var handleSelectOnFocus = function handleSelectOnFocus(event) {
260
237
  if (!event.currentTarget.contains(event.relatedTarget)) searchable && selectSearchInputRef.current.focus();
261
238
  };
262
-
263
239
  var handleSelectOnBlur = function handleSelectOnBlur(event) {
264
- // focus leaves container (outside, not to childs)
240
+ // focus leaves container (outside, not to a child)
265
241
  if (!event.currentTarget.contains(event.relatedTarget)) {
266
242
  closeOptions();
267
243
  setSearchValue("");
@@ -274,7 +250,6 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
274
250
  });
275
251
  }
276
252
  };
277
-
278
253
  var handleSelectOnKeyDown = function handleSelectOnKeyDown(event) {
279
254
  switch (event.key) {
280
255
  case "Down":
@@ -285,7 +260,6 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
285
260
  });
286
261
  openOptions();
287
262
  break;
288
-
289
263
  case "Up":
290
264
  case "ArrowUp":
291
265
  event.preventDefault();
@@ -294,21 +268,18 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
294
268
  });
295
269
  openOptions();
296
270
  break;
297
-
298
271
  case "Esc":
299
272
  case "Escape":
300
273
  event.preventDefault();
301
274
  closeOptions();
302
275
  setSearchValue("");
303
276
  break;
304
-
305
277
  case "Enter":
306
278
  if (isOpen && visualFocusIndex >= 0) {
307
279
  var accLength = optional && !multiple ? 1 : 0;
308
-
309
280
  if (searchable) {
310
281
  if (filteredOptions.length > 0) {
311
- if (optional && !multiple && visualFocusIndex === 0 && filteredGroupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else filteredOptions[0].options ? filteredGroupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
282
+ if (optional && !multiple && visualFocusIndex === 0 && groupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(filteredOptions) ? groupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
312
283
  var groupLength = accLength + groupOption.options.length;
313
284
  groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
314
285
  accLength = groupLength;
@@ -316,28 +287,24 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
316
287
  }) : handleSelectChangeValue(filteredOptions[visualFocusIndex - accLength]);
317
288
  }
318
289
  } else {
319
- if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else options[0].options ? options.some(function (groupOption) {
290
+ if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(options) ? options.some(function (groupOption) {
320
291
  var groupLength = accLength + groupOption.options.length;
321
292
  groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
322
293
  accLength = groupLength;
323
294
  return groupLength > visualFocusIndex;
324
295
  }) : handleSelectChangeValue(options[visualFocusIndex - accLength]);
325
296
  }
326
-
327
297
  !multiple && closeOptions();
328
298
  setSearchValue("");
329
299
  }
330
-
331
300
  break;
332
301
  }
333
302
  };
334
-
335
303
  var handleSearchIOnChange = function handleSearchIOnChange(event) {
336
304
  setSearchValue(event.target.value);
337
305
  changeVisualFocusIndex(-1);
338
306
  openOptions();
339
307
  };
340
-
341
308
  var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
342
309
  event.stopPropagation();
343
310
  value !== null && value !== void 0 ? value : setInnerValue([]);
@@ -348,23 +315,20 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
348
315
  value: []
349
316
  });
350
317
  };
351
-
352
318
  var handleClearSearchActionOnClick = function handleClearSearchActionOnClick(event) {
353
319
  event.stopPropagation();
354
320
  setSearchValue("");
355
321
  };
356
-
357
322
  var handleOptionOnClick = (0, _react.useCallback)(function (option) {
358
323
  handleSelectChangeValue(option);
359
324
  !multiple && closeOptions();
360
325
  setSearchValue("");
361
326
  }, [handleSelectChangeValue, closeOptions, multiple]);
362
- var getSelectWidth = (0, _react.useCallback)(function () {
363
- var _selectRef$current;
364
-
365
- var rect = selectRef === null || selectRef === void 0 ? void 0 : (_selectRef$current = selectRef.current) === null || _selectRef$current === void 0 ? void 0 : _selectRef$current.getBoundingClientRect();
366
- return rect === null || rect === void 0 ? void 0 : rect.width;
367
- }, []);
327
+ (0, _react.useEffect)(function () {
328
+ if ((selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current) != null) {
329
+ if ((selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current.scrollWidth) > (selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current.clientWidth)) selectedOptionLabelRef.current.title = getSelectedOptionLabel(placeholder, selectedOption);else selectedOptionLabelRef.current.title = "";
330
+ }
331
+ }, [placeholder, selectedOption]);
368
332
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
369
333
  theme: colorsTheme.select
370
334
  }, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
@@ -383,7 +347,8 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
383
347
  }, helperText), /*#__PURE__*/_react["default"].createElement(Popover.Root, {
384
348
  open: isOpen
385
349
  }, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
386
- asChild: true
350
+ asChild: true,
351
+ type: undefined
387
352
  }, /*#__PURE__*/_react["default"].createElement(Select, {
388
353
  id: selectId,
389
354
  disabled: disabled,
@@ -404,7 +369,7 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
404
369
  "aria-invalid": error ? true : false,
405
370
  "aria-errormessage": error ? errorId : undefined,
406
371
  "aria-required": !disabled && !optional
407
- }, multiple && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
372
+ }, multiple && Array.isArray(selectedOption) && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
408
373
  disabled: disabled
409
374
  }, selectedOption.length), /*#__PURE__*/_react["default"].createElement(ClearOptionsAction, {
410
375
  disabled: disabled,
@@ -418,7 +383,8 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
418
383
  "aria-label": translatedLabels.select.actionClearSelectionTitle
419
384
  }, _Icons["default"].clear)), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
420
385
  name: name,
421
- value: multiple ? (value !== null && value !== void 0 ? value : innerValue).join(",") : value !== null && value !== void 0 ? value : innerValue,
386
+ disabled: disabled,
387
+ 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,
422
388
  readOnly: true,
423
389
  "aria-hidden": "true"
424
390
  }), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
@@ -429,15 +395,12 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
429
395
  autoComplete: "nope",
430
396
  autoCorrect: "nope",
431
397
  size: 1
432
- }), (!searchable || searchValue === "") && (multiple ? /*#__PURE__*/_react["default"].createElement(SelectedOption, {
433
- disabled: disabled,
434
- atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || searchable && isOpen
435
- }, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, selectedOption.map(function (option) {
436
- return option.label;
437
- }).join(", ")), selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
398
+ }), (!searchable || searchValue === "") && /*#__PURE__*/_react["default"].createElement(SelectedOption, {
438
399
  disabled: disabled,
439
- atBackground: !(value !== null && value !== void 0 ? value : innerValue) || searchable && isOpen
440
- }, /*#__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, {
400
+ atBackground: (multiple ? (value !== null && value !== void 0 ? value : innerValue).length === 0 : !(value !== null && value !== void 0 ? value : innerValue)) || searchable && isOpen
401
+ }, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, {
402
+ ref: selectedOptionLabelRef
403
+ }, getSelectedOptionLabel(placeholder, selectedOption)))), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, _Icons["default"].error), searchable && searchValue.length > 0 && /*#__PURE__*/_react["default"].createElement(ClearSearchAction, {
441
404
  onMouseDown: function onMouseDown(event) {
442
405
  // Avoid input to lose focus
443
406
  event.preventDefault();
@@ -448,8 +411,11 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
448
411
  "aria-label": translatedLabels.select.actionClearSearchTitle
449
412
  }, _Icons["default"].clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
450
413
  disabled: disabled
451
- }, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown))), /*#__PURE__*/_react["default"].createElement(Popover.Content, {
414
+ }, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown))), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
452
415
  sideOffset: 4,
416
+ style: {
417
+ zIndex: "2147483647"
418
+ },
453
419
  onOpenAutoFocus: function onOpenAutoFocus(event) {
454
420
  // Avoid select to lose focus when the list is opened
455
421
  event.preventDefault();
@@ -469,24 +435,23 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
469
435
  optionalItem: optionalItem,
470
436
  searchable: searchable,
471
437
  handleOptionOnClick: handleOptionOnClick,
472
- getSelectWidth: getSelectWidth
473
- }))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
438
+ styles: {
439
+ width: width
440
+ }
441
+ })))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
474
442
  id: errorId,
475
443
  "aria-live": error ? "assertive" : "off"
476
444
  }, error)));
477
445
  });
478
-
479
446
  var sizes = {
480
447
  small: "240px",
481
448
  medium: "360px",
482
449
  large: "480px",
483
450
  fillParent: "100%"
484
451
  };
485
-
486
452
  var calculateWidth = function calculateWidth(margin, size) {
487
453
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
488
454
  };
489
-
490
455
  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) {
491
456
  return calculateWidth(props.margin, props.size);
492
457
  }, function (props) {
@@ -500,7 +465,6 @@ var SelectContainer = _styledComponents["default"].div(_templateObject || (_temp
500
465
  }, function (props) {
501
466
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
502
467
  });
503
-
504
468
  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) {
505
469
  return props.disabled ? props.theme.disabledColor : props.theme.labelFontColor;
506
470
  }, function (props) {
@@ -516,11 +480,9 @@ var Label = _styledComponents["default"].span(_templateObject2 || (_templateObje
516
480
  }, function (props) {
517
481
  return !props.helperText && "margin-bottom: 0.25rem";
518
482
  });
519
-
520
483
  var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
521
484
  return props.theme.optionalLabelFontWeight;
522
485
  });
523
-
524
486
  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) {
525
487
  return props.disabled ? props.theme.disabledColor : props.theme.helperTextFontColor;
526
488
  }, function (props) {
@@ -534,7 +496,6 @@ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templat
534
496
  }, function (props) {
535
497
  return props.theme.helperTextLineHeight;
536
498
  });
537
-
538
499
  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) {
539
500
  return props.disabled && "background-color: ".concat(props.theme.disabledInputBackgroundColor);
540
501
  }, function (props) {
@@ -546,11 +507,9 @@ var Select = _styledComponents["default"].div(_templateObject5 || (_templateObje
546
507
  }, function (props) {
547
508
  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 ");
548
509
  });
549
-
550
510
  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) {
551
511
  return props.theme.selectionIndicatorBorderColor;
552
512
  });
553
-
554
513
  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) {
555
514
  return !props.disabled && "background-color: ".concat(props.theme.selectionIndicatorBackgroundColor);
556
515
  }, function (props) {
@@ -568,7 +527,6 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_te
568
527
  }, function (props) {
569
528
  return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
570
529
  });
571
-
572
530
  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) {
573
531
  return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
574
532
  }, function (props) {
@@ -578,9 +536,7 @@ var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 ||
578
536
  }, function (props) {
579
537
  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 ");
580
538
  });
581
-
582
539
  var SearchableValueContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"])));
583
-
584
540
  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) {
585
541
  if (props.disabled) return props.theme.disabledColor;else if (props.atBackground) return props.theme.placeholderFontColor;else return props.theme.valueFontColor;
586
542
  }, function (props) {
@@ -592,11 +548,8 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_te
592
548
  }, function (props) {
593
549
  return props.theme.valueFontWeight;
594
550
  });
595
-
596
551
  var SelectedOptionLabel = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
597
-
598
552
  var ValueInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
599
-
600
553
  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) {
601
554
  return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
602
555
  }, function (props) {
@@ -608,21 +561,17 @@ var SearchInput = _styledComponents["default"].input(_templateObject13 || (_temp
608
561
  }, function (props) {
609
562
  return props.theme.valueFontWeight;
610
563
  });
611
-
612
564
  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) {
613
565
  return props.theme.errorIconColor;
614
566
  });
615
-
616
567
  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) {
617
568
  return props.theme.errorMessageColor;
618
569
  }, function (props) {
619
570
  return props.theme.fontFamily;
620
571
  });
621
-
622
572
  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) {
623
573
  return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
624
574
  });
625
-
626
575
  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) {
627
576
  return props.theme.fontFamily;
628
577
  }, function (props) {
@@ -638,6 +587,4 @@ var ClearSearchAction = _styledComponents["default"].button(_templateObject17 ||
638
587
  }, function (props) {
639
588
  return props.theme.activeActionIconColor;
640
589
  });
641
-
642
- var _default = DxcSelect;
643
- exports["default"] = _default;
590
+ var _default = exports["default"] = DxcSelect;