@dxc-technology/halstack-react 10.1.0 → 12.0.0

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