@dxc-technology/halstack-react 4.0.0 → 6.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 (354) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +7 -6
  3. package/HalstackContext.d.ts +12 -0
  4. package/HalstackContext.js +295 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +35 -162
  7. package/accordion/Accordion.stories.tsx +307 -0
  8. package/accordion/Accordion.test.js +72 -0
  9. package/accordion/types.d.ts +68 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +68 -85
  13. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  14. package/accordion-group/AccordionGroup.test.js +151 -0
  15. package/accordion-group/types.d.ts +72 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/alert/Alert.js +43 -153
  19. package/alert/Alert.stories.tsx +170 -0
  20. package/alert/Alert.test.js +92 -0
  21. package/alert/types.d.ts +49 -0
  22. package/alert/types.js +5 -0
  23. package/badge/Badge.d.ts +4 -0
  24. package/badge/Badge.js +15 -17
  25. package/badge/types.d.ts +5 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +51 -0
  29. package/bleed/Bleed.stories.tsx +341 -0
  30. package/bleed/types.d.ts +37 -0
  31. package/bleed/types.js +5 -0
  32. package/box/Box.d.ts +4 -0
  33. package/box/Box.js +36 -76
  34. package/box/Box.stories.tsx +132 -0
  35. package/box/Box.test.js +18 -0
  36. package/box/types.d.ts +43 -0
  37. package/box/types.js +5 -0
  38. package/bulleted-list/BulletedList.d.ts +7 -0
  39. package/bulleted-list/BulletedList.js +123 -0
  40. package/bulleted-list/BulletedList.stories.tsx +200 -0
  41. package/bulleted-list/types.d.ts +11 -0
  42. package/bulleted-list/types.js +5 -0
  43. package/button/Button.d.ts +4 -0
  44. package/button/Button.js +33 -97
  45. package/button/Button.stories.tsx +274 -0
  46. package/button/Button.test.js +35 -0
  47. package/button/types.d.ts +53 -0
  48. package/button/types.js +5 -0
  49. package/card/Card.d.ts +4 -0
  50. package/card/Card.js +44 -137
  51. package/card/Card.stories.tsx +201 -0
  52. package/card/Card.test.js +50 -0
  53. package/card/ice-cream.jpg +0 -0
  54. package/card/types.d.ts +67 -0
  55. package/card/types.js +5 -0
  56. package/checkbox/Checkbox.d.ts +4 -0
  57. package/checkbox/Checkbox.js +52 -94
  58. package/checkbox/Checkbox.stories.tsx +188 -0
  59. package/checkbox/Checkbox.test.js +78 -0
  60. package/checkbox/types.d.ts +64 -0
  61. package/checkbox/types.js +5 -0
  62. package/chip/Chip.d.ts +4 -0
  63. package/chip/Chip.js +26 -130
  64. package/chip/Chip.stories.tsx +119 -0
  65. package/chip/Chip.test.js +56 -0
  66. package/chip/types.d.ts +45 -0
  67. package/chip/types.js +5 -0
  68. package/common/RequiredComponent.js +3 -11
  69. package/common/variables.js +301 -373
  70. package/date-input/DateInput.d.ts +4 -0
  71. package/date-input/DateInput.js +80 -108
  72. package/date-input/DateInput.stories.tsx +138 -0
  73. package/date-input/DateInput.test.js +479 -0
  74. package/date-input/types.d.ts +107 -0
  75. package/date-input/types.js +5 -0
  76. package/dialog/Dialog.d.ts +4 -0
  77. package/dialog/Dialog.js +25 -105
  78. package/dialog/Dialog.stories.tsx +212 -0
  79. package/dialog/Dialog.test.js +40 -0
  80. package/dialog/types.d.ts +43 -0
  81. package/dialog/types.js +5 -0
  82. package/dropdown/Dropdown.d.ts +4 -0
  83. package/dropdown/Dropdown.js +54 -207
  84. package/dropdown/Dropdown.stories.tsx +249 -0
  85. package/dropdown/Dropdown.test.js +189 -0
  86. package/dropdown/types.d.ts +80 -0
  87. package/dropdown/types.js +5 -0
  88. package/file-input/FileInput.d.ts +4 -0
  89. package/file-input/FileInput.js +200 -251
  90. package/file-input/FileInput.stories.tsx +507 -0
  91. package/file-input/FileInput.test.js +457 -0
  92. package/file-input/FileItem.d.ts +14 -0
  93. package/file-input/FileItem.js +44 -145
  94. package/file-input/types.d.ts +112 -0
  95. package/file-input/types.js +5 -0
  96. package/flex/Flex.d.ts +4 -0
  97. package/flex/Flex.js +57 -0
  98. package/flex/Flex.stories.tsx +103 -0
  99. package/flex/types.d.ts +21 -0
  100. package/flex/types.js +5 -0
  101. package/footer/Footer.d.ts +4 -0
  102. package/footer/Footer.js +50 -286
  103. package/footer/Footer.stories.tsx +130 -0
  104. package/footer/Footer.test.js +109 -0
  105. package/footer/Icons.d.ts +2 -0
  106. package/footer/Icons.js +16 -16
  107. package/footer/types.d.ts +65 -0
  108. package/footer/types.js +5 -0
  109. package/header/Header.d.ts +7 -0
  110. package/header/Header.js +82 -249
  111. package/header/Header.stories.tsx +172 -0
  112. package/header/Header.test.js +79 -0
  113. package/header/Icons.d.ts +2 -0
  114. package/header/Icons.js +7 -32
  115. package/header/types.d.ts +47 -0
  116. package/header/types.js +5 -0
  117. package/heading/Heading.d.ts +4 -0
  118. package/heading/Heading.js +25 -96
  119. package/heading/Heading.stories.tsx +54 -0
  120. package/heading/Heading.test.js +186 -0
  121. package/heading/types.d.ts +33 -0
  122. package/heading/types.js +5 -0
  123. package/inset/Inset.d.ts +3 -0
  124. package/inset/Inset.js +51 -0
  125. package/inset/Inset.stories.tsx +229 -0
  126. package/inset/types.d.ts +37 -0
  127. package/inset/types.js +5 -0
  128. package/layout/ApplicationLayout.d.ts +20 -0
  129. package/layout/ApplicationLayout.js +76 -232
  130. package/layout/ApplicationLayout.stories.tsx +161 -0
  131. package/layout/Icons.d.ts +5 -0
  132. package/layout/Icons.js +19 -8
  133. package/layout/SidenavContext.d.ts +5 -0
  134. package/layout/SidenavContext.js +19 -0
  135. package/layout/types.d.ts +42 -0
  136. package/layout/types.js +5 -0
  137. package/link/Link.d.ts +4 -0
  138. package/link/Link.js +64 -165
  139. package/link/Link.stories.tsx +186 -0
  140. package/link/Link.test.js +83 -0
  141. package/link/types.d.ts +54 -0
  142. package/link/types.js +5 -0
  143. package/main.d.ts +44 -40
  144. package/main.js +114 -104
  145. package/number-input/NumberInput.d.ts +4 -0
  146. package/number-input/NumberInput.js +21 -81
  147. package/number-input/NumberInput.stories.tsx +115 -0
  148. package/number-input/NumberInput.test.js +506 -0
  149. package/number-input/NumberInputContext.d.ts +4 -0
  150. package/number-input/NumberInputContext.js +5 -2
  151. package/number-input/numberInputContextTypes.d.ts +19 -0
  152. package/number-input/numberInputContextTypes.js +5 -0
  153. package/number-input/types.d.ts +124 -0
  154. package/number-input/types.js +5 -0
  155. package/package.json +23 -16
  156. package/paginator/Icons.js +9 -9
  157. package/paginator/Paginator.d.ts +4 -0
  158. package/paginator/Paginator.js +32 -166
  159. package/paginator/Paginator.stories.tsx +63 -0
  160. package/paginator/Paginator.test.js +308 -0
  161. package/paginator/types.d.ts +38 -0
  162. package/paginator/types.js +5 -0
  163. package/paragraph/Paragraph.d.ts +6 -0
  164. package/paragraph/Paragraph.js +38 -0
  165. package/paragraph/Paragraph.stories.tsx +44 -0
  166. package/password-input/PasswordInput.d.ts +4 -0
  167. package/password-input/PasswordInput.js +40 -77
  168. package/password-input/PasswordInput.stories.tsx +131 -0
  169. package/password-input/PasswordInput.test.js +180 -0
  170. package/password-input/types.d.ts +110 -0
  171. package/password-input/types.js +5 -0
  172. package/progress-bar/ProgressBar.d.ts +4 -0
  173. package/progress-bar/ProgressBar.js +23 -95
  174. package/progress-bar/ProgressBar.stories.jsx +58 -0
  175. package/progress-bar/ProgressBar.test.js +65 -0
  176. package/progress-bar/types.d.ts +37 -0
  177. package/progress-bar/types.js +5 -0
  178. package/quick-nav/QuickNav.d.ts +4 -0
  179. package/quick-nav/QuickNav.js +118 -0
  180. package/quick-nav/QuickNav.stories.tsx +264 -0
  181. package/quick-nav/types.d.ts +21 -0
  182. package/quick-nav/types.js +5 -0
  183. package/radio-group/Radio.d.ts +4 -0
  184. package/radio-group/Radio.js +141 -0
  185. package/radio-group/RadioGroup.d.ts +4 -0
  186. package/radio-group/RadioGroup.js +283 -0
  187. package/radio-group/RadioGroup.stories.tsx +100 -0
  188. package/radio-group/RadioGroup.test.js +695 -0
  189. package/radio-group/types.d.ts +114 -0
  190. package/radio-group/types.js +5 -0
  191. package/resultsetTable/ResultsetTable.d.ts +4 -0
  192. package/resultsetTable/ResultsetTable.js +43 -147
  193. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  194. package/resultsetTable/ResultsetTable.test.js +348 -0
  195. package/resultsetTable/types.d.ts +67 -0
  196. package/resultsetTable/types.js +5 -0
  197. package/select/Icons.d.ts +10 -0
  198. package/select/Icons.js +93 -0
  199. package/select/Listbox.d.ts +4 -0
  200. package/select/Listbox.js +175 -0
  201. package/select/Option.d.ts +4 -0
  202. package/select/Option.js +110 -0
  203. package/select/Select.d.ts +4 -0
  204. package/select/Select.js +231 -709
  205. package/select/Select.stories.tsx +626 -0
  206. package/select/Select.test.js +2162 -0
  207. package/select/types.d.ts +212 -0
  208. package/select/types.js +5 -0
  209. package/sidenav/Sidenav.d.ts +10 -0
  210. package/sidenav/Sidenav.js +182 -105
  211. package/sidenav/Sidenav.stories.tsx +180 -0
  212. package/sidenav/Sidenav.test.js +44 -0
  213. package/sidenav/types.d.ts +73 -0
  214. package/sidenav/types.js +5 -0
  215. package/slider/Slider.d.ts +4 -0
  216. package/slider/Slider.js +76 -162
  217. package/slider/Slider.stories.tsx +177 -0
  218. package/slider/Slider.test.js +150 -0
  219. package/slider/types.d.ts +82 -0
  220. package/slider/types.js +5 -0
  221. package/spinner/Spinner.d.ts +4 -0
  222. package/spinner/Spinner.js +46 -177
  223. package/spinner/Spinner.stories.jsx +103 -0
  224. package/spinner/Spinner.test.js +64 -0
  225. package/spinner/types.d.ts +32 -0
  226. package/spinner/types.js +5 -0
  227. package/switch/Switch.d.ts +4 -0
  228. package/switch/Switch.js +55 -82
  229. package/switch/Switch.stories.tsx +160 -0
  230. package/switch/Switch.test.js +98 -0
  231. package/switch/types.d.ts +62 -0
  232. package/switch/types.js +5 -0
  233. package/table/Table.d.ts +4 -0
  234. package/table/Table.js +12 -26
  235. package/table/Table.stories.jsx +277 -0
  236. package/table/Table.test.js +26 -0
  237. package/table/types.d.ts +21 -0
  238. package/table/types.js +5 -0
  239. package/tabs/Tabs.d.ts +4 -0
  240. package/tabs/Tabs.js +43 -175
  241. package/tabs/Tabs.stories.tsx +112 -0
  242. package/tabs/Tabs.test.js +140 -0
  243. package/tabs/types.d.ts +82 -0
  244. package/tabs/types.js +5 -0
  245. package/tabs-nav/NavTabs.d.ts +8 -0
  246. package/tabs-nav/NavTabs.js +125 -0
  247. package/tabs-nav/NavTabs.stories.tsx +170 -0
  248. package/tabs-nav/NavTabs.test.js +82 -0
  249. package/tabs-nav/Tab.d.ts +4 -0
  250. package/tabs-nav/Tab.js +132 -0
  251. package/tabs-nav/types.d.ts +53 -0
  252. package/tabs-nav/types.js +5 -0
  253. package/tag/Tag.d.ts +4 -0
  254. package/tag/Tag.js +44 -143
  255. package/tag/Tag.stories.tsx +142 -0
  256. package/tag/Tag.test.js +60 -0
  257. package/tag/types.d.ts +69 -0
  258. package/tag/types.js +5 -0
  259. package/text-input/Suggestion.d.ts +4 -0
  260. package/text-input/Suggestion.js +55 -0
  261. package/text-input/TextInput.d.ts +4 -0
  262. package/text-input/TextInput.js +169 -391
  263. package/text-input/TextInput.stories.tsx +474 -0
  264. package/text-input/TextInput.test.js +1712 -0
  265. package/text-input/types.d.ts +178 -0
  266. package/text-input/types.js +5 -0
  267. package/textarea/Textarea.d.ts +4 -0
  268. package/textarea/Textarea.js +50 -142
  269. package/textarea/Textarea.stories.jsx +157 -0
  270. package/textarea/Textarea.test.js +437 -0
  271. package/textarea/types.d.ts +137 -0
  272. package/textarea/types.js +5 -0
  273. package/toggle-group/ToggleGroup.d.ts +4 -0
  274. package/toggle-group/ToggleGroup.js +36 -148
  275. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  276. package/toggle-group/ToggleGroup.test.js +156 -0
  277. package/toggle-group/types.d.ts +105 -0
  278. package/toggle-group/types.js +5 -0
  279. package/typography/Typography.d.ts +4 -0
  280. package/typography/Typography.js +131 -0
  281. package/typography/Typography.stories.tsx +198 -0
  282. package/typography/types.d.ts +18 -0
  283. package/typography/types.js +5 -0
  284. package/useTheme.d.ts +2 -0
  285. package/useTheme.js +2 -2
  286. package/useTranslatedLabels.d.ts +2 -0
  287. package/useTranslatedLabels.js +20 -0
  288. package/wizard/Wizard.d.ts +4 -0
  289. package/wizard/Wizard.js +132 -252
  290. package/wizard/Wizard.stories.tsx +233 -0
  291. package/wizard/Wizard.test.js +141 -0
  292. package/wizard/types.d.ts +65 -0
  293. package/wizard/types.js +5 -0
  294. package/ThemeContext.js +0 -250
  295. package/V3Select/V3Select.js +0 -549
  296. package/V3Select/index.d.ts +0 -27
  297. package/V3Textarea/V3Textarea.js +0 -264
  298. package/V3Textarea/index.d.ts +0 -27
  299. package/accordion/index.d.ts +0 -28
  300. package/accordion-group/index.d.ts +0 -16
  301. package/alert/index.d.ts +0 -51
  302. package/box/index.d.ts +0 -25
  303. package/button/Button.stories.js +0 -27
  304. package/button/index.d.ts +0 -24
  305. package/card/index.d.ts +0 -22
  306. package/checkbox/index.d.ts +0 -24
  307. package/chip/index.d.ts +0 -22
  308. package/date/Date.js +0 -379
  309. package/date/index.d.ts +0 -27
  310. package/date-input/index.d.ts +0 -95
  311. package/dialog/index.d.ts +0 -18
  312. package/dropdown/index.d.ts +0 -26
  313. package/file-input/index.d.ts +0 -81
  314. package/footer/index.d.ts +0 -25
  315. package/header/index.d.ts +0 -25
  316. package/heading/index.d.ts +0 -17
  317. package/input-text/Icons.js +0 -22
  318. package/input-text/InputText.js +0 -705
  319. package/input-text/index.d.ts +0 -36
  320. package/link/index.d.ts +0 -23
  321. package/number-input/index.d.ts +0 -113
  322. package/paginator/index.d.ts +0 -20
  323. package/password-input/index.d.ts +0 -94
  324. package/progress-bar/index.d.ts +0 -18
  325. package/radio/Radio.js +0 -209
  326. package/radio/index.d.ts +0 -23
  327. package/resultsetTable/index.d.ts +0 -19
  328. package/select/index.d.ts +0 -131
  329. package/sidenav/index.d.ts +0 -13
  330. package/slider/index.d.ts +0 -29
  331. package/spinner/index.d.ts +0 -17
  332. package/switch/index.d.ts +0 -24
  333. package/table/index.d.ts +0 -13
  334. package/tabs/index.d.ts +0 -19
  335. package/tag/index.d.ts +0 -24
  336. package/text-input/index.d.ts +0 -135
  337. package/textarea/index.d.ts +0 -117
  338. package/toggle/Toggle.js +0 -220
  339. package/toggle/index.d.ts +0 -21
  340. package/toggle-group/index.d.ts +0 -21
  341. package/upload/Upload.js +0 -205
  342. package/upload/buttons-upload/ButtonsUpload.js +0 -135
  343. package/upload/buttons-upload/Icons.js +0 -40
  344. package/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  345. package/upload/dragAndDropArea/Icons.js +0 -39
  346. package/upload/file-upload/FileToUpload.js +0 -189
  347. package/upload/file-upload/Icons.js +0 -66
  348. package/upload/files-upload/FilesToUpload.js +0 -123
  349. package/upload/index.d.ts +0 -15
  350. package/upload/transaction/Icons.js +0 -160
  351. package/upload/transaction/Transaction.js +0 -148
  352. package/upload/transactions/Transactions.js +0 -138
  353. package/wizard/Icons.js +0 -65
  354. package/wizard/index.d.ts +0 -18
package/select/Select.js CHANGED
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
@@ -21,7 +21,9 @@ var _react = _interopRequireWildcard(require("react"));
21
21
 
22
22
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
23
 
24
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
24
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
25
+
26
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
25
27
 
26
28
  var _variables = require("../common/variables.js");
27
29
 
@@ -29,371 +31,34 @@ var _uuid = require("uuid");
29
31
 
30
32
  var _utils = require("../common/utils.js");
31
33
 
32
- var _Checkbox = _interopRequireDefault(require("../checkbox/Checkbox"));
33
-
34
- function _templateObject28() {
35
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 16px;\n width: 16px;\n margin-left: 4px;\n color: ", ";\n"]);
36
-
37
- _templateObject28 = function _templateObject28() {
38
- return data;
39
- };
40
-
41
- return data;
42
- }
43
-
44
- function _templateObject27() {
45
- var data = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"]);
46
-
47
- _templateObject27 = function _templateObject27() {
48
- return data;
49
- };
50
-
51
- return data;
52
- }
53
-
54
- function _templateObject26() {
55
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: 16px;\n height: 16px;\n"]);
56
-
57
- _templateObject26 = function _templateObject26() {
58
- return data;
59
- };
60
-
61
- return data;
62
- }
63
-
64
- function _templateObject25() {
65
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n ", "\n color: ", ";\n"]);
66
-
67
- _templateObject25 = function _templateObject25() {
68
- return data;
69
- };
70
-
71
- return data;
72
- }
73
-
74
- function _templateObject24() {
75
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n width: 100%;\n overflow: hidden;\n ", "\n"]);
76
-
77
- _templateObject24 = function _templateObject24() {
78
- return data;
79
- };
80
-
81
- return data;
82
- }
83
-
84
- function _templateObject23() {
85
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.25rem 0.5rem 0.188rem 0;\n min-height: 24px;\n ", "\n ", ";\n"]);
86
-
87
- _templateObject23 = function _templateObject23() {
88
- return data;
89
- };
90
-
91
- return data;
92
- }
93
-
94
- function _templateObject22() {
95
- var data = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0 0.5rem;\n box-shadow: inset 0 0 0 2px transparent;\n ", "\n ", ";\n line-height: 1.715em;\n cursor: pointer;\n\n &:hover {\n ", ";\n }\n &:active {\n ", ";\n }\n"]);
34
+ var _Icons = _interopRequireDefault(require("./Icons"));
96
35
 
97
- _templateObject22 = function _templateObject22() {
98
- return data;
99
- };
100
-
101
- return data;
102
- }
103
-
104
- function _templateObject21() {
105
- var data = (0, _taggedTemplateLiteral2["default"])(["\n padding: 4px 16px;\n font-weight: ", ";\n line-height: 1.715em;\n"]);
106
-
107
- _templateObject21 = function _templateObject21() {
108
- return data;
109
- };
110
-
111
- return data;
112
- }
113
-
114
- function _templateObject20() {
115
- var data = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0;\n"]);
116
-
117
- _templateObject20 = function _templateObject20() {
118
- return data;
119
- };
120
-
121
- return data;
122
- }
123
-
124
- function _templateObject19() {
125
- var data = (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-right: 0.25rem;\n"]);
126
-
127
- _templateObject19 = function _templateObject19() {
128
- return data;
129
- };
130
-
131
- return data;
132
- }
36
+ var _Listbox = _interopRequireDefault(require("./Listbox"));
133
37
 
134
- function _templateObject18() {
135
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 4px 16px;\n color: ", ";\n font-size: 0.875rem;\n line-height: 1.715em;\n"]);
38
+ var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
136
39
 
137
- _templateObject18 = function _templateObject18() {
138
- return data;
139
- };
140
-
141
- return data;
142
- }
143
-
144
- function _templateObject17() {
145
- var data = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n z-index: 1;\n max-height: 304px;\n overflow-y: auto;\n top: calc(100% + 4px);\n left: 0;\n margin: 0;\n padding: 0.25rem 0;\n width: 100%;\n background-color: ", ";\n border: 1px solid ", ";\n border-radius: 0.25rem;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n cursor: default;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"]);
146
-
147
- _templateObject17 = function _templateObject17() {
148
- return data;
149
- };
150
-
151
- return data;
152
- }
153
-
154
- function _templateObject16() {
155
- var data = (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"]);
40
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
156
41
 
157
- _templateObject16 = function _templateObject16() {
158
- return data;
159
- };
160
-
161
- return data;
162
- }
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); }
163
43
 
164
- function _templateObject15() {
165
- var data = (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"]);
166
-
167
- _templateObject15 = function _templateObject15() {
168
- return data;
169
- };
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; }
170
45
 
171
- return data;
172
- }
173
-
174
- function _templateObject14() {
175
- var data = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 1.5em;\n color: ", ";\n font-family: ", ";\n font-size: 0.75rem;\n font-weight: 400;\n"]);
176
-
177
- _templateObject14 = function _templateObject14() {
178
- return data;
179
- };
180
-
181
- return data;
182
- }
183
-
184
- function _templateObject13() {
185
- var data = (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"]);
186
-
187
- _templateObject13 = function _templateObject13() {
188
- return data;
189
- };
190
-
191
- return data;
192
- }
193
-
194
- function _templateObject12() {
195
- var data = (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"]);
196
-
197
- _templateObject12 = function _templateObject12() {
198
- return data;
199
- };
200
-
201
- return data;
202
- }
203
-
204
- function _templateObject11() {
205
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"]);
206
-
207
- _templateObject11 = function _templateObject11() {
208
- return data;
209
- };
210
-
211
- return data;
212
- }
213
-
214
- function _templateObject10() {
215
- var data = (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"]);
216
-
217
- _templateObject10 = function _templateObject10() {
218
- return data;
219
- };
220
-
221
- return data;
222
- }
223
-
224
- function _templateObject9() {
225
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"]);
226
-
227
- _templateObject9 = function _templateObject9() {
228
- return data;
229
- };
230
-
231
- return data;
232
- }
233
-
234
- function _templateObject8() {
235
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n width: 23px;\n height: 22px;\n font-size: 1rem;\n font-family: ", ";\n border: none;\n padding: 0.25rem;\n ", "\n background-color: ", ";\n color: ", ";\n\n :focus-visible {\n outline: none;\n }\n ", "\n\n svg {\n line-height: 18px;\n }\n"]);
236
-
237
- _templateObject8 = function _templateObject8() {
238
- return data;
239
- };
240
-
241
- return data;
242
- }
243
-
244
- function _templateObject7() {
245
- var data = (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 background-color: ", ";\n border-right: 1px solid ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n ", "\n"]);
246
-
247
- _templateObject7 = function _templateObject7() {
248
- return data;
249
- };
250
-
251
- return data;
252
- }
253
-
254
- function _templateObject6() {
255
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n border: 1px solid ", ";\n border-radius: 2px;\n max-height: 22px;\n width: 46px;\n"]);
256
-
257
- _templateObject6 = function _templateObject6() {
258
- return data;
259
- };
260
-
261
- return data;
262
- }
263
-
264
- function _templateObject5() {
265
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: relative;\n align-items: center;\n height: calc(2.5rem - 2px);\n margin: ", ";\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"]);
266
-
267
- _templateObject5 = function _templateObject5() {
268
- return data;
269
- };
270
-
271
- return data;
272
- }
273
-
274
- function _templateObject4() {
275
- var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"]);
276
-
277
- _templateObject4 = function _templateObject4() {
278
- return data;
279
- };
280
-
281
- return data;
282
- }
283
-
284
- function _templateObject3() {
285
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"]);
286
-
287
- _templateObject3 = function _templateObject3() {
288
- return data;
289
- };
290
-
291
- return data;
292
- }
293
-
294
- function _templateObject2() {
295
- var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n cursor: default;\n"]);
296
-
297
- _templateObject2 = function _templateObject2() {
298
- return data;
299
- };
300
-
301
- return data;
302
- }
303
-
304
- function _templateObject() {
305
- var data = (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"]);
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;
50
+ };
306
51
 
307
- _templateObject = function _templateObject() {
308
- return data;
309
- };
52
+ var filteredGroupsHaveOptions = function filteredGroupsHaveOptions(filteredOptions) {
53
+ return filteredOptions !== null && filteredOptions !== void 0 && filteredOptions[0].options ? filteredOptions.some(function (groupOption) {
54
+ var _groupOption$options;
310
55
 
311
- return data;
312
- }
313
-
314
- var selectIcons = {
315
- error: _react["default"].createElement("svg", {
316
- role: "img",
317
- xmlns: "http://www.w3.org/2000/svg",
318
- height: "24px",
319
- viewBox: "0 0 24 24",
320
- width: "24px",
321
- fill: "currentColor"
322
- }, _react["default"].createElement("path", {
323
- d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"
324
- })),
325
- arrowUp: _react["default"].createElement("svg", {
326
- role: "img",
327
- xmlns: "http://www.w3.org/2000/svg",
328
- height: "24px",
329
- viewBox: "0 0 24 24",
330
- width: "24px",
331
- fill: "currentColor"
332
- }, _react["default"].createElement("path", {
333
- d: "M0 0h24v24H0V0z",
334
- fill: "none"
335
- }), _react["default"].createElement("path", {
336
- d: "M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6 1.41 1.41z"
337
- })),
338
- arrowDown: _react["default"].createElement("svg", {
339
- role: "img",
340
- xmlns: "http://www.w3.org/2000/svg",
341
- height: "24px",
342
- viewBox: "0 0 24 24",
343
- width: "24px",
344
- fill: "currentColor"
345
- }, _react["default"].createElement("path", {
346
- d: "M0 0h24v24H0V0z",
347
- fill: "none"
348
- }), _react["default"].createElement("path", {
349
- d: "M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"
350
- })),
351
- clear: _react["default"].createElement("svg", {
352
- role: "img",
353
- xmlns: "http://www.w3.org/2000/svg",
354
- width: "24",
355
- height: "24",
356
- viewBox: "0 0 24 24",
357
- fill: "currentColor"
358
- }, _react["default"].createElement("path", {
359
- d: "M0 0h24v24H0V0z",
360
- fill: "none"
361
- }), _react["default"].createElement("path", {
362
- d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
363
- })),
364
- selected: _react["default"].createElement("svg", {
365
- role: "img",
366
- xmlns: "http://www.w3.org/2000/svg",
367
- height: "24px",
368
- viewBox: "0 0 24 24",
369
- width: "24px",
370
- fill: "currentColor"
371
- }, _react["default"].createElement("path", {
372
- d: "M0 0h24v24H0z",
373
- fill: "none"
374
- }), _react["default"].createElement("path", {
375
- d: "M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"
376
- })),
377
- searchOff: _react["default"].createElement("svg", {
378
- role: "img",
379
- xmlns: "http://www.w3.org/2000/svg",
380
- height: "24px",
381
- viewBox: "0 0 24 24",
382
- width: "24px",
383
- fill: "currentColor"
384
- }, _react["default"].createElement("g", null, _react["default"].createElement("rect", {
385
- fill: "none",
386
- height: "24",
387
- width: "24"
388
- })), _react["default"].createElement("g", null, _react["default"].createElement("g", null, _react["default"].createElement("path", {
389
- d: "M15.5,14h-0.79l-0.28-0.27C15.41,12.59,16,11.11,16,9.5C16,5.91,13.09,3,9.5,3C6.08,3,3.28,5.64,3.03,9h2.02 C5.3,6.75,7.18,5,9.5,5C11.99,5,14,7.01,14,9.5S11.99,14,9.5,14c-0.17,0-0.33-0.03-0.5-0.05v2.02C9.17,15.99,9.33,16,9.5,16 c1.61,0,3.09-0.59,4.23-1.57L14,14.71v0.79l5,4.99L20.49,19L15.5,14z"
390
- }), _react["default"].createElement("polygon", {
391
- points: "6.47,10.82 4,13.29 1.53,10.82 0.82,11.53 3.29,14 0.82,16.47 1.53,17.18 4,14.71 6.47,17.18 7.18,16.47 4.71,14 7.18,11.53"
392
- }))))
56
+ return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
57
+ }) : true;
393
58
  };
394
59
 
395
- var getNotOptionalErrorMessage = function getNotOptionalErrorMessage() {
396
- return "This field is required. Please, enter a value.";
60
+ var canOpenOptions = function canOpenOptions(options, disabled) {
61
+ return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions(options);
397
62
  };
398
63
 
399
64
  var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, searchValue) {
@@ -412,17 +77,79 @@ var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, se
412
77
  }
413
78
  };
414
79
 
415
- var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
416
- var _ref3;
80
+ var getLastOptionIndex = function getLastOptionIndex(options, filteredOptions, searchable, optional, multiple) {
81
+ var last = 0;
82
+
83
+ var reducer = function reducer(acc, current) {
84
+ var _current$options;
85
+
86
+ return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
87
+ };
417
88
 
418
- var _ref$label = _ref.label,
419
- label = _ref$label === void 0 ? "" : _ref$label,
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;
90
+ return optional && !multiple ? last + 1 : last;
91
+ };
92
+
93
+ var getSelectedOption = function getSelectedOption(value, options, multiple, optional, optionalItem) {
94
+ var selectedOption = multiple ? [] : {};
95
+ var singleSelectionIndex;
96
+
97
+ if (multiple) {
98
+ if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
99
+ options.forEach(function (option) {
100
+ if (option.options) {
101
+ option.options.forEach(function (singleOption) {
102
+ if (value.includes(singleOption.value)) selectedOption.push(singleOption);
103
+ });
104
+ } else if (value.includes(option.value)) selectedOption.push(option);
105
+ });
106
+ }
107
+ } else {
108
+ if (optional && value === "") {
109
+ selectedOption = optionalItem;
110
+ singleSelectionIndex = 0;
111
+ } else if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
112
+ var group_index = 0;
113
+ options.some(function (option, index) {
114
+ if (option.options) {
115
+ option.options.some(function (singleOption) {
116
+ if (singleOption.value === value) {
117
+ selectedOption = singleOption;
118
+ singleSelectionIndex = optional ? group_index + 1 : group_index;
119
+ return true;
120
+ }
121
+
122
+ group_index++;
123
+ });
124
+ } else if (option.value === value) {
125
+ selectedOption = option;
126
+ singleSelectionIndex = optional ? index + 1 : index;
127
+ return true;
128
+ }
129
+ });
130
+ }
131
+ }
132
+
133
+ return {
134
+ selectedOption: selectedOption,
135
+ singleSelectionIndex: singleSelectionIndex
136
+ };
137
+ };
138
+
139
+ var notOptionalCheck = function notOptionalCheck(value, multiple, optional) {
140
+ return !optional && (multiple ? value.length === 0 : value === "");
141
+ };
142
+
143
+ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
144
+ var _selectedOption$label;
145
+
146
+ var label = _ref.label,
420
147
  _ref$name = _ref.name,
421
148
  name = _ref$name === void 0 ? "" : _ref$name,
149
+ defaultValue = _ref.defaultValue,
422
150
  value = _ref.value,
423
151
  options = _ref.options,
424
- _ref$helperText = _ref.helperText,
425
- helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
152
+ helperText = _ref.helperText,
426
153
  _ref$placeholder = _ref.placeholder,
427
154
  placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
428
155
  _ref$disabled = _ref.disabled,
@@ -435,8 +162,7 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
435
162
  multiple = _ref$multiple === void 0 ? false : _ref$multiple,
436
163
  onChange = _ref.onChange,
437
164
  onBlur = _ref.onBlur,
438
- _ref$error = _ref.error,
439
- error = _ref$error === void 0 ? "" : _ref$error,
165
+ error = _ref.error,
440
166
  margin = _ref.margin,
441
167
  _ref$size = _ref.size,
442
168
  size = _ref$size === void 0 ? "medium" : _ref$size,
@@ -448,9 +174,10 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
448
174
  selectId = _useState2[0];
449
175
 
450
176
  var selectLabelId = "label-".concat(selectId);
177
+ var errorId = "error-".concat(selectId);
451
178
  var optionsListId = "".concat(selectId, "-listbox");
452
179
 
453
- var _useState3 = (0, _react.useState)(multiple ? [] : ""),
180
+ var _useState3 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
454
181
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
455
182
  innerValue = _useState4[0],
456
183
  setInnerValue = _useState4[1];
@@ -470,116 +197,34 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
470
197
  isOpen = _useState10[0],
471
198
  changeIsOpen = _useState10[1];
472
199
 
473
- var selectContainerRef = (0, _react.useRef)(null);
200
+ var _useState11 = (0, _react.useState)(null),
201
+ _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
202
+ listboxStyles = _useState12[0],
203
+ setListboxStyles = _useState12[1];
204
+
205
+ var selectRef = (0, _react.useRef)(null);
474
206
  var selectSearchInputRef = (0, _react.useRef)(null);
475
- var selectOptionsListRef = (0, _react.useRef)(null);
476
207
  var colorsTheme = (0, _useTheme["default"])();
477
- var optionalEmptyOption = {
208
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
209
+ var optionalItem = {
478
210
  label: placeholder,
479
211
  value: ""
480
212
  };
481
213
  var filteredOptions = (0, _react.useMemo)(function () {
482
214
  return filterOptionsBySearchValue(options, searchValue);
483
215
  }, [options, searchValue]);
484
-
485
- var getLastOptionIndex = function getLastOptionIndex() {
486
- var last = 0;
487
-
488
- var reducer = function reducer(acc, current) {
489
- var _current$options;
490
-
491
- return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
492
- };
493
-
494
- 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;
495
- return optional && !multiple ? last + 1 : last;
496
- };
497
-
498
216
  var lastOptionIndex = (0, _react.useMemo)(function () {
499
- return getLastOptionIndex();
500
- }, [searchable, optional, multiple, filteredOptions, options]);
501
-
502
- var getSelectedOption = function getSelectedOption() {
503
- var val = value !== null && value !== void 0 ? value : innerValue;
504
- var selectedOption = multiple ? [] : "";
505
- var singleSelectionIndex;
506
-
507
- if (multiple) {
508
- if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
509
- options.forEach(function (option) {
510
- if (option.options) {
511
- option.options.forEach(function (singleOption) {
512
- if (val.includes(singleOption.value)) selectedOption.push(singleOption);
513
- });
514
- } else if (val.includes(option.value)) selectedOption.push(option);
515
- });
516
- }
517
- } else {
518
- if (optional && val === "") {
519
- selectedOption = optionalEmptyOption;
520
- singleSelectionIndex = 0;
521
- } else if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
522
- var group_index = 0;
523
- options.some(function (option, index) {
524
- if (option.options) {
525
- option.options.some(function (singleOption) {
526
- if (singleOption.value === val) {
527
- selectedOption = singleOption;
528
- singleSelectionIndex = optional ? group_index + 1 : group_index;
529
- return true;
530
- }
531
-
532
- group_index++;
533
- });
534
- } else if (option.value === val) {
535
- selectedOption = option;
536
- singleSelectionIndex = optional ? index + 1 : index;
537
- return true;
538
- }
539
- });
540
- }
541
- }
542
-
543
- return {
544
- selectedOption: selectedOption,
545
- singleSelectionIndex: singleSelectionIndex
546
- };
547
- };
217
+ return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
218
+ }, [options, filteredOptions, searchable, optional, multiple]);
548
219
 
549
220
  var _useMemo = (0, _react.useMemo)(function () {
550
- return getSelectedOption();
551
- }, [options, multiple, value, innerValue]),
221
+ return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
222
+ }, [value, innerValue, options, multiple, optional, optionalItem]),
552
223
  selectedOption = _useMemo.selectedOption,
553
224
  singleSelectionIndex = _useMemo.singleSelectionIndex;
554
225
 
555
- var notOptionalCheck = function notOptionalCheck(value) {
556
- return value === "" && !optional;
557
- };
558
-
559
- var notOptionalMultipleCheck = function notOptionalMultipleCheck() {
560
- return (value !== null && value !== void 0 ? value : innerValue).length === 0 && !optional;
561
- };
562
-
563
- var canBeOpenOptions = function canBeOpenOptions() {
564
- return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions();
565
- };
566
-
567
- var groupsHaveOptions = function groupsHaveOptions() {
568
- return options[0].hasOwnProperty("options") ? options[0].options ? options.some(function (groupOption) {
569
- return groupOption.options.length > 0;
570
- }) : false : true;
571
- };
572
-
573
- var filteredGroupsHaveOptions = function filteredGroupsHaveOptions() {
574
- return filteredOptions !== null && filteredOptions !== void 0 && filteredOptions[0].options ? filteredOptions.some(function (groupOption) {
575
- var _groupOption$options;
576
-
577
- return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
578
- }) : true;
579
- };
580
-
581
226
  var openOptions = function openOptions() {
582
- if (!isOpen && canBeOpenOptions()) changeIsOpen(true);
227
+ if (!isOpen && canOpenOptions(options, disabled)) changeIsOpen(true);
583
228
  };
584
229
 
585
230
  var closeOptions = function closeOptions() {
@@ -590,36 +235,21 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
590
235
  };
591
236
 
592
237
  var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
593
- if (multiple) {
594
- var _res, _res2;
238
+ var newValue;
595
239
 
596
- var res;
597
- if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) value ? res = value.filter(function (optionVal) {
240
+ if (multiple) {
241
+ if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) newValue = (value !== null && value !== void 0 ? value : innerValue).filter(function (optionVal) {
598
242
  return optionVal !== newOption.value;
599
- }) : setInnerValue(function (previous) {
600
- return previous.filter(function (optionVal) {
601
- return optionVal !== newOption.value;
602
- });
603
- });else value ? res = [].concat((0, _toConsumableArray2["default"])(value), [newOption.value]) : setInnerValue(function (previous) {
604
- return [].concat((0, _toConsumableArray2["default"])(previous), [newOption.value]);
605
- });
606
- if (notOptionalMultipleCheck(newOption.value)) onChange === null || onChange === void 0 ? void 0 : onChange({
607
- value: (_res = res) !== null && _res !== void 0 ? _res : innerValue,
608
- error: getNotOptionalErrorMessage()
609
- });else onChange === null || onChange === void 0 ? void 0 : onChange({
610
- value: (_res2 = res) !== null && _res2 !== void 0 ? _res2 : innerValue,
611
- error: null
612
- });
613
- } else {
614
- value !== null && value !== void 0 ? value : setInnerValue(newOption.value);
615
- if (notOptionalCheck(newOption.value)) onChange === null || onChange === void 0 ? void 0 : onChange({
616
- value: newOption.value,
617
- error: getNotOptionalErrorMessage()
618
- });else onChange === null || onChange === void 0 ? void 0 : onChange({
619
- value: newOption.value,
620
- error: null
621
- });
622
- }
243
+ });else newValue = [].concat((0, _toConsumableArray2["default"])(value !== null && value !== void 0 ? value : innerValue), [newOption.value]);
244
+ } else newValue = newOption.value;
245
+
246
+ value !== null && value !== void 0 ? value : setInnerValue(newValue);
247
+ notOptionalCheck(newValue, multiple, optional) ? onChange === null || onChange === void 0 ? void 0 : onChange({
248
+ value: newValue,
249
+ error: translatedLabels.formFields.requiredValueErrorMessage
250
+ }) : onChange === null || onChange === void 0 ? void 0 : onChange({
251
+ value: newValue
252
+ });
623
253
  };
624
254
 
625
255
  var handleSelectOnClick = function handleSelectOnClick() {
@@ -640,12 +270,12 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
640
270
  if (!event.currentTarget.contains(event.relatedTarget)) {
641
271
  closeOptions();
642
272
  setSearchValue("");
643
- if (notOptionalCheck(value !== null && value !== void 0 ? value : innerValue)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
644
- value: value !== null && value !== void 0 ? value : innerValue,
645
- error: getNotOptionalErrorMessage()
646
- });else onBlur === null || onBlur === void 0 ? void 0 : onBlur({
647
- value: value !== null && value !== void 0 ? value : innerValue,
648
- error: null
273
+ var currentValue = value !== null && value !== void 0 ? value : innerValue;
274
+ notOptionalCheck(currentValue, multiple, optional) ? onBlur === null || onBlur === void 0 ? void 0 : onBlur({
275
+ value: currentValue,
276
+ error: translatedLabels.formFields.requiredValueErrorMessage
277
+ }) : onBlur === null || onBlur === void 0 ? void 0 : onBlur({
278
+ value: currentValue
649
279
  });
650
280
  }
651
281
  };
@@ -684,7 +314,7 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
684
314
 
685
315
  if (searchable) {
686
316
  if (filteredOptions.length > 0) {
687
- if (optional && !multiple && visualFocusIndex === 0 && filteredGroupsHaveOptions()) handleSelectChangeValue(optionalEmptyOption);else filteredOptions[0].options ? filteredGroupsHaveOptions() && filteredOptions.some(function (groupOption) {
317
+ if (optional && !multiple && visualFocusIndex === 0 && filteredGroupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else filteredOptions[0].options ? filteredGroupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
688
318
  var groupLength = accLength + groupOption.options.length;
689
319
  groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
690
320
  accLength = groupLength;
@@ -692,7 +322,7 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
692
322
  }) : handleSelectChangeValue(filteredOptions[visualFocusIndex - accLength]);
693
323
  }
694
324
  } else {
695
- if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalEmptyOption);else options[0].options ? options.some(function (groupOption) {
325
+ if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else options[0].options ? options.some(function (groupOption) {
696
326
  var groupLength = accLength + groupOption.options.length;
697
327
  groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
698
328
  accLength = groupLength;
@@ -717,9 +347,11 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
717
347
  var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
718
348
  event.stopPropagation();
719
349
  value !== null && value !== void 0 ? value : setInnerValue([]);
720
- onChange === null || onChange === void 0 ? void 0 : onChange({
350
+ !optional ? onChange === null || onChange === void 0 ? void 0 : onChange({
721
351
  value: [],
722
- error: getNotOptionalErrorMessage()
352
+ error: translatedLabels.formFields.requiredValueErrorMessage
353
+ }) : onChange === null || onChange === void 0 ? void 0 : onChange({
354
+ value: []
723
355
  });
724
356
  };
725
357
 
@@ -728,108 +360,48 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
728
360
  setSearchValue("");
729
361
  };
730
362
 
731
- (0, _react.useLayoutEffect)(function () {
732
- if (isOpen && singleSelectionIndex) {
733
- var _listEl$scrollTo;
363
+ var handleOptionOnClick = (0, _react.useCallback)(function (option) {
364
+ handleSelectChangeValue(option);
365
+ !multiple && closeOptions();
366
+ setSearchValue("");
367
+ }, [handleSelectChangeValue, closeOptions, multiple]);
368
+
369
+ var handleListboxResize = function handleListboxResize() {
370
+ var _selectRef$current;
734
371
 
735
- var listEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : selectOptionsListRef.current;
736
- var selectedListOptionEl = listEl === null || listEl === void 0 ? void 0 : listEl.querySelector("[aria-selected='true']");
737
- listEl === null || listEl === void 0 ? void 0 : (_listEl$scrollTo = listEl.scrollTo) === null || _listEl$scrollTo === void 0 ? void 0 : _listEl$scrollTo.call(listEl, {
738
- top: (selectedListOptionEl === null || selectedListOptionEl === void 0 ? void 0 : selectedListOptionEl.offsetTop) - (listEl === null || listEl === void 0 ? void 0 : listEl.clientHeight) / 2
739
- });
740
- }
741
- }, [isOpen]);
742
- (0, _react.useLayoutEffect)(function () {
743
- var _selectOptionsListRef, _visualFocusedOptionE;
744
-
745
- var visualFocusedOptionEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : (_selectOptionsListRef = selectOptionsListRef.current) === null || _selectOptionsListRef === void 0 ? void 0 : _selectOptionsListRef.querySelectorAll("[role='option']")[visualFocusIndex];
746
- visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
747
- block: "nearest",
748
- inline: "start"
372
+ var rect = selectRef === null || selectRef === void 0 ? void 0 : (_selectRef$current = selectRef.current) === null || _selectRef$current === void 0 ? void 0 : _selectRef$current.getBoundingClientRect();
373
+ setListboxStyles({
374
+ width: rect === null || rect === void 0 ? void 0 : rect.width
749
375
  });
750
- }, [visualFocusIndex]);
751
-
752
- var Option = function Option(_ref2) {
753
- var option = _ref2.option,
754
- index = _ref2.index,
755
- _ref2$isGroupedOption = _ref2.isGroupedOption,
756
- isGroupedOption = _ref2$isGroupedOption === void 0 ? false : _ref2$isGroupedOption;
757
- var isSelected = multiple ? (value !== null && value !== void 0 ? value : innerValue).includes(option.value) : (value !== null && value !== void 0 ? value : innerValue) === option.value;
758
- var isLastOption = index === lastOptionIndex;
759
- return _react["default"].createElement(OptionItem, {
760
- id: "option-".concat(index),
761
- onClick: function onClick() {
762
- handleSelectChangeValue(option);
763
- !multiple && closeOptions();
764
- setSearchValue("");
765
- },
766
- visualFocused: visualFocusIndex === index,
767
- selected: isSelected,
768
- role: "option",
769
- "aria-selected": isSelected && "true"
770
- }, _react["default"].createElement(StyledOption, {
771
- visualFocused: visualFocusIndex === index,
772
- selected: isSelected,
773
- last: isLastOption,
774
- grouped: isGroupedOption,
775
- multiple: multiple
776
- }, multiple && _react["default"].createElement(_Checkbox["default"], {
777
- tabIndex: -1,
778
- checked: isSelected
779
- }), option.icon && _react["default"].createElement(OptionIcon, {
780
- grouped: isGroupedOption,
781
- multiple: multiple,
782
- role: !(typeof option.icon === "string") && "img"
783
- }, typeof option.icon === "string" ? _react["default"].createElement(OptionIconImg, {
784
- src: option.icon
785
- }) : option.icon), _react["default"].createElement(OptionContent, {
786
- grouped: isGroupedOption,
787
- hasIcon: option.icon,
788
- multiple: multiple
789
- }, _react["default"].createElement(OptionLabel, null, option.label), !multiple && isSelected && _react["default"].createElement(OptionSelectedIndicator, null, selectIcons.selected))));
790
- };
791
-
792
- var global_index = optional && !multiple ? 0 : -1; // index for options, starting from 0 to options.length -1
793
-
794
- var mapOptionFunc = function mapOptionFunc(option) {
795
- if (option.options) {
796
- return option.options.length > 0 && _react["default"].createElement("li", null, _react["default"].createElement(GroupList, {
797
- role: "group"
798
- }, _react["default"].createElement(GroupLabel, {
799
- role: "presentation"
800
- }, option.label), option.options.map(function (singleOption) {
801
- global_index++;
802
- return _react["default"].createElement(Option, {
803
- option: singleOption,
804
- index: global_index,
805
- isGroupedOption: true
806
- });
807
- })));
808
- } else {
809
- global_index++;
810
- return _react["default"].createElement(Option, {
811
- key: "option-".concat(option.value),
812
- option: option,
813
- index: global_index
814
- });
815
- }
816
376
  };
817
377
 
818
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
378
+ (0, _react.useEffect)(function () {
379
+ handleListboxResize();
380
+ window.addEventListener("resize", handleListboxResize);
381
+ return function () {
382
+ window.removeEventListener("resize", handleListboxResize);
383
+ };
384
+ }, [setListboxStyles]);
385
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
819
386
  theme: colorsTheme.select
820
- }, _react["default"].createElement(SelectContainer, {
387
+ }, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
821
388
  margin: margin,
822
389
  size: size,
823
390
  ref: ref
824
- }, _react["default"].createElement(Label, {
391
+ }, label && /*#__PURE__*/_react["default"].createElement(Label, {
825
392
  id: selectLabelId,
826
393
  disabled: disabled,
827
394
  onClick: function onClick() {
828
- selectContainerRef.current.focus();
829
- }
830
- }, label, " ", optional && _react["default"].createElement(OptionalLabel, null, "(Optional)")), _react["default"].createElement(HelperText, {
395
+ selectRef.current.focus();
396
+ },
397
+ helperText: helperText
398
+ }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, translatedLabels.formFields.optionalLabel)), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
831
399
  disabled: disabled
832
- }, helperText), _react["default"].createElement(Select, {
400
+ }, helperText), /*#__PURE__*/_react["default"].createElement(Popover.Root, {
401
+ open: isOpen
402
+ }, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
403
+ asChild: true
404
+ }, /*#__PURE__*/_react["default"].createElement(Select, {
833
405
  id: selectId,
834
406
  disabled: disabled,
835
407
  error: error,
@@ -837,19 +409,21 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
837
409
  onClick: handleSelectOnClick,
838
410
  onFocus: handleSelectOnFocus,
839
411
  onKeyDown: handleSelectOnKeyDown,
840
- ref: selectContainerRef,
412
+ ref: selectRef,
841
413
  tabIndex: tabIndex,
842
414
  role: "combobox",
843
415
  "aria-controls": optionsListId,
844
- "aria-expanded": isOpen ? "true" : "false",
416
+ "aria-disabled": disabled,
417
+ "aria-expanded": isOpen,
845
418
  "aria-haspopup": "listbox",
846
- "aria-labelledby": selectLabelId,
419
+ "aria-labelledby": label ? selectLabelId : undefined,
847
420
  "aria-activedescendant": visualFocusIndex >= 0 ? "option-".concat(visualFocusIndex) : undefined,
848
421
  "aria-invalid": error ? "true" : "false",
849
- "aria-required": optional ? "false" : "true"
850
- }, multiple && selectedOption.length > 0 && _react["default"].createElement(SelectionIndicator, null, _react["default"].createElement(SelectionNumber, {
422
+ "aria-errormessage": error ? errorId : undefined,
423
+ "aria-required": !disabled && !optional
424
+ }, multiple && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
851
425
  disabled: disabled
852
- }, selectedOption.length), _react["default"].createElement(ClearOptionsAction, {
426
+ }, selectedOption.length), /*#__PURE__*/_react["default"].createElement(ClearOptionsAction, {
853
427
  disabled: disabled,
854
428
  onMouseDown: function onMouseDown(event) {
855
429
  // Avoid input to lose focus when pressed
@@ -857,56 +431,66 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
857
431
  },
858
432
  onClick: handleClearOptionsActionOnClick,
859
433
  tabIndex: -1,
860
- title: "Clear selected options",
861
- "aria-label": "Clear selected options"
862
- }, selectIcons.clear)), _react["default"].createElement(SearchableValueContainer, null, _react["default"].createElement(ValueInput, {
434
+ title: translatedLabels.select.actionClearSelectionTitle,
435
+ "aria-label": translatedLabels.select.actionClearSelectionTitle
436
+ }, _Icons["default"].clear)), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
863
437
  name: name,
864
- value: multiple ? (value !== null && value !== void 0 ? value : innerValue).join(", ") : value !== null && value !== void 0 ? value : innerValue,
438
+ value: multiple ? (value !== null && value !== void 0 ? value : innerValue).join(",") : value !== null && value !== void 0 ? value : innerValue,
865
439
  readOnly: true,
866
440
  "aria-hidden": "true"
867
- }), searchable && _react["default"].createElement(SearchInput, {
441
+ }), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
868
442
  value: searchValue,
869
443
  disabled: disabled,
870
444
  onChange: handleSearchIOnChange,
871
445
  ref: selectSearchInputRef,
872
- autoComplete: "off",
873
- autoCorrect: "off",
874
- size: "1"
875
- }), (!searchable || searchValue === "") && (multiple ? _react["default"].createElement(SelectedOption, {
446
+ autoComplete: "nope",
447
+ autoCorrect: "nope",
448
+ size: 1
449
+ }), (!searchable || searchValue === "") && (multiple ? /*#__PURE__*/_react["default"].createElement(SelectedOption, {
876
450
  disabled: disabled,
877
451
  atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || searchable && isOpen
878
- }, _react["default"].createElement(OptionLabel, null, selectedOption.map(function (option) {
452
+ }, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, selectedOption.map(function (option) {
879
453
  return option.label;
880
- }).join(", ")), selectedOption.length === 0 && placeholder) : _react["default"].createElement(SelectedOption, {
454
+ }).join(", ")), selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
881
455
  disabled: disabled,
882
456
  atBackground: !(value !== null && value !== void 0 ? value : innerValue) || searchable && isOpen
883
- }, _react["default"].createElement(OptionLabel, null, (_ref3 = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _ref3 !== void 0 ? _ref3 : placeholder)))), !disabled && error && _react["default"].createElement(ErrorIcon, null, selectIcons.error), searchable && searchValue.length > 0 && _react["default"].createElement(ClearSearchAction, {
457
+ }, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, (_selectedOption$label = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _selectedOption$label !== void 0 ? _selectedOption$label : placeholder)))), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, _Icons["default"].error), searchable && searchValue.length > 0 && /*#__PURE__*/_react["default"].createElement(ClearSearchAction, {
884
458
  onMouseDown: function onMouseDown(event) {
885
459
  // Avoid input to lose focus
886
460
  event.preventDefault();
887
461
  },
888
462
  onClick: handleClearSearchActionOnClick,
889
463
  tabIndex: -1,
890
- title: "Clear search text",
891
- "aria-label": "Clear search text"
892
- }, selectIcons.clear), _react["default"].createElement(CollapseIndicator, {
464
+ title: translatedLabels.select.actionClearSearchTitle,
465
+ "aria-label": translatedLabels.select.actionClearSearchTitle
466
+ }, _Icons["default"].clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
893
467
  disabled: disabled
894
- }, isOpen ? selectIcons.arrowUp : selectIcons.arrowDown), isOpen && _react["default"].createElement(OptionsList, {
895
- id: optionsListId,
896
- onClick: function onClick(event) {
897
- event.stopPropagation();
898
- },
899
- onMouseDown: function onMouseDown(event) {
468
+ }, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown))), /*#__PURE__*/_react["default"].createElement(Popover.Content, {
469
+ sideOffset: 4,
470
+ onOpenAutoFocus: function onOpenAutoFocus(event) {
471
+ // Avoid select to lose focus when the list is opened
900
472
  event.preventDefault();
901
473
  },
902
- ref: selectOptionsListRef,
903
- role: "listbox",
904
- "aria-labelledby": selectLabelId,
905
- "aria-multiselectable": multiple ? "true" : "false"
906
- }, searchable && (filteredOptions.length === 0 || !filteredGroupsHaveOptions()) ? _react["default"].createElement(OptionsSystemMessage, null, _react["default"].createElement(NoMatchesFoundIcon, null, selectIcons.searchOff), "No matches found") : optional && !multiple && _react["default"].createElement(Option, {
907
- option: optionalEmptyOption,
908
- index: 0
909
- }), searchable ? filteredOptions.map(mapOptionFunc) : options.map(mapOptionFunc))), !disabled && _react["default"].createElement(Error, null, error)));
474
+ onCloseAutoFocus: function onCloseAutoFocus(event) {
475
+ // Avoid select to lose focus when the list is closed
476
+ event.preventDefault();
477
+ }
478
+ }, /*#__PURE__*/_react["default"].createElement(_Listbox["default"], {
479
+ id: optionsListId,
480
+ currentValue: value !== null && value !== void 0 ? value : innerValue,
481
+ options: searchable ? filteredOptions : options,
482
+ visualFocusIndex: visualFocusIndex,
483
+ lastOptionIndex: lastOptionIndex,
484
+ multiple: multiple,
485
+ optional: optional,
486
+ optionalItem: optionalItem,
487
+ searchable: searchable,
488
+ handleOptionOnClick: handleOptionOnClick,
489
+ styles: listboxStyles
490
+ }))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
491
+ id: errorId,
492
+ "aria-live": error ? "assertive" : "off"
493
+ }, error)));
910
494
  });
911
495
 
912
496
  var sizes = {
@@ -920,7 +504,7 @@ var calculateWidth = function calculateWidth(margin, size) {
920
504
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
921
505
  };
922
506
 
923
- var SelectContainer = _styledComponents["default"].div(_templateObject(), function (props) {
507
+ 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) {
924
508
  return calculateWidth(props.margin, props.size);
925
509
  }, function (props) {
926
510
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
@@ -934,7 +518,7 @@ var SelectContainer = _styledComponents["default"].div(_templateObject(), functi
934
518
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
935
519
  });
936
520
 
937
- var Label = _styledComponents["default"].span(_templateObject2(), function (props) {
521
+ 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) {
938
522
  return props.disabled ? props.theme.disabledColor : props.theme.labelFontColor;
939
523
  }, function (props) {
940
524
  return props.theme.fontFamily;
@@ -946,13 +530,15 @@ var Label = _styledComponents["default"].span(_templateObject2(), function (prop
946
530
  return props.theme.labelFontWeight;
947
531
  }, function (props) {
948
532
  return props.theme.labelLineHeight;
533
+ }, function (props) {
534
+ return !props.helperText && "margin-bottom: 0.25rem";
949
535
  });
950
536
 
951
- var OptionalLabel = _styledComponents["default"].span(_templateObject3(), function (props) {
537
+ var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
952
538
  return props.theme.optionalLabelFontWeight;
953
539
  });
954
540
 
955
- var HelperText = _styledComponents["default"].span(_templateObject4(), function (props) {
541
+ 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) {
956
542
  return props.disabled ? props.theme.disabledColor : props.theme.helperTextFontColor;
957
543
  }, function (props) {
958
544
  return props.theme.fontFamily;
@@ -966,9 +552,7 @@ var HelperText = _styledComponents["default"].span(_templateObject4(), function
966
552
  return props.theme.helperTextLineHeight;
967
553
  });
968
554
 
969
- var Select = _styledComponents["default"].div(_templateObject5(), function (props) {
970
- return "".concat(props.theme.inputMarginTop, " 0 ").concat(props.theme.inputMarginBottom, " 0");
971
- }, function (props) {
555
+ 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) {
972
556
  return props.disabled && "background-color: ".concat(props.theme.disabledInputBackgroundColor);
973
557
  }, function (props) {
974
558
  return props.disabled ? props.theme.disabledInputBorderColor : props.theme.enabledInputBorderColor;
@@ -980,12 +564,12 @@ var Select = _styledComponents["default"].div(_templateObject5(), function (prop
980
564
  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 ");
981
565
  });
982
566
 
983
- var SelectionIndicator = _styledComponents["default"].span(_templateObject6(), function (props) {
567
+ 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) {
984
568
  return props.theme.selectionIndicatorBorderColor;
985
569
  });
986
570
 
987
- var SelectionNumber = _styledComponents["default"].span(_templateObject7(), function (props) {
988
- return props.theme.selectionIndicatorBackgroundColor;
571
+ var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 22px;\n height: 22px;\n user-select: none;\n ", ";\n border-right: 1px solid ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n ", "\n"])), function (props) {
572
+ return !props.disabled && "background-color: ".concat(props.theme.selectionIndicatorBackgroundColor);
989
573
  }, function (props) {
990
574
  return props.theme.selectionIndicatorBorderColor;
991
575
  }, function (props) {
@@ -1002,21 +586,19 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7(), func
1002
586
  return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
1003
587
  });
1004
588
 
1005
- var ClearOptionsAction = _styledComponents["default"].button(_templateObject8(), function (props) {
1006
- return props.theme.fontFamily;
1007
- }, function (props) {
589
+ 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) {
1008
590
  return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
1009
591
  }, function (props) {
1010
- return props.theme.enabledSelectionIndicatorActionBackgroundColor;
592
+ return props.disabled ? "transparent" : props.theme.enabledSelectionIndicatorActionBackgroundColor;
1011
593
  }, function (props) {
1012
594
  return props.disabled ? props.theme.disabledColor : props.theme.enabledSelectionIndicatorActionIconColor;
1013
595
  }, function (props) {
1014
596
  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 ");
1015
597
  });
1016
598
 
1017
- var SearchableValueContainer = _styledComponents["default"].div(_templateObject9());
599
+ var SearchableValueContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"])));
1018
600
 
1019
- var SelectedOption = _styledComponents["default"].span(_templateObject10(), function (props) {
601
+ 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) {
1020
602
  if (props.disabled) return props.theme.disabledColor;else if (props.atBackground) return props.theme.placeholderFontColor;else return props.theme.valueFontColor;
1021
603
  }, function (props) {
1022
604
  return props.theme.fontFamily;
@@ -1028,9 +610,11 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10(), func
1028
610
  return props.theme.valueFontWeight;
1029
611
  });
1030
612
 
1031
- var ValueInput = _styledComponents["default"].input(_templateObject11());
613
+ var SelectedOptionLabel = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
614
+
615
+ var ValueInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
1032
616
 
1033
- var SearchInput = _styledComponents["default"].input(_templateObject12(), function (props) {
617
+ 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) {
1034
618
  return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
1035
619
  }, function (props) {
1036
620
  return props.theme.fontFamily;
@@ -1042,21 +626,21 @@ var SearchInput = _styledComponents["default"].input(_templateObject12(), functi
1042
626
  return props.theme.valueFontWeight;
1043
627
  });
1044
628
 
1045
- var ErrorIcon = _styledComponents["default"].span(_templateObject13(), function (props) {
629
+ 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) {
1046
630
  return props.theme.errorIconColor;
1047
631
  });
1048
632
 
1049
- var Error = _styledComponents["default"].span(_templateObject14(), function (props) {
633
+ 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) {
1050
634
  return props.theme.errorMessageColor;
1051
635
  }, function (props) {
1052
636
  return props.theme.fontFamily;
1053
637
  });
1054
638
 
1055
- var CollapseIndicator = _styledComponents["default"].span(_templateObject15(), function (props) {
639
+ 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) {
1056
640
  return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
1057
641
  });
1058
642
 
1059
- var ClearSearchAction = _styledComponents["default"].button(_templateObject16(), function (props) {
643
+ 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) {
1060
644
  return props.theme.fontFamily;
1061
645
  }, function (props) {
1062
646
  return props.theme.actionBackgroundColor;
@@ -1072,67 +656,5 @@ var ClearSearchAction = _styledComponents["default"].button(_templateObject16(),
1072
656
  return props.theme.activeActionIconColor;
1073
657
  });
1074
658
 
1075
- var OptionsList = _styledComponents["default"].ul(_templateObject17(), function (props) {
1076
- return props.theme.listDialogBackgroundColor;
1077
- }, function (props) {
1078
- return props.theme.listDialogBorderColor;
1079
- }, function (props) {
1080
- return props.theme.listOptionFontColor;
1081
- }, function (props) {
1082
- return props.theme.fontFamily;
1083
- }, function (props) {
1084
- return props.theme.listOptionFontSize;
1085
- }, function (props) {
1086
- return props.theme.listOptionFontStyle;
1087
- }, function (props) {
1088
- return props.theme.listOptionFontWeight;
1089
- });
1090
-
1091
- var OptionsSystemMessage = _styledComponents["default"].span(_templateObject18(), function (props) {
1092
- return props.theme.systemMessageFontColor;
1093
- });
1094
-
1095
- var NoMatchesFoundIcon = _styledComponents["default"].span(_templateObject19());
1096
-
1097
- var GroupList = _styledComponents["default"].ul(_templateObject20());
1098
-
1099
- var GroupLabel = _styledComponents["default"].li(_templateObject21(), function (props) {
1100
- return props.theme.listGroupLabelFontWeight;
1101
- });
1102
-
1103
- var OptionItem = _styledComponents["default"].li(_templateObject22(), function (props) {
1104
- return props.visualFocused && "box-shadow: inset 0 0 0 2px ".concat(props.theme.focusListOptionBorderColor, ";");
1105
- }, function (props) {
1106
- return props.selected && "background-color: ".concat(props.theme.selectedListOptionBackgroundColor);
1107
- }, function (props) {
1108
- return props.selected ? "background-color: ".concat(props.theme.selectedHoverListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedHoverListOptionBackgroundColor, ";");
1109
- }, function (props) {
1110
- return props.selected ? "background-color: ".concat(props.theme.selectedActiveListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedActiveListOptionBackgroundColor, ";");
1111
- });
1112
-
1113
- var StyledOption = _styledComponents["default"].span(_templateObject23(), function (props) {
1114
- return props.grouped && props.multiple && "padding-left: 16px;";
1115
- }, function (props) {
1116
- return props.last || props.visualFocused || props.selected ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
1117
- });
1118
-
1119
- var OptionContent = _styledComponents["default"].span(_templateObject24(), function (props) {
1120
- return props.grouped && !props.multiple && !props.hasIcon ? "padding-left: 16px;" : "padding-left: 8px;";
1121
- });
1122
-
1123
- var OptionIcon = _styledComponents["default"].span(_templateObject25(), function (props) {
1124
- return props.grouped && !props.multiple ? "padding-left: 16px;" : "padding-left: 8px;";
1125
- }, function (props) {
1126
- return props.theme.listOptionIconColor;
1127
- });
1128
-
1129
- var OptionIconImg = _styledComponents["default"].img(_templateObject26());
1130
-
1131
- var OptionLabel = _styledComponents["default"].span(_templateObject27());
1132
-
1133
- var OptionSelectedIndicator = _styledComponents["default"].span(_templateObject28(), function (props) {
1134
- return props.theme.selectedListOptionIconColor;
1135
- });
1136
-
1137
659
  var _default = DxcSelect;
1138
660
  exports["default"] = _default;