@dxc-technology/halstack-react 0.0.0-ff6151e → 0.0.0-ff99b25

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 (330) 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/types.d.ts +49 -0
  18. package/alert/types.js +5 -0
  19. package/badge/Badge.js +59 -0
  20. package/{dist/box → box}/Box.js +38 -34
  21. package/box/Box.stories.jsx +132 -0
  22. package/box/index.d.ts +25 -0
  23. package/button/Button.d.ts +4 -0
  24. package/button/Button.js +182 -0
  25. package/button/Button.stories.tsx +293 -0
  26. package/button/types.d.ts +57 -0
  27. package/button/types.js +5 -0
  28. package/card/Card.d.ts +4 -0
  29. package/card/Card.js +165 -0
  30. package/card/types.d.ts +69 -0
  31. package/card/types.js +5 -0
  32. package/checkbox/Checkbox.d.ts +4 -0
  33. package/checkbox/Checkbox.js +253 -0
  34. package/checkbox/types.d.ts +60 -0
  35. package/checkbox/types.js +5 -0
  36. package/chip/Chip.js +221 -0
  37. package/chip/index.d.ts +22 -0
  38. package/{dist/common → common}/OpenSans.css +0 -0
  39. package/{dist/common → common}/RequiredComponent.js +3 -11
  40. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  41. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  42. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  43. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  44. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  45. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  46. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  47. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  48. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  49. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  50. package/common/utils.js +22 -0
  51. package/common/variables.js +1569 -0
  52. package/{dist/date → date}/Date.js +81 -65
  53. package/date/index.d.ts +27 -0
  54. package/date-input/DateInput.d.ts +4 -0
  55. package/date-input/DateInput.js +361 -0
  56. package/date-input/types.d.ts +100 -0
  57. package/date-input/types.js +5 -0
  58. package/dialog/Dialog.d.ts +4 -0
  59. package/dialog/Dialog.js +165 -0
  60. package/dialog/types.d.ts +43 -0
  61. package/dialog/types.js +5 -0
  62. package/dropdown/Dropdown.d.ts +4 -0
  63. package/dropdown/Dropdown.js +417 -0
  64. package/dropdown/types.d.ts +89 -0
  65. package/dropdown/types.js +5 -0
  66. package/file-input/FileInput.js +532 -0
  67. package/file-input/FileItem.js +193 -0
  68. package/file-input/index.d.ts +81 -0
  69. package/footer/Footer.d.ts +4 -0
  70. package/footer/Footer.js +266 -0
  71. package/footer/Footer.stories.jsx +151 -0
  72. package/footer/Icons.js +77 -0
  73. package/footer/types.d.ts +61 -0
  74. package/footer/types.js +5 -0
  75. package/header/Header.js +326 -0
  76. package/header/Icons.js +59 -0
  77. package/header/index.d.ts +25 -0
  78. package/heading/Heading.js +176 -0
  79. package/heading/index.d.ts +17 -0
  80. package/input-text/Icons.js +22 -0
  81. package/input-text/InputText.js +611 -0
  82. package/input-text/index.d.ts +36 -0
  83. package/{dist/layout → layout}/ApplicationLayout.js +42 -142
  84. package/layout/Icons.js +55 -0
  85. package/link/Link.js +183 -0
  86. package/link/index.d.ts +23 -0
  87. package/main.d.ts +44 -0
  88. package/{dist/main.js → main.js} +125 -65
  89. package/number-input/NumberInput.js +128 -0
  90. package/number-input/NumberInput.stories.jsx +115 -0
  91. package/number-input/NumberInputContext.js +16 -0
  92. package/number-input/index.d.ts +113 -0
  93. package/package.json +34 -22
  94. package/paginator/Icons.js +66 -0
  95. package/paginator/Paginator.d.ts +4 -0
  96. package/paginator/Paginator.js +198 -0
  97. package/paginator/types.d.ts +38 -0
  98. package/paginator/types.js +5 -0
  99. package/password-input/PasswordInput.js +199 -0
  100. package/password-input/PasswordInput.stories.jsx +131 -0
  101. package/password-input/index.d.ts +94 -0
  102. package/progress-bar/ProgressBar.d.ts +4 -0
  103. package/progress-bar/ProgressBar.js +170 -0
  104. package/progress-bar/types.d.ts +37 -0
  105. package/progress-bar/types.js +5 -0
  106. package/radio/Radio.d.ts +4 -0
  107. package/radio/Radio.js +174 -0
  108. package/radio/types.d.ts +54 -0
  109. package/radio/types.js +5 -0
  110. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +95 -162
  111. package/resultsetTable/index.d.ts +19 -0
  112. package/select/Select.js +865 -0
  113. package/select/index.d.ts +131 -0
  114. package/sidenav/Sidenav.js +145 -0
  115. package/sidenav/index.d.ts +13 -0
  116. package/slider/Slider.d.ts +4 -0
  117. package/slider/Slider.js +306 -0
  118. package/slider/types.d.ts +83 -0
  119. package/slider/types.js +5 -0
  120. package/spinner/Spinner.js +267 -0
  121. package/spinner/index.d.ts +17 -0
  122. package/switch/Switch.d.ts +4 -0
  123. package/switch/Switch.js +179 -0
  124. package/switch/types.d.ts +58 -0
  125. package/switch/types.js +5 -0
  126. package/table/Table.js +118 -0
  127. package/table/index.d.ts +13 -0
  128. package/tabs/Tabs.d.ts +4 -0
  129. package/tabs/Tabs.js +211 -0
  130. package/tabs/types.d.ts +71 -0
  131. package/tabs/types.js +5 -0
  132. package/tag/Tag.js +208 -0
  133. package/tag/index.d.ts +24 -0
  134. package/text-input/TextInput.js +825 -0
  135. package/text-input/index.d.ts +135 -0
  136. package/textarea/Textarea.js +317 -0
  137. package/textarea/Textarea.stories.jsx +135 -0
  138. package/textarea/index.d.ts +117 -0
  139. package/{dist/toggle → toggle}/Toggle.js +30 -67
  140. package/toggle/index.d.ts +21 -0
  141. package/toggle-group/ToggleGroup.js +243 -0
  142. package/toggle-group/index.d.ts +21 -0
  143. package/{dist/upload → upload}/Upload.js +23 -22
  144. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  145. package/upload/buttons-upload/Icons.js +40 -0
  146. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  147. package/upload/dragAndDropArea/Icons.js +39 -0
  148. package/upload/file-upload/FileToUpload.js +115 -0
  149. package/upload/file-upload/Icons.js +66 -0
  150. package/upload/files-upload/FilesToUpload.js +109 -0
  151. package/upload/index.d.ts +15 -0
  152. package/upload/transaction/Icons.js +160 -0
  153. package/upload/transaction/Transaction.js +104 -0
  154. package/upload/transactions/Transactions.js +94 -0
  155. package/{dist/useTheme.js → useTheme.js} +0 -0
  156. package/wizard/Icons.js +65 -0
  157. package/wizard/Wizard.js +271 -0
  158. package/wizard/index.d.ts +18 -0
  159. package/README.md +0 -66
  160. package/babel.config.js +0 -4
  161. package/dist/ThemeContext.js +0 -54
  162. package/dist/accordion/Accordion.js +0 -273
  163. package/dist/accordion/Accordion.stories.js +0 -207
  164. package/dist/accordion/readme.md +0 -96
  165. package/dist/accordion-group/AccordionGroup.js +0 -159
  166. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  167. package/dist/accordion-group/readme.md +0 -70
  168. package/dist/alert/Alert.js +0 -304
  169. package/dist/alert/Alert.stories.js +0 -158
  170. package/dist/alert/close.svg +0 -4
  171. package/dist/alert/error.svg +0 -4
  172. package/dist/alert/info.svg +0 -4
  173. package/dist/alert/readme.md +0 -43
  174. package/dist/alert/success.svg +0 -4
  175. package/dist/alert/warning.svg +0 -4
  176. package/dist/badge/Badge.js +0 -58
  177. package/dist/button/Button.js +0 -202
  178. package/dist/button/Button.stories.js +0 -224
  179. package/dist/button/readme.md +0 -93
  180. package/dist/card/Card.js +0 -217
  181. package/dist/checkbox/Checkbox.js +0 -240
  182. package/dist/checkbox/Checkbox.stories.js +0 -144
  183. package/dist/checkbox/readme.md +0 -116
  184. package/dist/chip/Chip.js +0 -208
  185. package/dist/common/services/example-service.js +0 -10
  186. package/dist/common/services/example-service.test.js +0 -12
  187. package/dist/common/utils.js +0 -42
  188. package/dist/common/variables.js +0 -436
  189. package/dist/date/Date.stories.js +0 -205
  190. package/dist/date/calendar.svg +0 -1
  191. package/dist/date/calendar_dark.svg +0 -1
  192. package/dist/date/readme.md +0 -73
  193. package/dist/dialog/Dialog.js +0 -197
  194. package/dist/dialog/Dialog.stories.js +0 -217
  195. package/dist/dialog/readme.md +0 -32
  196. package/dist/dropdown/Dropdown.js +0 -449
  197. package/dist/dropdown/Dropdown.stories.js +0 -249
  198. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  199. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  200. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  201. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  202. package/dist/dropdown/readme.md +0 -69
  203. package/dist/footer/Footer.js +0 -371
  204. package/dist/footer/Footer.stories.js +0 -94
  205. package/dist/footer/dxc_logo_wht.png +0 -0
  206. package/dist/footer/readme.md +0 -41
  207. package/dist/header/Header.js +0 -373
  208. package/dist/header/Header.stories.js +0 -176
  209. package/dist/header/close_icon.svg +0 -1
  210. package/dist/header/dxc_logo_black.png +0 -0
  211. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  212. package/dist/header/dxc_logo_white.png +0 -0
  213. package/dist/header/hamb_menu_black.svg +0 -1
  214. package/dist/header/hamb_menu_white.svg +0 -1
  215. package/dist/header/readme.md +0 -33
  216. package/dist/heading/Heading.js +0 -153
  217. package/dist/input-text/InputText.js +0 -570
  218. package/dist/input-text/InputText.stories.js +0 -209
  219. package/dist/input-text/error.svg +0 -1
  220. package/dist/input-text/readme.md +0 -91
  221. package/dist/layout/facebook.svg +0 -45
  222. package/dist/layout/linkedin.svg +0 -50
  223. package/dist/layout/twitter.svg +0 -53
  224. package/dist/link/Link.js +0 -192
  225. package/dist/link/readme.md +0 -51
  226. package/dist/paginator/Paginator.js +0 -232
  227. package/dist/paginator/images/next.svg +0 -3
  228. package/dist/paginator/images/nextPage.svg +0 -3
  229. package/dist/paginator/images/previous.svg +0 -3
  230. package/dist/paginator/images/previousPage.svg +0 -3
  231. package/dist/paginator/readme.md +0 -50
  232. package/dist/progress-bar/ProgressBar.js +0 -185
  233. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  234. package/dist/progress-bar/readme.md +0 -63
  235. package/dist/radio/Radio.js +0 -195
  236. package/dist/radio/Radio.stories.js +0 -166
  237. package/dist/radio/readme.md +0 -70
  238. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  239. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  240. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  241. package/dist/select/Select.js +0 -473
  242. package/dist/select/Select.stories.js +0 -235
  243. package/dist/select/readme.md +0 -72
  244. package/dist/sidenav/Sidenav.js +0 -128
  245. package/dist/slider/Slider.js +0 -266
  246. package/dist/slider/Slider.stories.js +0 -241
  247. package/dist/slider/readme.md +0 -64
  248. package/dist/spinner/Spinner.js +0 -193
  249. package/dist/spinner/Spinner.stories.js +0 -183
  250. package/dist/spinner/readme.md +0 -65
  251. package/dist/switch/Switch.js +0 -199
  252. package/dist/switch/Switch.stories.js +0 -134
  253. package/dist/switch/readme.md +0 -133
  254. package/dist/table/Table.js +0 -105
  255. package/dist/tabs/Tabs.js +0 -292
  256. package/dist/tabs/Tabs.stories.js +0 -130
  257. package/dist/tabs/readme.md +0 -78
  258. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  259. package/dist/tabs-for-sections/readme.md +0 -78
  260. package/dist/tag/Tag.js +0 -249
  261. package/dist/textarea/Textarea.js +0 -227
  262. package/dist/toggle/Toggle.stories.js +0 -297
  263. package/dist/toggle/readme.md +0 -80
  264. package/dist/toggle-group/ToggleGroup.js +0 -226
  265. package/dist/toggle-group/readme.md +0 -82
  266. package/dist/upload/Upload.stories.js +0 -72
  267. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -122
  268. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  269. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  270. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -279
  271. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  272. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  273. package/dist/upload/file-upload/FileToUpload.js +0 -158
  274. package/dist/upload/file-upload/audio-icon.svg +0 -4
  275. package/dist/upload/file-upload/close.svg +0 -4
  276. package/dist/upload/file-upload/file-icon.svg +0 -4
  277. package/dist/upload/file-upload/video-icon.svg +0 -4
  278. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  279. package/dist/upload/readme.md +0 -37
  280. package/dist/upload/transaction/Transaction.js +0 -155
  281. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  282. package/dist/upload/transaction/audio-icon.svg +0 -4
  283. package/dist/upload/transaction/error-icon.svg +0 -4
  284. package/dist/upload/transaction/file-icon-err.svg +0 -4
  285. package/dist/upload/transaction/file-icon.svg +0 -4
  286. package/dist/upload/transaction/image-icon-err.svg +0 -4
  287. package/dist/upload/transaction/image-icon.svg +0 -4
  288. package/dist/upload/transaction/success-icon.svg +0 -4
  289. package/dist/upload/transaction/video-icon-err.svg +0 -4
  290. package/dist/upload/transaction/video-icon.svg +0 -4
  291. package/dist/upload/transactions/Transactions.js +0 -120
  292. package/dist/wizard/Wizard.js +0 -331
  293. package/dist/wizard/invalid_icon.svg +0 -6
  294. package/dist/wizard/valid_icon.svg +0 -6
  295. package/dist/wizard/validation-wrong.svg +0 -6
  296. package/test/Accordion.test.js +0 -33
  297. package/test/AccordionGroup.test.js +0 -109
  298. package/test/Alert.test.js +0 -53
  299. package/test/Box.test.js +0 -10
  300. package/test/Button.test.js +0 -18
  301. package/test/Card.test.js +0 -30
  302. package/test/Checkbox.test.js +0 -45
  303. package/test/Chip.test.js +0 -25
  304. package/test/Date.test.js +0 -393
  305. package/test/Dialog.test.js +0 -23
  306. package/test/Dropdown.test.js +0 -130
  307. package/test/Footer.test.js +0 -99
  308. package/test/Header.test.js +0 -39
  309. package/test/Heading.test.js +0 -35
  310. package/test/InputText.test.js +0 -240
  311. package/test/Link.test.js +0 -42
  312. package/test/Paginator.test.js +0 -194
  313. package/test/ProgressBar.test.js +0 -35
  314. package/test/Radio.test.js +0 -37
  315. package/test/ResultsetTable.test.js +0 -304
  316. package/test/Select.test.js +0 -192
  317. package/test/Sidenav.test.js +0 -45
  318. package/test/Slider.test.js +0 -82
  319. package/test/Spinner.test.js +0 -27
  320. package/test/Switch.test.js +0 -45
  321. package/test/Table.test.js +0 -36
  322. package/test/Tabs.test.js +0 -109
  323. package/test/TabsForSections.test.js +0 -34
  324. package/test/Tag.test.js +0 -32
  325. package/test/TextArea.test.js +0 -52
  326. package/test/ToggleGroup.test.js +0 -81
  327. package/test/Upload.test.js +0 -60
  328. package/test/Wizard.test.js +0 -130
  329. package/test/mocks/pngMock.js +0 -1
  330. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,455 @@
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 _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
+
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _Select = _interopRequireDefault(require("@material-ui/core/Select"));
23
+
24
+ var _InputLabel = _interopRequireDefault(require("@material-ui/core/InputLabel"));
25
+
26
+ var _FormControl = _interopRequireDefault(require("@material-ui/core/FormControl"));
27
+
28
+ var _FormHelperText = _interopRequireDefault(require("@material-ui/core/FormHelperText"));
29
+
30
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
31
+
32
+ var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
33
+
34
+ var _propTypes = _interopRequireDefault(require("prop-types"));
35
+
36
+ var _Checkbox = _interopRequireDefault(require("../checkbox/Checkbox"));
37
+
38
+ var _variables = require("../common/variables.js");
39
+
40
+ var _utils = require("../common/utils.js");
41
+
42
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
43
+
44
+ var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
45
+
46
+ var _BackgroundColorContext = _interopRequireWildcard(require("../BackgroundColorContext.js"));
47
+
48
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
49
+
50
+ 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); }
51
+
52
+ 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; }
53
+
54
+ var V3DxcSelect = function V3DxcSelect(_ref) {
55
+ var value = _ref.value,
56
+ name = _ref.name,
57
+ onChange = _ref.onChange,
58
+ label = _ref.label,
59
+ assistiveText = _ref.assistiveText,
60
+ _ref$required = _ref.required,
61
+ required = _ref$required === void 0 ? false : _ref$required,
62
+ _ref$disabled = _ref.disabled,
63
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
64
+ _ref$invalid = _ref.invalid,
65
+ invalid = _ref$invalid === void 0 ? false : _ref$invalid,
66
+ _ref$options = _ref.options,
67
+ options = _ref$options === void 0 ? [] : _ref$options,
68
+ _ref$iconPosition = _ref.iconPosition,
69
+ iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
70
+ _ref$multiple = _ref.multiple,
71
+ multiple = _ref$multiple === void 0 ? false : _ref$multiple,
72
+ margin = _ref.margin,
73
+ _ref$size = _ref.size,
74
+ size = _ref$size === void 0 ? "medium" : _ref$size,
75
+ _ref$tabIndex = _ref.tabIndex,
76
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
77
+ var colorsTheme = (0, _useTheme["default"])();
78
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
79
+
80
+ var _useState = (0, _react.useState)(multiple && [] || ""),
81
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
82
+ selectedValue = _useState2[0],
83
+ setSelectedValue = _useState2[1];
84
+
85
+ var handleSelectChange = function handleSelectChange(selectedOption) {
86
+ if (multiple) {
87
+ setSelectedValue(selectedOption.target.value);
88
+
89
+ if (typeof onChange === "function") {
90
+ onChange(selectedOption.target.value);
91
+ }
92
+ } else {
93
+ setSelectedValue(selectedOption.target.value);
94
+
95
+ if (typeof onChange === "function") {
96
+ onChange(selectedOption.target.value);
97
+ }
98
+ }
99
+ };
100
+
101
+ var getLabelForSingleSelect = function getLabelForSingleSelect(selected) {
102
+ var selectedItem = options.filter(function (option) {
103
+ return option.value === selected;
104
+ })[0];
105
+ return /*#__PURE__*/_react["default"].createElement(SelectedOptionContainer, {
106
+ iconPosition: iconPosition,
107
+ multiple: multiple,
108
+ label: selectedItem && selectedItem.label,
109
+ key: selectedItem && selectedItem.label
110
+ }, selectedItem && selectedItem.icon ? /*#__PURE__*/_react["default"].createElement(SelectedOptionIconContainer, {
111
+ backgroundType: backgroundType,
112
+ disabled: disabled,
113
+ label: selectedItem.label,
114
+ iconPosition: iconPosition
115
+ }, (0, _typeof2["default"])(selectedItem.icon) === "object" ? selectedItem.icon : /*#__PURE__*/_react["default"].createElement(selectedItem.icon)) : selectedItem && selectedItem.iconSrc && /*#__PURE__*/_react["default"].createElement(SelectedOptionIcon, {
116
+ src: selectedItem && selectedItem.iconSrc,
117
+ label: selectedItem.label,
118
+ iconPosition: iconPosition
119
+ }), selectedItem && selectedItem.label && /*#__PURE__*/_react["default"].createElement(SelectedOptionLabelContainer, {
120
+ iconSrc: selectedItem && selectedItem.iconSrc && selectedItem.icon,
121
+ iconPosition: iconPosition,
122
+ disabled: disabled
123
+ }, selectedItem && selectedItem.label));
124
+ };
125
+
126
+ var getSelectedValuesWithLabel = function getSelectedValuesWithLabel(optionsList, selected) {
127
+ return /*#__PURE__*/_react["default"].createElement(MultipleLabelSelected, null, optionsList.filter(function (x) {
128
+ return selected.includes(x.value);
129
+ }).map(function (optionToRender) {
130
+ return optionToRender.label;
131
+ }).join(", "));
132
+ };
133
+
134
+ var getSelectedValuesWithIcons = function getSelectedValuesWithIcons(optionsList, selected) {
135
+ return optionsList.filter(function (x) {
136
+ return selected.includes(x.value);
137
+ }).map(function (optionToRender) {
138
+ return getLabelForSingleSelect(optionToRender.value);
139
+ });
140
+ };
141
+
142
+ var labelForMultipleSelect = function labelForMultipleSelect(selected) {
143
+ return options.findIndex(function (option) {
144
+ return !option.label;
145
+ }) !== -1 ? getSelectedValuesWithIcons(options, selected) : getSelectedValuesWithLabel(options, selected);
146
+ };
147
+
148
+ var getRenderValue = function getRenderValue(selected) {
149
+ return multiple && labelForMultipleSelect(selected) || getLabelForSingleSelect(selected);
150
+ };
151
+
152
+ var isChecked = function isChecked(checkedValue, value, option) {
153
+ if (value !== undefined) {
154
+ var result = false;
155
+ value.map(function (val) {
156
+ if (val === option.value) {
157
+ result = true;
158
+ }
159
+ });
160
+ return result;
161
+ } else if (checkedValue) {
162
+ return checkedValue.findIndex(function (element) {
163
+ return element === option.value;
164
+ }) !== -1 || false;
165
+ }
166
+ };
167
+
168
+ var ThemedOption = function ThemedOption(_ref2) {
169
+ var option = _ref2.option;
170
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
171
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, multiple && /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
172
+ size: "fitContent",
173
+ checked: isChecked(selectedValue, value, option)
174
+ }), /*#__PURE__*/_react["default"].createElement(OptionListContainer, {
175
+ iconPosition: iconPosition,
176
+ multiple: multiple
177
+ }, option.icon ? /*#__PURE__*/_react["default"].createElement(OptionListIconContainer, {
178
+ backgroundType: backgroundType,
179
+ disabled: disabled,
180
+ label: option.label,
181
+ iconPosition: iconPosition
182
+ }, (0, _typeof2["default"])(option.icon) === "object" ? option.icon : /*#__PURE__*/_react["default"].createElement(option.icon)) : option.iconSrc && /*#__PURE__*/_react["default"].createElement(OptionListIcon, {
183
+ src: option.iconSrc,
184
+ label: option.label,
185
+ iconPosition: iconPosition
186
+ }), " ", /*#__PURE__*/_react["default"].createElement(OptionListLabelContainer, {
187
+ backgroundType: backgroundType
188
+ }, option.label)));
189
+ };
190
+
191
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
192
+ theme: colorsTheme.V3Select
193
+ }, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
194
+ margin: margin,
195
+ size: size,
196
+ invalid: invalid,
197
+ disabled: disabled,
198
+ backgroundType: backgroundType
199
+ }, /*#__PURE__*/_react["default"].createElement(_FormControl["default"], null, /*#__PURE__*/_react["default"].createElement(_InputLabel["default"], {
200
+ disabled: disabled
201
+ }, required && /*#__PURE__*/_react["default"].createElement(_RequiredComponent["default"], null), label), /*#__PURE__*/_react["default"].createElement(_Select["default"], {
202
+ name: name,
203
+ multiple: multiple,
204
+ renderValue: getRenderValue,
205
+ onChange: handleSelectChange,
206
+ value: value !== undefined ? value : selectedValue,
207
+ disabled: disabled,
208
+ MenuProps: {
209
+ getContentAnchorEl: null,
210
+ anchorOrigin: {
211
+ vertical: "bottom",
212
+ horizontal: "left"
213
+ },
214
+ disablePortal: true
215
+ },
216
+ inputProps: {
217
+ tabIndex: disabled ? -1 : tabIndex
218
+ }
219
+ }, options.map(function (option) {
220
+ return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
221
+ id: option.value,
222
+ value: option.value,
223
+ disableRipple: true,
224
+ key: option.value
225
+ }, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
226
+ color: colorsTheme.V3Select.optionBackgroundColor
227
+ }, /*#__PURE__*/_react["default"].createElement(ThemedOption, {
228
+ option: option
229
+ })));
230
+ })), assistiveText && /*#__PURE__*/_react["default"].createElement(_FormHelperText["default"], {
231
+ disabled: disabled
232
+ }, assistiveText))));
233
+ };
234
+
235
+ var sizes = {
236
+ small: "60px",
237
+ medium: "240px",
238
+ large: "480px",
239
+ fillParent: "100%"
240
+ };
241
+
242
+ var calculateWidth = function calculateWidth(margin, size) {
243
+ return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
244
+ };
245
+
246
+ var MultipleLabelSelected = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: calc(100% - 24px);\n overflow: hidden;\n text-overflow: ellipsis;\n"])));
247
+
248
+ var OptionListContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n display: flex;\n align-items: center;\n flex-direction: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n ", "\n"])), function (props) {
249
+ return props.theme.fontFamily;
250
+ }, function (props) {
251
+ return props.iconPosition === "before" && "row" || "row-reverse";
252
+ }, function (props) {
253
+ return props.multiple && "margin-left: ".concat(props.theme.optionCheckboxSpacing, ";");
254
+ });
255
+
256
+ var OptionListIconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
257
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor : props.backgroundType === "dark" ? props.theme.optionIconColorOnDark : props.theme.optionIconColor;
258
+ }, function (props) {
259
+ return props.theme.optionIconSize;
260
+ }, function (props) {
261
+ return props.theme.optionIconSize;
262
+ }, function (props) {
263
+ return props.iconPosition === "after" && props.label && props.theme.optionIconSpacing || "0px";
264
+ }, function (props) {
265
+ return props.iconPosition === "before" && props.label && props.theme.optionIconSpacing || "0px";
266
+ });
267
+
268
+ var OptionListIcon = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"])), function (props) {
269
+ return props.theme.optionIconSize;
270
+ }, function (props) {
271
+ return props.theme.optionIconSize;
272
+ }, function (props) {
273
+ return props.iconPosition === "after" && props.label !== "" && props.theme.optionIconSpacing || "0px";
274
+ }, function (props) {
275
+ return props.iconPosition === "before" && props.label !== "" && props.theme.optionIconSpacing || "0px";
276
+ });
277
+
278
+ var OptionListLabelContainer = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
279
+ return props.theme.optionFontSize;
280
+ }, function (props) {
281
+ return props.theme.optionFontStyle;
282
+ }, function (props) {
283
+ return props.theme.optionFontWeight;
284
+ }, function (props) {
285
+ return props.backgroundType === "dark" ? props.theme.optionFontColorOnDark : props.theme.optionFontColor;
286
+ });
287
+
288
+ var SelectedOptionContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: ", ";\n justify-content: ", ";\n margin-right: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n width: ", ";\n\n &::before {\n margin: 0 4px;\n ", ";\n }\n &::after {\n margin: 0 4px;\n ", ";\n }\n"])), function (props) {
289
+ return props.iconPosition === "before" && "row" || "row-reverse";
290
+ }, function (props) {
291
+ return props.iconPosition === "before" && "flex-start" || "flex-end";
292
+ }, function (props) {
293
+ return props.multiple && props.label && "15px" || "0px";
294
+ }, function (props) {
295
+ return !props.multiple && "calc(100% - 24px)" || "auto";
296
+ }, function (props) {
297
+ return props.iconPosition === "after" && (props.label !== "" || props.label === undefined) && "content:','";
298
+ }, function (props) {
299
+ return props.iconPosition === "before" && (props.label !== "" || props.label === undefined) && "content:','";
300
+ });
301
+
302
+ var SelectedOptionLabelContainer = _styledComponents["default"].span(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n"])), function (props) {
303
+ return props.theme.fontFamily;
304
+ });
305
+
306
+ var SelectedOptionIcon = _styledComponents["default"].img(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"])), function (props) {
307
+ return props.theme.valueIconSize;
308
+ }, function (props) {
309
+ return props.theme.valueIconSize;
310
+ }, function (props) {
311
+ return props.iconPosition === "after" && props.label !== "" && props.theme.valueIconSpacing || "0px";
312
+ }, function (props) {
313
+ return props.iconPosition === "before" && props.label !== "" && props.theme.valueIconSpacing || "0px";
314
+ });
315
+
316
+ var SelectedOptionIconContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
317
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor : props.backgroundType === "dark" ? props.theme.valueIconColorOnDark : props.theme.valueIconColor;
318
+ }, function (props) {
319
+ return props.theme.valueIconSize;
320
+ }, function (props) {
321
+ return props.theme.valueIconSize;
322
+ }, function (props) {
323
+ return props.iconPosition === "after" && props.label !== "" && props.theme.valueIconSpacing || "0px";
324
+ }, function (props) {
325
+ return props.iconPosition === "before" && props.label !== "" && props.theme.valueIconSpacing || "0px";
326
+ });
327
+
328
+ var SelectContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n display: inline-block;\n\n .MuiFormControl-root {\n width: 100%;\n }\n\n .MuiFormHelperText-root {\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n margin-top: 6px;\n\n &.Mui-disabled {\n color: ", ";\n cursor: not-allowed;\n }\n }\n\n .MuiFormLabel-root {\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n margin-top: -3px;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n height: 22px;\n display: flex;\n align-items: center;\n\n &.Mui-disabled {\n color: ", ";\n }\n &.Mui-focused {\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n }\n }\n\n .MuiSelect-select.MuiSelect-select {\n padding-right: unset;\n }\n\n .MuiSelect-select {\n width: 100%;\n height: 20px;\n display: flex;\n padding-right: 10px;\n align-items: center;\n\n :focus {\n background-color: transparent;\n outline: ", "\n auto 2px;\n }\n & > *:last-child::after {\n content: unset;\n }\n & > *:last-child::before {\n content: unset;\n }\n &.Mui-disabled {\n color: ", ";\n cursor: not-allowed;\n &:focus {\n outline: none;\n }\n }\n }\n .MuiInputBase-input {\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n }\n .MuiInput-underline {\n &.Mui-focused {\n border-bottom-width: ", ";\n border-bottom-color: ", ";\n }\n &.Mui-disabled:before {\n border-bottom-style: solid;\n }\n }\n .MuiInput-underline:hover:not(.Mui-disabled):before {\n border-bottom: ", " solid;\n border-bottom-color: ", ";\n }\n .MuiInput-underline:after {\n border-bottom: ", " solid;\n border-bottom-color: ", ";\n }\n .MuiInput-underline:before {\n border-bottom: ", " solid;\n border-bottom-color: ", ";\n }\n .MuiSelect-icon {\n color: ", " !important;\n }\n & label {\n text-overflow: ellipsis;\n overflow: hidden;\n width: calc(100% - 24px);\n }\n\n .MuiMenu-paper {\n background-color: ", ";\n box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.3);\n min-width: auto;\n width: auto;\n max-height: 250px;\n border-color: ", ";\n border-width: ", ";\n border-style: ", ";\n\n &::-webkit-scrollbar {\n width: 3px;\n margin: 5px;\n }\n &::-webkit-scrollbar-track {\n border-radius: 3px;\n background-color: ", ";\n }\n &::-webkit-scrollbar-thumb {\n border-radius: 3px;\n background-color: ", ";\n }\n }\n .MuiList-root {\n width: auto !important;\n padding-right: 0 !important;\n }\n .MuiList-padding {\n padding-bottom: 0px;\n padding-top: 0px;\n }\n .MuiMenuItem-root {\n padding-bottom: ", ";\n padding-top: ", ";\n\n &:hover {\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n }\n &:focus {\n outline: ", "\n auto 2px;\n outline-offset: -1px;\n }\n &.MuiListItem-root.Mui-selected {\n background-color: ", ";\n }\n & span.MuiButtonBase-root {\n // multiple checkbox\n padding: 0px;\n margin: 5px 0px;\n }\n }\n"])), function (props) {
329
+ return calculateWidth(props.margin, props.size);
330
+ }, function (props) {
331
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
332
+ }, function (props) {
333
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
334
+ }, function (props) {
335
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
336
+ }, function (props) {
337
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
338
+ }, function (props) {
339
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
340
+ }, function (props) {
341
+ return props.theme.fontFamily;
342
+ }, function (props) {
343
+ return props.theme.assistiveTextFontSize;
344
+ }, function (props) {
345
+ return props.theme.assistiveTextFontStyle;
346
+ }, function (props) {
347
+ return props.theme.assistiveTextFontWeight;
348
+ }, function (props) {
349
+ return props.backgroundType === "dark" ? props.invalid === true ? props.theme.errorColorOnDark : props.theme.assistiveTextFontColorOnDark : props.invalid === true ? props.theme.errorColor : props.theme.assistiveTextFontColor;
350
+ }, function (props) {
351
+ return props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor;
352
+ }, function (props) {
353
+ return props.theme.fontFamily;
354
+ }, function (props) {
355
+ return props.theme.labelFontSize;
356
+ }, function (props) {
357
+ return props.theme.labelFontStyle;
358
+ }, function (props) {
359
+ return props.theme.labelFontWeight;
360
+ }, function (props) {
361
+ return props.backgroundType === "dark" ? props.invalid === true ? props.theme.errorColorOnDark : props.theme.labelFontColorOnDark : props.invalid === true ? props.theme.errorColor : props.theme.labelFontColor;
362
+ }, function (props) {
363
+ return props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor;
364
+ }, function (props) {
365
+ return props.theme.labelFontSize;
366
+ }, function (props) {
367
+ return props.theme.labelFontStyle;
368
+ }, function (props) {
369
+ return props.theme.labelFontWeight;
370
+ }, function (props) {
371
+ return props.backgroundType === "dark" ? props.invalid === true ? props.theme.errorColorOnDark : props.theme.labelFontColorOnDark : props.invalid === true ? props.theme.errorColor : props.theme.labelFontColor;
372
+ }, function (props) {
373
+ return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
374
+ }, function (props) {
375
+ return props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor;
376
+ }, function (props) {
377
+ return props.theme.valueFontSize;
378
+ }, function (props) {
379
+ return props.theme.valueFontStyle;
380
+ }, function (props) {
381
+ return props.theme.valueFontWeight;
382
+ }, function (props) {
383
+ return props.backgroundType === "dark" ? props.theme.valueFontColorOnDark : props.theme.valueFontColor;
384
+ }, function (props) {
385
+ return props.theme.underlineThickness;
386
+ }, function (props) {
387
+ return props.backgroundType === "dark" ? props.invalid === true && props.theme.errorColorOnDark || props.disabled && props.theme.disabledColorOnDark || props.theme.underlineFocusColorOnDark : props.invalid === true && props.theme.errorColor || props.disabled && props.theme.disabledColor || props.theme.underlineFocusColor;
388
+ }, function (props) {
389
+ return props.theme.underlineThickness;
390
+ }, function (props) {
391
+ return props.backgroundType === "dark" ? props.invalid === true && props.theme.errorColorOnDark || props.disabled && props.theme.disabledColorOnDark || props.theme.underlineColorOnDark : props.invalid === true && props.theme.errorColor || props.disabled && props.theme.disabledColor || props.theme.underlineColor;
392
+ }, function (props) {
393
+ return props.theme.underlineThickness;
394
+ }, function (props) {
395
+ return props.backgroundType === "dark" ? props.invalid === true ? props.theme.errorColorOnDark : props.theme.underlineFocusColorOnDark : props.invalid === true ? props.theme.errorColor : props.theme.underlineFocusColor;
396
+ }, function (props) {
397
+ return props.theme.underlineThickness;
398
+ }, function (props) {
399
+ return props.backgroundType === "dark" ? props.invalid === true && props.theme.errorColorOnDark || props.disabled && props.theme.disabledColorOnDark || props.theme.underlineColorOnDark : props.invalid === true && props.theme.errorColor || props.disabled && props.theme.disabledColor || props.theme.underlineColor;
400
+ }, function (props) {
401
+ return props.backgroundType === "dark" ? props.disabled && props.theme.disabledColorOnDark || props.theme.arrowColorOnDark : props.disabled && props.theme.disabledColor || props.theme.arrowColor;
402
+ }, function (props) {
403
+ return props.theme.optionBackgroundColor;
404
+ }, function (props) {
405
+ return props.theme.optionBorderColor;
406
+ }, function (props) {
407
+ return props.theme.optionBorderThickness;
408
+ }, function (props) {
409
+ return props.theme.optionBorderStyle;
410
+ }, function (props) {
411
+ return props.theme.scrollBarTrackColor;
412
+ }, function (props) {
413
+ return props.theme.scrollBarThumbColor;
414
+ }, function (props) {
415
+ return props.theme.optionPaddingBottom;
416
+ }, function (props) {
417
+ return props.theme.optionPaddingTop;
418
+ }, function (props) {
419
+ return props.backgroundType === "dark" ? props.theme.hoverOptionBackgroundColorOnDark : props.theme.hoverOptionBackgroundColor;
420
+ }, function (props) {
421
+ return props.backgroundType === "dark" ? props.theme.activeOptionBackgroundColorOnDark : props.theme.activeOptionBackgroundColor;
422
+ }, function (props) {
423
+ return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
424
+ }, function (props) {
425
+ return props.backgroundType === "dark" ? props.theme.selectedOptionBackgroundColorOnDark : props.theme.selectedOptionBackgroundColor;
426
+ });
427
+
428
+ V3DxcSelect.propTypes = {
429
+ size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
430
+ label: _propTypes["default"].string,
431
+ assistiveText: _propTypes["default"].string,
432
+ name: _propTypes["default"].string,
433
+ value: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number, _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]))]),
434
+ disabled: _propTypes["default"].bool,
435
+ required: _propTypes["default"].bool,
436
+ invalid: _propTypes["default"].bool,
437
+ iconPosition: _propTypes["default"].oneOf(["after", "before"]),
438
+ onChange: _propTypes["default"].func,
439
+ options: _propTypes["default"].arrayOf(_propTypes["default"].shape({
440
+ value: _propTypes["default"].any.isRequired,
441
+ label: _propTypes["default"].string,
442
+ icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
443
+ iconSrc: _propTypes["default"].string
444
+ })),
445
+ multiple: _propTypes["default"].bool,
446
+ margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
447
+ top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
448
+ bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
449
+ left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
450
+ right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
451
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
452
+ tabIndex: _propTypes["default"].number
453
+ };
454
+ var _default = V3DxcSelect;
455
+ exports["default"] = _default;
@@ -0,0 +1,27 @@
1
+ type Size = "small" | "medium" | "large" | "fillParent";
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+
10
+ type Props = {
11
+ value?: any;
12
+ name?: string;
13
+ onChange?: void;
14
+ label?: string,
15
+ assistiveText?: string;
16
+ required?: boolean;
17
+ disabled?: boolean;
18
+ invalid?: boolean;
19
+ options?: any;
20
+ iconPosition?: "before" | "after";
21
+ multiple?: boolean;
22
+ margin?: Space | Margin;
23
+ size?: Size;
24
+ tabIndex?: number;
25
+ };
26
+
27
+ export default function V3DxcSelect(props: Props): JSX.Element;