@dxc-technology/halstack-react 0.0.0-1810844 → 0.0.0-1819a7a

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 (418) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +48 -0
  3. package/ThemeContext.d.ts +15 -0
  4. package/ThemeContext.js +243 -0
  5. package/V3Select/V3Select.js +455 -0
  6. package/V3Select/index.d.ts +27 -0
  7. package/V3Textarea/V3Textarea.js +260 -0
  8. package/V3Textarea/index.d.ts +27 -0
  9. package/accordion/Accordion.d.ts +4 -0
  10. package/accordion/Accordion.js +258 -0
  11. package/accordion/Accordion.stories.tsx +300 -0
  12. package/accordion/types.d.ts +68 -0
  13. package/accordion/types.js +5 -0
  14. package/accordion-group/AccordionGroup.d.ts +7 -0
  15. package/accordion-group/AccordionGroup.js +170 -0
  16. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  17. package/accordion-group/types.d.ts +72 -0
  18. package/accordion-group/types.js +5 -0
  19. package/alert/Alert.d.ts +4 -0
  20. package/alert/Alert.js +290 -0
  21. package/alert/Alert.stories.tsx +170 -0
  22. package/alert/types.d.ts +49 -0
  23. package/alert/types.js +5 -0
  24. package/badge/Badge.js +59 -0
  25. package/box/Box.d.ts +4 -0
  26. package/box/Box.js +126 -0
  27. package/box/Box.stories.tsx +132 -0
  28. package/box/types.d.ts +43 -0
  29. package/box/types.js +5 -0
  30. package/button/Button.d.ts +4 -0
  31. package/button/Button.js +179 -0
  32. package/button/Button.stories.tsx +276 -0
  33. package/button/types.d.ts +57 -0
  34. package/button/types.js +5 -0
  35. package/card/Card.d.ts +4 -0
  36. package/card/Card.js +164 -0
  37. package/card/Card.stories.tsx +201 -0
  38. package/card/ice-cream.jpg +0 -0
  39. package/card/types.d.ts +67 -0
  40. package/card/types.js +5 -0
  41. package/checkbox/Checkbox.d.ts +4 -0
  42. package/checkbox/Checkbox.js +253 -0
  43. package/checkbox/Checkbox.stories.tsx +192 -0
  44. package/checkbox/types.d.ts +60 -0
  45. package/checkbox/types.js +5 -0
  46. package/chip/Chip.d.ts +4 -0
  47. package/chip/Chip.js +199 -0
  48. package/chip/Chip.stories.tsx +121 -0
  49. package/chip/types.d.ts +53 -0
  50. package/chip/types.js +5 -0
  51. package/{dist/common → common}/OpenSans.css +0 -0
  52. package/{dist/common → common}/RequiredComponent.js +3 -11
  53. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  54. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  55. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  56. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  57. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  58. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  59. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  60. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  61. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  62. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  63. package/common/utils.js +22 -0
  64. package/common/variables.js +1574 -0
  65. package/{dist/date → date}/Date.js +81 -65
  66. package/date/index.d.ts +27 -0
  67. package/date-input/DateInput.d.ts +4 -0
  68. package/date-input/DateInput.js +358 -0
  69. package/date-input/DateInput.stories.tsx +138 -0
  70. package/date-input/types.d.ts +100 -0
  71. package/date-input/types.js +5 -0
  72. package/dialog/Dialog.d.ts +4 -0
  73. package/dialog/Dialog.js +165 -0
  74. package/dialog/Dialog.stories.tsx +212 -0
  75. package/dialog/types.d.ts +43 -0
  76. package/dialog/types.js +5 -0
  77. package/dropdown/Dropdown.d.ts +4 -0
  78. package/dropdown/Dropdown.js +417 -0
  79. package/dropdown/types.d.ts +89 -0
  80. package/dropdown/types.js +5 -0
  81. package/file-input/FileInput.d.ts +4 -0
  82. package/file-input/FileInput.js +521 -0
  83. package/file-input/FileItem.d.ts +14 -0
  84. package/file-input/FileItem.js +184 -0
  85. package/file-input/types.d.ts +112 -0
  86. package/file-input/types.js +5 -0
  87. package/footer/Footer.d.ts +4 -0
  88. package/footer/Footer.js +260 -0
  89. package/footer/Footer.stories.tsx +130 -0
  90. package/footer/Icons.d.ts +2 -0
  91. package/footer/Icons.js +77 -0
  92. package/footer/types.d.ts +65 -0
  93. package/footer/types.js +5 -0
  94. package/header/Header.d.ts +7 -0
  95. package/header/Header.js +324 -0
  96. package/header/Header.stories.tsx +162 -0
  97. package/header/Icons.d.ts +2 -0
  98. package/header/Icons.js +34 -0
  99. package/header/types.d.ts +47 -0
  100. package/header/types.js +5 -0
  101. package/heading/Heading.d.ts +4 -0
  102. package/heading/Heading.js +159 -0
  103. package/heading/Heading.stories.tsx +53 -0
  104. package/heading/types.d.ts +33 -0
  105. package/heading/types.js +5 -0
  106. package/input-text/Icons.js +22 -0
  107. package/input-text/InputText.js +611 -0
  108. package/input-text/index.d.ts +36 -0
  109. package/layout/ApplicationLayout.d.ts +10 -0
  110. package/layout/ApplicationLayout.js +225 -0
  111. package/layout/ApplicationLayout.stories.tsx +171 -0
  112. package/layout/Icons.js +55 -0
  113. package/layout/types.d.ts +57 -0
  114. package/layout/types.js +5 -0
  115. package/link/Link.d.ts +3 -0
  116. package/link/Link.js +161 -0
  117. package/link/Link.stories.tsx +146 -0
  118. package/link/types.d.ts +74 -0
  119. package/link/types.js +5 -0
  120. package/list/List.d.ts +7 -0
  121. package/list/List.js +37 -0
  122. package/list/List.stories.tsx +70 -0
  123. package/main.d.ts +48 -0
  124. package/{dist/main.js → main.js} +147 -55
  125. package/number-input/NumberInput.d.ts +4 -0
  126. package/number-input/NumberInput.js +83 -0
  127. package/number-input/NumberInput.stories.tsx +115 -0
  128. package/number-input/NumberInputContext.d.ts +4 -0
  129. package/number-input/NumberInputContext.js +19 -0
  130. package/number-input/numberInputContextTypes.d.ts +19 -0
  131. package/number-input/numberInputContextTypes.js +5 -0
  132. package/number-input/types.d.ts +117 -0
  133. package/number-input/types.js +5 -0
  134. package/package.json +32 -23
  135. package/paginator/Icons.js +66 -0
  136. package/paginator/Paginator.d.ts +4 -0
  137. package/paginator/Paginator.js +192 -0
  138. package/paginator/Paginator.stories.tsx +63 -0
  139. package/paginator/types.d.ts +38 -0
  140. package/paginator/types.js +5 -0
  141. package/password-input/PasswordInput.d.ts +4 -0
  142. package/password-input/PasswordInput.js +163 -0
  143. package/password-input/PasswordInput.stories.tsx +131 -0
  144. package/password-input/types.d.ts +107 -0
  145. package/password-input/types.js +5 -0
  146. package/progress-bar/ProgressBar.d.ts +4 -0
  147. package/progress-bar/ProgressBar.js +170 -0
  148. package/progress-bar/ProgressBar.stories.jsx +58 -0
  149. package/progress-bar/types.d.ts +37 -0
  150. package/progress-bar/types.js +5 -0
  151. package/radio/Radio.d.ts +4 -0
  152. package/radio/Radio.js +174 -0
  153. package/radio/Radio.stories.tsx +192 -0
  154. package/radio/types.d.ts +54 -0
  155. package/radio/types.js +5 -0
  156. package/resultsetTable/ResultsetTable.d.ts +4 -0
  157. package/resultsetTable/ResultsetTable.js +251 -0
  158. package/resultsetTable/ResultsetTable.stories.tsx +276 -0
  159. package/resultsetTable/types.d.ts +67 -0
  160. package/resultsetTable/types.js +5 -0
  161. package/row/Row.d.ts +11 -0
  162. package/row/Row.js +124 -0
  163. package/row/Row.stories.tsx +223 -0
  164. package/select/Select.js +863 -0
  165. package/select/Select.stories.tsx +572 -0
  166. package/select/index.d.ts +131 -0
  167. package/sidenav/Sidenav.d.ts +9 -0
  168. package/sidenav/Sidenav.js +136 -0
  169. package/sidenav/Sidenav.stories.tsx +165 -0
  170. package/sidenav/types.d.ts +50 -0
  171. package/sidenav/types.js +5 -0
  172. package/slider/Slider.d.ts +4 -0
  173. package/slider/Slider.js +317 -0
  174. package/slider/Slider.stories.tsx +177 -0
  175. package/slider/types.d.ts +78 -0
  176. package/slider/types.js +5 -0
  177. package/spinner/Spinner.d.ts +4 -0
  178. package/spinner/Spinner.js +250 -0
  179. package/spinner/Spinner.stories.jsx +102 -0
  180. package/spinner/types.d.ts +32 -0
  181. package/spinner/types.js +5 -0
  182. package/stack/Stack.d.ts +10 -0
  183. package/stack/Stack.js +94 -0
  184. package/stack/Stack.stories.tsx +150 -0
  185. package/switch/Switch.d.ts +4 -0
  186. package/switch/Switch.js +179 -0
  187. package/switch/Switch.stories.tsx +160 -0
  188. package/switch/types.d.ts +58 -0
  189. package/switch/types.js +5 -0
  190. package/table/Table.d.ts +4 -0
  191. package/table/Table.js +118 -0
  192. package/table/Table.stories.jsx +276 -0
  193. package/table/types.d.ts +21 -0
  194. package/table/types.js +5 -0
  195. package/tabs/Tabs.d.ts +4 -0
  196. package/tabs/Tabs.js +213 -0
  197. package/tabs/Tabs.stories.tsx +121 -0
  198. package/tabs/types.d.ts +70 -0
  199. package/tabs/types.js +5 -0
  200. package/tag/Tag.d.ts +4 -0
  201. package/tag/Tag.js +193 -0
  202. package/tag/Tag.stories.tsx +145 -0
  203. package/tag/types.d.ts +60 -0
  204. package/tag/types.js +5 -0
  205. package/text/Text.d.ts +7 -0
  206. package/text/Text.js +30 -0
  207. package/text/Text.stories.tsx +19 -0
  208. package/text-input/TextInput.d.ts +4 -0
  209. package/text-input/TextInput.js +786 -0
  210. package/text-input/TextInput.stories.tsx +456 -0
  211. package/text-input/types.d.ts +159 -0
  212. package/text-input/types.js +5 -0
  213. package/textarea/Textarea.d.ts +4 -0
  214. package/textarea/Textarea.js +284 -0
  215. package/textarea/Textarea.stories.jsx +135 -0
  216. package/textarea/types.d.ts +130 -0
  217. package/textarea/types.js +5 -0
  218. package/{dist/toggle → toggle}/Toggle.js +30 -67
  219. package/toggle/index.d.ts +21 -0
  220. package/toggle-group/ToggleGroup.d.ts +4 -0
  221. package/toggle-group/ToggleGroup.js +217 -0
  222. package/toggle-group/ToggleGroup.stories.tsx +178 -0
  223. package/toggle-group/types.d.ts +84 -0
  224. package/toggle-group/types.js +5 -0
  225. package/{dist/upload → upload}/Upload.js +23 -22
  226. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  227. package/upload/buttons-upload/Icons.js +40 -0
  228. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  229. package/upload/dragAndDropArea/Icons.js +39 -0
  230. package/upload/file-upload/FileToUpload.js +115 -0
  231. package/upload/file-upload/Icons.js +66 -0
  232. package/upload/files-upload/FilesToUpload.js +109 -0
  233. package/upload/index.d.ts +15 -0
  234. package/upload/transaction/Icons.js +160 -0
  235. package/upload/transaction/Transaction.js +104 -0
  236. package/upload/transactions/Transactions.js +94 -0
  237. package/useTheme.d.ts +2 -0
  238. package/{dist/useTheme.js → useTheme.js} +1 -1
  239. package/wizard/Wizard.d.ts +4 -0
  240. package/wizard/Wizard.js +281 -0
  241. package/wizard/Wizard.stories.tsx +224 -0
  242. package/wizard/types.d.ts +60 -0
  243. package/wizard/types.js +5 -0
  244. package/README.md +0 -66
  245. package/babel.config.js +0 -8
  246. package/dist/ThemeContext.js +0 -144
  247. package/dist/accordion/Accordion.js +0 -268
  248. package/dist/accordion/Accordion.stories.js +0 -207
  249. package/dist/accordion/readme.md +0 -96
  250. package/dist/accordion-group/AccordionGroup.js +0 -159
  251. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  252. package/dist/accordion-group/readme.md +0 -70
  253. package/dist/alert/Alert.js +0 -303
  254. package/dist/alert/Alert.stories.js +0 -158
  255. package/dist/alert/close.svg +0 -4
  256. package/dist/alert/error.svg +0 -4
  257. package/dist/alert/info.svg +0 -4
  258. package/dist/alert/readme.md +0 -43
  259. package/dist/alert/success.svg +0 -4
  260. package/dist/alert/warning.svg +0 -4
  261. package/dist/badge/Badge.js +0 -42
  262. package/dist/box/Box.js +0 -145
  263. package/dist/button/Button.js +0 -199
  264. package/dist/button/Button.stories.js +0 -224
  265. package/dist/button/readme.md +0 -93
  266. package/dist/card/Card.js +0 -217
  267. package/dist/checkbox/Checkbox.js +0 -229
  268. package/dist/checkbox/Checkbox.stories.js +0 -144
  269. package/dist/checkbox/readme.md +0 -116
  270. package/dist/chip/Chip.js +0 -203
  271. package/dist/common/services/example-service.js +0 -10
  272. package/dist/common/services/example-service.test.js +0 -12
  273. package/dist/common/utils.js +0 -42
  274. package/dist/common/variables.js +0 -393
  275. package/dist/date/Date.stories.js +0 -205
  276. package/dist/date/calendar.svg +0 -1
  277. package/dist/date/calendar_dark.svg +0 -1
  278. package/dist/date/readme.md +0 -73
  279. package/dist/dialog/Dialog.js +0 -197
  280. package/dist/dialog/Dialog.stories.js +0 -217
  281. package/dist/dialog/readme.md +0 -32
  282. package/dist/dropdown/Dropdown.js +0 -449
  283. package/dist/dropdown/Dropdown.stories.js +0 -249
  284. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  285. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  286. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  287. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  288. package/dist/dropdown/readme.md +0 -69
  289. package/dist/footer/Footer.js +0 -366
  290. package/dist/footer/Footer.stories.js +0 -94
  291. package/dist/footer/dxc_logo_wht.png +0 -0
  292. package/dist/footer/readme.md +0 -41
  293. package/dist/header/Header.js +0 -373
  294. package/dist/header/Header.stories.js +0 -176
  295. package/dist/header/close_icon.svg +0 -1
  296. package/dist/header/dxc_logo_black.png +0 -0
  297. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  298. package/dist/header/dxc_logo_white.png +0 -0
  299. package/dist/header/hamb_menu_black.svg +0 -1
  300. package/dist/header/hamb_menu_white.svg +0 -1
  301. package/dist/header/readme.md +0 -33
  302. package/dist/heading/Heading.js +0 -153
  303. package/dist/input-text/InputText.js +0 -570
  304. package/dist/input-text/InputText.stories.js +0 -209
  305. package/dist/input-text/error.svg +0 -1
  306. package/dist/input-text/readme.md +0 -91
  307. package/dist/layout/ApplicationLayout.js +0 -332
  308. package/dist/layout/facebook.svg +0 -45
  309. package/dist/layout/linkedin.svg +0 -50
  310. package/dist/layout/twitter.svg +0 -53
  311. package/dist/link/Link.js +0 -192
  312. package/dist/link/readme.md +0 -51
  313. package/dist/paginator/Paginator.js +0 -254
  314. package/dist/paginator/images/next.svg +0 -3
  315. package/dist/paginator/images/nextPage.svg +0 -3
  316. package/dist/paginator/images/previous.svg +0 -3
  317. package/dist/paginator/images/previousPage.svg +0 -3
  318. package/dist/paginator/readme.md +0 -50
  319. package/dist/progress-bar/ProgressBar.js +0 -185
  320. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  321. package/dist/progress-bar/readme.md +0 -63
  322. package/dist/radio/Radio.js +0 -195
  323. package/dist/radio/Radio.stories.js +0 -166
  324. package/dist/radio/readme.md +0 -70
  325. package/dist/resultsetTable/ResultsetTable.js +0 -327
  326. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  327. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  328. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  329. package/dist/select/Select.js +0 -473
  330. package/dist/select/Select.stories.js +0 -235
  331. package/dist/select/readme.md +0 -72
  332. package/dist/sidenav/Sidenav.js +0 -125
  333. package/dist/slider/Slider.js +0 -257
  334. package/dist/slider/Slider.stories.js +0 -241
  335. package/dist/slider/readme.md +0 -64
  336. package/dist/spinner/Spinner.js +0 -192
  337. package/dist/spinner/Spinner.stories.js +0 -183
  338. package/dist/spinner/readme.md +0 -65
  339. package/dist/switch/Switch.js +0 -190
  340. package/dist/switch/Switch.stories.js +0 -134
  341. package/dist/switch/readme.md +0 -133
  342. package/dist/table/Table.js +0 -104
  343. package/dist/tabs/Tabs.js +0 -302
  344. package/dist/tabs/Tabs.stories.js +0 -130
  345. package/dist/tabs/readme.md +0 -78
  346. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  347. package/dist/tabs-for-sections/readme.md +0 -78
  348. package/dist/tag/Tag.js +0 -249
  349. package/dist/textarea/Textarea.js +0 -224
  350. package/dist/toggle/Toggle.stories.js +0 -297
  351. package/dist/toggle/readme.md +0 -80
  352. package/dist/toggle-group/ToggleGroup.js +0 -223
  353. package/dist/toggle-group/readme.md +0 -82
  354. package/dist/upload/Upload.stories.js +0 -72
  355. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -122
  356. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  357. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  358. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -279
  359. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  360. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  361. package/dist/upload/file-upload/FileToUpload.js +0 -158
  362. package/dist/upload/file-upload/audio-icon.svg +0 -4
  363. package/dist/upload/file-upload/close.svg +0 -4
  364. package/dist/upload/file-upload/file-icon.svg +0 -4
  365. package/dist/upload/file-upload/video-icon.svg +0 -4
  366. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  367. package/dist/upload/readme.md +0 -37
  368. package/dist/upload/transaction/Transaction.js +0 -155
  369. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  370. package/dist/upload/transaction/audio-icon.svg +0 -4
  371. package/dist/upload/transaction/error-icon.svg +0 -4
  372. package/dist/upload/transaction/file-icon-err.svg +0 -4
  373. package/dist/upload/transaction/file-icon.svg +0 -4
  374. package/dist/upload/transaction/image-icon-err.svg +0 -4
  375. package/dist/upload/transaction/image-icon.svg +0 -4
  376. package/dist/upload/transaction/success-icon.svg +0 -4
  377. package/dist/upload/transaction/video-icon-err.svg +0 -4
  378. package/dist/upload/transaction/video-icon.svg +0 -4
  379. package/dist/upload/transactions/Transactions.js +0 -120
  380. package/dist/wizard/Wizard.js +0 -328
  381. package/dist/wizard/invalid_icon.svg +0 -6
  382. package/dist/wizard/valid_icon.svg +0 -6
  383. package/dist/wizard/validation-wrong.svg +0 -6
  384. package/test/Accordion.test.js +0 -33
  385. package/test/AccordionGroup.test.js +0 -109
  386. package/test/Alert.test.js +0 -53
  387. package/test/Box.test.js +0 -10
  388. package/test/Button.test.js +0 -18
  389. package/test/Card.test.js +0 -30
  390. package/test/Checkbox.test.js +0 -45
  391. package/test/Chip.test.js +0 -25
  392. package/test/Date.test.js +0 -393
  393. package/test/Dialog.test.js +0 -23
  394. package/test/Dropdown.test.js +0 -130
  395. package/test/Footer.test.js +0 -99
  396. package/test/Header.test.js +0 -39
  397. package/test/Heading.test.js +0 -35
  398. package/test/InputText.test.js +0 -240
  399. package/test/Link.test.js +0 -42
  400. package/test/Paginator.test.js +0 -177
  401. package/test/ProgressBar.test.js +0 -35
  402. package/test/Radio.test.js +0 -37
  403. package/test/ResultsetTable.test.js +0 -330
  404. package/test/Select.test.js +0 -192
  405. package/test/Sidenav.test.js +0 -45
  406. package/test/Slider.test.js +0 -82
  407. package/test/Spinner.test.js +0 -27
  408. package/test/Switch.test.js +0 -45
  409. package/test/Table.test.js +0 -36
  410. package/test/Tabs.test.js +0 -109
  411. package/test/TabsForSections.test.js +0 -34
  412. package/test/Tag.test.js +0 -32
  413. package/test/TextArea.test.js +0 -52
  414. package/test/ToggleGroup.test.js +0 -81
  415. package/test/Upload.test.js +0 -60
  416. package/test/Wizard.test.js +0 -130
  417. package/test/mocks/pngMock.js +0 -1
  418. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,43 @@
1
+ /// <reference types="react" />
2
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ declare type Padding = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ declare type Props = {
10
+ /**
11
+ * If true, the close 'x' button will be visible.
12
+ */
13
+ isCloseVisible?: boolean;
14
+ /**
15
+ * This function will be called when the user clicks the close 'x' button.
16
+ * The responsibility of hiding the modal lies with the user.
17
+ */
18
+ onCloseClick?: () => void;
19
+ /**
20
+ * If true, the dialog will be displayed over a darker background that covers the content behind.
21
+ */
22
+ overlay?: boolean;
23
+ /**
24
+ * This function will be called when the user clicks background of the modal.
25
+ * The responsibility of hiding the modal lies with the user.
26
+ */
27
+ onBackgroundClick?: () => void;
28
+ /**
29
+ * Size of the padding to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
30
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
31
+ */
32
+ padding?: Padding | Space;
33
+ /**
34
+ * Value of the tabindex given to the close 'x' button.
35
+ */
36
+ tabIndex?: number;
37
+ /**
38
+ * The area inside the dialog. This area can be used to render
39
+ * custom content.
40
+ */
41
+ children: React.ReactNode;
42
+ };
43
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import DropdownPropsType from "./types";
3
+ declare const DxcDropdown: ({ options, optionsIconPosition, icon, iconSrc, iconPosition, label, caretHidden, onSelectOption, expandOnHover, margin, size, tabIndex, disabled, }: DropdownPropsType) => JSX.Element;
4
+ export default DxcDropdown;
@@ -0,0 +1,417 @@
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 _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
+
22
+ var _Popper = _interopRequireDefault(require("@material-ui/core/Popper"));
23
+
24
+ var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
25
+
26
+ var _core = require("@material-ui/core");
27
+
28
+ var _Grow = _interopRequireDefault(require("@material-ui/core/Grow"));
29
+
30
+ var _Paper = _interopRequireDefault(require("@material-ui/core/Paper"));
31
+
32
+ var _MenuList = _interopRequireDefault(require("@material-ui/core/MenuList"));
33
+
34
+ var _variables = require("../common/variables.js");
35
+
36
+ var _utils = require("../common/utils.js");
37
+
38
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
39
+
40
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
41
+
42
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
43
+
44
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
45
+
46
+ var DxcDropdown = function DxcDropdown(_ref) {
47
+ var options = _ref.options,
48
+ _ref$optionsIconPosit = _ref.optionsIconPosition,
49
+ optionsIconPosition = _ref$optionsIconPosit === void 0 ? "before" : _ref$optionsIconPosit,
50
+ icon = _ref.icon,
51
+ _ref$iconSrc = _ref.iconSrc,
52
+ iconSrc = _ref$iconSrc === void 0 ? "" : _ref$iconSrc,
53
+ _ref$iconPosition = _ref.iconPosition,
54
+ iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
55
+ _ref$label = _ref.label,
56
+ label = _ref$label === void 0 ? "" : _ref$label,
57
+ _ref$caretHidden = _ref.caretHidden,
58
+ caretHidden = _ref$caretHidden === void 0 ? false : _ref$caretHidden,
59
+ onSelectOption = _ref.onSelectOption,
60
+ _ref$expandOnHover = _ref.expandOnHover,
61
+ expandOnHover = _ref$expandOnHover === void 0 ? false : _ref$expandOnHover,
62
+ margin = _ref.margin,
63
+ _ref$size = _ref.size,
64
+ size = _ref$size === void 0 ? "fitContent" : _ref$size,
65
+ _ref$tabIndex = _ref.tabIndex,
66
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
67
+ _ref$disabled = _ref.disabled,
68
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled;
69
+
70
+ var _useState = (0, _react.useState)(),
71
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
72
+ width = _useState2[0],
73
+ setWidth = _useState2[1];
74
+
75
+ var colorsTheme = (0, _useTheme["default"])();
76
+ var ref = (0, _react.useRef)(null);
77
+
78
+ var handleResize = function handleResize() {
79
+ if (ref.current) setWidth(ref.current.offsetWidth);
80
+ };
81
+
82
+ (0, _react.useEffect)(function () {
83
+ if (ref.current) {
84
+ ref.current.addEventListener("resize", handleResize);
85
+ handleResize();
86
+ }
87
+
88
+ return function () {
89
+ if (ref.current) ref.current.removeEventListener("resize", handleResize);
90
+ };
91
+ }, []);
92
+
93
+ var _useState3 = (0, _react.useState)(null),
94
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
95
+ anchorEl = _useState4[0],
96
+ setAnchorEl = _useState4[1];
97
+
98
+ function handleClickListItem(event) {
99
+ setAnchorEl(event.currentTarget);
100
+ }
101
+
102
+ function handleMenuItemClick(option) {
103
+ setAnchorEl(null);
104
+ onSelectOption(option.value);
105
+ }
106
+
107
+ function handleClose() {
108
+ setAnchorEl(null);
109
+ }
110
+
111
+ var handleCloseOver = expandOnHover ? handleClose : undefined;
112
+
113
+ var UpArrowIcon = function UpArrowIcon() {
114
+ return /*#__PURE__*/_react["default"].createElement("svg", {
115
+ xmlns: "http://www.w3.org/2000/svg",
116
+ width: "24",
117
+ height: "24",
118
+ viewBox: "0 0 24 24",
119
+ fill: "currentColor"
120
+ }, /*#__PURE__*/_react["default"].createElement("path", {
121
+ d: "M7 14l5-5 5 5z"
122
+ }), /*#__PURE__*/_react["default"].createElement("path", {
123
+ d: "M0 0h24v24H0z",
124
+ fill: "none"
125
+ }));
126
+ };
127
+
128
+ var DownArrowIcon = function DownArrowIcon() {
129
+ return /*#__PURE__*/_react["default"].createElement("svg", {
130
+ xmlns: "http://www.w3.org/2000/svg",
131
+ width: "24",
132
+ height: "24",
133
+ viewBox: "0 0 24 24",
134
+ fill: "currentColor"
135
+ }, /*#__PURE__*/_react["default"].createElement("path", {
136
+ d: "M7 10l5 5 5-5z"
137
+ }), /*#__PURE__*/_react["default"].createElement("path", {
138
+ d: "M0 0h24v24H0z",
139
+ fill: "none"
140
+ }));
141
+ };
142
+
143
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
144
+ theme: colorsTheme.dropdown
145
+ }, /*#__PURE__*/_react["default"].createElement(DXCDropdownContainer, {
146
+ margin: margin,
147
+ size: size,
148
+ disabled: disabled
149
+ }, /*#__PURE__*/_react["default"].createElement("div", {
150
+ onMouseOver: expandOnHover && !disabled ? handleClickListItem : undefined,
151
+ onMouseOut: handleCloseOver,
152
+ onFocus: handleCloseOver,
153
+ onBlur: handleCloseOver
154
+ }, /*#__PURE__*/_react["default"].createElement(DropdownTrigger, {
155
+ opened: anchorEl === null ? false : true,
156
+ onClick: handleClickListItem,
157
+ disabled: disabled,
158
+ label: label,
159
+ caretHidden: caretHidden,
160
+ margin: margin,
161
+ size: size,
162
+ ref: ref,
163
+ tabIndex: tabIndex
164
+ }, /*#__PURE__*/_react["default"].createElement(DropdownTriggerContainer, {
165
+ iconPosition: iconPosition,
166
+ caretHidden: caretHidden
167
+ }, icon ? /*#__PURE__*/_react["default"].createElement(ButtonIconContainer, {
168
+ label: label,
169
+ iconPosition: iconPosition,
170
+ disabled: disabled
171
+ }, (0, _typeof2["default"])(icon) === "object" ? icon : /*#__PURE__*/_react["default"].createElement(icon)) : iconSrc && /*#__PURE__*/_react["default"].createElement(ButtonIcon, {
172
+ label: label,
173
+ src: iconSrc,
174
+ iconPosition: iconPosition
175
+ }), /*#__PURE__*/_react["default"].createElement(DropdownTriggerLabel, {
176
+ iconPosition: iconPosition,
177
+ label: label
178
+ }, label)), /*#__PURE__*/_react["default"].createElement(CaretIconContainer, {
179
+ caretHidden: caretHidden,
180
+ disabled: disabled
181
+ }, !caretHidden && (anchorEl === null ? /*#__PURE__*/_react["default"].createElement(DownArrowIcon, null) : /*#__PURE__*/_react["default"].createElement(UpArrowIcon, null)))), /*#__PURE__*/_react["default"].createElement(DXCMenu, {
182
+ anchorEl: anchorEl,
183
+ open: Boolean(anchorEl),
184
+ onClose: handleClose,
185
+ getContentAnchorEl: null,
186
+ anchorOrigin: {
187
+ vertical: "bottom",
188
+ horizontal: "left"
189
+ },
190
+ transformOrigin: {
191
+ vertical: "top",
192
+ horizontal: "left"
193
+ },
194
+ optionsIconPosition: optionsIconPosition,
195
+ size: size,
196
+ width: width,
197
+ role: undefined,
198
+ transition: true,
199
+ disablePortal: true,
200
+ placement: "bottom-start"
201
+ }, function (_ref2) {
202
+ var TransitionProps = _ref2.TransitionProps;
203
+ return /*#__PURE__*/_react["default"].createElement(_Grow["default"], TransitionProps, /*#__PURE__*/_react["default"].createElement(_Paper["default"], null, /*#__PURE__*/_react["default"].createElement(_core.ClickAwayListener, {
204
+ onClickAway: handleClose
205
+ }, /*#__PURE__*/_react["default"].createElement(_MenuList["default"], {
206
+ autoFocusItem: Boolean(anchorEl),
207
+ id: "menu-list-grow"
208
+ }, options.map(function (option) {
209
+ return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
210
+ key: option.value,
211
+ value: option.value,
212
+ disableRipple: true,
213
+ onClick: function onClick(event) {
214
+ return handleMenuItemClick(option);
215
+ }
216
+ }, option.icon ? /*#__PURE__*/_react["default"].createElement(ListIconContainer, {
217
+ label: option.label,
218
+ iconPosition: optionsIconPosition
219
+ }, (0, _typeof2["default"])(option.icon) === "object" ? option.icon : /*#__PURE__*/_react["default"].createElement(option.icon)) : option.iconSrc && /*#__PURE__*/_react["default"].createElement(ListIcon, {
220
+ label: option.label,
221
+ src: option.iconSrc,
222
+ iconPosition: optionsIconPosition
223
+ }), /*#__PURE__*/_react["default"].createElement("span", {
224
+ className: "optionLabel"
225
+ }, option.label));
226
+ })))));
227
+ }))));
228
+ };
229
+
230
+ var sizes = {
231
+ small: "60px",
232
+ medium: "240px",
233
+ large: "480px",
234
+ fillParent: "100%",
235
+ fitContent: "unset"
236
+ };
237
+
238
+ var calculateWidth = function calculateWidth(margin, size) {
239
+ if (size === "fillParent") {
240
+ return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
241
+ }
242
+
243
+ return sizes[size];
244
+ };
245
+
246
+ var DXCDropdownContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n text-overflow: ellipsis;\n overflow: hidden;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n display: inline-block;\n"])), function (props) {
247
+ return calculateWidth(props.margin, props.size);
248
+ }, function (props) {
249
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
250
+ }, function (props) {
251
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
252
+ }, function (props) {
253
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
254
+ }, function (props) {
255
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
256
+ }, function (props) {
257
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
258
+ });
259
+
260
+ var DXCMenu = (0, _styledComponents["default"])(_Popper["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1;\n\n .MuiMenuItem-gutters {\n width: ", ";\n }\n .MuiMenuItem-root {\n min-height: 36px;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n height: auto;\n }\n .MuiPaper-root {\n min-width: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n border-top-left-radius: 0px;\n border-top-right-radius: 0px;\n max-height: 230px;\n overflow-y: auto;\n\n ::-webkit-scrollbar {\n width: 3px;\n }\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n\n .MuiList-padding {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n .MuiListItem-button {\n display: flex;\n flex-direction: ", ";\n justify-content: ", ";\n background-color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n cursor: pointer;\n }\n .MuiListItem-button:focus {\n outline: ", " solid 2px;\n outline-offset: -2px;\n }\n .MuiListItem-button:hover {\n background-color: ", ";\n }\n .MuiListItem-button:active {\n background-color: ", ";\n outline: ", " solid 2px;\n outline-offset: -2px;\n }\n }\n"])), function (props) {
261
+ return calculateWidth(props.margin, props.size);
262
+ }, function (props) {
263
+ return props.theme.optionPaddingTop;
264
+ }, function (props) {
265
+ return props.theme.optionPaddingBottom;
266
+ }, function (props) {
267
+ return props.theme.optionPaddingLeft;
268
+ }, function (props) {
269
+ return props.theme.optionPaddingRight;
270
+ }, function (props) {
271
+ return "".concat(props.width, "px");
272
+ }, function (props) {
273
+ return props.theme.borderThickness;
274
+ }, function (props) {
275
+ return props.theme.borderStyle;
276
+ }, function (props) {
277
+ return props.theme.borderColor;
278
+ }, function (props) {
279
+ return props.theme.borderRadius;
280
+ }, function (props) {
281
+ return props.theme.borderRadius;
282
+ }, function (props) {
283
+ return props.theme.scrollBarTrackColor;
284
+ }, function (props) {
285
+ return props.theme.scrollBarThumbColor;
286
+ }, function (props) {
287
+ return props.optionsIconPosition === "after" && "row-reverse" || "row";
288
+ }, function (props) {
289
+ return props.optionsIconPosition === "after" && "flex-end" || "";
290
+ }, function (props) {
291
+ return props.theme.optionBackgroundColor;
292
+ }, function (props) {
293
+ return props.theme.optionFontFamily;
294
+ }, function (props) {
295
+ return props.theme.optionFontSize;
296
+ }, function (props) {
297
+ return props.theme.optionFontStyle;
298
+ }, function (props) {
299
+ return props.theme.optionFontWeight;
300
+ }, function (props) {
301
+ return props.theme.optionFontColor;
302
+ }, function (props) {
303
+ return props.theme.focusColor;
304
+ }, function (props) {
305
+ return props.theme.hoverOptionBackgroundColor;
306
+ }, function (props) {
307
+ return props.theme.activeOptionBackgroundColor;
308
+ }, function (props) {
309
+ return props.theme.focusColor;
310
+ });
311
+
312
+ var DropdownTrigger = _styledComponents["default"].button(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n height: auto;\n min-height: 40px;\n cursor: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n min-width: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n background-color: ", ";\n color: ", ";\n border-bottom-right-radius: ", ";\n border-bottom-left-radius: ", ";\n\n ", ";\n"])), function (props) {
313
+ return props.disabled ? "not-allowed" : "pointer";
314
+ }, function (props) {
315
+ return props.theme.buttonFontFamily;
316
+ }, function (props) {
317
+ return props.theme.buttonFontSize;
318
+ }, function (props) {
319
+ return props.theme.buttonFontStyle;
320
+ }, function (props) {
321
+ return props.theme.buttonFontWeight;
322
+ }, function (props) {
323
+ return props.theme.borderRadius;
324
+ }, function (props) {
325
+ return props.theme.borderThickness;
326
+ }, function (props) {
327
+ return props.theme.borderStyle;
328
+ }, function (props) {
329
+ return props.disabled ? props.theme.disabledBorderColor : props.theme.borderColor;
330
+ }, function (props) {
331
+ return props.label === "" ? "0px" : calculateWidth(props.margin, props.size);
332
+ }, function (props) {
333
+ return props.theme.buttonPaddingTop;
334
+ }, function (props) {
335
+ return props.theme.buttonPaddingBottom;
336
+ }, function (props) {
337
+ return props.theme.buttonPaddingLeft;
338
+ }, function (props) {
339
+ return props.theme.buttonPaddingRight;
340
+ }, function (props) {
341
+ return props.disabled ? props.theme.disabledButtonBackgroundColor : props.theme.buttonBackgroundColor;
342
+ }, function (props) {
343
+ return props.disabled ? props.theme.disabledColor : props.theme.buttonFontColor;
344
+ }, function (props) {
345
+ return props.opened ? "0px" : props.theme.borderRadius;
346
+ }, function (props) {
347
+ return props.opened ? "0px" : props.theme.borderRadius;
348
+ }, function (props) {
349
+ return !props.disabled && " \n &:focus {\n outline: none;\n }\n &:focus-visible {\n outline: ".concat(props.theme.focusColor, " solid 2px;\n outline-offset: -2px;\n }\n &:hover {\n background-color: ").concat(props.theme.hoverButtonBackgroundColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.activeButtonBackgroundColor, ";\n }\n ");
350
+ });
351
+
352
+ var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n text-align: left;\n text-overflow: ellipsis;\n overflow: hidden;\n"])));
353
+
354
+ var DropdownTriggerContainer = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n flex-direction: ", ";\n margin-left: 0px;\n margin-right: 0px;\n width: ", ";\n white-space: nowrap;\n"])), function (props) {
355
+ return props.iconPosition === "after" && "row-reverse" || "row";
356
+ }, function (props) {
357
+ return props.caretHidden ? "100%" : "calc(100% - 36px)";
358
+ });
359
+
360
+ var ButtonIcon = _styledComponents["default"].img(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"])), function (props) {
361
+ return props.theme.buttonIconSize;
362
+ }, function (props) {
363
+ return props.theme.buttonIconSize;
364
+ }, function (props) {
365
+ return props.iconPosition === "after" && props.label !== "" && props.theme.buttonIconSpacing || "0px";
366
+ }, function (props) {
367
+ return props.iconPosition === "before" && props.label !== "" && props.theme.buttonIconSpacing || "0px";
368
+ });
369
+
370
+ var ButtonIconContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n color: ", ";\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
371
+ return props.theme.buttonIconSize;
372
+ }, function (props) {
373
+ return props.theme.buttonIconSize;
374
+ }, function (props) {
375
+ return props.iconPosition === "after" && props.label !== "" && props.theme.buttonIconSpacing || "0px";
376
+ }, function (props) {
377
+ return props.iconPosition === "before" && props.label !== "" && props.theme.buttonIconSpacing || "0px";
378
+ }, function (props) {
379
+ return props.disabled ? props.theme.disabledColor : props.theme.buttonIconColor;
380
+ });
381
+
382
+ var ListIcon = _styledComponents["default"].img(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"])), function (props) {
383
+ return props.theme.optionIconSize;
384
+ }, function (props) {
385
+ return props.theme.optionIconSize;
386
+ }, function (props) {
387
+ return props.iconPosition === "after" && props.label !== "" && props.theme.optionIconSpacing || "0px";
388
+ }, function (props) {
389
+ return props.iconPosition === "before" && props.label !== "" && props.theme.optionIconSpacing || "0px";
390
+ });
391
+
392
+ var ListIconContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n color: ", ";\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
393
+ return props.theme.optionIconSize;
394
+ }, function (props) {
395
+ return props.theme.optionIconSize;
396
+ }, function (props) {
397
+ return props.iconPosition === "after" && props.label !== "" && props.theme.optionIconSpacing || "0px";
398
+ }, function (props) {
399
+ return props.iconPosition === "before" && props.label !== "" && props.theme.optionIconSpacing || "0px";
400
+ }, function (props) {
401
+ return props.theme.optionIconColor;
402
+ });
403
+
404
+ var CaretIconContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: ", ";\n margin-left: ", ";\n color: ", ";\n\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
405
+ return props.caretHidden ? "none" : "inline-flex";
406
+ }, function (props) {
407
+ return props.theme.caretIconSpacing;
408
+ }, function (props) {
409
+ return props.disabled ? props.theme.disabledColor : props.theme.caretIconColor;
410
+ }, function (props) {
411
+ return props.theme.caretIconSize;
412
+ }, function (props) {
413
+ return props.theme.caretIconSize;
414
+ });
415
+
416
+ var _default = DxcDropdown;
417
+ exports["default"] = _default;
@@ -0,0 +1,89 @@
1
+ /// <reference types="react" />
2
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ declare type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ declare type SVG = React.SVGProps<SVGSVGElement> | React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
10
+ declare type Option = {
11
+ /**
12
+ * Option display value.
13
+ */
14
+ label?: string;
15
+ /**
16
+ * Element used as the icon that will be placed next to the
17
+ * option label.
18
+ */
19
+ icon?: SVG;
20
+ /**
21
+ * @deprecated URL of the icon that will be placed next to the option label.
22
+ */
23
+ iconSrc?: string;
24
+ /**
25
+ * Option inner value.
26
+ */
27
+ value: string;
28
+ };
29
+ declare type Props = {
30
+ /**
31
+ * An array of objects representing the options.
32
+ */
33
+ options: Option[];
34
+ /**
35
+ * In case options include icons, whether the icon should appear
36
+ * after or before the label.
37
+ */
38
+ optionsIconPosition?: "before" | "after";
39
+ /**
40
+ * Element used as the icon that will be placed next to the
41
+ * dropdown label.
42
+ */
43
+ icon?: SVG;
44
+ /**
45
+ * @deprecated URL of the icon that will be placed next to the
46
+ * dropdown label.
47
+ */
48
+ iconSrc?: string;
49
+ /**
50
+ * Whether the icon should appear after or before the label.
51
+ */
52
+ iconPosition?: "before" | "after";
53
+ /**
54
+ * Text to be placed within the dropdown.
55
+ */
56
+ label?: string;
57
+ /**
58
+ * Whether the arrow next to the label must be displayed or not.
59
+ */
60
+ caretHidden?: boolean;
61
+ /**
62
+ * This function will be called every time the selection changes.
63
+ * The value of the selected option will be passed as a parameter.
64
+ */
65
+ onSelectOption: (value: string) => void;
66
+ /**
67
+ * If true, the options are showed when the dropdown is hover.
68
+ */
69
+ expandOnHover?: boolean;
70
+ /**
71
+ * Size of the margin to be applied to the component.
72
+ * You can pass an object with 'top', 'bottom', 'left' and 'right'
73
+ * properties in order to specify different margin sizes.
74
+ */
75
+ margin?: Space | Margin;
76
+ /**
77
+ * Size of the component.
78
+ */
79
+ size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
80
+ /**
81
+ * Value of the tabindex.
82
+ */
83
+ tabIndex?: number;
84
+ /**
85
+ * If true, the component will be disabled.
86
+ */
87
+ disabled?: boolean;
88
+ };
89
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import FileInputPropsType from "./types";
3
+ declare const DxcFileInput: ({ name, mode, label, buttonLabel, dropAreaLabel, helperText, accept, minSize, maxSize, showPreview, multiple, disabled, callbackFile, value, margin, tabIndex, }: FileInputPropsType) => JSX.Element;
4
+ export default DxcFileInput;