@dxc-technology/halstack-react 0.0.0-ee10f17 → 0.0.0-efa7c74

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 (379) hide show
  1. package/BackgroundColorContext.js +50 -0
  2. package/ThemeContext.js +246 -0
  3. package/V3Select/V3Select.js +455 -0
  4. package/V3Select/index.d.ts +27 -0
  5. package/V3Textarea/V3Textarea.js +260 -0
  6. package/V3Textarea/index.d.ts +27 -0
  7. package/accordion/Accordion.d.ts +4 -0
  8. package/accordion/Accordion.js +258 -0
  9. package/accordion/types.d.ts +68 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +170 -0
  13. package/accordion-group/types.d.ts +72 -0
  14. package/accordion-group/types.js +5 -0
  15. package/alert/Alert.d.ts +4 -0
  16. package/alert/Alert.js +290 -0
  17. package/alert/Alert.stories.tsx +170 -0
  18. package/alert/types.d.ts +49 -0
  19. package/alert/types.js +5 -0
  20. package/badge/Badge.js +59 -0
  21. package/box/Box.d.ts +4 -0
  22. package/box/Box.js +126 -0
  23. package/box/Box.stories.tsx +132 -0
  24. package/box/types.d.ts +43 -0
  25. package/box/types.js +5 -0
  26. package/button/Button.d.ts +4 -0
  27. package/button/Button.js +179 -0
  28. package/button/Button.stories.tsx +276 -0
  29. package/button/types.d.ts +57 -0
  30. package/button/types.js +5 -0
  31. package/card/Card.d.ts +4 -0
  32. package/card/Card.js +164 -0
  33. package/card/Card.stories.tsx +201 -0
  34. package/card/ice-cream.jpg +0 -0
  35. package/card/types.d.ts +67 -0
  36. package/card/types.js +5 -0
  37. package/checkbox/Checkbox.d.ts +4 -0
  38. package/checkbox/Checkbox.js +253 -0
  39. package/checkbox/Checkbox.stories.tsx +192 -0
  40. package/checkbox/types.d.ts +60 -0
  41. package/checkbox/types.js +5 -0
  42. package/chip/Chip.js +221 -0
  43. package/chip/Chip.stories.tsx +121 -0
  44. package/chip/index.d.ts +22 -0
  45. package/{dist/common → common}/OpenSans.css +0 -0
  46. package/common/RequiredComponent.js +32 -0
  47. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  48. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  49. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  50. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  51. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  52. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  53. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  54. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  55. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  56. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  57. package/common/utils.js +22 -0
  58. package/common/variables.js +1577 -0
  59. package/{dist/date → date}/Date.js +121 -90
  60. package/date/index.d.ts +27 -0
  61. package/date-input/DateInput.d.ts +4 -0
  62. package/date-input/DateInput.js +361 -0
  63. package/date-input/DateInput.stories.tsx +138 -0
  64. package/date-input/types.d.ts +100 -0
  65. package/date-input/types.js +5 -0
  66. package/dialog/Dialog.d.ts +4 -0
  67. package/dialog/Dialog.js +165 -0
  68. package/dialog/Dialog.stories.tsx +212 -0
  69. package/dialog/types.d.ts +43 -0
  70. package/dialog/types.js +5 -0
  71. package/dropdown/Dropdown.d.ts +4 -0
  72. package/dropdown/Dropdown.js +417 -0
  73. package/dropdown/types.d.ts +89 -0
  74. package/dropdown/types.js +5 -0
  75. package/file-input/FileInput.d.ts +4 -0
  76. package/file-input/FileInput.js +511 -0
  77. package/file-input/FileItem.d.ts +14 -0
  78. package/file-input/FileItem.js +182 -0
  79. package/file-input/types.d.ts +87 -0
  80. package/file-input/types.js +5 -0
  81. package/footer/Footer.d.ts +4 -0
  82. package/footer/Footer.js +266 -0
  83. package/footer/Footer.stories.jsx +151 -0
  84. package/footer/Icons.js +77 -0
  85. package/footer/types.d.ts +61 -0
  86. package/footer/types.js +5 -0
  87. package/header/Header.d.ts +7 -0
  88. package/header/Header.js +324 -0
  89. package/header/Header.stories.tsx +162 -0
  90. package/header/Icons.js +34 -0
  91. package/header/types.d.ts +47 -0
  92. package/header/types.js +5 -0
  93. package/heading/Heading.d.ts +4 -0
  94. package/heading/Heading.js +159 -0
  95. package/heading/Heading.stories.tsx +53 -0
  96. package/heading/types.d.ts +33 -0
  97. package/heading/types.js +5 -0
  98. package/input-text/Icons.js +22 -0
  99. package/input-text/InputText.js +611 -0
  100. package/input-text/index.d.ts +36 -0
  101. package/layout/ApplicationLayout.js +235 -0
  102. package/layout/Icons.js +55 -0
  103. package/link/Link.d.ts +3 -0
  104. package/link/Link.js +161 -0
  105. package/link/Link.stories.tsx +146 -0
  106. package/link/types.d.ts +74 -0
  107. package/link/types.js +5 -0
  108. package/main.d.ts +44 -0
  109. package/{dist/main.js → main.js} +143 -43
  110. package/number-input/NumberInput.d.ts +4 -0
  111. package/number-input/NumberInput.js +86 -0
  112. package/number-input/NumberInput.stories.tsx +115 -0
  113. package/number-input/NumberInputContext.d.ts +4 -0
  114. package/{dist/ThemeContext.js → number-input/NumberInputContext.js} +6 -2
  115. package/number-input/numberInputContextTypes.d.ts +19 -0
  116. package/number-input/numberInputContextTypes.js +5 -0
  117. package/number-input/types.d.ts +117 -0
  118. package/number-input/types.js +5 -0
  119. package/package.json +39 -24
  120. package/paginator/Icons.js +66 -0
  121. package/paginator/Paginator.d.ts +4 -0
  122. package/paginator/Paginator.js +198 -0
  123. package/paginator/Paginator.stories.tsx +63 -0
  124. package/paginator/types.d.ts +38 -0
  125. package/paginator/types.js +5 -0
  126. package/password-input/PasswordInput.d.ts +4 -0
  127. package/password-input/PasswordInput.js +162 -0
  128. package/password-input/PasswordInput.stories.tsx +131 -0
  129. package/password-input/types.d.ts +105 -0
  130. package/password-input/types.js +5 -0
  131. package/progress-bar/ProgressBar.d.ts +4 -0
  132. package/progress-bar/ProgressBar.js +170 -0
  133. package/progress-bar/ProgressBar.stories.jsx +58 -0
  134. package/progress-bar/types.d.ts +37 -0
  135. package/progress-bar/types.js +5 -0
  136. package/radio/Radio.d.ts +4 -0
  137. package/radio/Radio.js +174 -0
  138. package/radio/Radio.stories.tsx +192 -0
  139. package/radio/types.d.ts +54 -0
  140. package/radio/types.js +5 -0
  141. package/resultsetTable/ResultsetTable.d.ts +4 -0
  142. package/resultsetTable/ResultsetTable.js +249 -0
  143. package/resultsetTable/types.d.ts +63 -0
  144. package/resultsetTable/types.js +5 -0
  145. package/select/Select.js +865 -0
  146. package/select/Select.stories.tsx +572 -0
  147. package/select/index.d.ts +131 -0
  148. package/sidenav/Sidenav.d.ts +9 -0
  149. package/sidenav/Sidenav.js +136 -0
  150. package/sidenav/Sidenav.stories.tsx +165 -0
  151. package/sidenav/types.d.ts +50 -0
  152. package/sidenav/types.js +5 -0
  153. package/slider/Slider.d.ts +4 -0
  154. package/slider/Slider.js +317 -0
  155. package/slider/Slider.stories.tsx +177 -0
  156. package/slider/types.d.ts +78 -0
  157. package/slider/types.js +5 -0
  158. package/spinner/Spinner.d.ts +4 -0
  159. package/spinner/Spinner.js +250 -0
  160. package/spinner/Spinner.stories.jsx +102 -0
  161. package/spinner/types.d.ts +32 -0
  162. package/spinner/types.js +5 -0
  163. package/switch/Switch.d.ts +4 -0
  164. package/switch/Switch.js +179 -0
  165. package/switch/Switch.stories.tsx +160 -0
  166. package/switch/types.d.ts +58 -0
  167. package/switch/types.js +5 -0
  168. package/table/Table.d.ts +4 -0
  169. package/table/Table.js +118 -0
  170. package/table/Table.stories.jsx +276 -0
  171. package/table/types.d.ts +21 -0
  172. package/table/types.js +5 -0
  173. package/tabs/Tabs.d.ts +4 -0
  174. package/tabs/Tabs.js +213 -0
  175. package/tabs/Tabs.stories.tsx +121 -0
  176. package/tabs/types.d.ts +70 -0
  177. package/tabs/types.js +5 -0
  178. package/tag/Tag.d.ts +4 -0
  179. package/tag/Tag.js +193 -0
  180. package/tag/Tag.stories.tsx +145 -0
  181. package/tag/types.d.ts +60 -0
  182. package/tag/types.js +5 -0
  183. package/text-input/TextInput.d.ts +4 -0
  184. package/text-input/TextInput.js +785 -0
  185. package/text-input/types.d.ts +157 -0
  186. package/text-input/types.js +5 -0
  187. package/textarea/Textarea.js +317 -0
  188. package/textarea/Textarea.stories.jsx +135 -0
  189. package/textarea/index.d.ts +117 -0
  190. package/{dist/toggle → toggle}/Toggle.js +30 -67
  191. package/toggle/index.d.ts +21 -0
  192. package/toggle-group/ToggleGroup.d.ts +4 -0
  193. package/toggle-group/ToggleGroup.js +217 -0
  194. package/toggle-group/ToggleGroup.stories.tsx +178 -0
  195. package/toggle-group/types.d.ts +84 -0
  196. package/toggle-group/types.js +5 -0
  197. package/{dist/upload → upload}/Upload.js +23 -22
  198. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  199. package/upload/buttons-upload/Icons.js +40 -0
  200. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  201. package/upload/dragAndDropArea/Icons.js +39 -0
  202. package/upload/file-upload/FileToUpload.js +115 -0
  203. package/upload/file-upload/Icons.js +66 -0
  204. package/upload/files-upload/FilesToUpload.js +109 -0
  205. package/upload/index.d.ts +15 -0
  206. package/upload/transaction/Icons.js +160 -0
  207. package/upload/transaction/Transaction.js +104 -0
  208. package/upload/transactions/Transactions.js +94 -0
  209. package/useTheme.js +22 -0
  210. package/wizard/Icons.js +65 -0
  211. package/wizard/Wizard.d.ts +4 -0
  212. package/wizard/Wizard.js +231 -0
  213. package/wizard/Wizard.stories.jsx +224 -0
  214. package/wizard/types.d.ts +64 -0
  215. package/wizard/types.js +5 -0
  216. package/README.md +0 -66
  217. package/babel.config.js +0 -4
  218. package/dist/accordion/Accordion.js +0 -264
  219. package/dist/accordion/Accordion.stories.js +0 -207
  220. package/dist/accordion/readme.md +0 -96
  221. package/dist/alert/Alert.js +0 -302
  222. package/dist/alert/Alert.stories.js +0 -158
  223. package/dist/alert/close.svg +0 -4
  224. package/dist/alert/error.svg +0 -4
  225. package/dist/alert/info.svg +0 -4
  226. package/dist/alert/readme.md +0 -43
  227. package/dist/alert/success.svg +0 -4
  228. package/dist/alert/warning.svg +0 -4
  229. package/dist/box/Box.js +0 -136
  230. package/dist/button/Button.js +0 -182
  231. package/dist/button/Button.stories.js +0 -224
  232. package/dist/button/readme.md +0 -93
  233. package/dist/card/Card.js +0 -246
  234. package/dist/checkbox/Checkbox.js +0 -224
  235. package/dist/checkbox/Checkbox.stories.js +0 -144
  236. package/dist/checkbox/readme.md +0 -116
  237. package/dist/chip/Chip.js +0 -170
  238. package/dist/common/RequiredComponent.js +0 -50
  239. package/dist/common/services/example-service.js +0 -10
  240. package/dist/common/services/example-service.test.js +0 -12
  241. package/dist/common/utils.js +0 -42
  242. package/dist/common/variables.js +0 -154
  243. package/dist/date/Date.stories.js +0 -205
  244. package/dist/date/calendar.svg +0 -1
  245. package/dist/date/calendar_dark.svg +0 -1
  246. package/dist/date/readme.md +0 -73
  247. package/dist/dialog/Dialog.js +0 -193
  248. package/dist/dialog/Dialog.stories.js +0 -217
  249. package/dist/dialog/readme.md +0 -32
  250. package/dist/dropdown/Dropdown.js +0 -412
  251. package/dist/dropdown/Dropdown.stories.js +0 -249
  252. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  253. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  254. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  255. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  256. package/dist/dropdown/readme.md +0 -69
  257. package/dist/footer/Footer.js +0 -341
  258. package/dist/footer/Footer.stories.js +0 -94
  259. package/dist/footer/dxc_logo_wht.png +0 -0
  260. package/dist/footer/readme.md +0 -41
  261. package/dist/header/Header.js +0 -343
  262. package/dist/header/Header.stories.js +0 -176
  263. package/dist/header/close_icon.svg +0 -1
  264. package/dist/header/dxc_logo_black.png +0 -0
  265. package/dist/header/dxc_logo_white.png +0 -0
  266. package/dist/header/hamb_menu_black.svg +0 -1
  267. package/dist/header/hamb_menu_white.svg +0 -1
  268. package/dist/header/readme.md +0 -33
  269. package/dist/heading/Heading.js +0 -159
  270. package/dist/input-text/InputText.js +0 -517
  271. package/dist/input-text/InputText.stories.js +0 -209
  272. package/dist/input-text/error.svg +0 -1
  273. package/dist/input-text/readme.md +0 -91
  274. package/dist/link/Link.js +0 -129
  275. package/dist/link/readme.md +0 -51
  276. package/dist/paginator/Paginator.js +0 -178
  277. package/dist/paginator/images/next.svg +0 -3
  278. package/dist/paginator/images/nextPage.svg +0 -3
  279. package/dist/paginator/images/previous.svg +0 -3
  280. package/dist/paginator/images/previousPage.svg +0 -3
  281. package/dist/paginator/readme.md +0 -50
  282. package/dist/progress-bar/ProgressBar.js +0 -189
  283. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  284. package/dist/progress-bar/readme.md +0 -63
  285. package/dist/radio/Radio.js +0 -191
  286. package/dist/radio/Radio.stories.js +0 -166
  287. package/dist/radio/readme.md +0 -70
  288. package/dist/resultsetTable/ResultsetTable.js +0 -334
  289. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  290. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  291. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  292. package/dist/select/Select.js +0 -425
  293. package/dist/select/Select.stories.js +0 -235
  294. package/dist/select/readme.md +0 -72
  295. package/dist/sidenav/Sidenav.js +0 -217
  296. package/dist/sidenav/arrow_icon.svg +0 -3
  297. package/dist/slider/Slider.js +0 -258
  298. package/dist/slider/Slider.stories.js +0 -241
  299. package/dist/slider/readme.md +0 -64
  300. package/dist/spinner/Spinner.js +0 -196
  301. package/dist/spinner/Spinner.stories.js +0 -183
  302. package/dist/spinner/readme.md +0 -65
  303. package/dist/switch/Switch.js +0 -219
  304. package/dist/switch/Switch.stories.js +0 -134
  305. package/dist/switch/readme.md +0 -133
  306. package/dist/table/Table.js +0 -84
  307. package/dist/tabs/Tabs.js +0 -183
  308. package/dist/tabs/Tabs.stories.js +0 -130
  309. package/dist/tabs/readme.md +0 -78
  310. package/dist/tabs-for-sections/TabsForSections.js +0 -107
  311. package/dist/tabs-for-sections/readme.md +0 -78
  312. package/dist/tag/Tag.js +0 -217
  313. package/dist/textarea/Textarea.js +0 -226
  314. package/dist/toggle/Toggle.stories.js +0 -297
  315. package/dist/toggle/readme.md +0 -80
  316. package/dist/upload/Upload.stories.js +0 -72
  317. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -125
  318. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  319. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  320. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -282
  321. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  322. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  323. package/dist/upload/file-upload/FileToUpload.js +0 -158
  324. package/dist/upload/file-upload/audio-icon.svg +0 -4
  325. package/dist/upload/file-upload/close.svg +0 -4
  326. package/dist/upload/file-upload/file-icon.svg +0 -4
  327. package/dist/upload/file-upload/video-icon.svg +0 -4
  328. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  329. package/dist/upload/readme.md +0 -37
  330. package/dist/upload/transaction/Transaction.js +0 -155
  331. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  332. package/dist/upload/transaction/audio-icon.svg +0 -4
  333. package/dist/upload/transaction/error-icon.svg +0 -4
  334. package/dist/upload/transaction/file-icon-err.svg +0 -4
  335. package/dist/upload/transaction/file-icon.svg +0 -4
  336. package/dist/upload/transaction/image-icon-err.svg +0 -4
  337. package/dist/upload/transaction/image-icon.svg +0 -4
  338. package/dist/upload/transaction/success-icon.svg +0 -4
  339. package/dist/upload/transaction/video-icon-err.svg +0 -4
  340. package/dist/upload/transaction/video-icon.svg +0 -4
  341. package/dist/upload/transactions/Transactions.js +0 -120
  342. package/dist/wizard/Wizard.js +0 -310
  343. package/dist/wizard/invalid_icon.svg +0 -6
  344. package/dist/wizard/valid_icon.svg +0 -6
  345. package/dist/wizard/validation-wrong.svg +0 -6
  346. package/test/Accordion.test.js +0 -33
  347. package/test/Alert.test.js +0 -53
  348. package/test/Box.test.js +0 -10
  349. package/test/Button.test.js +0 -18
  350. package/test/Card.test.js +0 -30
  351. package/test/Checkbox.test.js +0 -45
  352. package/test/Chip.test.js +0 -25
  353. package/test/Date.test.js +0 -393
  354. package/test/Dialog.test.js +0 -23
  355. package/test/Dropdown.test.js +0 -130
  356. package/test/Footer.test.js +0 -99
  357. package/test/Header.test.js +0 -39
  358. package/test/Heading.test.js +0 -35
  359. package/test/InputText.test.js +0 -236
  360. package/test/Link.test.js +0 -25
  361. package/test/Paginator.test.js +0 -165
  362. package/test/ProgressBar.test.js +0 -35
  363. package/test/Radio.test.js +0 -37
  364. package/test/ResultsetTable.test.js +0 -282
  365. package/test/Select.test.js +0 -191
  366. package/test/Sidenav.test.js +0 -87
  367. package/test/Slider.test.js +0 -65
  368. package/test/Spinner.test.js +0 -27
  369. package/test/Switch.test.js +0 -45
  370. package/test/Table.test.js +0 -36
  371. package/test/Tabs.test.js +0 -88
  372. package/test/TabsForSections.test.js +0 -34
  373. package/test/Tag.test.js +0 -32
  374. package/test/TextArea.test.js +0 -52
  375. package/test/Toggle.test.js +0 -43
  376. package/test/Upload.test.js +0 -60
  377. package/test/Wizard.test.js +0 -130
  378. package/test/mocks/pngMock.js +0 -1
  379. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,865 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
+
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
+
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
+
24
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
25
+
26
+ var _variables = require("../common/variables.js");
27
+
28
+ 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
+ }))))
119
+ };
120
+
121
+ var getNotOptionalErrorMessage = function getNotOptionalErrorMessage() {
122
+ return "This field is required. Please, enter a value.";
123
+ };
124
+
125
+ var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, searchValue) {
126
+ if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
127
+ if (options[0].options) return options.map(function (optionGroup) {
128
+ var group = {
129
+ label: optionGroup.label,
130
+ options: optionGroup.options.filter(function (option) {
131
+ return option.label.toUpperCase().includes(searchValue.toUpperCase());
132
+ })
133
+ };
134
+ return group;
135
+ });else return options.filter(function (option) {
136
+ return option.label.toUpperCase().includes(searchValue.toUpperCase());
137
+ });
138
+ }
139
+ };
140
+
141
+ var getLastOptionIndex = function getLastOptionIndex(options, filteredOptions, searchable, optional, multiple) {
142
+ var last = 0;
143
+
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 _ref$label = _ref.label,
205
+ label = _ref$label === void 0 ? "" : _ref$label,
206
+ _ref$name = _ref.name,
207
+ name = _ref$name === void 0 ? "" : _ref$name,
208
+ value = _ref.value,
209
+ options = _ref.options,
210
+ _ref$helperText = _ref.helperText,
211
+ helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
212
+ _ref$placeholder = _ref.placeholder,
213
+ placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
214
+ _ref$disabled = _ref.disabled,
215
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
216
+ _ref$optional = _ref.optional,
217
+ optional = _ref$optional === void 0 ? false : _ref$optional,
218
+ _ref$searchable = _ref.searchable,
219
+ searchable = _ref$searchable === void 0 ? false : _ref$searchable,
220
+ _ref$multiple = _ref.multiple,
221
+ multiple = _ref$multiple === void 0 ? false : _ref$multiple,
222
+ onChange = _ref.onChange,
223
+ onBlur = _ref.onBlur,
224
+ _ref$error = _ref.error,
225
+ error = _ref$error === void 0 ? "" : _ref$error,
226
+ margin = _ref.margin,
227
+ _ref$size = _ref.size,
228
+ size = _ref$size === void 0 ? "medium" : _ref$size,
229
+ _ref$tabIndex = _ref.tabIndex,
230
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
231
+
232
+ var _useState = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
233
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
234
+ selectId = _useState2[0];
235
+
236
+ var selectLabelId = "label-".concat(selectId);
237
+ var optionsListId = "".concat(selectId, "-listbox");
238
+
239
+ var _useState3 = (0, _react.useState)(multiple ? [] : ""),
240
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
241
+ innerValue = _useState4[0],
242
+ setInnerValue = _useState4[1];
243
+
244
+ var _useState5 = (0, _react.useState)(""),
245
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
246
+ searchValue = _useState6[0],
247
+ setSearchValue = _useState6[1];
248
+
249
+ var _useState7 = (0, _react.useState)(-1),
250
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
251
+ visualFocusIndex = _useState8[0],
252
+ changeVisualFocusIndex = _useState8[1];
253
+
254
+ var _useState9 = (0, _react.useState)(false),
255
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
256
+ isOpen = _useState10[0],
257
+ changeIsOpen = _useState10[1];
258
+
259
+ var selectContainerRef = (0, _react.useRef)(null);
260
+ var selectSearchInputRef = (0, _react.useRef)(null);
261
+ var selectOptionsListRef = (0, _react.useRef)(null);
262
+ var colorsTheme = (0, _useTheme["default"])();
263
+ var optionalEmptyOption = {
264
+ label: placeholder,
265
+ value: ""
266
+ };
267
+ var filteredOptions = (0, _react.useMemo)(function () {
268
+ return filterOptionsBySearchValue(options, searchValue);
269
+ }, [options, searchValue]);
270
+ var lastOptionIndex = (0, _react.useMemo)(function () {
271
+ return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
272
+ }, [searchable, optional, multiple, filteredOptions, options]);
273
+
274
+ var _useMemo = (0, _react.useMemo)(function () {
275
+ return getSelectedOption(options, multiple, optional, optionalEmptyOption, value, innerValue);
276
+ }, [options, multiple, optional, value, innerValue]),
277
+ selectedOption = _useMemo.selectedOption,
278
+ singleSelectionIndex = _useMemo.singleSelectionIndex;
279
+
280
+ var notOptionalCheck = function notOptionalCheck(value) {
281
+ return value === "" && !optional;
282
+ };
283
+
284
+ var notOptionalMultipleCheck = function notOptionalMultipleCheck() {
285
+ return (value !== null && value !== void 0 ? value : innerValue).length === 0 && !optional;
286
+ };
287
+
288
+ var canBeOpenOptions = function canBeOpenOptions() {
289
+ return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions();
290
+ };
291
+
292
+ var groupsHaveOptions = function groupsHaveOptions() {
293
+ return options[0].hasOwnProperty("options") ? options[0].options ? options.some(function (groupOption) {
294
+ return groupOption.options.length > 0;
295
+ }) : false : true;
296
+ };
297
+
298
+ var filteredGroupsHaveOptions = function filteredGroupsHaveOptions() {
299
+ return filteredOptions !== null && filteredOptions !== void 0 && filteredOptions[0].options ? filteredOptions.some(function (groupOption) {
300
+ var _groupOption$options;
301
+
302
+ return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
303
+ }) : true;
304
+ };
305
+
306
+ var openOptions = function openOptions() {
307
+ if (!isOpen && canBeOpenOptions()) changeIsOpen(true);
308
+ };
309
+
310
+ var closeOptions = function closeOptions() {
311
+ if (isOpen) {
312
+ changeIsOpen(false);
313
+ changeVisualFocusIndex(-1);
314
+ }
315
+ };
316
+
317
+ var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
318
+ if (multiple) {
319
+ var _res, _res2;
320
+
321
+ var res;
322
+ if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) value ? res = value.filter(function (optionVal) {
323
+ return optionVal !== newOption.value;
324
+ }) : setInnerValue(function (previous) {
325
+ return previous.filter(function (optionVal) {
326
+ return optionVal !== newOption.value;
327
+ });
328
+ });else value ? res = [].concat((0, _toConsumableArray2["default"])(value), [newOption.value]) : setInnerValue(function (previous) {
329
+ return [].concat((0, _toConsumableArray2["default"])(previous), [newOption.value]);
330
+ });
331
+ if (notOptionalMultipleCheck(newOption.value)) onChange === null || onChange === void 0 ? void 0 : onChange({
332
+ value: (_res = res) !== null && _res !== void 0 ? _res : innerValue,
333
+ error: getNotOptionalErrorMessage()
334
+ });else onChange === null || onChange === void 0 ? void 0 : onChange({
335
+ value: (_res2 = res) !== null && _res2 !== void 0 ? _res2 : innerValue,
336
+ error: null
337
+ });
338
+ } else {
339
+ value !== null && value !== void 0 ? value : setInnerValue(newOption.value);
340
+ if (notOptionalCheck(newOption.value)) onChange === null || onChange === void 0 ? void 0 : onChange({
341
+ value: newOption.value,
342
+ error: getNotOptionalErrorMessage()
343
+ });else onChange === null || onChange === void 0 ? void 0 : onChange({
344
+ value: newOption.value,
345
+ error: null
346
+ });
347
+ }
348
+ };
349
+
350
+ var handleSelectOnClick = function handleSelectOnClick() {
351
+ searchable && selectSearchInputRef.current.focus();
352
+
353
+ if (isOpen) {
354
+ closeOptions();
355
+ setSearchValue("");
356
+ } else openOptions();
357
+ };
358
+
359
+ var handleSelectOnFocus = function handleSelectOnFocus(event) {
360
+ if (!event.currentTarget.contains(event.relatedTarget)) searchable && selectSearchInputRef.current.focus();
361
+ };
362
+
363
+ var handleSelectOnBlur = function handleSelectOnBlur(event) {
364
+ // focus leaves container (outside, not to childs)
365
+ if (!event.currentTarget.contains(event.relatedTarget)) {
366
+ closeOptions();
367
+ setSearchValue("");
368
+ if (notOptionalCheck(value !== null && value !== void 0 ? value : innerValue)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
369
+ value: value !== null && value !== void 0 ? value : innerValue,
370
+ error: getNotOptionalErrorMessage()
371
+ });else onBlur === null || onBlur === void 0 ? void 0 : onBlur({
372
+ value: value !== null && value !== void 0 ? value : innerValue,
373
+ error: null
374
+ });
375
+ }
376
+ };
377
+
378
+ var handleSelectOnKeyDown = function handleSelectOnKeyDown(event) {
379
+ switch (event.keyCode) {
380
+ case 40:
381
+ // Arrow Down
382
+ event.preventDefault();
383
+ singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
384
+ if (visualFocusIndex < lastOptionIndex) return visualFocusIndex + 1;else if (visualFocusIndex === lastOptionIndex) return 0;
385
+ });
386
+ openOptions();
387
+ break;
388
+
389
+ case 38:
390
+ // Arrow Up
391
+ event.preventDefault();
392
+ singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
393
+ return visualFocusIndex === 0 || visualFocusIndex === -1 ? lastOptionIndex : visualFocusIndex - 1;
394
+ });
395
+ openOptions();
396
+ break;
397
+
398
+ case 27:
399
+ // Esc
400
+ event.preventDefault();
401
+ closeOptions();
402
+ setSearchValue("");
403
+ break;
404
+
405
+ case 13:
406
+ // Enter
407
+ if (isOpen && visualFocusIndex >= 0) {
408
+ var accLength = optional && !multiple ? 1 : 0;
409
+
410
+ if (searchable) {
411
+ if (filteredOptions.length > 0) {
412
+ if (optional && !multiple && visualFocusIndex === 0 && filteredGroupsHaveOptions()) handleSelectChangeValue(optionalEmptyOption);else filteredOptions[0].options ? filteredGroupsHaveOptions() && filteredOptions.some(function (groupOption) {
413
+ var groupLength = accLength + groupOption.options.length;
414
+ groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
415
+ accLength = groupLength;
416
+ return groupLength > visualFocusIndex;
417
+ }) : handleSelectChangeValue(filteredOptions[visualFocusIndex - accLength]);
418
+ }
419
+ } else {
420
+ if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalEmptyOption);else options[0].options ? options.some(function (groupOption) {
421
+ var groupLength = accLength + groupOption.options.length;
422
+ groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
423
+ accLength = groupLength;
424
+ return groupLength > visualFocusIndex;
425
+ }) : handleSelectChangeValue(options[visualFocusIndex - accLength]);
426
+ }
427
+
428
+ !multiple && closeOptions();
429
+ setSearchValue("");
430
+ }
431
+
432
+ break;
433
+ }
434
+ };
435
+
436
+ var handleSearchIOnChange = function handleSearchIOnChange(event) {
437
+ setSearchValue(event.target.value);
438
+ changeVisualFocusIndex(-1);
439
+ openOptions();
440
+ };
441
+
442
+ var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
443
+ event.stopPropagation();
444
+ value !== null && value !== void 0 ? value : setInnerValue([]);
445
+ onChange === null || onChange === void 0 ? void 0 : onChange({
446
+ value: [],
447
+ error: getNotOptionalErrorMessage()
448
+ });
449
+ };
450
+
451
+ var handleClearSearchActionOnClick = function handleClearSearchActionOnClick(event) {
452
+ event.stopPropagation();
453
+ setSearchValue("");
454
+ };
455
+
456
+ (0, _react.useLayoutEffect)(function () {
457
+ if (isOpen && singleSelectionIndex) {
458
+ var _listEl$scrollTo;
459
+
460
+ var listEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : selectOptionsListRef.current;
461
+ var selectedListOptionEl = listEl === null || listEl === void 0 ? void 0 : listEl.querySelector("[aria-selected='true']");
462
+ listEl === null || listEl === void 0 ? void 0 : (_listEl$scrollTo = listEl.scrollTo) === null || _listEl$scrollTo === void 0 ? void 0 : _listEl$scrollTo.call(listEl, {
463
+ top: (selectedListOptionEl === null || selectedListOptionEl === void 0 ? void 0 : selectedListOptionEl.offsetTop) - (listEl === null || listEl === void 0 ? void 0 : listEl.clientHeight) / 2
464
+ });
465
+ }
466
+ }, [isOpen]);
467
+ (0, _react.useLayoutEffect)(function () {
468
+ var _selectOptionsListRef, _visualFocusedOptionE;
469
+
470
+ var visualFocusedOptionEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : (_selectOptionsListRef = selectOptionsListRef.current) === null || _selectOptionsListRef === void 0 ? void 0 : _selectOptionsListRef.querySelectorAll("[role='option']")[visualFocusIndex];
471
+ visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
472
+ block: "nearest",
473
+ inline: "start"
474
+ });
475
+ }, [visualFocusIndex]);
476
+
477
+ var Option = function Option(_ref2) {
478
+ var option = _ref2.option,
479
+ index = _ref2.index,
480
+ _ref2$isGroupedOption = _ref2.isGroupedOption,
481
+ isGroupedOption = _ref2$isGroupedOption === void 0 ? false : _ref2$isGroupedOption;
482
+ var isSelected = multiple ? (value !== null && value !== void 0 ? value : innerValue).includes(option.value) : (value !== null && value !== void 0 ? value : innerValue) === option.value;
483
+ var isLastOption = index === lastOptionIndex;
484
+ return /*#__PURE__*/_react["default"].createElement(OptionItem, {
485
+ id: "option-".concat(index),
486
+ onClick: function onClick() {
487
+ handleSelectChangeValue(option);
488
+ !multiple && closeOptions();
489
+ setSearchValue("");
490
+ },
491
+ visualFocused: visualFocusIndex === index,
492
+ selected: isSelected,
493
+ role: "option",
494
+ "aria-selected": isSelected
495
+ }, /*#__PURE__*/_react["default"].createElement(StyledOption, {
496
+ visualFocused: visualFocusIndex === index,
497
+ selected: isSelected,
498
+ last: isLastOption,
499
+ grouped: isGroupedOption,
500
+ multiple: multiple
501
+ }, multiple && /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
502
+ tabIndex: -1,
503
+ checked: isSelected
504
+ }), option.icon && /*#__PURE__*/_react["default"].createElement(OptionIcon, {
505
+ grouped: isGroupedOption,
506
+ multiple: multiple,
507
+ role: !(typeof option.icon === "string") && "img"
508
+ }, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(OptionIconImg, {
509
+ src: option.icon
510
+ }) : option.icon), /*#__PURE__*/_react["default"].createElement(OptionContent, {
511
+ grouped: isGroupedOption,
512
+ hasIcon: option.icon,
513
+ multiple: multiple
514
+ }, /*#__PURE__*/_react["default"].createElement(OptionLabel, null, option.label), !multiple && isSelected && /*#__PURE__*/_react["default"].createElement(OptionSelectedIndicator, null, selectIcons.selected))));
515
+ };
516
+
517
+ var globalIndex = optional && !multiple ? 0 : -1; // index for options, starting from 0 to options.length -1
518
+
519
+ var mapOptionFunc = function mapOptionFunc(option, mapIndex) {
520
+ if (option.options) {
521
+ var groupId = "group-".concat(mapIndex);
522
+ return option.options.length > 0 && /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement(GroupList, {
523
+ role: "group",
524
+ "aria-labelledby": groupId
525
+ }, /*#__PURE__*/_react["default"].createElement(GroupLabel, {
526
+ role: "presentation",
527
+ id: groupId
528
+ }, option.label), option.options.map(function (singleOption) {
529
+ globalIndex++;
530
+ return /*#__PURE__*/_react["default"].createElement(Option, {
531
+ option: singleOption,
532
+ index: globalIndex,
533
+ isGroupedOption: true
534
+ });
535
+ })));
536
+ } else {
537
+ globalIndex++;
538
+ return /*#__PURE__*/_react["default"].createElement(Option, {
539
+ key: "option-".concat(option.value),
540
+ option: option,
541
+ index: globalIndex
542
+ });
543
+ }
544
+ };
545
+
546
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
547
+ theme: colorsTheme.select
548
+ }, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
549
+ margin: margin,
550
+ size: size,
551
+ ref: ref
552
+ }, /*#__PURE__*/_react["default"].createElement(Label, {
553
+ id: selectLabelId,
554
+ disabled: disabled,
555
+ onClick: function onClick() {
556
+ selectContainerRef.current.focus();
557
+ }
558
+ }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, "(Optional)")), /*#__PURE__*/_react["default"].createElement(HelperText, {
559
+ disabled: disabled
560
+ }, helperText), /*#__PURE__*/_react["default"].createElement(Select, {
561
+ id: selectId,
562
+ disabled: disabled,
563
+ error: error,
564
+ onBlur: handleSelectOnBlur,
565
+ onClick: handleSelectOnClick,
566
+ onFocus: handleSelectOnFocus,
567
+ onKeyDown: handleSelectOnKeyDown,
568
+ ref: selectContainerRef,
569
+ tabIndex: tabIndex,
570
+ role: "combobox",
571
+ "aria-controls": optionsListId,
572
+ "aria-expanded": isOpen,
573
+ "aria-haspopup": "listbox",
574
+ "aria-labelledby": selectLabelId,
575
+ "aria-activedescendant": visualFocusIndex >= 0 ? "option-".concat(visualFocusIndex) : undefined,
576
+ "aria-invalid": error ? "true" : "false",
577
+ "aria-required": !optional
578
+ }, multiple && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
579
+ disabled: disabled
580
+ }, selectedOption.length), /*#__PURE__*/_react["default"].createElement(ClearOptionsAction, {
581
+ disabled: disabled,
582
+ onMouseDown: function onMouseDown(event) {
583
+ // Avoid input to lose focus when pressed
584
+ event.preventDefault();
585
+ },
586
+ onClick: handleClearOptionsActionOnClick,
587
+ tabIndex: -1,
588
+ title: "Clear selected options",
589
+ "aria-label": "Clear selected options"
590
+ }, selectIcons.clear)), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
591
+ name: name,
592
+ value: multiple ? (value !== null && value !== void 0 ? value : innerValue).join(", ") : value !== null && value !== void 0 ? value : innerValue,
593
+ readOnly: true,
594
+ "aria-hidden": "true"
595
+ }), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
596
+ value: searchValue,
597
+ disabled: disabled,
598
+ onChange: handleSearchIOnChange,
599
+ ref: selectSearchInputRef,
600
+ autoComplete: "off",
601
+ autoCorrect: "off",
602
+ size: "1"
603
+ }), (!searchable || searchValue === "") && (multiple ? /*#__PURE__*/_react["default"].createElement(SelectedOption, {
604
+ disabled: disabled,
605
+ atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || searchable && isOpen
606
+ }, /*#__PURE__*/_react["default"].createElement(OptionLabel, null, selectedOption.map(function (option) {
607
+ return option.label;
608
+ }).join(", ")), selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
609
+ disabled: disabled,
610
+ atBackground: !(value !== null && value !== void 0 ? value : innerValue) || searchable && isOpen
611
+ }, /*#__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, {
612
+ onMouseDown: function onMouseDown(event) {
613
+ // Avoid input to lose focus
614
+ event.preventDefault();
615
+ },
616
+ onClick: handleClearSearchActionOnClick,
617
+ tabIndex: -1,
618
+ title: "Clear search text",
619
+ "aria-label": "Clear search text"
620
+ }, selectIcons.clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
621
+ disabled: disabled
622
+ }, isOpen ? selectIcons.arrowUp : selectIcons.arrowDown), isOpen && /*#__PURE__*/_react["default"].createElement(OptionsList, {
623
+ id: optionsListId,
624
+ onClick: function onClick(event) {
625
+ event.stopPropagation();
626
+ },
627
+ onMouseDown: function onMouseDown(event) {
628
+ event.preventDefault();
629
+ },
630
+ ref: selectOptionsListRef,
631
+ role: "listbox",
632
+ "aria-multiselectable": multiple
633
+ }, 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, {
634
+ option: optionalEmptyOption,
635
+ index: 0
636
+ }), searchable ? filteredOptions.map(mapOptionFunc) : options.map(mapOptionFunc))), !disabled && /*#__PURE__*/_react["default"].createElement(Error, null, error)));
637
+ });
638
+
639
+ var sizes = {
640
+ small: "240px",
641
+ medium: "360px",
642
+ large: "480px",
643
+ fillParent: "100%"
644
+ };
645
+
646
+ var calculateWidth = function calculateWidth(margin, size) {
647
+ return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
648
+ };
649
+
650
+ 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) {
651
+ return calculateWidth(props.margin, props.size);
652
+ }, function (props) {
653
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
654
+ }, function (props) {
655
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
656
+ }, function (props) {
657
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
658
+ }, function (props) {
659
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
660
+ }, function (props) {
661
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
662
+ });
663
+
664
+ 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"])), function (props) {
665
+ return props.disabled ? props.theme.disabledColor : props.theme.labelFontColor;
666
+ }, function (props) {
667
+ return props.theme.fontFamily;
668
+ }, function (props) {
669
+ return props.theme.labelFontSize;
670
+ }, function (props) {
671
+ return props.theme.labelFontStyle;
672
+ }, function (props) {
673
+ return props.theme.labelFontWeight;
674
+ }, function (props) {
675
+ return props.theme.labelLineHeight;
676
+ });
677
+
678
+ var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
679
+ return props.theme.optionalLabelFontWeight;
680
+ });
681
+
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"])), function (props) {
683
+ return props.disabled ? props.theme.disabledColor : props.theme.helperTextFontColor;
684
+ }, function (props) {
685
+ return props.theme.fontFamily;
686
+ }, function (props) {
687
+ return props.theme.helperTextFontSize;
688
+ }, function (props) {
689
+ return props.theme.helperTextFontStyle;
690
+ }, function (props) {
691
+ return props.theme.helperTextFontWeight;
692
+ }, function (props) {
693
+ return props.theme.helperTextLineHeight;
694
+ });
695
+
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 margin: ", ";\n padding: 0 0.5rem;\n outline: none;\n ", ";\n box-shadow: 0 0 0 2px transparent;\n border-radius: 4px;\n border: 1px solid\n ", ";\n ", "\n ", ";\n\n ", ";\n"])), function (props) {
697
+ return "".concat(props.theme.inputMarginTop, " 0 ").concat(props.theme.inputMarginBottom, " 0");
698
+ }, function (props) {
699
+ return props.disabled && "background-color: ".concat(props.theme.disabledInputBackgroundColor);
700
+ }, function (props) {
701
+ return props.disabled ? props.theme.disabledInputBorderColor : props.theme.enabledInputBorderColor;
702
+ }, function (props) {
703
+ return props.error && !props.disabled && "border-color: transparent;\n box-shadow: 0 0 0 2px ".concat(props.theme.errorInputBorderColor, ";\n ");
704
+ }, function (props) {
705
+ return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
706
+ }, function (props) {
707
+ 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 ");
708
+ });
709
+
710
+ 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) {
711
+ return props.theme.selectionIndicatorBorderColor;
712
+ });
713
+
714
+ 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) {
715
+ return !props.disabled && "background-color: ".concat(props.theme.selectionIndicatorBackgroundColor);
716
+ }, function (props) {
717
+ return props.theme.selectionIndicatorBorderColor;
718
+ }, function (props) {
719
+ return props.disabled ? props.theme.disabledColor : props.theme.selectionIndicatorFontColor;
720
+ }, function (props) {
721
+ return props.theme.fontFamily;
722
+ }, function (props) {
723
+ return props.theme.selectionIndicatorFontSize;
724
+ }, function (props) {
725
+ return props.theme.selectionIndicatorFontStyle;
726
+ }, function (props) {
727
+ return props.theme.selectionIndicatorFontWeight;
728
+ }, function (props) {
729
+ return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
730
+ });
731
+
732
+ 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) {
733
+ return props.theme.fontFamily;
734
+ }, function (props) {
735
+ return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
736
+ }, function (props) {
737
+ return props.disabled ? "transparent" : props.theme.enabledSelectionIndicatorActionBackgroundColor;
738
+ }, function (props) {
739
+ return props.disabled ? props.theme.disabledColor : props.theme.enabledSelectionIndicatorActionIconColor;
740
+ }, function (props) {
741
+ 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 ");
742
+ });
743
+
744
+ var SearchableValueContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"])));
745
+
746
+ 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) {
747
+ if (props.disabled) return props.theme.disabledColor;else if (props.atBackground) return props.theme.placeholderFontColor;else return props.theme.valueFontColor;
748
+ }, function (props) {
749
+ return props.theme.fontFamily;
750
+ }, function (props) {
751
+ return props.theme.valueFontSize;
752
+ }, function (props) {
753
+ return props.theme.valueFontStyle;
754
+ }, function (props) {
755
+ return props.theme.valueFontWeight;
756
+ });
757
+
758
+ var ValueInput = _styledComponents["default"].input(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
759
+
760
+ 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) {
761
+ return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
762
+ }, function (props) {
763
+ return props.theme.fontFamily;
764
+ }, function (props) {
765
+ return props.theme.valueFontSize;
766
+ }, function (props) {
767
+ return props.theme.valueFontStyle;
768
+ }, function (props) {
769
+ return props.theme.valueFontWeight;
770
+ });
771
+
772
+ 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) {
773
+ return props.theme.errorIconColor;
774
+ });
775
+
776
+ 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"])), function (props) {
777
+ return props.theme.errorMessageColor;
778
+ }, function (props) {
779
+ return props.theme.fontFamily;
780
+ });
781
+
782
+ 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) {
783
+ return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
784
+ });
785
+
786
+ 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) {
787
+ return props.theme.fontFamily;
788
+ }, function (props) {
789
+ return props.theme.actionBackgroundColor;
790
+ }, function (props) {
791
+ return props.theme.actionIconColor;
792
+ }, function (props) {
793
+ return props.theme.hoverActionBackgroundColor;
794
+ }, function (props) {
795
+ return props.theme.hoverActionIconColor;
796
+ }, function (props) {
797
+ return props.theme.activeActionBackgroundColor;
798
+ }, function (props) {
799
+ return props.theme.activeActionIconColor;
800
+ });
801
+
802
+ 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) {
803
+ return props.theme.listDialogBackgroundColor;
804
+ }, function (props) {
805
+ return props.theme.listDialogBorderColor;
806
+ }, function (props) {
807
+ return props.theme.listOptionFontColor;
808
+ }, function (props) {
809
+ return props.theme.fontFamily;
810
+ }, function (props) {
811
+ return props.theme.listOptionFontSize;
812
+ }, function (props) {
813
+ return props.theme.listOptionFontStyle;
814
+ }, function (props) {
815
+ return props.theme.listOptionFontWeight;
816
+ });
817
+
818
+ 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) {
819
+ return props.theme.systemMessageFontColor;
820
+ });
821
+
822
+ 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"])));
823
+
824
+ var GroupList = _styledComponents["default"].ul(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0;\n"])));
825
+
826
+ 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) {
827
+ return props.theme.listGroupLabelFontWeight;
828
+ });
829
+
830
+ 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) {
831
+ return props.visualFocused && "box-shadow: inset 0 0 0 2px ".concat(props.theme.focusListOptionBorderColor, ";");
832
+ }, function (props) {
833
+ return props.selected && "background-color: ".concat(props.theme.selectedListOptionBackgroundColor);
834
+ }, function (props) {
835
+ return props.selected ? "background-color: ".concat(props.theme.selectedHoverListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedHoverListOptionBackgroundColor, ";");
836
+ }, function (props) {
837
+ return props.selected ? "background-color: ".concat(props.theme.selectedActiveListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedActiveListOptionBackgroundColor, ";");
838
+ });
839
+
840
+ 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) {
841
+ return props.grouped && props.multiple && "padding-left: 16px;";
842
+ }, function (props) {
843
+ return props.last || props.visualFocused || props.selected ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
844
+ });
845
+
846
+ 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) {
847
+ return props.grouped && !props.multiple && !props.hasIcon ? "padding-left: 16px;" : "padding-left: 8px;";
848
+ });
849
+
850
+ 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) {
851
+ return props.grouped && !props.multiple ? "padding-left: 16px;" : "padding-left: 8px;";
852
+ }, function (props) {
853
+ return props.theme.listOptionIconColor;
854
+ });
855
+
856
+ var OptionIconImg = _styledComponents["default"].img(_templateObject26 || (_templateObject26 = (0, _taggedTemplateLiteral2["default"])(["\n width: 16px;\n height: 16px;\n"])));
857
+
858
+ var OptionLabel = _styledComponents["default"].span(_templateObject27 || (_templateObject27 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
859
+
860
+ 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) {
861
+ return props.theme.selectedListOptionIconColor;
862
+ });
863
+
864
+ var _default = DxcSelect;
865
+ exports["default"] = _default;