@dxc-technology/halstack-react 0.0.0-9e54008 → 0.0.0-9f6fced

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