@dxc-technology/halstack-react 0.0.0-c9b5c13 → 0.0.0-c9c1158

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 (301) hide show
  1. package/BackgroundColorContext.d.ts +3 -3
  2. package/BackgroundColorContext.js +6 -18
  3. package/HalstackContext.d.ts +1347 -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 -157
  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 +19 -55
  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 +14 -55
  25. package/bleed/Bleed.stories.tsx +95 -95
  26. package/bleed/types.d.ts +2 -2
  27. package/box/Box.d.ts +1 -1
  28. package/box/Box.js +18 -56
  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 +99 -0
  34. package/bulleted-list/BulletedList.stories.tsx +116 -0
  35. package/bulleted-list/types.d.ts +38 -0
  36. package/button/Button.d.ts +1 -1
  37. package/button/Button.js +61 -114
  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 +141 -178
  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 +1499 -0
  61. package/common/variables.js +1027 -1126
  62. package/container/Container.d.ts +4 -0
  63. package/container/Container.js +198 -0
  64. package/container/Container.stories.tsx +229 -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 +75 -106
  80. package/dialog/Dialog.stories.tsx +154 -171
  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 +51 -101
  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 -22
  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 +90 -162
  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 -20
  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 +14 -55
  129. package/inset/Inset.stories.tsx +37 -36
  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 -10
  144. package/main.js +45 -95
  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 -45
  157. package/paginator/Icons.d.ts +5 -0
  158. package/paginator/Icons.js +21 -47
  159. package/paginator/Paginator.js +22 -55
  160. package/paginator/Paginator.stories.tsx +24 -0
  161. package/paginator/Paginator.test.js +280 -211
  162. package/paginator/types.d.ts +3 -3
  163. package/paragraph/Paragraph.d.ts +5 -0
  164. package/paragraph/Paragraph.js +27 -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 -32
  170. package/password-input/PasswordInput.test.js +160 -142
  171. package/password-input/types.d.ts +8 -7
  172. package/progress-bar/ProgressBar.js +67 -87
  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 +29 -47
  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 +117 -118
  190. package/{resultsetTable → resultset-table}/types.d.ts +7 -7
  191. package/resultset-table/types.js +5 -0
  192. package/select/Icons.d.ts +7 -7
  193. package/select/Icons.js +1 -5
  194. package/select/Listbox.d.ts +1 -1
  195. package/select/Listbox.js +42 -51
  196. package/select/Option.js +20 -50
  197. package/select/Select.js +125 -188
  198. package/select/Select.stories.tsx +516 -139
  199. package/select/Select.test.js +1965 -1751
  200. package/select/types.d.ts +16 -20
  201. package/sidenav/Icons.d.ts +7 -0
  202. package/sidenav/Icons.js +47 -0
  203. package/sidenav/Sidenav.d.ts +6 -5
  204. package/sidenav/Sidenav.js +129 -77
  205. package/sidenav/Sidenav.stories.tsx +251 -151
  206. package/sidenav/Sidenav.test.js +26 -45
  207. package/sidenav/types.d.ts +52 -26
  208. package/slider/Slider.d.ts +2 -2
  209. package/slider/Slider.js +144 -168
  210. package/slider/Slider.test.js +185 -81
  211. package/slider/types.d.ts +7 -3
  212. package/spinner/Spinner.js +27 -63
  213. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  214. package/spinner/Spinner.test.js +26 -35
  215. package/spinner/types.d.ts +3 -3
  216. package/switch/Switch.d.ts +2 -2
  217. package/switch/Switch.js +148 -124
  218. package/switch/Switch.stories.tsx +37 -60
  219. package/switch/Switch.test.js +138 -56
  220. package/switch/types.d.ts +7 -3
  221. package/table/Table.js +7 -26
  222. package/table/{Table.stories.jsx → Table.stories.tsx} +80 -1
  223. package/table/Table.test.js +3 -8
  224. package/table/types.d.ts +8 -8
  225. package/tabs/Tab.d.ts +4 -0
  226. package/tabs/Tab.js +113 -0
  227. package/tabs/Tabs.js +315 -141
  228. package/tabs/Tabs.stories.tsx +119 -5
  229. package/tabs/Tabs.test.js +223 -69
  230. package/tabs/types.d.ts +28 -18
  231. package/tag/Tag.js +29 -61
  232. package/tag/Tag.stories.tsx +14 -1
  233. package/tag/Tag.test.js +20 -31
  234. package/tag/types.d.ts +7 -7
  235. package/text-input/Icons.d.ts +8 -0
  236. package/text-input/Icons.js +56 -0
  237. package/text-input/Suggestion.js +40 -28
  238. package/text-input/Suggestions.d.ts +4 -0
  239. package/text-input/Suggestions.js +89 -0
  240. package/text-input/TextInput.js +280 -458
  241. package/text-input/TextInput.stories.tsx +266 -275
  242. package/text-input/TextInput.test.js +1402 -1375
  243. package/text-input/types.d.ts +43 -16
  244. package/textarea/Textarea.js +63 -100
  245. package/textarea/Textarea.stories.tsx +175 -0
  246. package/textarea/Textarea.test.js +152 -183
  247. package/textarea/types.d.ts +9 -5
  248. package/toggle-group/ToggleGroup.d.ts +2 -2
  249. package/toggle-group/ToggleGroup.js +95 -106
  250. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  251. package/toggle-group/ToggleGroup.test.js +69 -88
  252. package/toggle-group/types.d.ts +26 -17
  253. package/typography/Typography.d.ts +4 -0
  254. package/typography/Typography.js +23 -0
  255. package/typography/Typography.stories.tsx +198 -0
  256. package/typography/types.d.ts +18 -0
  257. package/typography/types.js +5 -0
  258. package/useTheme.d.ts +1251 -1
  259. package/useTheme.js +2 -9
  260. package/useTranslatedLabels.d.ts +84 -1
  261. package/useTranslatedLabels.js +1 -7
  262. package/utils/BaseTypography.d.ts +21 -0
  263. package/utils/BaseTypography.js +94 -0
  264. package/utils/FocusLock.d.ts +13 -0
  265. package/utils/FocusLock.js +114 -0
  266. package/wizard/Wizard.js +24 -66
  267. package/wizard/Wizard.stories.tsx +40 -1
  268. package/wizard/Wizard.test.js +54 -81
  269. package/wizard/types.d.ts +7 -7
  270. package/card/ice-cream.jpg +0 -0
  271. package/common/RequiredComponent.js +0 -32
  272. package/list/List.d.ts +0 -4
  273. package/list/List.js +0 -47
  274. package/list/List.stories.tsx +0 -95
  275. package/list/types.d.ts +0 -7
  276. package/number-input/NumberInputContext.d.ts +0 -4
  277. package/number-input/NumberInputContext.js +0 -19
  278. package/number-input/numberInputContextTypes.d.ts +0 -19
  279. package/resultsetTable/ResultsetTable.js +0 -254
  280. package/row/Row.d.ts +0 -3
  281. package/row/Row.js +0 -127
  282. package/row/Row.stories.tsx +0 -237
  283. package/row/types.d.ts +0 -28
  284. package/slider/Slider.stories.tsx +0 -177
  285. package/stack/Stack.d.ts +0 -3
  286. package/stack/Stack.js +0 -97
  287. package/stack/Stack.stories.tsx +0 -164
  288. package/stack/types.d.ts +0 -24
  289. package/tabs-nav/Tab.js +0 -132
  290. package/text/Text.d.ts +0 -7
  291. package/text/Text.js +0 -30
  292. package/text/Text.stories.tsx +0 -19
  293. package/textarea/Textarea.stories.jsx +0 -157
  294. /package/{list → bulleted-list}/types.js +0 -0
  295. /package/{resultsetTable → container}/types.js +0 -0
  296. /package/{row → flex}/types.js +0 -0
  297. /package/{stack → grid}/types.js +0 -0
  298. /package/{tabs-nav → image}/types.js +0 -0
  299. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  300. /package/{number-input/numberInputContextTypes.js → nav-tabs/types.js} +0 -0
  301. /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
package/select/Select.js CHANGED
@@ -1,64 +1,42 @@
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
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
39
-
40
- 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); }
41
-
42
- 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; }
43
-
22
+ var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
23
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17; // @ts-nocheck
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; }
44
26
  var groupsHaveOptions = function groupsHaveOptions(innerOptions) {
45
27
  return innerOptions[0].hasOwnProperty("options") ? innerOptions[0].options ? innerOptions.some(function (groupOption) {
46
28
  return groupOption.options.length > 0;
47
29
  }) : false : true;
48
30
  };
49
-
50
31
  var filteredGroupsHaveOptions = function filteredGroupsHaveOptions(filteredOptions) {
51
32
  return filteredOptions !== null && filteredOptions !== void 0 && filteredOptions[0].options ? filteredOptions.some(function (groupOption) {
52
33
  var _groupOption$options;
53
-
54
34
  return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
55
35
  }) : true;
56
36
  };
57
-
58
37
  var canOpenOptions = function canOpenOptions(options, disabled) {
59
38
  return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions(options);
60
39
  };
61
-
62
40
  var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, searchValue) {
63
41
  if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
64
42
  if (options[0].options) return options.map(function (optionGroup) {
@@ -74,32 +52,26 @@ var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, se
74
52
  });
75
53
  }
76
54
  };
77
-
78
55
  var getLastOptionIndex = function getLastOptionIndex(options, filteredOptions, searchable, optional, multiple) {
79
56
  var last = 0;
80
-
81
57
  var reducer = function reducer(acc, current) {
82
58
  var _current$options;
83
-
84
59
  return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
85
60
  };
86
-
87
61
  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;
88
62
  return optional && !multiple ? last + 1 : last;
89
63
  };
90
-
91
64
  var getSelectedOption = function getSelectedOption(value, options, multiple, optional, optionalItem) {
92
65
  var selectedOption = multiple ? [] : {};
93
66
  var singleSelectionIndex;
94
-
95
67
  if (multiple) {
96
68
  if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
97
69
  options.forEach(function (option) {
98
70
  if (option.options) {
99
71
  option.options.forEach(function (singleOption) {
100
- if (value.includes(singleOption.value)) selectedOption.push(singleOption);
72
+ if (value.includes(singleOption.value) && Array.isArray(selectedOption)) selectedOption.push(singleOption);
101
73
  });
102
- } else if (value.includes(option.value)) selectedOption.push(option);
74
+ } else if (value.includes(option.value) && Array.isArray(selectedOption)) selectedOption.push(option);
103
75
  });
104
76
  }
105
77
  } else {
@@ -116,7 +88,6 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
116
88
  singleSelectionIndex = optional ? group_index + 1 : group_index;
117
89
  return true;
118
90
  }
119
-
120
91
  group_index++;
121
92
  });
122
93
  } else if (option.value === value) {
@@ -127,77 +98,86 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
127
98
  });
128
99
  }
129
100
  }
130
-
131
101
  return {
132
102
  selectedOption: selectedOption,
133
103
  singleSelectionIndex: singleSelectionIndex
134
104
  };
135
105
  };
136
-
137
106
  var notOptionalCheck = function notOptionalCheck(value, multiple, optional) {
138
107
  return !optional && (multiple ? value.length === 0 : value === "");
139
108
  };
140
-
109
+ var useWidth = function useWidth(target) {
110
+ var _useState = (0, _react.useState)(0),
111
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
112
+ width = _useState2[0],
113
+ setWidth = _useState2[1];
114
+ (0, _react.useEffect)(function () {
115
+ if (target != null) {
116
+ setWidth(target.getBoundingClientRect().width);
117
+ var triggerObserver = new ResizeObserver(function (entries) {
118
+ var rect = entries[0].target.getBoundingClientRect();
119
+ setWidth(rect === null || rect === void 0 ? void 0 : rect.width);
120
+ });
121
+ triggerObserver.observe(target);
122
+ return function () {
123
+ triggerObserver.unobserve(target);
124
+ };
125
+ }
126
+ }, [target]);
127
+ return width;
128
+ };
141
129
  var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
142
- var _selectedOption$label;
143
-
130
+ var _ref4, _selectedOption$label;
144
131
  var label = _ref.label,
145
- _ref$name = _ref.name,
146
- name = _ref$name === void 0 ? "" : _ref$name,
147
- defaultValue = _ref.defaultValue,
148
- value = _ref.value,
149
- options = _ref.options,
150
- helperText = _ref.helperText,
151
- _ref$placeholder = _ref.placeholder,
152
- placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
153
- _ref$disabled = _ref.disabled,
154
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
155
- _ref$optional = _ref.optional,
156
- optional = _ref$optional === void 0 ? false : _ref$optional,
157
- _ref$searchable = _ref.searchable,
158
- searchable = _ref$searchable === void 0 ? false : _ref$searchable,
159
- _ref$multiple = _ref.multiple,
160
- multiple = _ref$multiple === void 0 ? false : _ref$multiple,
161
- onChange = _ref.onChange,
162
- onBlur = _ref.onBlur,
163
- error = _ref.error,
164
- margin = _ref.margin,
165
- _ref$size = _ref.size,
166
- size = _ref$size === void 0 ? "medium" : _ref$size,
167
- _ref$tabIndex = _ref.tabIndex,
168
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
169
-
170
- var _useState = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
171
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
172
- selectId = _useState2[0];
173
-
132
+ _ref$name = _ref.name,
133
+ name = _ref$name === void 0 ? "" : _ref$name,
134
+ defaultValue = _ref.defaultValue,
135
+ value = _ref.value,
136
+ options = _ref.options,
137
+ helperText = _ref.helperText,
138
+ _ref$placeholder = _ref.placeholder,
139
+ placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
140
+ _ref$disabled = _ref.disabled,
141
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
142
+ _ref$optional = _ref.optional,
143
+ optional = _ref$optional === void 0 ? false : _ref$optional,
144
+ _ref$searchable = _ref.searchable,
145
+ searchable = _ref$searchable === void 0 ? false : _ref$searchable,
146
+ _ref$multiple = _ref.multiple,
147
+ multiple = _ref$multiple === void 0 ? false : _ref$multiple,
148
+ onChange = _ref.onChange,
149
+ onBlur = _ref.onBlur,
150
+ error = _ref.error,
151
+ margin = _ref.margin,
152
+ _ref$size = _ref.size,
153
+ size = _ref$size === void 0 ? "medium" : _ref$size,
154
+ _ref$tabIndex = _ref.tabIndex,
155
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
156
+ var _useState3 = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
157
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
158
+ selectId = _useState4[0];
174
159
  var selectLabelId = "label-".concat(selectId);
175
160
  var errorId = "error-".concat(selectId);
176
161
  var optionsListId = "".concat(selectId, "-listbox");
177
-
178
- var _useState3 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
179
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
180
- innerValue = _useState4[0],
181
- setInnerValue = _useState4[1];
182
-
183
- var _useState5 = (0, _react.useState)(""),
184
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
185
- searchValue = _useState6[0],
186
- setSearchValue = _useState6[1];
187
-
188
- var _useState7 = (0, _react.useState)(-1),
189
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
190
- visualFocusIndex = _useState8[0],
191
- changeVisualFocusIndex = _useState8[1];
192
-
193
- var _useState9 = (0, _react.useState)(false),
194
- _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
195
- isOpen = _useState10[0],
196
- changeIsOpen = _useState10[1];
197
-
198
- var selectContainerRef = (0, _react.useRef)(null);
162
+ var _useState5 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
163
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
164
+ innerValue = _useState6[0],
165
+ setInnerValue = _useState6[1];
166
+ var _useState7 = (0, _react.useState)(""),
167
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
168
+ searchValue = _useState8[0],
169
+ setSearchValue = _useState8[1];
170
+ var _useState9 = (0, _react.useState)(-1),
171
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
172
+ visualFocusIndex = _useState10[0],
173
+ changeVisualFocusIndex = _useState10[1];
174
+ var _useState11 = (0, _react.useState)(false),
175
+ _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
176
+ isOpen = _useState12[0],
177
+ changeIsOpen = _useState12[1];
178
+ var selectRef = (0, _react.useRef)(null);
199
179
  var selectSearchInputRef = (0, _react.useRef)(null);
200
- var selectOptionsListRef = (0, _react.useRef)(null);
180
+ var width = useWidth(selectRef.current);
201
181
  var colorsTheme = (0, _useTheme["default"])();
202
182
  var translatedLabels = (0, _useTranslatedLabels["default"])();
203
183
  var optionalItem = {
@@ -210,33 +190,28 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
210
190
  var lastOptionIndex = (0, _react.useMemo)(function () {
211
191
  return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
212
192
  }, [options, filteredOptions, searchable, optional, multiple]);
213
-
214
193
  var _useMemo = (0, _react.useMemo)(function () {
215
- return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
216
- }, [value, innerValue, options, multiple, optional, optionalItem]),
217
- selectedOption = _useMemo.selectedOption,
218
- singleSelectionIndex = _useMemo.singleSelectionIndex;
219
-
194
+ return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
195
+ }, [value, innerValue, options, multiple, optional, optionalItem]),
196
+ selectedOption = _useMemo.selectedOption,
197
+ singleSelectionIndex = _useMemo.singleSelectionIndex;
220
198
  var openOptions = function openOptions() {
221
199
  if (!isOpen && canOpenOptions(options, disabled)) changeIsOpen(true);
222
200
  };
223
-
224
201
  var closeOptions = function closeOptions() {
225
202
  if (isOpen) {
226
203
  changeIsOpen(false);
227
204
  changeVisualFocusIndex(-1);
228
205
  }
229
206
  };
230
-
231
207
  var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
232
208
  var newValue;
233
-
234
209
  if (multiple) {
235
- if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) newValue = (value !== null && value !== void 0 ? value : innerValue).filter(function (optionVal) {
210
+ var _ref2, _ref3;
211
+ 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) {
236
212
  return optionVal !== newOption.value;
237
- });else newValue = [].concat((0, _toConsumableArray2["default"])(value !== null && value !== void 0 ? value : innerValue), [newOption.value]);
213
+ });else newValue = [].concat((0, _toConsumableArray2["default"])((_ref3 = value && Array.isArray(value) && value) !== null && _ref3 !== void 0 ? _ref3 : innerValue && Array.isArray(innerValue) && innerValue), [newOption.value]);
238
214
  } else newValue = newOption.value;
239
-
240
215
  value !== null && value !== void 0 ? value : setInnerValue(newValue);
241
216
  notOptionalCheck(newValue, multiple, optional) ? onChange === null || onChange === void 0 ? void 0 : onChange({
242
217
  value: newValue,
@@ -245,20 +220,16 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
245
220
  value: newValue
246
221
  });
247
222
  };
248
-
249
223
  var handleSelectOnClick = function handleSelectOnClick() {
250
224
  searchable && selectSearchInputRef.current.focus();
251
-
252
225
  if (isOpen) {
253
226
  closeOptions();
254
227
  setSearchValue("");
255
228
  } else openOptions();
256
229
  };
257
-
258
230
  var handleSelectOnFocus = function handleSelectOnFocus(event) {
259
231
  if (!event.currentTarget.contains(event.relatedTarget)) searchable && selectSearchInputRef.current.focus();
260
232
  };
261
-
262
233
  var handleSelectOnBlur = function handleSelectOnBlur(event) {
263
234
  // focus leaves container (outside, not to childs)
264
235
  if (!event.currentTarget.contains(event.relatedTarget)) {
@@ -273,39 +244,33 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
273
244
  });
274
245
  }
275
246
  };
276
-
277
247
  var handleSelectOnKeyDown = function handleSelectOnKeyDown(event) {
278
- switch (event.keyCode) {
279
- case 40:
280
- // Arrow Down
248
+ switch (event.key) {
249
+ case "Down":
250
+ case "ArrowDown":
281
251
  event.preventDefault();
282
252
  singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
283
253
  if (visualFocusIndex < lastOptionIndex) return visualFocusIndex + 1;else if (visualFocusIndex === lastOptionIndex) return 0;
284
254
  });
285
255
  openOptions();
286
256
  break;
287
-
288
- case 38:
289
- // Arrow Up
257
+ case "Up":
258
+ case "ArrowUp":
290
259
  event.preventDefault();
291
260
  singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
292
261
  return visualFocusIndex === 0 || visualFocusIndex === -1 ? lastOptionIndex : visualFocusIndex - 1;
293
262
  });
294
263
  openOptions();
295
264
  break;
296
-
297
- case 27:
298
- // Esc
265
+ case "Esc":
266
+ case "Escape":
299
267
  event.preventDefault();
300
268
  closeOptions();
301
269
  setSearchValue("");
302
270
  break;
303
-
304
- case 13:
305
- // Enter
271
+ case "Enter":
306
272
  if (isOpen && visualFocusIndex >= 0) {
307
273
  var accLength = optional && !multiple ? 1 : 0;
308
-
309
274
  if (searchable) {
310
275
  if (filteredOptions.length > 0) {
311
276
  if (optional && !multiple && visualFocusIndex === 0 && filteredGroupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else filteredOptions[0].options ? filteredGroupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
@@ -323,21 +288,17 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
323
288
  return groupLength > visualFocusIndex;
324
289
  }) : handleSelectChangeValue(options[visualFocusIndex - accLength]);
325
290
  }
326
-
327
291
  !multiple && closeOptions();
328
292
  setSearchValue("");
329
293
  }
330
-
331
294
  break;
332
295
  }
333
296
  };
334
-
335
297
  var handleSearchIOnChange = function handleSearchIOnChange(event) {
336
298
  setSearchValue(event.target.value);
337
299
  changeVisualFocusIndex(-1);
338
300
  openOptions();
339
301
  };
340
-
341
302
  var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
342
303
  event.stopPropagation();
343
304
  value !== null && value !== void 0 ? value : setInnerValue([]);
@@ -348,37 +309,15 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
348
309
  value: []
349
310
  });
350
311
  };
351
-
352
312
  var handleClearSearchActionOnClick = function handleClearSearchActionOnClick(event) {
353
313
  event.stopPropagation();
354
314
  setSearchValue("");
355
315
  };
356
-
357
316
  var handleOptionOnClick = (0, _react.useCallback)(function (option) {
358
317
  handleSelectChangeValue(option);
359
318
  !multiple && closeOptions();
360
319
  setSearchValue("");
361
320
  }, [handleSelectChangeValue, closeOptions, multiple]);
362
- (0, _react.useLayoutEffect)(function () {
363
- if (isOpen && singleSelectionIndex) {
364
- var _listEl$scrollTo;
365
-
366
- var listEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : selectOptionsListRef.current;
367
- var selectedListOptionEl = listEl === null || listEl === void 0 ? void 0 : listEl.querySelector("[aria-selected='true']");
368
- listEl === null || listEl === void 0 ? void 0 : (_listEl$scrollTo = listEl.scrollTo) === null || _listEl$scrollTo === void 0 ? void 0 : _listEl$scrollTo.call(listEl, {
369
- top: (selectedListOptionEl === null || selectedListOptionEl === void 0 ? void 0 : selectedListOptionEl.offsetTop) - (listEl === null || listEl === void 0 ? void 0 : listEl.clientHeight) / 2
370
- });
371
- }
372
- }, [isOpen]);
373
- (0, _react.useLayoutEffect)(function () {
374
- var _selectOptionsListRef, _visualFocusedOptionE;
375
-
376
- var visualFocusedOptionEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : (_selectOptionsListRef = selectOptionsListRef.current) === null || _selectOptionsListRef === void 0 ? void 0 : _selectOptionsListRef.querySelectorAll("[role='option']")[visualFocusIndex];
377
- visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
378
- block: "nearest",
379
- inline: "start"
380
- });
381
- }, [visualFocusIndex]);
382
321
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
383
322
  theme: colorsTheme.select
384
323
  }, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
@@ -389,12 +328,17 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
389
328
  id: selectLabelId,
390
329
  disabled: disabled,
391
330
  onClick: function onClick() {
392
- selectContainerRef.current.focus();
331
+ selectRef.current.focus();
393
332
  },
394
333
  helperText: helperText
395
334
  }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, translatedLabels.formFields.optionalLabel)), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
396
335
  disabled: disabled
397
- }, helperText), /*#__PURE__*/_react["default"].createElement(Select, {
336
+ }, helperText), /*#__PURE__*/_react["default"].createElement(Popover.Root, {
337
+ open: isOpen
338
+ }, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
339
+ asChild: true,
340
+ type: undefined
341
+ }, /*#__PURE__*/_react["default"].createElement(Select, {
398
342
  id: selectId,
399
343
  disabled: disabled,
400
344
  error: error,
@@ -402,19 +346,19 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
402
346
  onClick: handleSelectOnClick,
403
347
  onFocus: handleSelectOnFocus,
404
348
  onKeyDown: handleSelectOnKeyDown,
405
- ref: selectContainerRef,
406
- tabIndex: tabIndex,
349
+ ref: selectRef,
350
+ tabIndex: disabled ? -1 : tabIndex,
407
351
  role: "combobox",
408
352
  "aria-controls": optionsListId,
409
353
  "aria-disabled": disabled,
410
354
  "aria-expanded": isOpen,
411
355
  "aria-haspopup": "listbox",
412
- "aria-labelledby": selectLabelId,
356
+ "aria-labelledby": label ? selectLabelId : undefined,
413
357
  "aria-activedescendant": visualFocusIndex >= 0 ? "option-".concat(visualFocusIndex) : undefined,
414
- "aria-invalid": error ? "true" : "false",
358
+ "aria-invalid": error ? true : false,
415
359
  "aria-errormessage": error ? errorId : undefined,
416
360
  "aria-required": !disabled && !optional
417
- }, multiple && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
361
+ }, multiple && Array.isArray(selectedOption) && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
418
362
  disabled: disabled
419
363
  }, selectedOption.length), /*#__PURE__*/_react["default"].createElement(ClearOptionsAction, {
420
364
  disabled: disabled,
@@ -428,7 +372,8 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
428
372
  "aria-label": translatedLabels.select.actionClearSelectionTitle
429
373
  }, _Icons["default"].clear)), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
430
374
  name: name,
431
- value: multiple ? (value !== null && value !== void 0 ? value : innerValue).join(",") : value !== null && value !== void 0 ? value : innerValue,
375
+ disabled: disabled,
376
+ 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,
432
377
  readOnly: true,
433
378
  "aria-hidden": "true"
434
379
  }), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
@@ -442,9 +387,9 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
442
387
  }), (!searchable || searchValue === "") && (multiple ? /*#__PURE__*/_react["default"].createElement(SelectedOption, {
443
388
  disabled: disabled,
444
389
  atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || searchable && isOpen
445
- }, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, selectedOption.map(function (option) {
390
+ }, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, Array.isArray(selectedOption) && selectedOption.map(function (option) {
446
391
  return option.label;
447
- }).join(", ")), selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
392
+ }).join(", ")), Array.isArray(selectedOption) && selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
448
393
  disabled: disabled,
449
394
  atBackground: !(value !== null && value !== void 0 ? value : innerValue) || searchable && isOpen
450
395
  }, /*#__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, {
@@ -458,7 +403,20 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
458
403
  "aria-label": translatedLabels.select.actionClearSearchTitle
459
404
  }, _Icons["default"].clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
460
405
  disabled: disabled
461
- }, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown), isOpen && /*#__PURE__*/_react["default"].createElement(_Listbox["default"], {
406
+ }, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown))), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
407
+ sideOffset: 4,
408
+ style: {
409
+ zIndex: "2147483647"
410
+ },
411
+ onOpenAutoFocus: function onOpenAutoFocus(event) {
412
+ // Avoid select to lose focus when the list is opened
413
+ event.preventDefault();
414
+ },
415
+ onCloseAutoFocus: function onCloseAutoFocus(event) {
416
+ // Avoid select to lose focus when the list is closed
417
+ event.preventDefault();
418
+ }
419
+ }, /*#__PURE__*/_react["default"].createElement(_Listbox["default"], {
462
420
  id: optionsListId,
463
421
  currentValue: value !== null && value !== void 0 ? value : innerValue,
464
422
  options: searchable ? filteredOptions : options,
@@ -469,24 +427,23 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
469
427
  optionalItem: optionalItem,
470
428
  searchable: searchable,
471
429
  handleOptionOnClick: handleOptionOnClick,
472
- ref: selectOptionsListRef
473
- })), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
430
+ styles: {
431
+ width: width
432
+ }
433
+ })))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
474
434
  id: errorId,
475
435
  "aria-live": error ? "assertive" : "off"
476
436
  }, error)));
477
437
  });
478
-
479
438
  var sizes = {
480
439
  small: "240px",
481
440
  medium: "360px",
482
441
  large: "480px",
483
442
  fillParent: "100%"
484
443
  };
485
-
486
444
  var calculateWidth = function calculateWidth(margin, size) {
487
445
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
488
446
  };
489
-
490
447
  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
448
  return calculateWidth(props.margin, props.size);
492
449
  }, function (props) {
@@ -500,7 +457,6 @@ var SelectContainer = _styledComponents["default"].div(_templateObject || (_temp
500
457
  }, function (props) {
501
458
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
502
459
  });
503
-
504
460
  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
461
  return props.disabled ? props.theme.disabledColor : props.theme.labelFontColor;
506
462
  }, function (props) {
@@ -516,11 +472,9 @@ var Label = _styledComponents["default"].span(_templateObject2 || (_templateObje
516
472
  }, function (props) {
517
473
  return !props.helperText && "margin-bottom: 0.25rem";
518
474
  });
519
-
520
475
  var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
521
476
  return props.theme.optionalLabelFontWeight;
522
477
  });
523
-
524
478
  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
479
  return props.disabled ? props.theme.disabledColor : props.theme.helperTextFontColor;
526
480
  }, function (props) {
@@ -534,7 +488,6 @@ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templat
534
488
  }, function (props) {
535
489
  return props.theme.helperTextLineHeight;
536
490
  });
537
-
538
491
  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
492
  return props.disabled && "background-color: ".concat(props.theme.disabledInputBackgroundColor);
540
493
  }, function (props) {
@@ -546,11 +499,9 @@ var Select = _styledComponents["default"].div(_templateObject5 || (_templateObje
546
499
  }, function (props) {
547
500
  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
501
  });
549
-
550
502
  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
503
  return props.theme.selectionIndicatorBorderColor;
552
504
  });
553
-
554
505
  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
506
  return !props.disabled && "background-color: ".concat(props.theme.selectionIndicatorBackgroundColor);
556
507
  }, function (props) {
@@ -568,10 +519,7 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_te
568
519
  }, function (props) {
569
520
  return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
570
521
  });
571
-
572
- 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 font-size: 1rem;\n font-family: ", ";\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
- return props.theme.fontFamily;
574
- }, function (props) {
522
+ 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) {
575
523
  return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
576
524
  }, function (props) {
577
525
  return props.disabled ? "transparent" : props.theme.enabledSelectionIndicatorActionBackgroundColor;
@@ -580,9 +528,7 @@ var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 ||
580
528
  }, function (props) {
581
529
  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 ");
582
530
  });
583
-
584
531
  var SearchableValueContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"])));
585
-
586
532
  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) {
587
533
  if (props.disabled) return props.theme.disabledColor;else if (props.atBackground) return props.theme.placeholderFontColor;else return props.theme.valueFontColor;
588
534
  }, function (props) {
@@ -594,11 +540,8 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_te
594
540
  }, function (props) {
595
541
  return props.theme.valueFontWeight;
596
542
  });
597
-
598
543
  var SelectedOptionLabel = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
599
-
600
544
  var ValueInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
601
-
602
545
  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) {
603
546
  return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
604
547
  }, function (props) {
@@ -610,21 +553,17 @@ var SearchInput = _styledComponents["default"].input(_templateObject13 || (_temp
610
553
  }, function (props) {
611
554
  return props.theme.valueFontWeight;
612
555
  });
613
-
614
556
  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) {
615
557
  return props.theme.errorIconColor;
616
558
  });
617
-
618
559
  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) {
619
560
  return props.theme.errorMessageColor;
620
561
  }, function (props) {
621
562
  return props.theme.fontFamily;
622
563
  });
623
-
624
564
  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) {
625
565
  return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
626
566
  });
627
-
628
567
  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) {
629
568
  return props.theme.fontFamily;
630
569
  }, function (props) {
@@ -640,6 +579,4 @@ var ClearSearchAction = _styledComponents["default"].button(_templateObject17 ||
640
579
  }, function (props) {
641
580
  return props.theme.activeActionIconColor;
642
581
  });
643
-
644
- var _default = DxcSelect;
645
- exports["default"] = _default;
582
+ var _default = exports["default"] = DxcSelect;