@dxc-technology/halstack-react 0.0.0-d3554d7 → 0.0.0-d3df47e

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 (331) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1221 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +116 -181
  8. package/accordion/Accordion.stories.tsx +103 -127
  9. package/accordion/Accordion.test.js +32 -33
  10. package/accordion/types.d.ts +9 -16
  11. package/accordion-group/AccordionGroup.d.ts +5 -4
  12. package/accordion-group/AccordionGroup.js +38 -107
  13. package/accordion-group/AccordionGroup.stories.tsx +95 -68
  14. package/accordion-group/AccordionGroup.test.js +55 -90
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/types.d.ts +15 -16
  18. package/action-icon/ActionIcon.d.ts +4 -0
  19. package/action-icon/ActionIcon.js +47 -0
  20. package/action-icon/ActionIcon.stories.tsx +41 -0
  21. package/action-icon/ActionIcon.test.js +64 -0
  22. package/action-icon/types.d.ts +26 -0
  23. package/alert/Alert.js +23 -59
  24. package/alert/Alert.stories.tsx +28 -0
  25. package/alert/Alert.test.js +29 -46
  26. package/alert/types.d.ts +5 -5
  27. package/badge/Badge.d.ts +1 -1
  28. package/badge/Badge.js +142 -40
  29. package/badge/Badge.stories.tsx +210 -0
  30. package/badge/Badge.test.js +30 -0
  31. package/badge/types.d.ts +52 -2
  32. package/bleed/Bleed.js +14 -55
  33. package/bleed/Bleed.stories.tsx +95 -95
  34. package/bleed/types.d.ts +26 -2
  35. package/box/Box.d.ts +1 -1
  36. package/box/Box.js +30 -81
  37. package/box/Box.stories.tsx +38 -51
  38. package/box/Box.test.js +2 -7
  39. package/box/types.d.ts +3 -14
  40. package/bulleted-list/BulletedList.d.ts +7 -0
  41. package/bulleted-list/BulletedList.js +89 -0
  42. package/bulleted-list/BulletedList.stories.tsx +115 -0
  43. package/bulleted-list/types.d.ts +38 -0
  44. package/button/Button.d.ts +1 -1
  45. package/button/Button.js +62 -113
  46. package/button/Button.stories.tsx +160 -90
  47. package/button/Button.test.js +20 -17
  48. package/button/types.d.ts +12 -8
  49. package/card/Card.d.ts +1 -1
  50. package/card/Card.js +58 -102
  51. package/card/Card.stories.tsx +12 -42
  52. package/card/Card.test.js +11 -22
  53. package/card/types.d.ts +6 -11
  54. package/checkbox/Checkbox.d.ts +2 -2
  55. package/checkbox/Checkbox.js +144 -182
  56. package/checkbox/Checkbox.stories.tsx +166 -136
  57. package/checkbox/Checkbox.test.js +163 -29
  58. package/checkbox/types.d.ts +18 -6
  59. package/chip/Chip.js +39 -79
  60. package/chip/Chip.stories.tsx +121 -26
  61. package/chip/Chip.test.js +16 -31
  62. package/chip/types.d.ts +4 -4
  63. package/common/OpenSans.css +68 -80
  64. package/common/coreTokens.d.ts +237 -0
  65. package/common/coreTokens.js +184 -0
  66. package/common/utils.d.ts +1 -0
  67. package/common/utils.js +6 -12
  68. package/common/variables.d.ts +1367 -0
  69. package/common/variables.js +1002 -1136
  70. package/container/Container.d.ts +4 -0
  71. package/container/Container.js +194 -0
  72. package/container/Container.stories.tsx +214 -0
  73. package/container/types.d.ts +74 -0
  74. package/date-input/Calendar.d.ts +4 -0
  75. package/date-input/Calendar.js +214 -0
  76. package/date-input/DateInput.js +171 -306
  77. package/date-input/DateInput.stories.tsx +203 -56
  78. package/date-input/DateInput.test.js +708 -369
  79. package/date-input/DatePicker.d.ts +4 -0
  80. package/date-input/DatePicker.js +115 -0
  81. package/date-input/Icons.d.ts +6 -0
  82. package/date-input/Icons.js +58 -0
  83. package/date-input/YearPicker.d.ts +4 -0
  84. package/date-input/YearPicker.js +100 -0
  85. package/date-input/types.d.ts +86 -22
  86. package/dialog/Dialog.d.ts +1 -1
  87. package/dialog/Dialog.js +68 -130
  88. package/dialog/Dialog.stories.tsx +320 -167
  89. package/dialog/Dialog.test.js +287 -20
  90. package/dialog/types.d.ts +18 -25
  91. package/dropdown/Dropdown.d.ts +1 -1
  92. package/dropdown/Dropdown.js +243 -304
  93. package/dropdown/Dropdown.stories.tsx +245 -56
  94. package/dropdown/Dropdown.test.js +575 -165
  95. package/dropdown/DropdownMenu.d.ts +4 -0
  96. package/dropdown/DropdownMenu.js +63 -0
  97. package/dropdown/DropdownMenuItem.d.ts +4 -0
  98. package/dropdown/DropdownMenuItem.js +67 -0
  99. package/dropdown/types.d.ts +32 -14
  100. package/file-input/FileInput.d.ts +2 -2
  101. package/file-input/FileInput.js +246 -357
  102. package/file-input/FileInput.stories.tsx +123 -12
  103. package/file-input/FileInput.test.js +369 -367
  104. package/file-input/FileItem.d.ts +4 -14
  105. package/file-input/FileItem.js +50 -99
  106. package/file-input/types.d.ts +25 -8
  107. package/flex/Flex.d.ts +4 -0
  108. package/flex/Flex.js +57 -0
  109. package/flex/Flex.stories.tsx +112 -0
  110. package/flex/types.d.ts +97 -0
  111. package/footer/Footer.d.ts +1 -1
  112. package/footer/Footer.js +70 -190
  113. package/footer/Footer.stories.tsx +60 -19
  114. package/footer/Footer.test.js +33 -57
  115. package/footer/Icons.d.ts +3 -2
  116. package/footer/Icons.js +67 -8
  117. package/footer/types.d.ts +25 -26
  118. package/grid/Grid.d.ts +7 -0
  119. package/grid/Grid.js +76 -0
  120. package/grid/Grid.stories.tsx +219 -0
  121. package/grid/types.d.ts +115 -0
  122. package/header/Header.d.ts +4 -3
  123. package/header/Header.js +99 -203
  124. package/header/Header.stories.tsx +152 -63
  125. package/header/Header.test.js +31 -28
  126. package/header/Icons.d.ts +2 -2
  127. package/header/Icons.js +4 -9
  128. package/header/types.d.ts +5 -19
  129. package/heading/Heading.js +10 -32
  130. package/heading/Heading.test.js +71 -88
  131. package/heading/types.d.ts +7 -7
  132. package/image/Image.d.ts +4 -0
  133. package/image/Image.js +70 -0
  134. package/image/Image.stories.tsx +127 -0
  135. package/image/types.d.ts +72 -0
  136. package/inset/Inset.js +14 -55
  137. package/inset/Inset.stories.tsx +37 -36
  138. package/inset/types.d.ts +26 -2
  139. package/layout/ApplicationLayout.d.ts +16 -6
  140. package/layout/ApplicationLayout.js +84 -181
  141. package/layout/ApplicationLayout.stories.tsx +85 -94
  142. package/layout/Icons.d.ts +8 -0
  143. package/layout/Icons.js +51 -48
  144. package/layout/SidenavContext.d.ts +5 -0
  145. package/layout/SidenavContext.js +13 -0
  146. package/layout/types.d.ts +19 -35
  147. package/link/Link.d.ts +3 -2
  148. package/link/Link.js +61 -99
  149. package/link/Link.stories.tsx +155 -53
  150. package/link/Link.test.js +25 -53
  151. package/link/types.d.ts +15 -31
  152. package/main.d.ts +14 -13
  153. package/main.js +65 -101
  154. package/nav-tabs/NavTabs.d.ts +8 -0
  155. package/nav-tabs/NavTabs.js +93 -0
  156. package/nav-tabs/NavTabs.stories.tsx +276 -0
  157. package/nav-tabs/NavTabs.test.js +76 -0
  158. package/nav-tabs/Tab.d.ts +4 -0
  159. package/nav-tabs/Tab.js +118 -0
  160. package/nav-tabs/types.d.ts +52 -0
  161. package/nav-tabs/types.js +5 -0
  162. package/number-input/NumberInput.d.ts +7 -0
  163. package/number-input/NumberInput.js +27 -43
  164. package/number-input/NumberInput.stories.tsx +44 -28
  165. package/number-input/NumberInput.test.js +703 -381
  166. package/number-input/types.d.ts +28 -15
  167. package/package.json +46 -47
  168. package/paginator/Icons.d.ts +5 -0
  169. package/paginator/Icons.js +21 -47
  170. package/paginator/Paginator.js +34 -91
  171. package/paginator/Paginator.stories.tsx +24 -0
  172. package/paginator/Paginator.test.js +280 -211
  173. package/paginator/types.d.ts +3 -3
  174. package/paragraph/Paragraph.d.ts +5 -0
  175. package/paragraph/Paragraph.js +22 -0
  176. package/paragraph/Paragraph.stories.tsx +27 -0
  177. package/password-input/Icons.d.ts +6 -0
  178. package/password-input/Icons.js +35 -0
  179. package/password-input/PasswordInput.js +57 -123
  180. package/password-input/PasswordInput.stories.tsx +1 -33
  181. package/password-input/PasswordInput.test.js +162 -147
  182. package/password-input/types.d.ts +21 -17
  183. package/progress-bar/ProgressBar.js +65 -91
  184. package/progress-bar/ProgressBar.stories.tsx +93 -0
  185. package/progress-bar/ProgressBar.test.js +72 -44
  186. package/progress-bar/types.d.ts +3 -3
  187. package/quick-nav/QuickNav.d.ts +4 -0
  188. package/quick-nav/QuickNav.js +94 -0
  189. package/quick-nav/QuickNav.stories.tsx +356 -0
  190. package/quick-nav/types.d.ts +21 -0
  191. package/quick-nav/types.js +5 -0
  192. package/radio-group/Radio.d.ts +1 -1
  193. package/radio-group/Radio.js +59 -76
  194. package/radio-group/RadioGroup.js +72 -116
  195. package/radio-group/RadioGroup.stories.tsx +135 -17
  196. package/radio-group/RadioGroup.test.js +529 -467
  197. package/radio-group/types.d.ts +86 -9
  198. package/resultset-table/Icons.d.ts +7 -0
  199. package/resultset-table/Icons.js +47 -0
  200. package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +1 -1
  201. package/resultset-table/ResultsetTable.js +165 -0
  202. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +69 -25
  203. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +117 -118
  204. package/{resultsetTable → resultset-table}/types.d.ts +13 -7
  205. package/resultset-table/types.js +5 -0
  206. package/select/Icons.d.ts +10 -0
  207. package/select/Icons.js +89 -0
  208. package/select/Listbox.d.ts +4 -0
  209. package/select/Listbox.js +143 -0
  210. package/select/Option.d.ts +4 -0
  211. package/select/Option.js +87 -0
  212. package/select/Select.js +223 -502
  213. package/select/Select.stories.tsx +534 -145
  214. package/select/Select.test.js +2009 -1539
  215. package/select/types.d.ts +64 -25
  216. package/sidenav/Icons.d.ts +7 -0
  217. package/sidenav/Icons.js +47 -0
  218. package/sidenav/Sidenav.d.ts +6 -5
  219. package/sidenav/Sidenav.js +131 -71
  220. package/sidenav/Sidenav.stories.tsx +251 -151
  221. package/sidenav/Sidenav.test.js +26 -45
  222. package/sidenav/types.d.ts +52 -26
  223. package/slider/Slider.d.ts +2 -2
  224. package/slider/Slider.js +148 -180
  225. package/slider/Slider.test.js +198 -73
  226. package/slider/types.d.ts +11 -3
  227. package/spinner/Spinner.js +31 -75
  228. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  229. package/spinner/Spinner.test.js +26 -35
  230. package/spinner/types.d.ts +3 -3
  231. package/status-light/StatusLight.d.ts +4 -0
  232. package/status-light/StatusLight.js +51 -0
  233. package/status-light/StatusLight.stories.tsx +74 -0
  234. package/status-light/StatusLight.test.js +25 -0
  235. package/status-light/types.d.ts +17 -0
  236. package/status-light/types.js +5 -0
  237. package/switch/Switch.d.ts +2 -2
  238. package/switch/Switch.js +149 -114
  239. package/switch/Switch.stories.tsx +44 -67
  240. package/switch/Switch.test.js +146 -39
  241. package/switch/types.d.ts +13 -5
  242. package/table/Table.d.ts +1 -1
  243. package/table/Table.js +25 -32
  244. package/table/{Table.stories.jsx → Table.stories.tsx} +178 -1
  245. package/table/Table.test.js +3 -8
  246. package/table/types.d.ts +12 -6
  247. package/tabs/Tab.d.ts +4 -0
  248. package/tabs/Tab.js +116 -0
  249. package/tabs/Tabs.d.ts +1 -1
  250. package/tabs/Tabs.js +316 -145
  251. package/tabs/Tabs.stories.tsx +120 -14
  252. package/tabs/Tabs.test.js +238 -67
  253. package/tabs/types.d.ts +29 -15
  254. package/tag/Tag.js +41 -78
  255. package/tag/Tag.stories.tsx +25 -8
  256. package/tag/Tag.test.js +20 -31
  257. package/tag/types.d.ts +7 -7
  258. package/text-input/Icons.d.ts +8 -0
  259. package/text-input/Icons.js +56 -0
  260. package/text-input/Suggestion.d.ts +4 -0
  261. package/text-input/Suggestion.js +67 -0
  262. package/text-input/Suggestions.d.ts +4 -0
  263. package/text-input/Suggestions.js +84 -0
  264. package/text-input/TextInput.js +324 -548
  265. package/text-input/TextInput.stories.tsx +272 -281
  266. package/text-input/TextInput.test.js +1425 -1377
  267. package/text-input/types.d.ts +70 -24
  268. package/textarea/Textarea.js +82 -134
  269. package/textarea/Textarea.stories.tsx +174 -0
  270. package/textarea/Textarea.test.js +168 -198
  271. package/textarea/types.d.ts +27 -16
  272. package/toggle-group/ToggleGroup.d.ts +2 -2
  273. package/toggle-group/ToggleGroup.js +92 -105
  274. package/toggle-group/ToggleGroup.stories.tsx +53 -8
  275. package/toggle-group/ToggleGroup.test.js +78 -66
  276. package/toggle-group/types.d.ts +34 -17
  277. package/typography/Typography.d.ts +4 -0
  278. package/typography/Typography.js +23 -0
  279. package/typography/Typography.stories.tsx +198 -0
  280. package/typography/types.d.ts +18 -0
  281. package/typography/types.js +5 -0
  282. package/useTheme.d.ts +1119 -1
  283. package/useTheme.js +4 -11
  284. package/useTranslatedLabels.d.ts +85 -0
  285. package/useTranslatedLabels.js +14 -0
  286. package/utils/BaseTypography.d.ts +21 -0
  287. package/utils/BaseTypography.js +94 -0
  288. package/utils/FocusLock.d.ts +13 -0
  289. package/utils/FocusLock.js +124 -0
  290. package/wizard/Wizard.d.ts +1 -1
  291. package/wizard/Wizard.js +70 -101
  292. package/wizard/Wizard.stories.tsx +48 -19
  293. package/wizard/Wizard.test.js +73 -87
  294. package/wizard/types.d.ts +12 -8
  295. package/ThemeContext.d.ts +0 -10
  296. package/ThemeContext.js +0 -243
  297. package/card/ice-cream.jpg +0 -0
  298. package/common/RequiredComponent.js +0 -32
  299. package/list/List.d.ts +0 -4
  300. package/list/List.js +0 -47
  301. package/list/List.stories.tsx +0 -95
  302. package/list/types.d.ts +0 -7
  303. package/number-input/NumberInputContext.d.ts +0 -4
  304. package/number-input/NumberInputContext.js +0 -19
  305. package/number-input/numberInputContextTypes.d.ts +0 -19
  306. package/progress-bar/ProgressBar.stories.jsx +0 -58
  307. package/radio/Radio.d.ts +0 -4
  308. package/radio/Radio.js +0 -174
  309. package/radio/Radio.stories.tsx +0 -192
  310. package/radio/Radio.test.js +0 -71
  311. package/radio/types.d.ts +0 -54
  312. package/resultsetTable/ResultsetTable.js +0 -254
  313. package/row/Row.d.ts +0 -3
  314. package/row/Row.js +0 -127
  315. package/row/Row.stories.tsx +0 -237
  316. package/row/types.d.ts +0 -10
  317. package/slider/Slider.stories.tsx +0 -177
  318. package/stack/Stack.d.ts +0 -3
  319. package/stack/Stack.js +0 -97
  320. package/stack/Stack.stories.tsx +0 -164
  321. package/stack/types.d.ts +0 -9
  322. package/text/Text.d.ts +0 -7
  323. package/text/Text.js +0 -30
  324. package/text/Text.stories.tsx +0 -19
  325. package/textarea/Textarea.stories.jsx +0 -157
  326. /package/{list → action-icon}/types.js +0 -0
  327. /package/{radio → bulleted-list}/types.js +0 -0
  328. /package/{resultsetTable → container}/types.js +0 -0
  329. /package/{row → flex}/types.js +0 -0
  330. /package/{stack → grid}/types.js +0 -0
  331. /package/{number-input/numberInputContextTypes.js → image/types.js} +0 -0
package/select/Select.js CHANGED
@@ -1,130 +1,46 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
11
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
-
18
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
-
20
13
  var _react = _interopRequireWildcard(require("react"));
21
-
22
14
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
-
24
15
  var _useTheme = _interopRequireDefault(require("../useTheme"));
25
-
26
- var _variables = require("../common/variables.js");
27
-
16
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
17
+ var _variables = require("../common/variables");
28
18
  var _uuid = require("uuid");
29
-
30
- var _utils = require("../common/utils.js");
31
-
32
- var _Checkbox = _interopRequireDefault(require("../checkbox/Checkbox"));
33
-
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;
35
-
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); }
37
-
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; }
39
-
40
- var selectIcons = {
41
- error: /*#__PURE__*/_react["default"].createElement("svg", {
42
- role: "img",
43
- xmlns: "http://www.w3.org/2000/svg",
44
- height: "24px",
45
- viewBox: "0 0 24 24",
46
- width: "24px",
47
- fill: "currentColor"
48
- }, /*#__PURE__*/_react["default"].createElement("path", {
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"
50
- })),
51
- arrowUp: /*#__PURE__*/_react["default"].createElement("svg", {
52
- role: "img",
53
- xmlns: "http://www.w3.org/2000/svg",
54
- height: "24px",
55
- viewBox: "0 0 24 24",
56
- width: "24px",
57
- fill: "currentColor"
58
- }, /*#__PURE__*/_react["default"].createElement("path", {
59
- d: "M0 0h24v24H0V0z",
60
- fill: "none"
61
- }), /*#__PURE__*/_react["default"].createElement("path", {
62
- d: "M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6 1.41 1.41z"
63
- })),
64
- arrowDown: /*#__PURE__*/_react["default"].createElement("svg", {
65
- role: "img",
66
- xmlns: "http://www.w3.org/2000/svg",
67
- height: "24px",
68
- viewBox: "0 0 24 24",
69
- width: "24px",
70
- fill: "currentColor"
71
- }, /*#__PURE__*/_react["default"].createElement("path", {
72
- d: "M0 0h24v24H0V0z",
73
- fill: "none"
74
- }), /*#__PURE__*/_react["default"].createElement("path", {
75
- d: "M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"
76
- })),
77
- clear: /*#__PURE__*/_react["default"].createElement("svg", {
78
- role: "img",
79
- xmlns: "http://www.w3.org/2000/svg",
80
- width: "24",
81
- height: "24",
82
- viewBox: "0 0 24 24",
83
- fill: "currentColor"
84
- }, /*#__PURE__*/_react["default"].createElement("path", {
85
- d: "M0 0h24v24H0V0z",
86
- fill: "none"
87
- }), /*#__PURE__*/_react["default"].createElement("path", {
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"
89
- })),
90
- selected: /*#__PURE__*/_react["default"].createElement("svg", {
91
- role: "img",
92
- xmlns: "http://www.w3.org/2000/svg",
93
- height: "24px",
94
- viewBox: "0 0 24 24",
95
- width: "24px",
96
- fill: "currentColor"
97
- }, /*#__PURE__*/_react["default"].createElement("path", {
98
- d: "M0 0h24v24H0z",
99
- fill: "none"
100
- }), /*#__PURE__*/_react["default"].createElement("path", {
101
- d: "M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"
102
- })),
103
- searchOff: /*#__PURE__*/_react["default"].createElement("svg", {
104
- role: "img",
105
- xmlns: "http://www.w3.org/2000/svg",
106
- height: "24px",
107
- viewBox: "0 0 24 24",
108
- width: "24px",
109
- fill: "currentColor"
110
- }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("rect", {
111
- fill: "none",
112
- height: "24",
113
- width: "24"
114
- })), /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
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"
116
- }), /*#__PURE__*/_react["default"].createElement("polygon", {
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"
118
- }))))
19
+ var _utils = require("../common/utils");
20
+ var _Icons = _interopRequireDefault(require("./Icons"));
21
+ var _Listbox = _interopRequireDefault(require("./Listbox"));
22
+ var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
23
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
24
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
25
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
26
+ var isOptionGroup = function isOptionGroup(option) {
27
+ return "options" in option && option.options != null;
119
28
  };
120
-
121
- var getNotOptionalErrorMessage = function getNotOptionalErrorMessage() {
122
- return "This field is required. Please, enter a value.";
29
+ var isArrayOfOptionGroups = function isArrayOfOptionGroups(options) {
30
+ return isOptionGroup(options[0]);
31
+ };
32
+ var groupsHaveOptions = function groupsHaveOptions(filteredOptions) {
33
+ return isArrayOfOptionGroups(filteredOptions) ? filteredOptions.some(function (groupOption) {
34
+ var _groupOption$options;
35
+ return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
36
+ }) : true;
37
+ };
38
+ var canOpenOptions = function canOpenOptions(options, disabled) {
39
+ return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions(options);
123
40
  };
124
-
125
41
  var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, searchValue) {
126
42
  if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
127
- if (options[0].options) return options.map(function (optionGroup) {
43
+ if (isArrayOfOptionGroups(options)) return options.map(function (optionGroup) {
128
44
  var group = {
129
45
  label: optionGroup.label,
130
46
  options: optionGroup.options.filter(function (option) {
@@ -137,53 +53,43 @@ var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, se
137
53
  });
138
54
  }
139
55
  };
140
-
141
56
  var getLastOptionIndex = function getLastOptionIndex(options, filteredOptions, searchable, optional, multiple) {
142
57
  var last = 0;
143
-
144
58
  var reducer = function reducer(acc, current) {
145
59
  var _current$options;
146
-
147
60
  return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
148
61
  };
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;
62
+ if (searchable && (filteredOptions === null || filteredOptions === void 0 ? void 0 : filteredOptions.length) > 0) isArrayOfOptionGroups(filteredOptions) ? last = filteredOptions.reduce(reducer, 0) - 1 : last = filteredOptions.length - 1;else if ((options === null || options === void 0 ? void 0 : options.length) > 0) isArrayOfOptionGroups(options) ? last = options.reduce(reducer, 0) - 1 : last = options.length - 1;
151
63
  return optional && !multiple ? last + 1 : last;
152
64
  };
153
-
154
- var getSelectedOption = function getSelectedOption(options, multiple, optional, optionalEmptyOption, value, innerValue) {
155
- var val = value !== null && value !== void 0 ? value : innerValue;
65
+ var getSelectedOption = function getSelectedOption(value, options, multiple, optional, optionalItem) {
156
66
  var selectedOption = multiple ? [] : {};
157
67
  var singleSelectionIndex;
158
-
159
68
  if (multiple) {
160
69
  if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
161
70
  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);
71
+ if (isOptionGroup(option)) option.options.forEach(function (singleOption) {
72
+ if (value.includes(singleOption.value) && Array.isArray(selectedOption)) selectedOption.push(singleOption);
73
+ });else if (value.includes(option.value) && Array.isArray(selectedOption)) selectedOption.push(option);
167
74
  });
168
75
  }
169
76
  } else {
170
- if (optional && val === "") {
171
- selectedOption = optionalEmptyOption;
77
+ if (optional && value === "") {
78
+ selectedOption = optionalItem;
172
79
  singleSelectionIndex = 0;
173
80
  } else if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
174
81
  var group_index = 0;
175
82
  options.some(function (option, index) {
176
- if (option.options) {
83
+ if (isOptionGroup(option)) {
177
84
  option.options.some(function (singleOption) {
178
- if (singleOption.value === val) {
85
+ if (singleOption.value === value) {
179
86
  selectedOption = singleOption;
180
87
  singleSelectionIndex = optional ? group_index + 1 : group_index;
181
88
  return true;
182
89
  }
183
-
184
90
  group_index++;
185
91
  });
186
- } else if (option.value === val) {
92
+ } else if (option.value === value) {
187
93
  selectedOption = option;
188
94
  singleSelectionIndex = optional ? index + 1 : index;
189
95
  return true;
@@ -191,74 +97,96 @@ var getSelectedOption = function getSelectedOption(options, multiple, optional,
191
97
  });
192
98
  }
193
99
  }
194
-
195
100
  return {
196
101
  selectedOption: selectedOption,
197
102
  singleSelectionIndex: singleSelectionIndex
198
103
  };
199
104
  };
200
-
201
- var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
105
+ var getSelectedOptionLabel = function getSelectedOptionLabel(placeholder, selectedOption) {
202
106
  var _selectedOption$label;
203
-
107
+ if (Array.isArray(selectedOption)) return selectedOption.length === 0 ? placeholder : selectedOption.map(function (option) {
108
+ return option.label;
109
+ }).join(", ");else return (_selectedOption$label = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _selectedOption$label !== void 0 ? _selectedOption$label : placeholder;
110
+ };
111
+ var notOptionalCheck = function notOptionalCheck(value, multiple, optional) {
112
+ return !optional && (multiple ? value.length === 0 : value === "");
113
+ };
114
+ var useWidth = function useWidth(target) {
115
+ var _useState = (0, _react.useState)(0),
116
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
117
+ width = _useState2[0],
118
+ setWidth = _useState2[1];
119
+ (0, _react.useEffect)(function () {
120
+ if (target != null) {
121
+ setWidth(target.getBoundingClientRect().width);
122
+ var triggerObserver = new ResizeObserver(function (entries) {
123
+ var rect = entries[0].target.getBoundingClientRect();
124
+ setWidth(rect === null || rect === void 0 ? void 0 : rect.width);
125
+ });
126
+ triggerObserver.observe(target);
127
+ return function () {
128
+ triggerObserver.unobserve(target);
129
+ };
130
+ }
131
+ }, [target]);
132
+ return width;
133
+ };
134
+ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
135
+ var _ref4;
204
136
  var label = _ref.label,
205
- _ref$name = _ref.name,
206
- name = _ref$name === void 0 ? "" : _ref$name,
207
- value = _ref.value,
208
- options = _ref.options,
209
- helperText = _ref.helperText,
210
- _ref$placeholder = _ref.placeholder,
211
- placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
212
- _ref$disabled = _ref.disabled,
213
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
214
- _ref$optional = _ref.optional,
215
- optional = _ref$optional === void 0 ? false : _ref$optional,
216
- _ref$searchable = _ref.searchable,
217
- searchable = _ref$searchable === void 0 ? false : _ref$searchable,
218
- _ref$multiple = _ref.multiple,
219
- multiple = _ref$multiple === void 0 ? false : _ref$multiple,
220
- onChange = _ref.onChange,
221
- onBlur = _ref.onBlur,
222
- error = _ref.error,
223
- margin = _ref.margin,
224
- _ref$size = _ref.size,
225
- size = _ref$size === void 0 ? "medium" : _ref$size,
226
- _ref$tabIndex = _ref.tabIndex,
227
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
228
-
229
- var _useState = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
230
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
231
- selectId = _useState2[0];
232
-
137
+ _ref$name = _ref.name,
138
+ name = _ref$name === void 0 ? "" : _ref$name,
139
+ defaultValue = _ref.defaultValue,
140
+ value = _ref.value,
141
+ options = _ref.options,
142
+ helperText = _ref.helperText,
143
+ _ref$placeholder = _ref.placeholder,
144
+ placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
145
+ _ref$disabled = _ref.disabled,
146
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
147
+ _ref$optional = _ref.optional,
148
+ optional = _ref$optional === void 0 ? false : _ref$optional,
149
+ _ref$searchable = _ref.searchable,
150
+ searchable = _ref$searchable === void 0 ? false : _ref$searchable,
151
+ _ref$multiple = _ref.multiple,
152
+ multiple = _ref$multiple === void 0 ? false : _ref$multiple,
153
+ onChange = _ref.onChange,
154
+ onBlur = _ref.onBlur,
155
+ error = _ref.error,
156
+ margin = _ref.margin,
157
+ _ref$size = _ref.size,
158
+ size = _ref$size === void 0 ? "medium" : _ref$size,
159
+ _ref$tabIndex = _ref.tabIndex,
160
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
161
+ var _useState3 = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
162
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
163
+ selectId = _useState4[0];
233
164
  var selectLabelId = "label-".concat(selectId);
234
165
  var errorId = "error-".concat(selectId);
235
166
  var optionsListId = "".concat(selectId, "-listbox");
236
-
237
- var _useState3 = (0, _react.useState)(multiple ? [] : ""),
238
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
239
- innerValue = _useState4[0],
240
- setInnerValue = _useState4[1];
241
-
242
- var _useState5 = (0, _react.useState)(""),
243
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
244
- searchValue = _useState6[0],
245
- setSearchValue = _useState6[1];
246
-
247
- var _useState7 = (0, _react.useState)(-1),
248
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
249
- visualFocusIndex = _useState8[0],
250
- changeVisualFocusIndex = _useState8[1];
251
-
252
- var _useState9 = (0, _react.useState)(false),
253
- _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
254
- isOpen = _useState10[0],
255
- changeIsOpen = _useState10[1];
256
-
257
- var selectContainerRef = (0, _react.useRef)(null);
167
+ var _useState5 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
168
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
169
+ innerValue = _useState6[0],
170
+ setInnerValue = _useState6[1];
171
+ var _useState7 = (0, _react.useState)(""),
172
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
173
+ searchValue = _useState8[0],
174
+ setSearchValue = _useState8[1];
175
+ var _useState9 = (0, _react.useState)(-1),
176
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
177
+ visualFocusIndex = _useState10[0],
178
+ changeVisualFocusIndex = _useState10[1];
179
+ var _useState11 = (0, _react.useState)(false),
180
+ _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
181
+ isOpen = _useState12[0],
182
+ changeIsOpen = _useState12[1];
183
+ var selectRef = (0, _react.useRef)(null);
258
184
  var selectSearchInputRef = (0, _react.useRef)(null);
259
- var selectOptionsListRef = (0, _react.useRef)(null);
185
+ var selectedOptionLabelRef = (0, _react.useRef)(null);
186
+ var width = useWidth(selectRef.current);
260
187
  var colorsTheme = (0, _useTheme["default"])();
261
- var optionalEmptyOption = {
188
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
189
+ var optionalItem = {
262
190
  label: placeholder,
263
191
  value: ""
264
192
  };
@@ -267,147 +195,91 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
267
195
  }, [options, searchValue]);
268
196
  var lastOptionIndex = (0, _react.useMemo)(function () {
269
197
  return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
270
- }, [searchable, optional, multiple, filteredOptions, options]);
271
-
198
+ }, [options, filteredOptions, searchable, optional, multiple]);
272
199
  var _useMemo = (0, _react.useMemo)(function () {
273
- return getSelectedOption(options, multiple, optional, optionalEmptyOption, value, innerValue);
274
- }, [options, multiple, optional, value, innerValue]),
275
- selectedOption = _useMemo.selectedOption,
276
- singleSelectionIndex = _useMemo.singleSelectionIndex;
277
-
278
- var notOptionalCheck = function notOptionalCheck(value) {
279
- return value === "" && !optional;
280
- };
281
-
282
- var notOptionalMultipleCheck = function notOptionalMultipleCheck() {
283
- return (value !== null && value !== void 0 ? value : innerValue).length === 0 && !optional;
284
- };
285
-
286
- var canBeOpenOptions = function canBeOpenOptions() {
287
- return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions();
288
- };
289
-
290
- var groupsHaveOptions = function groupsHaveOptions() {
291
- return options[0].hasOwnProperty("options") ? options[0].options ? options.some(function (groupOption) {
292
- return groupOption.options.length > 0;
293
- }) : false : true;
294
- };
295
-
296
- var filteredGroupsHaveOptions = function filteredGroupsHaveOptions() {
297
- return filteredOptions !== null && filteredOptions !== void 0 && filteredOptions[0].options ? filteredOptions.some(function (groupOption) {
298
- var _groupOption$options;
299
-
300
- return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
301
- }) : true;
302
- };
303
-
200
+ return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
201
+ }, [value, innerValue, options, multiple, optional, optionalItem]),
202
+ selectedOption = _useMemo.selectedOption,
203
+ singleSelectionIndex = _useMemo.singleSelectionIndex;
304
204
  var openOptions = function openOptions() {
305
- if (!isOpen && canBeOpenOptions()) changeIsOpen(true);
205
+ if (!isOpen && canOpenOptions(options, disabled)) changeIsOpen(true);
306
206
  };
307
-
308
207
  var closeOptions = function closeOptions() {
309
208
  if (isOpen) {
310
209
  changeIsOpen(false);
311
210
  changeVisualFocusIndex(-1);
312
211
  }
313
212
  };
314
-
315
213
  var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
214
+ var newValue;
316
215
  if (multiple) {
317
- var _res, _res2;
318
-
319
- var res;
320
- if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) value ? res = value.filter(function (optionVal) {
216
+ var _ref2, _ref3;
217
+ if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) newValue = ((_ref2 = value && Array.isArray(value) && value) !== null && _ref2 !== void 0 ? _ref2 : innerValue && Array.isArray(innerValue) && innerValue).filter(function (optionVal) {
321
218
  return optionVal !== newOption.value;
322
- }) : setInnerValue(function (previous) {
323
- return previous.filter(function (optionVal) {
324
- return optionVal !== newOption.value;
325
- });
326
- });else value ? res = [].concat((0, _toConsumableArray2["default"])(value), [newOption.value]) : setInnerValue(function (previous) {
327
- return [].concat((0, _toConsumableArray2["default"])(previous), [newOption.value]);
328
- });
329
- if (notOptionalMultipleCheck(newOption.value)) onChange === null || onChange === void 0 ? void 0 : onChange({
330
- value: (_res = res) !== null && _res !== void 0 ? _res : innerValue,
331
- error: getNotOptionalErrorMessage()
332
- });else onChange === null || onChange === void 0 ? void 0 : onChange({
333
- value: (_res2 = res) !== null && _res2 !== void 0 ? _res2 : innerValue,
334
- error: null
335
- });
336
- } else {
337
- value !== null && value !== void 0 ? value : setInnerValue(newOption.value);
338
- if (notOptionalCheck(newOption.value)) onChange === null || onChange === void 0 ? void 0 : onChange({
339
- value: newOption.value,
340
- error: getNotOptionalErrorMessage()
341
- });else onChange === null || onChange === void 0 ? void 0 : onChange({
342
- value: newOption.value,
343
- error: null
344
- });
345
- }
219
+ });else newValue = [].concat((0, _toConsumableArray2["default"])((_ref3 = value && Array.isArray(value) && value) !== null && _ref3 !== void 0 ? _ref3 : innerValue && Array.isArray(innerValue) && innerValue), [newOption.value]);
220
+ } else newValue = newOption.value;
221
+ value !== null && value !== void 0 ? value : setInnerValue(newValue);
222
+ notOptionalCheck(newValue, multiple, optional) ? onChange === null || onChange === void 0 ? void 0 : onChange({
223
+ value: newValue,
224
+ error: translatedLabels.formFields.requiredValueErrorMessage
225
+ }) : onChange === null || onChange === void 0 ? void 0 : onChange({
226
+ value: newValue
227
+ });
346
228
  };
347
-
348
229
  var handleSelectOnClick = function handleSelectOnClick() {
349
230
  searchable && selectSearchInputRef.current.focus();
350
-
351
231
  if (isOpen) {
352
232
  closeOptions();
353
233
  setSearchValue("");
354
234
  } else openOptions();
355
235
  };
356
-
357
236
  var handleSelectOnFocus = function handleSelectOnFocus(event) {
358
237
  if (!event.currentTarget.contains(event.relatedTarget)) searchable && selectSearchInputRef.current.focus();
359
238
  };
360
-
361
239
  var handleSelectOnBlur = function handleSelectOnBlur(event) {
362
- // focus leaves container (outside, not to childs)
240
+ // focus leaves container (outside, not to a child)
363
241
  if (!event.currentTarget.contains(event.relatedTarget)) {
364
242
  closeOptions();
365
243
  setSearchValue("");
366
- if (notOptionalCheck(value !== null && value !== void 0 ? value : innerValue)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
367
- value: value !== null && value !== void 0 ? value : innerValue,
368
- error: getNotOptionalErrorMessage()
369
- });else onBlur === null || onBlur === void 0 ? void 0 : onBlur({
370
- value: value !== null && value !== void 0 ? value : innerValue,
371
- error: null
244
+ var currentValue = value !== null && value !== void 0 ? value : innerValue;
245
+ notOptionalCheck(currentValue, multiple, optional) ? onBlur === null || onBlur === void 0 ? void 0 : onBlur({
246
+ value: currentValue,
247
+ error: translatedLabels.formFields.requiredValueErrorMessage
248
+ }) : onBlur === null || onBlur === void 0 ? void 0 : onBlur({
249
+ value: currentValue
372
250
  });
373
251
  }
374
252
  };
375
-
376
253
  var handleSelectOnKeyDown = function handleSelectOnKeyDown(event) {
377
- switch (event.keyCode) {
378
- case 40:
379
- // Arrow Down
254
+ switch (event.key) {
255
+ case "Down":
256
+ case "ArrowDown":
380
257
  event.preventDefault();
381
258
  singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
382
259
  if (visualFocusIndex < lastOptionIndex) return visualFocusIndex + 1;else if (visualFocusIndex === lastOptionIndex) return 0;
383
260
  });
384
261
  openOptions();
385
262
  break;
386
-
387
- case 38:
388
- // Arrow Up
263
+ case "Up":
264
+ case "ArrowUp":
389
265
  event.preventDefault();
390
266
  singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
391
267
  return visualFocusIndex === 0 || visualFocusIndex === -1 ? lastOptionIndex : visualFocusIndex - 1;
392
268
  });
393
269
  openOptions();
394
270
  break;
395
-
396
- case 27:
397
- // Esc
271
+ case "Esc":
272
+ case "Escape":
398
273
  event.preventDefault();
399
274
  closeOptions();
400
275
  setSearchValue("");
401
276
  break;
402
-
403
- case 13:
404
- // Enter
277
+ case "Enter":
405
278
  if (isOpen && visualFocusIndex >= 0) {
406
279
  var accLength = optional && !multiple ? 1 : 0;
407
-
408
280
  if (searchable) {
409
281
  if (filteredOptions.length > 0) {
410
- if (optional && !multiple && visualFocusIndex === 0 && filteredGroupsHaveOptions()) handleSelectChangeValue(optionalEmptyOption);else filteredOptions[0].options ? filteredGroupsHaveOptions() && filteredOptions.some(function (groupOption) {
282
+ if (optional && !multiple && visualFocusIndex === 0 && groupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(filteredOptions) ? groupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
411
283
  var groupLength = accLength + groupOption.options.length;
412
284
  groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
413
285
  accLength = groupLength;
@@ -415,132 +287,48 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
415
287
  }) : handleSelectChangeValue(filteredOptions[visualFocusIndex - accLength]);
416
288
  }
417
289
  } else {
418
- if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalEmptyOption);else options[0].options ? options.some(function (groupOption) {
290
+ if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(options) ? options.some(function (groupOption) {
419
291
  var groupLength = accLength + groupOption.options.length;
420
292
  groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
421
293
  accLength = groupLength;
422
294
  return groupLength > visualFocusIndex;
423
295
  }) : handleSelectChangeValue(options[visualFocusIndex - accLength]);
424
296
  }
425
-
426
297
  !multiple && closeOptions();
427
298
  setSearchValue("");
428
299
  }
429
-
430
300
  break;
431
301
  }
432
302
  };
433
-
434
303
  var handleSearchIOnChange = function handleSearchIOnChange(event) {
435
304
  setSearchValue(event.target.value);
436
305
  changeVisualFocusIndex(-1);
437
306
  openOptions();
438
307
  };
439
-
440
308
  var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
441
309
  event.stopPropagation();
442
310
  value !== null && value !== void 0 ? value : setInnerValue([]);
443
- onChange === null || onChange === void 0 ? void 0 : onChange({
311
+ !optional ? onChange === null || onChange === void 0 ? void 0 : onChange({
444
312
  value: [],
445
- error: getNotOptionalErrorMessage()
313
+ error: translatedLabels.formFields.requiredValueErrorMessage
314
+ }) : onChange === null || onChange === void 0 ? void 0 : onChange({
315
+ value: []
446
316
  });
447
317
  };
448
-
449
318
  var handleClearSearchActionOnClick = function handleClearSearchActionOnClick(event) {
450
319
  event.stopPropagation();
451
320
  setSearchValue("");
452
321
  };
453
-
454
- (0, _react.useLayoutEffect)(function () {
455
- if (isOpen && singleSelectionIndex) {
456
- var _listEl$scrollTo;
457
-
458
- var listEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : selectOptionsListRef.current;
459
- var selectedListOptionEl = listEl === null || listEl === void 0 ? void 0 : listEl.querySelector("[aria-selected='true']");
460
- listEl === null || listEl === void 0 ? void 0 : (_listEl$scrollTo = listEl.scrollTo) === null || _listEl$scrollTo === void 0 ? void 0 : _listEl$scrollTo.call(listEl, {
461
- top: (selectedListOptionEl === null || selectedListOptionEl === void 0 ? void 0 : selectedListOptionEl.offsetTop) - (listEl === null || listEl === void 0 ? void 0 : listEl.clientHeight) / 2
462
- });
463
- }
464
- }, [isOpen]);
465
- (0, _react.useLayoutEffect)(function () {
466
- var _selectOptionsListRef, _visualFocusedOptionE;
467
-
468
- var visualFocusedOptionEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : (_selectOptionsListRef = selectOptionsListRef.current) === null || _selectOptionsListRef === void 0 ? void 0 : _selectOptionsListRef.querySelectorAll("[role='option']")[visualFocusIndex];
469
- visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
470
- block: "nearest",
471
- inline: "start"
472
- });
473
- }, [visualFocusIndex]);
474
-
475
- var Option = function Option(_ref2) {
476
- var option = _ref2.option,
477
- index = _ref2.index,
478
- _ref2$isGroupedOption = _ref2.isGroupedOption,
479
- isGroupedOption = _ref2$isGroupedOption === void 0 ? false : _ref2$isGroupedOption;
480
- var isSelected = multiple ? (value !== null && value !== void 0 ? value : innerValue).includes(option.value) : (value !== null && value !== void 0 ? value : innerValue) === option.value;
481
- var isLastOption = index === lastOptionIndex;
482
- return /*#__PURE__*/_react["default"].createElement(OptionItem, {
483
- id: "option-".concat(index),
484
- onClick: function onClick() {
485
- handleSelectChangeValue(option);
486
- !multiple && closeOptions();
487
- setSearchValue("");
488
- },
489
- visualFocused: visualFocusIndex === index,
490
- selected: isSelected,
491
- role: "option",
492
- "aria-selected": isSelected
493
- }, /*#__PURE__*/_react["default"].createElement(StyledOption, {
494
- visualFocused: visualFocusIndex === index,
495
- selected: isSelected,
496
- last: isLastOption,
497
- grouped: isGroupedOption,
498
- multiple: multiple
499
- }, multiple && /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
500
- tabIndex: -1,
501
- checked: isSelected
502
- }), option.icon && /*#__PURE__*/_react["default"].createElement(OptionIcon, {
503
- grouped: isGroupedOption,
504
- multiple: multiple,
505
- role: !(typeof option.icon === "string") && "img"
506
- }, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(OptionIconImg, {
507
- src: option.icon
508
- }) : option.icon), /*#__PURE__*/_react["default"].createElement(OptionContent, {
509
- grouped: isGroupedOption,
510
- hasIcon: option.icon,
511
- multiple: multiple
512
- }, /*#__PURE__*/_react["default"].createElement(OptionLabel, null, option.label), !multiple && isSelected && /*#__PURE__*/_react["default"].createElement(OptionSelectedIndicator, null, selectIcons.selected))));
513
- };
514
-
515
- var globalIndex = optional && !multiple ? 0 : -1; // index for options, starting from 0 to options.length -1
516
-
517
- var mapOptionFunc = function mapOptionFunc(option, mapIndex) {
518
- if (option.options) {
519
- var groupId = "group-".concat(mapIndex);
520
- return option.options.length > 0 && /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement(GroupList, {
521
- role: "group",
522
- "aria-labelledby": groupId
523
- }, /*#__PURE__*/_react["default"].createElement(GroupLabel, {
524
- role: "presentation",
525
- id: groupId
526
- }, option.label), option.options.map(function (singleOption) {
527
- globalIndex++;
528
- return /*#__PURE__*/_react["default"].createElement(Option, {
529
- option: singleOption,
530
- index: globalIndex,
531
- isGroupedOption: true
532
- });
533
- })));
534
- } else {
535
- globalIndex++;
536
- return /*#__PURE__*/_react["default"].createElement(Option, {
537
- key: "option-".concat(option.value),
538
- option: option,
539
- index: globalIndex
540
- });
322
+ var handleOptionOnClick = (0, _react.useCallback)(function (option) {
323
+ handleSelectChangeValue(option);
324
+ !multiple && closeOptions();
325
+ setSearchValue("");
326
+ }, [handleSelectChangeValue, closeOptions, multiple]);
327
+ (0, _react.useEffect)(function () {
328
+ if ((selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current) != null) {
329
+ if ((selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current.scrollWidth) > (selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current.clientWidth)) selectedOptionLabelRef.current.title = getSelectedOptionLabel(placeholder, selectedOption);else selectedOptionLabelRef.current.title = "";
541
330
  }
542
- };
543
-
331
+ }, [placeholder, selectedOption]);
544
332
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
545
333
  theme: colorsTheme.select
546
334
  }, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
@@ -551,12 +339,17 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
551
339
  id: selectLabelId,
552
340
  disabled: disabled,
553
341
  onClick: function onClick() {
554
- selectContainerRef.current.focus();
342
+ selectRef.current.focus();
555
343
  },
556
344
  helperText: helperText
557
- }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, "(Optional)")), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
345
+ }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, translatedLabels.formFields.optionalLabel)), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
558
346
  disabled: disabled
559
- }, helperText), /*#__PURE__*/_react["default"].createElement(Select, {
347
+ }, helperText), /*#__PURE__*/_react["default"].createElement(Popover.Root, {
348
+ open: isOpen
349
+ }, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
350
+ asChild: true,
351
+ type: undefined
352
+ }, /*#__PURE__*/_react["default"].createElement(Select, {
560
353
  id: selectId,
561
354
  disabled: disabled,
562
355
  error: error,
@@ -564,19 +357,19 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
564
357
  onClick: handleSelectOnClick,
565
358
  onFocus: handleSelectOnFocus,
566
359
  onKeyDown: handleSelectOnKeyDown,
567
- ref: selectContainerRef,
568
- tabIndex: tabIndex,
360
+ ref: selectRef,
361
+ tabIndex: disabled ? -1 : tabIndex,
569
362
  role: "combobox",
570
363
  "aria-controls": optionsListId,
571
364
  "aria-disabled": disabled,
572
365
  "aria-expanded": isOpen,
573
366
  "aria-haspopup": "listbox",
574
- "aria-labelledby": selectLabelId,
367
+ "aria-labelledby": label ? selectLabelId : undefined,
575
368
  "aria-activedescendant": visualFocusIndex >= 0 ? "option-".concat(visualFocusIndex) : undefined,
576
- "aria-invalid": error ? "true" : "false",
369
+ "aria-invalid": error ? true : false,
577
370
  "aria-errormessage": error ? errorId : undefined,
578
- "aria-required": !optional
579
- }, multiple && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
371
+ "aria-required": !disabled && !optional
372
+ }, multiple && Array.isArray(selectedOption) && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
580
373
  disabled: disabled
581
374
  }, selectedOption.length), /*#__PURE__*/_react["default"].createElement(ClearOptionsAction, {
582
375
  disabled: disabled,
@@ -586,11 +379,12 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
586
379
  },
587
380
  onClick: handleClearOptionsActionOnClick,
588
381
  tabIndex: -1,
589
- title: "Clear selection",
590
- "aria-label": "Clear selection"
591
- }, selectIcons.clear)), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
382
+ title: translatedLabels.select.actionClearSelectionTitle,
383
+ "aria-label": translatedLabels.select.actionClearSelectionTitle
384
+ }, _Icons["default"].clear)), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
592
385
  name: name,
593
- value: multiple ? (value !== null && value !== void 0 ? value : innerValue).join(", ") : value !== null && value !== void 0 ? value : innerValue,
386
+ disabled: disabled,
387
+ value: multiple ? ((_ref4 = value && Array.isArray(value) && value) !== null && _ref4 !== void 0 ? _ref4 : innerValue && Array.isArray(innerValue) && innerValue).join(",") : value !== null && value !== void 0 ? value : innerValue,
594
388
  readOnly: true,
595
389
  "aria-hidden": "true"
596
390
  }), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
@@ -598,59 +392,66 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
598
392
  disabled: disabled,
599
393
  onChange: handleSearchIOnChange,
600
394
  ref: selectSearchInputRef,
601
- autoComplete: "off",
602
- autoCorrect: "off",
603
- size: "1"
604
- }), (!searchable || searchValue === "") && (multiple ? /*#__PURE__*/_react["default"].createElement(SelectedOption, {
395
+ autoComplete: "nope",
396
+ autoCorrect: "nope",
397
+ size: 1
398
+ }), (!searchable || searchValue === "") && /*#__PURE__*/_react["default"].createElement(SelectedOption, {
605
399
  disabled: disabled,
606
- atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || searchable && isOpen
607
- }, /*#__PURE__*/_react["default"].createElement(OptionLabel, null, selectedOption.map(function (option) {
608
- return option.label;
609
- }).join(", ")), selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
610
- disabled: disabled,
611
- atBackground: !(value !== null && value !== void 0 ? value : innerValue) || searchable && isOpen
612
- }, /*#__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, {
400
+ atBackground: (multiple ? (value !== null && value !== void 0 ? value : innerValue).length === 0 : !(value !== null && value !== void 0 ? value : innerValue)) || searchable && isOpen
401
+ }, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, {
402
+ ref: selectedOptionLabelRef
403
+ }, getSelectedOptionLabel(placeholder, selectedOption)))), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, _Icons["default"].error), searchable && searchValue.length > 0 && /*#__PURE__*/_react["default"].createElement(ClearSearchAction, {
613
404
  onMouseDown: function onMouseDown(event) {
614
405
  // Avoid input to lose focus
615
406
  event.preventDefault();
616
407
  },
617
408
  onClick: handleClearSearchActionOnClick,
618
409
  tabIndex: -1,
619
- title: "Clear search",
620
- "aria-label": "Clear search"
621
- }, selectIcons.clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
410
+ title: translatedLabels.select.actionClearSearchTitle,
411
+ "aria-label": translatedLabels.select.actionClearSearchTitle
412
+ }, _Icons["default"].clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
622
413
  disabled: disabled
623
- }, isOpen ? selectIcons.arrowUp : selectIcons.arrowDown), isOpen && /*#__PURE__*/_react["default"].createElement(OptionsList, {
624
- id: optionsListId,
625
- onClick: function onClick(event) {
626
- event.stopPropagation();
414
+ }, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown))), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
415
+ sideOffset: 4,
416
+ style: {
417
+ zIndex: "2147483647"
627
418
  },
628
- onMouseDown: function onMouseDown(event) {
419
+ onOpenAutoFocus: function onOpenAutoFocus(event) {
420
+ // Avoid select to lose focus when the list is opened
629
421
  event.preventDefault();
630
422
  },
631
- ref: selectOptionsListRef,
632
- role: "listbox",
633
- "aria-multiselectable": multiple
634
- }, 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, {
635
- option: optionalEmptyOption,
636
- index: 0
637
- }), searchable ? filteredOptions.map(mapOptionFunc) : options.map(mapOptionFunc))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
423
+ onCloseAutoFocus: function onCloseAutoFocus(event) {
424
+ // Avoid select to lose focus when the list is closed
425
+ event.preventDefault();
426
+ }
427
+ }, /*#__PURE__*/_react["default"].createElement(_Listbox["default"], {
428
+ id: optionsListId,
429
+ currentValue: value !== null && value !== void 0 ? value : innerValue,
430
+ options: searchable ? filteredOptions : options,
431
+ visualFocusIndex: visualFocusIndex,
432
+ lastOptionIndex: lastOptionIndex,
433
+ multiple: multiple,
434
+ optional: optional,
435
+ optionalItem: optionalItem,
436
+ searchable: searchable,
437
+ handleOptionOnClick: handleOptionOnClick,
438
+ styles: {
439
+ width: width
440
+ }
441
+ })))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
638
442
  id: errorId,
639
443
  "aria-live": error ? "assertive" : "off"
640
444
  }, error)));
641
445
  });
642
-
643
446
  var sizes = {
644
447
  small: "240px",
645
448
  medium: "360px",
646
449
  large: "480px",
647
450
  fillParent: "100%"
648
451
  };
649
-
650
452
  var calculateWidth = function calculateWidth(margin, size) {
651
453
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
652
454
  };
653
-
654
455
  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) {
655
456
  return calculateWidth(props.margin, props.size);
656
457
  }, function (props) {
@@ -664,7 +465,6 @@ var SelectContainer = _styledComponents["default"].div(_templateObject || (_temp
664
465
  }, function (props) {
665
466
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
666
467
  });
667
-
668
468
  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) {
669
469
  return props.disabled ? props.theme.disabledColor : props.theme.labelFontColor;
670
470
  }, function (props) {
@@ -680,11 +480,9 @@ var Label = _styledComponents["default"].span(_templateObject2 || (_templateObje
680
480
  }, function (props) {
681
481
  return !props.helperText && "margin-bottom: 0.25rem";
682
482
  });
683
-
684
483
  var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
685
484
  return props.theme.optionalLabelFontWeight;
686
485
  });
687
-
688
486
  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) {
689
487
  return props.disabled ? props.theme.disabledColor : props.theme.helperTextFontColor;
690
488
  }, function (props) {
@@ -698,7 +496,6 @@ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templat
698
496
  }, function (props) {
699
497
  return props.theme.helperTextLineHeight;
700
498
  });
701
-
702
499
  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) {
703
500
  return props.disabled && "background-color: ".concat(props.theme.disabledInputBackgroundColor);
704
501
  }, function (props) {
@@ -710,11 +507,9 @@ var Select = _styledComponents["default"].div(_templateObject5 || (_templateObje
710
507
  }, function (props) {
711
508
  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 ");
712
509
  });
713
-
714
510
  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) {
715
511
  return props.theme.selectionIndicatorBorderColor;
716
512
  });
717
-
718
513
  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) {
719
514
  return !props.disabled && "background-color: ".concat(props.theme.selectionIndicatorBackgroundColor);
720
515
  }, function (props) {
@@ -732,10 +527,7 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_te
732
527
  }, function (props) {
733
528
  return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
734
529
  });
735
-
736
- 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) {
737
- return props.theme.fontFamily;
738
- }, function (props) {
530
+ 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) {
739
531
  return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
740
532
  }, function (props) {
741
533
  return props.disabled ? "transparent" : props.theme.enabledSelectionIndicatorActionBackgroundColor;
@@ -744,9 +536,7 @@ var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 ||
744
536
  }, function (props) {
745
537
  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 ");
746
538
  });
747
-
748
539
  var SearchableValueContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"])));
749
-
750
540
  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) {
751
541
  if (props.disabled) return props.theme.disabledColor;else if (props.atBackground) return props.theme.placeholderFontColor;else return props.theme.valueFontColor;
752
542
  }, function (props) {
@@ -758,10 +548,9 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_te
758
548
  }, function (props) {
759
549
  return props.theme.valueFontWeight;
760
550
  });
761
-
762
- var ValueInput = _styledComponents["default"].input(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
763
-
764
- 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) {
551
+ var SelectedOptionLabel = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
552
+ var ValueInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
553
+ 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) {
765
554
  return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
766
555
  }, function (props) {
767
556
  return props.theme.fontFamily;
@@ -772,22 +561,18 @@ var SearchInput = _styledComponents["default"].input(_templateObject12 || (_temp
772
561
  }, function (props) {
773
562
  return props.theme.valueFontWeight;
774
563
  });
775
-
776
- 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) {
564
+ 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) {
777
565
  return props.theme.errorIconColor;
778
566
  });
779
-
780
- 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) {
567
+ 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) {
781
568
  return props.theme.errorMessageColor;
782
569
  }, function (props) {
783
570
  return props.theme.fontFamily;
784
571
  });
785
-
786
- 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) {
572
+ 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) {
787
573
  return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
788
574
  });
789
-
790
- 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) {
575
+ 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) {
791
576
  return props.theme.fontFamily;
792
577
  }, function (props) {
793
578
  return props.theme.actionBackgroundColor;
@@ -802,68 +587,4 @@ var ClearSearchAction = _styledComponents["default"].button(_templateObject16 ||
802
587
  }, function (props) {
803
588
  return props.theme.activeActionIconColor;
804
589
  });
805
-
806
- 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) {
807
- return props.theme.listDialogBackgroundColor;
808
- }, function (props) {
809
- return props.theme.listDialogBorderColor;
810
- }, function (props) {
811
- return props.theme.listOptionFontColor;
812
- }, function (props) {
813
- return props.theme.fontFamily;
814
- }, function (props) {
815
- return props.theme.listOptionFontSize;
816
- }, function (props) {
817
- return props.theme.listOptionFontStyle;
818
- }, function (props) {
819
- return props.theme.listOptionFontWeight;
820
- });
821
-
822
- 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) {
823
- return props.theme.systemMessageFontColor;
824
- });
825
-
826
- 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"])));
827
-
828
- var GroupList = _styledComponents["default"].ul(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0;\n"])));
829
-
830
- 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) {
831
- return props.theme.listGroupLabelFontWeight;
832
- });
833
-
834
- 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) {
835
- return props.visualFocused && "box-shadow: inset 0 0 0 2px ".concat(props.theme.focusListOptionBorderColor, ";");
836
- }, function (props) {
837
- return props.selected && "background-color: ".concat(props.theme.selectedListOptionBackgroundColor);
838
- }, function (props) {
839
- return props.selected ? "background-color: ".concat(props.theme.selectedHoverListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedHoverListOptionBackgroundColor, ";");
840
- }, function (props) {
841
- return props.selected ? "background-color: ".concat(props.theme.selectedActiveListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedActiveListOptionBackgroundColor, ";");
842
- });
843
-
844
- 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) {
845
- return props.grouped && props.multiple && "padding-left: 16px;";
846
- }, function (props) {
847
- return props.last || props.visualFocused || props.selected ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
848
- });
849
-
850
- 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) {
851
- return props.grouped && !props.multiple && !props.hasIcon ? "padding-left: 16px;" : "padding-left: 8px;";
852
- });
853
-
854
- 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) {
855
- return props.grouped && !props.multiple ? "padding-left: 16px;" : "padding-left: 8px;";
856
- }, function (props) {
857
- return props.theme.listOptionIconColor;
858
- });
859
-
860
- var OptionIconImg = _styledComponents["default"].img(_templateObject26 || (_templateObject26 = (0, _taggedTemplateLiteral2["default"])(["\n width: 16px;\n height: 16px;\n"])));
861
-
862
- var OptionLabel = _styledComponents["default"].span(_templateObject27 || (_templateObject27 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
863
-
864
- 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) {
865
- return props.theme.selectedListOptionIconColor;
866
- });
867
-
868
- var _default = DxcSelect;
869
- exports["default"] = _default;
590
+ var _default = exports["default"] = DxcSelect;