@dxc-technology/halstack-react 0.0.0-b3de035 → 0.0.0-b3e1a2f

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 (366) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +47 -0
  3. package/ThemeContext.d.ts +15 -0
  4. package/ThemeContext.js +243 -0
  5. package/{dist/V3Select → V3Select}/V3Select.js +35 -129
  6. package/{dist/V3Select → V3Select}/index.d.ts +0 -0
  7. package/{dist/V3Textarea → V3Textarea}/V3Textarea.js +12 -16
  8. package/{dist/V3Textarea → V3Textarea}/index.d.ts +0 -0
  9. package/accordion/Accordion.d.ts +4 -0
  10. package/{dist/accordion → accordion}/Accordion.js +37 -132
  11. package/accordion/Accordion.stories.tsx +307 -0
  12. package/accordion/types.d.ts +68 -0
  13. package/accordion/types.js +5 -0
  14. package/accordion-group/AccordionGroup.d.ts +7 -0
  15. package/accordion-group/AccordionGroup.js +170 -0
  16. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  17. package/accordion-group/types.d.ts +72 -0
  18. package/accordion-group/types.js +5 -0
  19. package/alert/Alert.d.ts +4 -0
  20. package/{dist/alert → alert}/Alert.js +40 -153
  21. package/alert/Alert.stories.tsx +170 -0
  22. package/alert/types.d.ts +49 -0
  23. package/alert/types.js +5 -0
  24. package/badge/Badge.js +59 -0
  25. package/bleed/Bleed.d.ts +3 -0
  26. package/bleed/Bleed.js +84 -0
  27. package/bleed/Bleed.stories.tsx +342 -0
  28. package/bleed/types.d.ts +13 -0
  29. package/bleed/types.js +5 -0
  30. package/box/Box.d.ts +4 -0
  31. package/{dist/box → box}/Box.js +15 -45
  32. package/box/Box.stories.tsx +132 -0
  33. package/box/types.d.ts +43 -0
  34. package/box/types.js +5 -0
  35. package/button/Button.d.ts +4 -0
  36. package/{dist/button → button}/Button.js +26 -93
  37. package/button/Button.stories.tsx +274 -0
  38. package/button/types.d.ts +53 -0
  39. package/button/types.js +5 -0
  40. package/card/Card.d.ts +4 -0
  41. package/{dist/card → card}/Card.js +34 -124
  42. package/card/Card.stories.tsx +201 -0
  43. package/card/ice-cream.jpg +0 -0
  44. package/card/types.d.ts +67 -0
  45. package/card/types.js +5 -0
  46. package/checkbox/Checkbox.d.ts +4 -0
  47. package/{dist/checkbox → checkbox}/Checkbox.js +15 -61
  48. package/checkbox/Checkbox.stories.tsx +192 -0
  49. package/checkbox/types.d.ts +60 -0
  50. package/checkbox/types.js +5 -0
  51. package/chip/Chip.d.ts +4 -0
  52. package/{dist/chip → chip}/Chip.js +22 -88
  53. package/chip/Chip.stories.tsx +121 -0
  54. package/chip/types.d.ts +53 -0
  55. package/chip/types.js +5 -0
  56. package/{dist/common → common}/OpenSans.css +0 -0
  57. package/{dist/common → common}/RequiredComponent.js +3 -11
  58. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  59. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  60. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  61. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  62. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  63. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  64. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  65. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  66. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  67. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  68. package/{dist/common → common}/utils.js +0 -0
  69. package/{dist/common → common}/variables.js +126 -88
  70. package/{dist/date → date}/Date.js +17 -23
  71. package/{dist/date → date}/index.d.ts +0 -0
  72. package/date-input/DateInput.d.ts +4 -0
  73. package/{dist/date-input → date-input}/DateInput.js +32 -74
  74. package/date-input/DateInput.stories.tsx +138 -0
  75. package/date-input/types.d.ts +100 -0
  76. package/date-input/types.js +5 -0
  77. package/dialog/Dialog.d.ts +4 -0
  78. package/{dist/dialog → dialog}/Dialog.js +24 -76
  79. package/dialog/Dialog.stories.tsx +212 -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/{dist/dropdown → dropdown}/Dropdown.js +45 -172
  84. package/dropdown/Dropdown.stories.tsx +247 -0
  85. package/dropdown/types.d.ts +89 -0
  86. package/dropdown/types.js +5 -0
  87. package/file-input/FileInput.d.ts +4 -0
  88. package/file-input/FileInput.js +590 -0
  89. package/file-input/FileInput.stories.tsx +507 -0
  90. package/file-input/FileItem.d.ts +14 -0
  91. package/file-input/FileItem.js +184 -0
  92. package/file-input/types.d.ts +112 -0
  93. package/file-input/types.js +5 -0
  94. package/footer/Footer.d.ts +4 -0
  95. package/footer/Footer.js +260 -0
  96. package/footer/Footer.stories.tsx +130 -0
  97. package/footer/Icons.d.ts +2 -0
  98. package/{dist/footer → footer}/Icons.js +15 -15
  99. package/footer/types.d.ts +65 -0
  100. package/footer/types.js +5 -0
  101. package/header/Header.d.ts +7 -0
  102. package/{dist/header → header}/Header.js +58 -204
  103. package/header/Header.stories.tsx +162 -0
  104. package/header/Icons.d.ts +2 -0
  105. package/{dist/header → header}/Icons.js +7 -32
  106. package/header/types.d.ts +47 -0
  107. package/header/types.js +5 -0
  108. package/heading/Heading.d.ts +4 -0
  109. package/{dist/heading → heading}/Heading.js +25 -96
  110. package/heading/Heading.stories.tsx +54 -0
  111. package/heading/types.d.ts +33 -0
  112. package/heading/types.js +5 -0
  113. package/{dist/input-text → input-text}/Icons.js +2 -2
  114. package/{dist/input-text → input-text}/InputText.js +38 -132
  115. package/{dist/input-text → input-text}/index.d.ts +1 -1
  116. package/inset/Inset.d.ts +3 -0
  117. package/inset/Inset.js +84 -0
  118. package/inset/Inset.stories.tsx +229 -0
  119. package/inset/types.d.ts +13 -0
  120. package/inset/types.js +5 -0
  121. package/layout/ApplicationLayout.d.ts +10 -0
  122. package/{dist/layout → layout}/ApplicationLayout.js +39 -141
  123. package/layout/ApplicationLayout.stories.tsx +171 -0
  124. package/{dist/layout → layout}/Icons.js +7 -7
  125. package/layout/types.d.ts +57 -0
  126. package/layout/types.js +5 -0
  127. package/link/Link.d.ts +3 -0
  128. package/{dist/link → link}/Link.js +19 -95
  129. package/link/Link.stories.tsx +146 -0
  130. package/link/types.d.ts +74 -0
  131. package/link/types.js +5 -0
  132. package/list/List.d.ts +4 -0
  133. package/list/List.js +47 -0
  134. package/list/List.stories.tsx +95 -0
  135. package/list/types.d.ts +7 -0
  136. package/list/types.js +5 -0
  137. package/main.d.ts +48 -0
  138. package/{dist/main.js → main.js} +118 -82
  139. package/number-input/NumberInput.d.ts +4 -0
  140. package/number-input/NumberInput.js +83 -0
  141. package/number-input/NumberInput.stories.tsx +115 -0
  142. package/number-input/NumberInputContext.d.ts +4 -0
  143. package/{dist/number-input → number-input}/NumberInputContext.js +5 -2
  144. package/number-input/numberInputContextTypes.d.ts +19 -0
  145. package/number-input/numberInputContextTypes.js +5 -0
  146. package/number-input/types.d.ts +117 -0
  147. package/number-input/types.js +5 -0
  148. package/package.json +30 -17
  149. package/{dist/paginator → paginator}/Icons.js +9 -9
  150. package/paginator/Paginator.d.ts +4 -0
  151. package/paginator/Paginator.js +192 -0
  152. package/paginator/Paginator.stories.tsx +63 -0
  153. package/paginator/types.d.ts +38 -0
  154. package/paginator/types.js +5 -0
  155. package/password-input/PasswordInput.d.ts +4 -0
  156. package/{dist/password-input → password-input}/PasswordInput.js +37 -77
  157. package/password-input/PasswordInput.stories.tsx +131 -0
  158. package/password-input/types.d.ts +107 -0
  159. package/password-input/types.js +5 -0
  160. package/progress-bar/ProgressBar.d.ts +4 -0
  161. package/{dist/progress-bar → progress-bar}/ProgressBar.js +22 -94
  162. package/progress-bar/ProgressBar.stories.jsx +58 -0
  163. package/progress-bar/types.d.ts +37 -0
  164. package/progress-bar/types.js +5 -0
  165. package/radio/Radio.d.ts +4 -0
  166. package/{dist/radio → radio}/Radio.js +17 -52
  167. package/radio/Radio.stories.tsx +192 -0
  168. package/radio/types.d.ts +54 -0
  169. package/radio/types.js +5 -0
  170. package/radio-group/Radio.d.ts +4 -0
  171. package/radio-group/Radio.js +130 -0
  172. package/radio-group/RadioGroup.d.ts +4 -0
  173. package/radio-group/RadioGroup.js +268 -0
  174. package/radio-group/RadioGroup.stories.tsx +79 -0
  175. package/radio-group/types.d.ts +36 -0
  176. package/radio-group/types.js +5 -0
  177. package/resultsetTable/ResultsetTable.d.ts +4 -0
  178. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +39 -146
  179. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  180. package/resultsetTable/types.d.ts +67 -0
  181. package/resultsetTable/types.js +5 -0
  182. package/row/Row.d.ts +3 -0
  183. package/row/Row.js +127 -0
  184. package/row/Row.stories.tsx +237 -0
  185. package/row/types.d.ts +10 -0
  186. package/row/types.js +5 -0
  187. package/select/Select.d.ts +4 -0
  188. package/{dist/select → select}/Select.js +271 -477
  189. package/select/Select.stories.tsx +572 -0
  190. package/select/types.d.ts +170 -0
  191. package/select/types.js +5 -0
  192. package/sidenav/Sidenav.d.ts +9 -0
  193. package/{dist/sidenav → sidenav}/Sidenav.js +21 -64
  194. package/sidenav/Sidenav.stories.tsx +182 -0
  195. package/sidenav/types.d.ts +50 -0
  196. package/sidenav/types.js +5 -0
  197. package/slider/Slider.d.ts +4 -0
  198. package/{dist/slider → slider}/Slider.js +74 -161
  199. package/slider/Slider.stories.tsx +177 -0
  200. package/slider/types.d.ts +78 -0
  201. package/slider/types.js +5 -0
  202. package/spinner/Spinner.d.ts +4 -0
  203. package/spinner/Spinner.js +250 -0
  204. package/spinner/Spinner.stories.jsx +103 -0
  205. package/spinner/types.d.ts +32 -0
  206. package/spinner/types.js +5 -0
  207. package/stack/Stack.d.ts +3 -0
  208. package/stack/Stack.js +97 -0
  209. package/stack/Stack.stories.tsx +164 -0
  210. package/stack/types.d.ts +9 -0
  211. package/stack/types.js +5 -0
  212. package/switch/Switch.d.ts +4 -0
  213. package/{dist/switch → switch}/Switch.js +28 -71
  214. package/switch/Switch.stories.tsx +160 -0
  215. package/switch/types.d.ts +58 -0
  216. package/switch/types.js +5 -0
  217. package/table/Table.d.ts +4 -0
  218. package/{dist/table → table}/Table.js +12 -26
  219. package/table/Table.stories.jsx +277 -0
  220. package/table/types.d.ts +21 -0
  221. package/table/types.js +5 -0
  222. package/tabs/Tabs.d.ts +4 -0
  223. package/tabs/Tabs.js +213 -0
  224. package/tabs/Tabs.stories.tsx +120 -0
  225. package/tabs/types.d.ts +78 -0
  226. package/tabs/types.js +5 -0
  227. package/tag/Tag.d.ts +4 -0
  228. package/tag/Tag.js +193 -0
  229. package/tag/Tag.stories.tsx +145 -0
  230. package/tag/types.d.ts +60 -0
  231. package/tag/types.js +5 -0
  232. package/text/Text.d.ts +7 -0
  233. package/text/Text.js +30 -0
  234. package/text/Text.stories.tsx +19 -0
  235. package/text-input/TextInput.d.ts +4 -0
  236. package/{dist/text-input → text-input}/TextInput.js +278 -458
  237. package/text-input/TextInput.stories.tsx +456 -0
  238. package/text-input/types.d.ts +159 -0
  239. package/text-input/types.js +5 -0
  240. package/textarea/Textarea.d.ts +4 -0
  241. package/{dist/textarea → textarea}/Textarea.js +38 -123
  242. package/textarea/Textarea.stories.jsx +136 -0
  243. package/textarea/types.d.ts +130 -0
  244. package/textarea/types.js +5 -0
  245. package/{dist/toggle → toggle}/Toggle.js +16 -50
  246. package/{dist/toggle → toggle}/index.d.ts +0 -0
  247. package/toggle-group/ToggleGroup.d.ts +4 -0
  248. package/{dist/toggle-group → toggle-group}/ToggleGroup.js +35 -148
  249. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  250. package/toggle-group/types.d.ts +97 -0
  251. package/toggle-group/types.js +5 -0
  252. package/{dist/upload → upload}/Upload.js +11 -15
  253. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  254. package/{dist/upload → upload}/buttons-upload/Icons.js +7 -7
  255. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  256. package/{dist/upload → upload}/dragAndDropArea/Icons.js +6 -6
  257. package/upload/file-upload/FileToUpload.js +115 -0
  258. package/{dist/upload → upload}/file-upload/Icons.js +13 -13
  259. package/{dist/upload → upload}/files-upload/FilesToUpload.js +13 -27
  260. package/{dist/upload → upload}/index.d.ts +0 -0
  261. package/{dist/upload → upload}/transaction/Icons.js +31 -31
  262. package/upload/transaction/Transaction.js +104 -0
  263. package/upload/transactions/Transactions.js +94 -0
  264. package/useTheme.d.ts +2 -0
  265. package/{dist/useTheme.js → useTheme.js} +1 -1
  266. package/wizard/Wizard.d.ts +4 -0
  267. package/wizard/Wizard.js +281 -0
  268. package/wizard/Wizard.stories.tsx +224 -0
  269. package/wizard/types.d.ts +60 -0
  270. package/wizard/types.js +5 -0
  271. package/README.md +0 -66
  272. package/babel.config.js +0 -8
  273. package/dist/BackgroundColorContext.js +0 -46
  274. package/dist/ThemeContext.js +0 -250
  275. package/dist/accordion/index.d.ts +0 -28
  276. package/dist/accordion-group/AccordionGroup.js +0 -186
  277. package/dist/accordion-group/index.d.ts +0 -16
  278. package/dist/alert/index.d.ts +0 -51
  279. package/dist/badge/Badge.js +0 -63
  280. package/dist/box/index.d.ts +0 -25
  281. package/dist/button/index.d.ts +0 -24
  282. package/dist/card/index.d.ts +0 -22
  283. package/dist/checkbox/index.d.ts +0 -24
  284. package/dist/chip/index.d.ts +0 -22
  285. package/dist/date-input/index.d.ts +0 -95
  286. package/dist/dialog/index.d.ts +0 -18
  287. package/dist/dropdown/index.d.ts +0 -26
  288. package/dist/file-input/FileInput.js +0 -644
  289. package/dist/file-input/FileItem.js +0 -287
  290. package/dist/file-input/index.d.ts +0 -81
  291. package/dist/footer/Footer.js +0 -421
  292. package/dist/footer/index.d.ts +0 -25
  293. package/dist/header/index.d.ts +0 -25
  294. package/dist/heading/index.d.ts +0 -17
  295. package/dist/link/index.d.ts +0 -23
  296. package/dist/main.d.ts +0 -40
  297. package/dist/number-input/NumberInput.js +0 -136
  298. package/dist/number-input/index.d.ts +0 -113
  299. package/dist/paginator/Paginator.js +0 -283
  300. package/dist/paginator/index.d.ts +0 -20
  301. package/dist/password-input/index.d.ts +0 -94
  302. package/dist/progress-bar/index.d.ts +0 -18
  303. package/dist/radio/index.d.ts +0 -23
  304. package/dist/resultsetTable/index.d.ts +0 -19
  305. package/dist/select/index.d.ts +0 -53
  306. package/dist/sidenav/index.d.ts +0 -13
  307. package/dist/slider/index.d.ts +0 -29
  308. package/dist/spinner/Spinner.js +0 -381
  309. package/dist/spinner/index.d.ts +0 -17
  310. package/dist/switch/index.d.ts +0 -24
  311. package/dist/table/index.d.ts +0 -13
  312. package/dist/tabs/Tabs.js +0 -343
  313. package/dist/tabs/index.d.ts +0 -19
  314. package/dist/tag/Tag.js +0 -282
  315. package/dist/tag/index.d.ts +0 -24
  316. package/dist/text-input/index.d.ts +0 -135
  317. package/dist/textarea/index.d.ts +0 -117
  318. package/dist/toggle-group/index.d.ts +0 -21
  319. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
  320. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  321. package/dist/upload/file-upload/FileToUpload.js +0 -189
  322. package/dist/upload/transaction/Transaction.js +0 -148
  323. package/dist/upload/transactions/Transactions.js +0 -138
  324. package/dist/wizard/Icons.js +0 -65
  325. package/dist/wizard/Wizard.js +0 -405
  326. package/dist/wizard/index.d.ts +0 -18
  327. package/test/Accordion.test.js +0 -33
  328. package/test/AccordionGroup.test.js +0 -125
  329. package/test/Alert.test.js +0 -53
  330. package/test/Box.test.js +0 -10
  331. package/test/Button.test.js +0 -18
  332. package/test/Card.test.js +0 -30
  333. package/test/Checkbox.test.js +0 -45
  334. package/test/Chip.test.js +0 -25
  335. package/test/Date.test.js +0 -395
  336. package/test/DateInput.test.js +0 -242
  337. package/test/Dialog.test.js +0 -23
  338. package/test/Dropdown.test.js +0 -145
  339. package/test/FileInput.test.js +0 -201
  340. package/test/Footer.test.js +0 -94
  341. package/test/Header.test.js +0 -34
  342. package/test/Heading.test.js +0 -83
  343. package/test/InputText.test.js +0 -248
  344. package/test/Link.test.js +0 -43
  345. package/test/NumberInput.test.js +0 -259
  346. package/test/Paginator.test.js +0 -177
  347. package/test/PasswordInput.test.js +0 -83
  348. package/test/ProgressBar.test.js +0 -35
  349. package/test/Radio.test.js +0 -37
  350. package/test/ResultsetTable.test.js +0 -329
  351. package/test/Sidenav.test.js +0 -45
  352. package/test/Slider.test.js +0 -74
  353. package/test/Spinner.test.js +0 -32
  354. package/test/Switch.test.js +0 -45
  355. package/test/Table.test.js +0 -36
  356. package/test/Tabs.test.js +0 -109
  357. package/test/Tag.test.js +0 -32
  358. package/test/TextInput.test.js +0 -732
  359. package/test/Textarea.test.js +0 -193
  360. package/test/ToggleGroup.test.js +0 -85
  361. package/test/Upload.test.js +0 -60
  362. package/test/V3Select.test.js +0 -212
  363. package/test/V3TextArea.test.js +0 -51
  364. package/test/Wizard.test.js +0 -130
  365. package/test/mocks/pngMock.js +0 -1
  366. package/test/mocks/svgMock.js +0 -1
@@ -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,7 @@ 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
25
 
26
26
  var _variables = require("../common/variables.js");
27
27
 
@@ -31,347 +31,89 @@ var _utils = require("../common/utils.js");
31
31
 
32
32
  var _Checkbox = _interopRequireDefault(require("../checkbox/Checkbox"));
33
33
 
34
- function _templateObject27() {
35
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 16px;\n width: 16px;\n margin-left: 4px;\n color: ", ";\n"]);
36
-
37
- _templateObject27 = function _templateObject27() {
38
- return data;
39
- };
40
-
41
- return data;
42
- }
43
-
44
- function _templateObject26() {
45
- var data = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"]);
46
-
47
- _templateObject26 = function _templateObject26() {
48
- return data;
49
- };
50
-
51
- return data;
52
- }
53
-
54
- function _templateObject25() {
55
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: 16px;\n height: 16px;\n"]);
56
-
57
- _templateObject25 = function _templateObject25() {
58
- return data;
59
- };
60
-
61
- return data;
62
- }
63
-
64
- function _templateObject24() {
65
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n margin-left: 8px;\n color: ", ";\n"]);
66
-
67
- _templateObject24 = function _templateObject24() {
68
- return data;
69
- };
70
-
71
- return data;
72
- }
73
-
74
- function _templateObject23() {
75
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n width: 100%;\n overflow: hidden;\n padding-left: 8px;\n ", "\n"]);
76
-
77
- _templateObject23 = function _templateObject23() {
78
- return data;
79
- };
80
-
81
- return data;
82
- }
83
-
84
- function _templateObject22() {
85
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 4px 8px 3px 0;\n min-height: 24px;\n ", "\n ", ";\n"]);
86
-
87
- _templateObject22 = function _templateObject22() {
88
- return data;
89
- };
90
-
91
- return data;
92
- }
93
-
94
- function _templateObject21() {
95
- var data = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0 8px;\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"]);
96
-
97
- _templateObject21 = function _templateObject21() {
98
- return data;
99
- };
100
-
101
- return data;
102
- }
103
-
104
- function _templateObject20() {
105
- var data = (0, _taggedTemplateLiteral2["default"])(["\n padding: 4px 16px;\n font-weight: ", ";\n line-height: 1.715em;\n"]);
106
-
107
- _templateObject20 = function _templateObject20() {
108
- return data;
109
- };
110
-
111
- return data;
112
- }
113
-
114
- function _templateObject19() {
115
- 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: calc(1rem * 0.25);\n"]);
116
-
117
- _templateObject19 = function _templateObject19() {
118
- return data;
119
- };
120
-
121
- return data;
122
- }
123
-
124
- function _templateObject18() {
125
- 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"]);
126
-
127
- _templateObject18 = function _templateObject18() {
128
- return data;
129
- };
130
-
131
- return data;
132
- }
133
-
134
- function _templateObject17() {
135
- var data = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n z-index: 1;\n max-height: 304px;\n overflow-x: auto;\n top: calc(100% + 4px);\n left: 0;\n margin: 0;\n padding: 4px 0;\n width: 100%;\n box-sizing: border-box;\n background-color: ", ";\n border: 1px solid ", ";\n border-radius: 4px;\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"]);
136
-
137
- _templateObject17 = function _templateObject17() {
138
- return data;
139
- };
140
-
141
- return data;
142
- }
143
-
144
- function _templateObject16() {
145
- 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: calc(1rem * 0.25);\n ", "\n background-color: ", ";\n color: ", ";\n\n ", "\n\n svg {\n line-height: 18px;\n }\n"]);
146
-
147
- _templateObject16 = function _templateObject16() {
148
- return data;
149
- };
34
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28;
150
35
 
151
- return data;
152
- }
153
-
154
- function _templateObject15() {
155
- 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: calc(1rem * 0.25);\n color: ", ";\n"]);
156
-
157
- _templateObject15 = function _templateObject15() {
158
- return data;
159
- };
160
-
161
- return data;
162
- }
163
-
164
- function _templateObject14() {
165
- var data = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 1.5em;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"]);
166
-
167
- _templateObject14 = function _templateObject14() {
168
- return data;
169
- };
170
-
171
- return data;
172
- }
173
-
174
- function _templateObject13() {
175
- 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: calc(1rem * 0.25);\n pointer-events: none;\n color: ", ";\n\n svg {\n line-height: 18px;\n font-size: 1.25rem;\n }\n"]);
176
-
177
- _templateObject13 = function _templateObject13() {
178
- return data;
179
- };
180
-
181
- return data;
182
- }
183
-
184
- function _templateObject12() {
185
- var data = (0, _taggedTemplateLiteral2["default"])(["\n grid-area: 1 / 1 / 1 / 1;\n height: calc(calc(1rem * 2.5) - calc(1px * 2));\n background: none;\n border: none;\n outline: none;\n padding: 0 calc(1rem * 0.5);\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n"]);
186
-
187
- _templateObject12 = function _templateObject12() {
188
- return data;
189
- };
190
-
191
- return data;
192
- }
193
-
194
- function _templateObject11() {
195
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"]);
196
-
197
- _templateObject11 = function _templateObject11() {
198
- return data;
199
- };
200
-
201
- return data;
202
- }
203
-
204
- function _templateObject10() {
205
- var data = (0, _taggedTemplateLiteral2["default"])(["\n grid-area: 1 / 1 / 1 / 1;\n display: inline-flex;\n align-items: center;\n height: calc(calc(1rem * 2.5) - calc(1px * 2));\n padding: 0 calc(1rem * 0.5);\n user-select: none;\n overflow: hidden;\n\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n"]);
206
-
207
- _templateObject10 = function _templateObject10() {
208
- return data;
209
- };
210
-
211
- return data;
212
- }
213
-
214
- function _templateObject9() {
215
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"]);
216
-
217
- _templateObject9 = function _templateObject9() {
218
- return data;
219
- };
220
-
221
- return data;
222
- }
223
-
224
- function _templateObject8() {
225
- 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 padding: 3px;\n ", "\n background-color: ", ";\n color: ", ";\n\n ", "\n\n svg {\n line-height: 18px;\n }\n"]);
226
-
227
- _templateObject8 = function _templateObject8() {
228
- return data;
229
- };
230
-
231
- return data;
232
- }
233
-
234
- function _templateObject7() {
235
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\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"]);
236
-
237
- _templateObject7 = function _templateObject7() {
238
- return data;
239
- };
240
-
241
- return data;
242
- }
243
-
244
- function _templateObject6() {
245
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n border: 1px solid ", ";\n border-radius: 2px;\n width: 48px;\n"]);
246
-
247
- _templateObject6 = function _templateObject6() {
248
- return data;
249
- };
250
-
251
- return data;
252
- }
253
-
254
- function _templateObject5() {
255
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: relative;\n align-items: center;\n height: calc(calc(1rem * 2.5) - calc(1px * 2));\n margin: calc(1rem * 0.25) 0;\n padding: 0 calc(1rem * 0.5);\n outline: none;\n box-shadow: 0 0 0 2px transparent;\n border-radius: 4px;\n border: 1px solid\n ", ";\n ", "\n ", ";\n\n ", ";\n"]);
256
-
257
- _templateObject5 = function _templateObject5() {
258
- return data;
259
- };
260
-
261
- return data;
262
- }
263
-
264
- function _templateObject4() {
265
- var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"]);
266
-
267
- _templateObject4 = function _templateObject4() {
268
- return data;
269
- };
36
+ 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); }
270
37
 
271
- return data;
272
- }
273
-
274
- function _templateObject3() {
275
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"]);
276
-
277
- _templateObject3 = function _templateObject3() {
278
- return data;
279
- };
280
-
281
- return data;
282
- }
283
-
284
- function _templateObject2() {
285
- 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"]);
286
-
287
- _templateObject2 = function _templateObject2() {
288
- return data;
289
- };
290
-
291
- return data;
292
- }
293
-
294
- function _templateObject() {
295
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"]);
296
-
297
- _templateObject = function _templateObject() {
298
- return data;
299
- };
300
-
301
- return data;
302
- }
38
+ 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; }
303
39
 
304
40
  var selectIcons = {
305
- error: _react["default"].createElement("svg", {
41
+ error: /*#__PURE__*/_react["default"].createElement("svg", {
42
+ role: "img",
306
43
  xmlns: "http://www.w3.org/2000/svg",
307
44
  height: "24px",
308
45
  viewBox: "0 0 24 24",
309
46
  width: "24px",
310
47
  fill: "currentColor"
311
- }, _react["default"].createElement("path", {
48
+ }, /*#__PURE__*/_react["default"].createElement("path", {
312
49
  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"
313
50
  })),
314
- arrowUp: _react["default"].createElement("svg", {
51
+ arrowUp: /*#__PURE__*/_react["default"].createElement("svg", {
52
+ role: "img",
315
53
  xmlns: "http://www.w3.org/2000/svg",
316
54
  height: "24px",
317
55
  viewBox: "0 0 24 24",
318
56
  width: "24px",
319
57
  fill: "currentColor"
320
- }, _react["default"].createElement("path", {
58
+ }, /*#__PURE__*/_react["default"].createElement("path", {
321
59
  d: "M0 0h24v24H0V0z",
322
60
  fill: "none"
323
- }), _react["default"].createElement("path", {
61
+ }), /*#__PURE__*/_react["default"].createElement("path", {
324
62
  d: "M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6 1.41 1.41z"
325
63
  })),
326
- arrowDown: _react["default"].createElement("svg", {
64
+ arrowDown: /*#__PURE__*/_react["default"].createElement("svg", {
65
+ role: "img",
327
66
  xmlns: "http://www.w3.org/2000/svg",
328
67
  height: "24px",
329
68
  viewBox: "0 0 24 24",
330
69
  width: "24px",
331
70
  fill: "currentColor"
332
- }, _react["default"].createElement("path", {
71
+ }, /*#__PURE__*/_react["default"].createElement("path", {
333
72
  d: "M0 0h24v24H0V0z",
334
73
  fill: "none"
335
- }), _react["default"].createElement("path", {
74
+ }), /*#__PURE__*/_react["default"].createElement("path", {
336
75
  d: "M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"
337
76
  })),
338
- clear: _react["default"].createElement("svg", {
77
+ clear: /*#__PURE__*/_react["default"].createElement("svg", {
78
+ role: "img",
339
79
  xmlns: "http://www.w3.org/2000/svg",
340
80
  width: "24",
341
81
  height: "24",
342
82
  viewBox: "0 0 24 24",
343
83
  fill: "currentColor"
344
- }, _react["default"].createElement("path", {
84
+ }, /*#__PURE__*/_react["default"].createElement("path", {
345
85
  d: "M0 0h24v24H0V0z",
346
86
  fill: "none"
347
- }), _react["default"].createElement("path", {
87
+ }), /*#__PURE__*/_react["default"].createElement("path", {
348
88
  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"
349
89
  })),
350
- selected: _react["default"].createElement("svg", {
90
+ selected: /*#__PURE__*/_react["default"].createElement("svg", {
91
+ role: "img",
351
92
  xmlns: "http://www.w3.org/2000/svg",
352
93
  height: "24px",
353
94
  viewBox: "0 0 24 24",
354
95
  width: "24px",
355
96
  fill: "currentColor"
356
- }, _react["default"].createElement("path", {
97
+ }, /*#__PURE__*/_react["default"].createElement("path", {
357
98
  d: "M0 0h24v24H0z",
358
99
  fill: "none"
359
- }), _react["default"].createElement("path", {
100
+ }), /*#__PURE__*/_react["default"].createElement("path", {
360
101
  d: "M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"
361
102
  })),
362
- searchOff: _react["default"].createElement("svg", {
103
+ searchOff: /*#__PURE__*/_react["default"].createElement("svg", {
104
+ role: "img",
363
105
  xmlns: "http://www.w3.org/2000/svg",
364
106
  height: "24px",
365
107
  viewBox: "0 0 24 24",
366
108
  width: "24px",
367
109
  fill: "currentColor"
368
- }, _react["default"].createElement("g", null, _react["default"].createElement("rect", {
110
+ }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("rect", {
369
111
  fill: "none",
370
112
  height: "24",
371
113
  width: "24"
372
- })), _react["default"].createElement("g", null, _react["default"].createElement("g", null, _react["default"].createElement("path", {
114
+ })), /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
373
115
  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"
374
- }), _react["default"].createElement("polygon", {
116
+ }), /*#__PURE__*/_react["default"].createElement("polygon", {
375
117
  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"
376
118
  }))))
377
119
  };
@@ -396,17 +138,75 @@ var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, se
396
138
  }
397
139
  };
398
140
 
399
- var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
400
- var _ref3;
141
+ var getLastOptionIndex = function getLastOptionIndex(options, filteredOptions, searchable, optional, multiple) {
142
+ var last = 0;
401
143
 
402
- var _ref$label = _ref.label,
403
- label = _ref$label === void 0 ? "" : _ref$label,
144
+ var reducer = function reducer(acc, current) {
145
+ var _current$options;
146
+
147
+ return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
148
+ };
149
+
150
+ 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;
151
+ return optional && !multiple ? last + 1 : last;
152
+ };
153
+
154
+ var getSelectedOption = function getSelectedOption(options, multiple, optional, optionalEmptyOption, value, innerValue) {
155
+ var val = value !== null && value !== void 0 ? value : innerValue;
156
+ var selectedOption = multiple ? [] : {};
157
+ var singleSelectionIndex;
158
+
159
+ if (multiple) {
160
+ if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
161
+ options.forEach(function (option) {
162
+ if (option.options) {
163
+ option.options.forEach(function (singleOption) {
164
+ if (val.includes(singleOption.value)) selectedOption.push(singleOption);
165
+ });
166
+ } else if (val.includes(option.value)) selectedOption.push(option);
167
+ });
168
+ }
169
+ } else {
170
+ if (optional && val === "") {
171
+ selectedOption = optionalEmptyOption;
172
+ singleSelectionIndex = 0;
173
+ } else if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
174
+ var group_index = 0;
175
+ options.some(function (option, index) {
176
+ if (option.options) {
177
+ option.options.some(function (singleOption) {
178
+ if (singleOption.value === val) {
179
+ selectedOption = singleOption;
180
+ singleSelectionIndex = optional ? group_index + 1 : group_index;
181
+ return true;
182
+ }
183
+
184
+ group_index++;
185
+ });
186
+ } else if (option.value === val) {
187
+ selectedOption = option;
188
+ singleSelectionIndex = optional ? index + 1 : index;
189
+ return true;
190
+ }
191
+ });
192
+ }
193
+ }
194
+
195
+ return {
196
+ selectedOption: selectedOption,
197
+ singleSelectionIndex: singleSelectionIndex
198
+ };
199
+ };
200
+
201
+ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
202
+ var _selectedOption$label;
203
+
204
+ var label = _ref.label,
404
205
  _ref$name = _ref.name,
405
206
  name = _ref$name === void 0 ? "" : _ref$name,
406
207
  value = _ref.value,
407
208
  options = _ref.options,
408
- _ref$helperText = _ref.helperText,
409
- helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
209
+ helperText = _ref.helperText,
410
210
  _ref$placeholder = _ref.placeholder,
411
211
  placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
412
212
  _ref$disabled = _ref.disabled,
@@ -419,8 +219,7 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
419
219
  multiple = _ref$multiple === void 0 ? false : _ref$multiple,
420
220
  onChange = _ref.onChange,
421
221
  onBlur = _ref.onBlur,
422
- _ref$error = _ref.error,
423
- error = _ref$error === void 0 ? "" : _ref$error,
222
+ error = _ref.error,
424
223
  margin = _ref.margin,
425
224
  _ref$size = _ref.size,
426
225
  size = _ref$size === void 0 ? "medium" : _ref$size,
@@ -432,6 +231,7 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
432
231
  selectId = _useState2[0];
433
232
 
434
233
  var selectLabelId = "label-".concat(selectId);
234
+ var optionsListId = "".concat(selectId, "-listbox");
435
235
 
436
236
  var _useState3 = (0, _react.useState)(multiple ? [] : ""),
437
237
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
@@ -457,13 +257,22 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
457
257
  var selectSearchInputRef = (0, _react.useRef)(null);
458
258
  var selectOptionsListRef = (0, _react.useRef)(null);
459
259
  var colorsTheme = (0, _useTheme["default"])();
460
- var filteredOptions = (0, _react.useMemo)(function () {
461
- return filterOptionsBySearchValue(options, searchValue);
462
- }, [options, searchValue]);
463
260
  var optionalEmptyOption = {
464
261
  label: placeholder,
465
262
  value: ""
466
263
  };
264
+ var filteredOptions = (0, _react.useMemo)(function () {
265
+ return filterOptionsBySearchValue(options, searchValue);
266
+ }, [options, searchValue]);
267
+ var lastOptionIndex = (0, _react.useMemo)(function () {
268
+ return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
269
+ }, [searchable, optional, multiple, filteredOptions, options]);
270
+
271
+ var _useMemo = (0, _react.useMemo)(function () {
272
+ return getSelectedOption(options, multiple, optional, optionalEmptyOption, value, innerValue);
273
+ }, [options, multiple, optional, value, innerValue]),
274
+ selectedOption = _useMemo.selectedOption,
275
+ singleSelectionIndex = _useMemo.singleSelectionIndex;
467
276
 
468
277
  var notOptionalCheck = function notOptionalCheck(value) {
469
278
  return value === "" && !optional;
@@ -536,16 +345,16 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
536
345
  };
537
346
 
538
347
  var handleSelectOnClick = function handleSelectOnClick() {
348
+ searchable && selectSearchInputRef.current.focus();
349
+
539
350
  if (isOpen) {
540
351
  closeOptions();
541
352
  setSearchValue("");
542
353
  } else openOptions();
543
-
544
- searchable && selectSearchInputRef.current.focus();
545
354
  };
546
355
 
547
- var handleSelectOnFocus = function handleSelectOnFocus() {
548
- searchable && selectSearchInputRef.current.focus();
356
+ var handleSelectOnFocus = function handleSelectOnFocus(event) {
357
+ if (!event.currentTarget.contains(event.relatedTarget)) searchable && selectSearchInputRef.current.focus();
549
358
  };
550
359
 
551
360
  var handleSelectOnBlur = function handleSelectOnBlur(event) {
@@ -568,7 +377,7 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
568
377
  case 40:
569
378
  // Arrow Down
570
379
  event.preventDefault();
571
- changeVisualFocusIndex(function (visualFocusIndex) {
380
+ singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
572
381
  if (visualFocusIndex < lastOptionIndex) return visualFocusIndex + 1;else if (visualFocusIndex === lastOptionIndex) return 0;
573
382
  });
574
383
  openOptions();
@@ -577,7 +386,7 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
577
386
  case 38:
578
387
  // Arrow Up
579
388
  event.preventDefault();
580
- changeVisualFocusIndex(function (visualFocusIndex) {
389
+ singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
581
390
  return visualFocusIndex === 0 || visualFocusIndex === -1 ? lastOptionIndex : visualFocusIndex - 1;
582
391
  });
583
392
  openOptions();
@@ -592,7 +401,7 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
592
401
 
593
402
  case 13:
594
403
  // Enter
595
- if (isOpen) {
404
+ if (isOpen && visualFocusIndex >= 0) {
596
405
  var accLength = optional && !multiple ? 1 : 0;
597
406
 
598
407
  if (searchable) {
@@ -627,11 +436,6 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
627
436
  openOptions();
628
437
  };
629
438
 
630
- var handleClearActionOnClick = function handleClearActionOnClick(event) {
631
- event.stopPropagation();
632
- setSearchValue("");
633
- };
634
-
635
439
  var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
636
440
  event.stopPropagation();
637
441
  value !== null && value !== void 0 ? value : setInnerValue([]);
@@ -639,76 +443,33 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
639
443
  value: [],
640
444
  error: getNotOptionalErrorMessage()
641
445
  });
642
- selectContainerRef.current.focus();
643
446
  };
644
447
 
645
- var getLastOptionIndex = function getLastOptionIndex() {
646
- var last = 0;
647
-
648
- var reducer = function reducer(acc, current) {
649
- var _current$options;
650
-
651
- return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
652
- };
653
-
654
- 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;
655
- return optional && !multiple ? last + 1 : last;
448
+ var handleClearSearchActionOnClick = function handleClearSearchActionOnClick(event) {
449
+ event.stopPropagation();
450
+ setSearchValue("");
656
451
  };
657
452
 
658
- var lastOptionIndex = (0, _react.useMemo)(function () {
659
- return getLastOptionIndex();
660
- }, [searchable, optional, multiple, searchable ? filteredOptions : options]);
661
-
662
- var getSelectedOption = function getSelectedOption() {
663
- var val = value !== null && value !== void 0 ? value : innerValue;
664
- var selectedOption = multiple ? [] : "";
453
+ (0, _react.useLayoutEffect)(function () {
454
+ if (isOpen && singleSelectionIndex) {
455
+ var _listEl$scrollTo;
665
456
 
666
- if (multiple) {
667
- if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
668
- options.forEach(function (option) {
669
- if (option.options) {
670
- option.options.forEach(function (singleOption) {
671
- if (val.includes(singleOption.value)) selectedOption.push(singleOption);
672
- });
673
- } else if (val.includes(option.value)) selectedOption.push(option);
674
- });
675
- }
676
- } else {
677
- if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
678
- options.forEach(function (option) {
679
- if (option.options) {
680
- option.options.forEach(function (singleOption) {
681
- if (singleOption.value === val) selectedOption = singleOption;
682
- });
683
- } else if (option.value === val) selectedOption = option;
684
- });
685
- }
457
+ var listEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : selectOptionsListRef.current;
458
+ var selectedListOptionEl = listEl === null || listEl === void 0 ? void 0 : listEl.querySelector("[aria-selected='true']");
459
+ listEl === null || listEl === void 0 ? void 0 : (_listEl$scrollTo = listEl.scrollTo) === null || _listEl$scrollTo === void 0 ? void 0 : _listEl$scrollTo.call(listEl, {
460
+ top: (selectedListOptionEl === null || selectedListOptionEl === void 0 ? void 0 : selectedListOptionEl.offsetTop) - (listEl === null || listEl === void 0 ? void 0 : listEl.clientHeight) / 2
461
+ });
686
462
  }
687
-
688
- return selectedOption;
689
- };
690
-
691
- var selectedOption = (0, _react.useMemo)(function () {
692
- return getSelectedOption();
693
- }, [options, multiple, value !== null && value !== void 0 ? value : innerValue]);
463
+ }, [isOpen]);
694
464
  (0, _react.useLayoutEffect)(function () {
695
- var _selectOptionsListRef;
465
+ var _selectOptionsListRef, _visualFocusedOptionE;
696
466
 
697
467
  var visualFocusedOptionEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : (_selectOptionsListRef = selectOptionsListRef.current) === null || _selectOptionsListRef === void 0 ? void 0 : _selectOptionsListRef.querySelectorAll("[role='option']")[visualFocusIndex];
698
- visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : visualFocusedOptionEl.scrollIntoView({
468
+ visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
699
469
  block: "nearest",
700
470
  inline: "start"
701
471
  });
702
472
  }, [visualFocusIndex]);
703
- (0, _react.useLayoutEffect)(function () {
704
- if (isOpen && !multiple) {
705
- var listEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : selectOptionsListRef.current;
706
- var selectedListOptionEl = listEl === null || listEl === void 0 ? void 0 : listEl.querySelector("[aria-selected='true']");
707
- listEl === null || listEl === void 0 ? void 0 : listEl.scrollTo({
708
- top: (selectedListOptionEl === null || selectedListOptionEl === void 0 ? void 0 : selectedListOptionEl.offsetTop) - (listEl === null || listEl === void 0 ? void 0 : listEl.clientHeight) / 2
709
- });
710
- }
711
- }, [isOpen]);
712
473
 
713
474
  var Option = function Option(_ref2) {
714
475
  var option = _ref2.option,
@@ -717,73 +478,84 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
717
478
  isGroupedOption = _ref2$isGroupedOption === void 0 ? false : _ref2$isGroupedOption;
718
479
  var isSelected = multiple ? (value !== null && value !== void 0 ? value : innerValue).includes(option.value) : (value !== null && value !== void 0 ? value : innerValue) === option.value;
719
480
  var isLastOption = index === lastOptionIndex;
720
- return _react["default"].createElement(OptionItem, {
721
- onClick: function onClick(event) {
722
- // left mouse button only
481
+ return /*#__PURE__*/_react["default"].createElement(OptionItem, {
482
+ id: "option-".concat(index),
483
+ onClick: function onClick() {
723
484
  handleSelectChangeValue(option);
724
485
  !multiple && closeOptions();
725
486
  setSearchValue("");
726
487
  },
727
488
  visualFocused: visualFocusIndex === index,
728
489
  selected: isSelected,
729
- "aria-selected": isSelected && "true",
730
- role: "option"
731
- }, _react["default"].createElement(StyledOption, {
490
+ role: "option",
491
+ "aria-selected": isSelected
492
+ }, /*#__PURE__*/_react["default"].createElement(StyledOption, {
732
493
  visualFocused: visualFocusIndex === index,
733
494
  selected: isSelected,
734
495
  last: isLastOption,
735
496
  grouped: isGroupedOption,
736
497
  multiple: multiple
737
- }, multiple && _react["default"].createElement(_Checkbox["default"], {
498
+ }, multiple && /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
738
499
  tabIndex: -1,
739
500
  checked: isSelected
740
- }), option.icon && _react["default"].createElement(OptionIcon, {
741
- selected: isSelected
742
- }, typeof option.icon === "string" ? _react["default"].createElement(OptionIconImg, {
501
+ }), option.icon && /*#__PURE__*/_react["default"].createElement(OptionIcon, {
502
+ grouped: isGroupedOption,
503
+ multiple: multiple,
504
+ role: !(typeof option.icon === "string") && "img"
505
+ }, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(OptionIconImg, {
743
506
  src: option.icon
744
- }) : option.icon), _react["default"].createElement(OptionContent, {
507
+ }) : option.icon), /*#__PURE__*/_react["default"].createElement(OptionContent, {
745
508
  grouped: isGroupedOption,
746
509
  hasIcon: option.icon,
747
510
  multiple: multiple
748
- }, _react["default"].createElement(OptionLabel, null, option.label), !multiple && isSelected && _react["default"].createElement(OptionSelectedIndicator, null, selectIcons.selected))));
511
+ }, /*#__PURE__*/_react["default"].createElement(OptionLabel, null, option.label), !multiple && isSelected && /*#__PURE__*/_react["default"].createElement(OptionSelectedIndicator, null, selectIcons.selected))));
749
512
  };
750
513
 
751
- var global_index = optional && !multiple ? 0 : -1; // index for options (not groups), starting from 0 to options.length -1
514
+ var globalIndex = optional && !multiple ? 0 : -1; // index for options, starting from 0 to options.length -1
752
515
 
753
- var mapOptionFunc = function mapOptionFunc(option) {
516
+ var mapOptionFunc = function mapOptionFunc(option, mapIndex) {
754
517
  if (option.options) {
755
- return _react["default"].createElement(_react["default"].Fragment, null, option.options.length > 0 && _react["default"].createElement(OptionGroupLabel, null, option.label), option.options.map(function (singleOption) {
756
- global_index++;
757
- return _react["default"].createElement(Option, {
518
+ var groupId = "group-".concat(mapIndex);
519
+ return option.options.length > 0 && /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement(GroupList, {
520
+ role: "group",
521
+ "aria-labelledby": groupId
522
+ }, /*#__PURE__*/_react["default"].createElement(GroupLabel, {
523
+ role: "presentation",
524
+ id: groupId
525
+ }, option.label), option.options.map(function (singleOption) {
526
+ globalIndex++;
527
+ return /*#__PURE__*/_react["default"].createElement(Option, {
758
528
  option: singleOption,
759
- index: global_index,
529
+ index: globalIndex,
760
530
  isGroupedOption: true
761
531
  });
762
- }));
532
+ })));
763
533
  } else {
764
- global_index++;
765
- return _react["default"].createElement(Option, {
534
+ globalIndex++;
535
+ return /*#__PURE__*/_react["default"].createElement(Option, {
536
+ key: "option-".concat(option.value),
766
537
  option: option,
767
- index: global_index
538
+ index: globalIndex
768
539
  });
769
540
  }
770
541
  };
771
542
 
772
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
543
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
773
544
  theme: colorsTheme.select
774
- }, _react["default"].createElement(DxcSelectContainer, {
545
+ }, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
775
546
  margin: margin,
776
547
  size: size,
777
548
  ref: ref
778
- }, _react["default"].createElement(Label, {
549
+ }, label && /*#__PURE__*/_react["default"].createElement(Label, {
779
550
  id: selectLabelId,
780
551
  disabled: disabled,
781
552
  onClick: function onClick() {
782
553
  selectContainerRef.current.focus();
783
- }
784
- }, label, " ", optional && _react["default"].createElement(OptionalLabel, null, "(Optional)")), _react["default"].createElement(HelperText, {
554
+ },
555
+ helperText: helperText
556
+ }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, "(Optional)")), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
785
557
  disabled: disabled
786
- }, helperText), _react["default"].createElement(SelectContainer, {
558
+ }, helperText), /*#__PURE__*/_react["default"].createElement(Select, {
787
559
  id: selectId,
788
560
  disabled: disabled,
789
561
  error: error,
@@ -793,42 +565,60 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
793
565
  onKeyDown: handleSelectOnKeyDown,
794
566
  ref: selectContainerRef,
795
567
  tabIndex: tabIndex,
796
- "aria-labelledby": selectLabelId
797
- }, multiple && selectedOption.length > 0 && _react["default"].createElement(SelectionIndicator, null, _react["default"].createElement(SelectionNumber, {
568
+ role: "combobox",
569
+ "aria-controls": optionsListId,
570
+ "aria-expanded": isOpen,
571
+ "aria-haspopup": "listbox",
572
+ "aria-labelledby": selectLabelId,
573
+ "aria-activedescendant": visualFocusIndex >= 0 ? "option-".concat(visualFocusIndex) : undefined,
574
+ "aria-invalid": error ? "true" : "false",
575
+ "aria-required": !optional
576
+ }, multiple && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
798
577
  disabled: disabled
799
- }, selectedOption.length, " "), _react["default"].createElement(ClearOptionsAction, {
578
+ }, selectedOption.length), /*#__PURE__*/_react["default"].createElement(ClearOptionsAction, {
800
579
  disabled: disabled,
580
+ onMouseDown: function onMouseDown(event) {
581
+ // Avoid input to lose focus when pressed
582
+ event.preventDefault();
583
+ },
801
584
  onClick: handleClearOptionsActionOnClick,
802
585
  tabIndex: -1,
803
- title: "Clear selected options",
804
- "aria-label": "Clear selected options"
805
- }, selectIcons.clear)), _react["default"].createElement(SearchableValueContainer, null, _react["default"].createElement(ValueInput, {
586
+ title: "Clear selection",
587
+ "aria-label": "Clear selection"
588
+ }, selectIcons.clear)), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
806
589
  name: name,
807
590
  value: multiple ? (value !== null && value !== void 0 ? value : innerValue).join(", ") : value !== null && value !== void 0 ? value : innerValue,
808
- readOnly: true
809
- }), searchable && _react["default"].createElement(SearchInput, {
591
+ readOnly: true,
592
+ "aria-hidden": "true"
593
+ }), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
810
594
  value: searchValue,
811
595
  disabled: disabled,
812
596
  onChange: handleSearchIOnChange,
813
597
  ref: selectSearchInputRef,
814
598
  autoComplete: "off",
815
- autoCorrect: "off"
816
- }), (!searchable || searchValue === "") && (multiple ? _react["default"].createElement(SelectedOption, {
599
+ autoCorrect: "off",
600
+ size: "1"
601
+ }), (!searchable || searchValue === "") && (multiple ? /*#__PURE__*/_react["default"].createElement(SelectedOption, {
817
602
  disabled: disabled,
818
- atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || isOpen
819
- }, _react["default"].createElement(OptionLabel, null, selectedOption.map(function (option) {
603
+ atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || searchable && isOpen
604
+ }, /*#__PURE__*/_react["default"].createElement(OptionLabel, null, selectedOption.map(function (option) {
820
605
  return option.label;
821
- }).join(", ")), selectedOption.length === 0 && placeholder) : _react["default"].createElement(SelectedOption, {
606
+ }).join(", ")), selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
822
607
  disabled: disabled,
823
- atBackground: !(value !== null && value !== void 0 ? value : innerValue) || isOpen
824
- }, _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(ClearAction, {
825
- onClick: handleClearActionOnClick,
608
+ atBackground: !(value !== null && value !== void 0 ? value : innerValue) || searchable && isOpen
609
+ }, /*#__PURE__*/_react["default"].createElement(OptionLabel, 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, selectIcons.error), searchable && searchValue.length > 0 && /*#__PURE__*/_react["default"].createElement(ClearSearchAction, {
610
+ onMouseDown: function onMouseDown(event) {
611
+ // Avoid input to lose focus
612
+ event.preventDefault();
613
+ },
614
+ onClick: handleClearSearchActionOnClick,
826
615
  tabIndex: -1,
827
- title: "Clear search text",
828
- "aria-label": "Clear search text"
829
- }, selectIcons.clear), _react["default"].createElement(CollapseIndicator, {
616
+ title: "Clear search",
617
+ "aria-label": "Clear search"
618
+ }, selectIcons.clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
830
619
  disabled: disabled
831
- }, isOpen ? selectIcons.arrowUp : selectIcons.arrowDown), isOpen && _react["default"].createElement(OptionsList, {
620
+ }, isOpen ? selectIcons.arrowUp : selectIcons.arrowDown), isOpen && /*#__PURE__*/_react["default"].createElement(OptionsList, {
621
+ id: optionsListId,
832
622
  onClick: function onClick(event) {
833
623
  event.stopPropagation();
834
624
  },
@@ -837,11 +627,11 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
837
627
  },
838
628
  ref: selectOptionsListRef,
839
629
  role: "listbox",
840
- "aria-label": label
841
- }, 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, {
630
+ "aria-multiselectable": multiple
631
+ }, searchable && (filteredOptions.length === 0 || !filteredGroupsHaveOptions()) ? /*#__PURE__*/_react["default"].createElement(OptionsSystemMessage, null, /*#__PURE__*/_react["default"].createElement(NoMatchesFoundIcon, null, selectIcons.searchOff), "No matches found") : optional && !multiple && /*#__PURE__*/_react["default"].createElement(Option, {
842
632
  option: optionalEmptyOption,
843
633
  index: 0
844
- }), searchable ? filteredOptions.map(mapOptionFunc) : options.map(mapOptionFunc))), !disabled && _react["default"].createElement(Error, null, error)));
634
+ }), searchable ? filteredOptions.map(mapOptionFunc) : options.map(mapOptionFunc))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, null, error)));
845
635
  });
846
636
 
847
637
  var sizes = {
@@ -855,7 +645,7 @@ var calculateWidth = function calculateWidth(margin, size) {
855
645
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
856
646
  };
857
647
 
858
- var DxcSelectContainer = _styledComponents["default"].div(_templateObject(), function (props) {
648
+ 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) {
859
649
  return calculateWidth(props.margin, props.size);
860
650
  }, function (props) {
861
651
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
@@ -869,7 +659,7 @@ var DxcSelectContainer = _styledComponents["default"].div(_templateObject(), fun
869
659
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
870
660
  });
871
661
 
872
- var Label = _styledComponents["default"].span(_templateObject2(), function (props) {
662
+ 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) {
873
663
  return props.disabled ? props.theme.disabledColor : props.theme.labelFontColor;
874
664
  }, function (props) {
875
665
  return props.theme.fontFamily;
@@ -881,13 +671,15 @@ var Label = _styledComponents["default"].span(_templateObject2(), function (prop
881
671
  return props.theme.labelFontWeight;
882
672
  }, function (props) {
883
673
  return props.theme.labelLineHeight;
674
+ }, function (props) {
675
+ return !props.helperText && "margin-bottom: 0.25rem";
884
676
  });
885
677
 
886
- var OptionalLabel = _styledComponents["default"].span(_templateObject3(), function (props) {
678
+ var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
887
679
  return props.theme.optionalLabelFontWeight;
888
680
  });
889
681
 
890
- var HelperText = _styledComponents["default"].span(_templateObject4(), function (props) {
682
+ 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) {
891
683
  return props.disabled ? props.theme.disabledColor : props.theme.helperTextFontColor;
892
684
  }, function (props) {
893
685
  return props.theme.fontFamily;
@@ -901,7 +693,9 @@ var HelperText = _styledComponents["default"].span(_templateObject4(), function
901
693
  return props.theme.helperTextLineHeight;
902
694
  });
903
695
 
904
- var SelectContainer = _styledComponents["default"].div(_templateObject5(), function (props) {
696
+ 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) {
697
+ return props.disabled && "background-color: ".concat(props.theme.disabledInputBackgroundColor);
698
+ }, function (props) {
905
699
  return props.disabled ? props.theme.disabledInputBorderColor : props.theme.enabledInputBorderColor;
906
700
  }, function (props) {
907
701
  return props.error && !props.disabled && "border-color: transparent;\n box-shadow: 0 0 0 2px ".concat(props.theme.errorInputBorderColor, ";\n ");
@@ -911,12 +705,12 @@ var SelectContainer = _styledComponents["default"].div(_templateObject5(), funct
911
705
  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 ");
912
706
  });
913
707
 
914
- var SelectionIndicator = _styledComponents["default"].span(_templateObject6(), function (props) {
708
+ 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) {
915
709
  return props.theme.selectionIndicatorBorderColor;
916
710
  });
917
711
 
918
- var SelectionNumber = _styledComponents["default"].span(_templateObject7(), function (props) {
919
- return props.theme.selectionIndicatorBackgroundColor;
712
+ 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) {
713
+ return !props.disabled && "background-color: ".concat(props.theme.selectionIndicatorBackgroundColor);
920
714
  }, function (props) {
921
715
  return props.theme.selectionIndicatorBorderColor;
922
716
  }, function (props) {
@@ -933,21 +727,21 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7(), func
933
727
  return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
934
728
  });
935
729
 
936
- var ClearOptionsAction = _styledComponents["default"].button(_templateObject8(), function (props) {
730
+ var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n width: 23px;\n height: 22px;\n font-size: 1rem;\n font-family: ", ";\n border: none;\n padding: 0.25rem;\n ", "\n background-color: ", ";\n color: ", ";\n\n :focus-visible {\n outline: none;\n }\n ", "\n\n svg {\n line-height: 18px;\n }\n"])), function (props) {
937
731
  return props.theme.fontFamily;
938
732
  }, function (props) {
939
733
  return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
940
734
  }, function (props) {
941
- return props.theme.enabledSelectionIndicatorActionBackgroundColor;
735
+ return props.disabled ? "transparent" : props.theme.enabledSelectionIndicatorActionBackgroundColor;
942
736
  }, function (props) {
943
737
  return props.disabled ? props.theme.disabledColor : props.theme.enabledSelectionIndicatorActionIconColor;
944
738
  }, function (props) {
945
739
  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 ");
946
740
  });
947
741
 
948
- var SearchableValueContainer = _styledComponents["default"].div(_templateObject9());
742
+ var SearchableValueContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"])));
949
743
 
950
- var SelectedOption = _styledComponents["default"].span(_templateObject10(), function (props) {
744
+ 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) {
951
745
  if (props.disabled) return props.theme.disabledColor;else if (props.atBackground) return props.theme.placeholderFontColor;else return props.theme.valueFontColor;
952
746
  }, function (props) {
953
747
  return props.theme.fontFamily;
@@ -959,9 +753,9 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10(), func
959
753
  return props.theme.valueFontWeight;
960
754
  });
961
755
 
962
- var ValueInput = _styledComponents["default"].input(_templateObject11());
756
+ var ValueInput = _styledComponents["default"].input(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
963
757
 
964
- var SearchInput = _styledComponents["default"].input(_templateObject12(), function (props) {
758
+ var SearchInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (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) {
965
759
  return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
966
760
  }, function (props) {
967
761
  return props.theme.fontFamily;
@@ -973,96 +767,96 @@ var SearchInput = _styledComponents["default"].input(_templateObject12(), functi
973
767
  return props.theme.valueFontWeight;
974
768
  });
975
769
 
976
- var ErrorIcon = _styledComponents["default"].span(_templateObject13(), function (props) {
977
- return props.theme.errorColor;
770
+ var ErrorIcon = _styledComponents["default"].span(_templateObject13 || (_templateObject13 = (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) {
771
+ return props.theme.errorIconColor;
978
772
  });
979
773
 
980
- var Error = _styledComponents["default"].span(_templateObject14(), function (props) {
981
- return props.theme.errorColor;
774
+ var Error = _styledComponents["default"].span(_templateObject14 || (_templateObject14 = (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) {
775
+ return props.theme.errorMessageColor;
982
776
  }, function (props) {
983
777
  return props.theme.fontFamily;
984
- }, function (props) {
985
- return props.theme.errorMessageFontSize;
986
- }, function (props) {
987
- return props.theme.errorMessagetFontStyle;
988
- }, function (props) {
989
- return props.theme.errorMessageFontWeight;
990
- }, function (props) {
991
- return props.theme.errorMessagetLineHeight;
992
778
  });
993
779
 
994
- var CollapseIndicator = _styledComponents["default"].span(_templateObject15(), function (props) {
780
+ var CollapseIndicator = _styledComponents["default"].span(_templateObject15 || (_templateObject15 = (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) {
995
781
  return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
996
782
  });
997
783
 
998
- var ClearAction = _styledComponents["default"].button(_templateObject16(), function (props) {
784
+ var ClearSearchAction = _styledComponents["default"].button(_templateObject16 || (_templateObject16 = (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) {
999
785
  return props.theme.fontFamily;
1000
786
  }, function (props) {
1001
- return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
787
+ return props.theme.actionBackgroundColor;
788
+ }, function (props) {
789
+ return props.theme.actionIconColor;
790
+ }, function (props) {
791
+ return props.theme.hoverActionBackgroundColor;
1002
792
  }, function (props) {
1003
- return props.disabled ? props.theme.disabledActionBackgroundColor : props.theme.actionBackgroundColor;
793
+ return props.theme.hoverActionIconColor;
1004
794
  }, function (props) {
1005
- return props.disabled ? props.theme.disabledColor : props.theme.actionIconColor;
795
+ return props.theme.activeActionBackgroundColor;
1006
796
  }, function (props) {
1007
- return !props.disabled && "\n &:hover {\n background-color: ".concat(props.theme.hoverActionBackgroundColor, ";\n color: ").concat(props.theme.hoverActionIconColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.activeActionBackgroundColor, ";\n color: ").concat(props.theme.activeActionIconColor, ";\n }\n ");
797
+ return props.theme.activeActionIconColor;
1008
798
  });
1009
799
 
1010
- var OptionsList = _styledComponents["default"].ul(_templateObject17(), function (props) {
1011
- return props.theme.itemListBackgroundColor;
800
+ var OptionsList = _styledComponents["default"].ul(_templateObject17 || (_templateObject17 = (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"])), function (props) {
801
+ return props.theme.listDialogBackgroundColor;
1012
802
  }, function (props) {
1013
- return props.theme.itemListBorderColor;
803
+ return props.theme.listDialogBorderColor;
1014
804
  }, function (props) {
1015
- return props.theme.listItemFontColor;
805
+ return props.theme.listOptionFontColor;
1016
806
  }, function (props) {
1017
807
  return props.theme.fontFamily;
1018
808
  }, function (props) {
1019
- return props.theme.listItemFontSize;
809
+ return props.theme.listOptionFontSize;
1020
810
  }, function (props) {
1021
- return props.theme.listItemFontStyle;
811
+ return props.theme.listOptionFontStyle;
1022
812
  }, function (props) {
1023
- return props.theme.listItemFontWeight;
813
+ return props.theme.listOptionFontWeight;
1024
814
  });
1025
815
 
1026
- var OptionsSystemMessage = _styledComponents["default"].span(_templateObject18(), function (props) {
816
+ var OptionsSystemMessage = _styledComponents["default"].span(_templateObject18 || (_templateObject18 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 4px 16px;\n color: ", ";\n font-size: 0.875rem;\n line-height: 1.715em;\n"])), function (props) {
1027
817
  return props.theme.systemMessageFontColor;
1028
818
  });
1029
819
 
1030
- var NoMatchesFoundIcon = _styledComponents["default"].span(_templateObject19());
820
+ var NoMatchesFoundIcon = _styledComponents["default"].span(_templateObject19 || (_templateObject19 = (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"])));
1031
821
 
1032
- var OptionGroupLabel = _styledComponents["default"].li(_templateObject20(), function (props) {
1033
- return props.theme.listGroupItemFontWeight;
822
+ var GroupList = _styledComponents["default"].ul(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0;\n"])));
823
+
824
+ var GroupLabel = _styledComponents["default"].li(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 4px 16px;\n font-weight: ", ";\n line-height: 1.715em;\n"])), function (props) {
825
+ return props.theme.listGroupLabelFontWeight;
1034
826
  });
1035
827
 
1036
- var OptionItem = _styledComponents["default"].li(_templateObject21(), function (props) {
1037
- return props.visualFocused && "box-shadow: inset 0 0 0 2px ".concat(props.theme.focusListItemBorderColor, ";");
828
+ var OptionItem = _styledComponents["default"].li(_templateObject22 || (_templateObject22 = (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"])), function (props) {
829
+ return props.visualFocused && "box-shadow: inset 0 0 0 2px ".concat(props.theme.focusListOptionBorderColor, ";");
1038
830
  }, function (props) {
1039
- return props.selected && "background-color: ".concat(props.theme.selectedListItemBackgroundColor);
831
+ return props.selected && "background-color: ".concat(props.theme.selectedListOptionBackgroundColor);
1040
832
  }, function (props) {
1041
- return props.selected ? "background-color: ".concat(props.theme.selectedHoverListItemBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedHoverListItemBackgroundColor, ";");
833
+ return props.selected ? "background-color: ".concat(props.theme.selectedHoverListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedHoverListOptionBackgroundColor, ";");
1042
834
  }, function (props) {
1043
- return props.selected ? "background-color: ".concat(props.theme.selectedActiveListItemBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedActiveListItemBackgroundColor, ";");
835
+ return props.selected ? "background-color: ".concat(props.theme.selectedActiveListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedActiveListOptionBackgroundColor, ";");
1044
836
  });
1045
837
 
1046
- var StyledOption = _styledComponents["default"].span(_templateObject22(), function (props) {
838
+ var StyledOption = _styledComponents["default"].span(_templateObject23 || (_templateObject23 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.25rem 0.5rem 0.188rem 0;\n min-height: 24px;\n ", "\n ", ";\n"])), function (props) {
1047
839
  return props.grouped && props.multiple && "padding-left: 16px;";
1048
840
  }, function (props) {
1049
- return props.last || props.visualFocused || props.selected ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listItemDividerColor);
841
+ return props.last || props.visualFocused || props.selected ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
1050
842
  });
1051
843
 
1052
- var OptionContent = _styledComponents["default"].span(_templateObject23(), function (props) {
1053
- return props.grouped && !props.multiple && !props.hasIcon && "padding-left: 16px;";
844
+ var OptionContent = _styledComponents["default"].span(_templateObject24 || (_templateObject24 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n width: 100%;\n overflow: hidden;\n ", "\n"])), function (props) {
845
+ return props.grouped && !props.multiple && !props.hasIcon ? "padding-left: 16px;" : "padding-left: 8px;";
1054
846
  });
1055
847
 
1056
- var OptionIcon = _styledComponents["default"].span(_templateObject24(), function (props) {
1057
- return props.theme.listItemIconColor;
848
+ var OptionIcon = _styledComponents["default"].span(_templateObject25 || (_templateObject25 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n ", "\n color: ", ";\n"])), function (props) {
849
+ return props.grouped && !props.multiple ? "padding-left: 16px;" : "padding-left: 8px;";
850
+ }, function (props) {
851
+ return props.theme.listOptionIconColor;
1058
852
  });
1059
853
 
1060
- var OptionIconImg = _styledComponents["default"].img(_templateObject25());
854
+ var OptionIconImg = _styledComponents["default"].img(_templateObject26 || (_templateObject26 = (0, _taggedTemplateLiteral2["default"])(["\n width: 16px;\n height: 16px;\n"])));
1061
855
 
1062
- var OptionLabel = _styledComponents["default"].span(_templateObject26());
856
+ var OptionLabel = _styledComponents["default"].span(_templateObject27 || (_templateObject27 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
1063
857
 
1064
- var OptionSelectedIndicator = _styledComponents["default"].span(_templateObject27(), function (props) {
1065
- return props.theme.selectedListItemIconColor;
858
+ var OptionSelectedIndicator = _styledComponents["default"].span(_templateObject28 || (_templateObject28 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 16px;\n width: 16px;\n margin-left: 4px;\n color: ", ";\n"])), function (props) {
859
+ return props.theme.selectedListOptionIconColor;
1066
860
  });
1067
861
 
1068
862
  var _default = DxcSelect;