@dxc-technology/halstack-react 0.0.0-d54b014 → 0.0.0-d5ae9d7

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 (290) 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/{dist/textarea/Textarea.js → V3Textarea/V3Textarea.js} +39 -39
  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/{dist/accordion-group → accordion-group}/AccordionGroup.js +13 -17
  12. package/accordion-group/index.d.ts +16 -0
  13. package/alert/Alert.d.ts +4 -0
  14. package/alert/Alert.js +290 -0
  15. package/alert/types.d.ts +49 -0
  16. package/alert/types.js +5 -0
  17. package/badge/Badge.js +59 -0
  18. package/{dist/box → box}/Box.js +9 -23
  19. package/box/index.d.ts +25 -0
  20. package/button/Button.d.ts +4 -0
  21. package/button/Button.js +182 -0
  22. package/button/Button.stories.tsx +293 -0
  23. package/button/types.d.ts +57 -0
  24. package/button/types.js +5 -0
  25. package/{dist/card → card}/Card.js +19 -73
  26. package/card/index.d.ts +22 -0
  27. package/checkbox/Checkbox.d.ts +4 -0
  28. package/{dist/checkbox → checkbox}/Checkbox.js +44 -82
  29. package/checkbox/types.d.ts +61 -0
  30. package/checkbox/types.js +5 -0
  31. package/{dist/chip → chip}/Chip.js +33 -81
  32. package/chip/index.d.ts +22 -0
  33. package/{dist/common → common}/OpenSans.css +0 -0
  34. package/{dist/common → common}/RequiredComponent.js +3 -11
  35. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  36. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  37. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  38. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  39. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  40. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  41. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  42. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  43. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  44. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  45. package/{dist/common → common}/utils.js +0 -0
  46. package/common/variables.js +1569 -0
  47. package/{dist/date → date}/Date.js +33 -51
  48. package/date/index.d.ts +27 -0
  49. package/date-input/DateInput.d.ts +4 -0
  50. package/date-input/DateInput.js +361 -0
  51. package/date-input/types.d.ts +100 -0
  52. package/date-input/types.js +5 -0
  53. package/{dist/dialog → dialog}/Dialog.js +26 -77
  54. package/dialog/index.d.ts +18 -0
  55. package/dropdown/Dropdown.js +450 -0
  56. package/dropdown/index.d.ts +26 -0
  57. package/file-input/FileInput.js +532 -0
  58. package/file-input/FileItem.js +193 -0
  59. package/file-input/index.d.ts +81 -0
  60. package/{dist/footer → footer}/Footer.js +69 -177
  61. package/footer/Icons.js +77 -0
  62. package/footer/index.d.ts +25 -0
  63. package/header/Header.js +326 -0
  64. package/header/Icons.js +59 -0
  65. package/header/index.d.ts +25 -0
  66. package/{dist/heading → heading}/Heading.js +30 -76
  67. package/heading/index.d.ts +17 -0
  68. package/input-text/Icons.js +22 -0
  69. package/{dist/input-text → input-text}/InputText.js +120 -178
  70. package/input-text/index.d.ts +36 -0
  71. package/{dist/layout → layout}/ApplicationLayout.js +35 -131
  72. package/layout/Icons.js +55 -0
  73. package/{dist/link → link}/Link.js +37 -94
  74. package/link/index.d.ts +23 -0
  75. package/main.d.ts +44 -0
  76. package/{dist/main.js → main.js} +121 -69
  77. package/number-input/NumberInput.js +128 -0
  78. package/number-input/NumberInputContext.js +16 -0
  79. package/number-input/index.d.ts +113 -0
  80. package/package.json +34 -25
  81. package/paginator/Icons.js +66 -0
  82. package/paginator/Paginator.d.ts +4 -0
  83. package/paginator/Paginator.js +198 -0
  84. package/paginator/types.d.ts +38 -0
  85. package/paginator/types.js +5 -0
  86. package/password-input/PasswordInput.js +199 -0
  87. package/password-input/PasswordInput.stories.jsx +131 -0
  88. package/password-input/index.d.ts +94 -0
  89. package/progress-bar/ProgressBar.js +188 -0
  90. package/progress-bar/index.d.ts +18 -0
  91. package/radio/Radio.d.ts +4 -0
  92. package/{dist/radio → radio}/Radio.js +15 -50
  93. package/radio/types.d.ts +54 -0
  94. package/radio/types.js +5 -0
  95. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +35 -136
  96. package/resultsetTable/index.d.ts +19 -0
  97. package/select/Select.js +865 -0
  98. package/select/index.d.ts +131 -0
  99. package/{dist/sidenav → sidenav}/Sidenav.js +20 -58
  100. package/sidenav/index.d.ts +13 -0
  101. package/slider/Slider.js +340 -0
  102. package/slider/index.d.ts +29 -0
  103. package/spinner/Spinner.js +267 -0
  104. package/spinner/index.d.ts +17 -0
  105. package/switch/Switch.d.ts +4 -0
  106. package/{dist/switch → switch}/Switch.js +26 -69
  107. package/switch/types.d.ts +58 -0
  108. package/switch/types.js +5 -0
  109. package/{dist/table → table}/Table.js +13 -23
  110. package/table/index.d.ts +13 -0
  111. package/{dist/tabs → tabs}/Tabs.js +26 -110
  112. package/tabs/index.d.ts +19 -0
  113. package/{dist/tag → tag}/Tag.js +50 -122
  114. package/tag/index.d.ts +24 -0
  115. package/text-input/TextInput.js +825 -0
  116. package/text-input/index.d.ts +135 -0
  117. package/textarea/Textarea.js +317 -0
  118. package/textarea/index.d.ts +117 -0
  119. package/{dist/toggle → toggle}/Toggle.js +15 -49
  120. package/toggle/index.d.ts +21 -0
  121. package/toggle-group/ToggleGroup.js +243 -0
  122. package/toggle-group/index.d.ts +21 -0
  123. package/{dist/upload → upload}/Upload.js +11 -15
  124. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  125. package/upload/buttons-upload/Icons.js +40 -0
  126. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  127. package/upload/dragAndDropArea/Icons.js +39 -0
  128. package/upload/file-upload/FileToUpload.js +115 -0
  129. package/upload/file-upload/Icons.js +66 -0
  130. package/{dist/upload → upload}/files-upload/FilesToUpload.js +12 -26
  131. package/upload/index.d.ts +15 -0
  132. package/upload/transaction/Icons.js +160 -0
  133. package/upload/transaction/Transaction.js +104 -0
  134. package/upload/transactions/Transactions.js +94 -0
  135. package/{dist/useTheme.js → useTheme.js} +0 -0
  136. package/wizard/Icons.js +65 -0
  137. package/{dist/wizard → wizard}/Wizard.js +41 -181
  138. package/wizard/index.d.ts +18 -0
  139. package/README.md +0 -66
  140. package/babel.config.js +0 -8
  141. package/dist/BackgroundColorContext.js +0 -46
  142. package/dist/ThemeContext.js +0 -216
  143. package/dist/accordion/Accordion.js +0 -340
  144. package/dist/accordion/Accordion.stories.js +0 -207
  145. package/dist/accordion/readme.md +0 -96
  146. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  147. package/dist/accordion-group/readme.md +0 -70
  148. package/dist/alert/Alert.js +0 -388
  149. package/dist/alert/Alert.stories.js +0 -158
  150. package/dist/alert/close.svg +0 -4
  151. package/dist/alert/error.svg +0 -4
  152. package/dist/alert/info.svg +0 -4
  153. package/dist/alert/readme.md +0 -43
  154. package/dist/alert/success.svg +0 -4
  155. package/dist/alert/warning.svg +0 -4
  156. package/dist/badge/Badge.js +0 -63
  157. package/dist/button/Button.js +0 -228
  158. package/dist/button/Button.stories.js +0 -224
  159. package/dist/button/readme.md +0 -93
  160. package/dist/checkbox/Checkbox.stories.js +0 -144
  161. package/dist/checkbox/readme.md +0 -116
  162. package/dist/common/variables.js +0 -1155
  163. package/dist/date/Date.stories.js +0 -205
  164. package/dist/date/calendar.svg +0 -1
  165. package/dist/date/calendar_dark.svg +0 -1
  166. package/dist/date/readme.md +0 -73
  167. package/dist/dialog/Dialog.stories.js +0 -217
  168. package/dist/dialog/readme.md +0 -32
  169. package/dist/dropdown/Dropdown.js +0 -492
  170. package/dist/dropdown/Dropdown.stories.js +0 -249
  171. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  172. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  173. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  174. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  175. package/dist/dropdown/readme.md +0 -69
  176. package/dist/footer/Footer.stories.js +0 -94
  177. package/dist/footer/dxc_logo_wht.png +0 -0
  178. package/dist/footer/readme.md +0 -41
  179. package/dist/header/Header.js +0 -431
  180. package/dist/header/Header.stories.js +0 -176
  181. package/dist/header/close_icon.svg +0 -1
  182. package/dist/header/dxc_logo_black.png +0 -0
  183. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  184. package/dist/header/dxc_logo_white.png +0 -0
  185. package/dist/header/hamb_menu_black.svg +0 -1
  186. package/dist/header/hamb_menu_white.svg +0 -1
  187. package/dist/header/readme.md +0 -33
  188. package/dist/input-text/InputText.stories.js +0 -209
  189. package/dist/input-text/error.svg +0 -1
  190. package/dist/input-text/readme.md +0 -91
  191. package/dist/layout/facebook.svg +0 -45
  192. package/dist/layout/linkedin.svg +0 -50
  193. package/dist/layout/twitter.svg +0 -53
  194. package/dist/link/readme.md +0 -51
  195. package/dist/paginator/Paginator.js +0 -283
  196. package/dist/paginator/images/next.svg +0 -3
  197. package/dist/paginator/images/nextPage.svg +0 -3
  198. package/dist/paginator/images/previous.svg +0 -3
  199. package/dist/paginator/images/previousPage.svg +0 -3
  200. package/dist/paginator/readme.md +0 -50
  201. package/dist/progress-bar/ProgressBar.js +0 -206
  202. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  203. package/dist/progress-bar/readme.md +0 -63
  204. package/dist/radio/Radio.stories.js +0 -166
  205. package/dist/radio/readme.md +0 -70
  206. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  207. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  208. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  209. package/dist/select/Select.js +0 -545
  210. package/dist/select/Select.stories.js +0 -235
  211. package/dist/select/readme.md +0 -72
  212. package/dist/slider/Slider.js +0 -315
  213. package/dist/slider/Slider.stories.js +0 -241
  214. package/dist/slider/readme.md +0 -64
  215. package/dist/spinner/Spinner.js +0 -214
  216. package/dist/spinner/Spinner.stories.js +0 -183
  217. package/dist/spinner/readme.md +0 -65
  218. package/dist/switch/Switch.stories.js +0 -134
  219. package/dist/switch/readme.md +0 -133
  220. package/dist/tabs/Tabs.stories.js +0 -130
  221. package/dist/tabs/readme.md +0 -78
  222. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  223. package/dist/tabs-for-sections/readme.md +0 -78
  224. package/dist/toggle/Toggle.stories.js +0 -297
  225. package/dist/toggle/readme.md +0 -80
  226. package/dist/toggle-group/ToggleGroup.js +0 -241
  227. package/dist/toggle-group/readme.md +0 -82
  228. package/dist/upload/Upload.stories.js +0 -72
  229. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
  230. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  231. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  232. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -325
  233. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  234. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  235. package/dist/upload/file-upload/FileToUpload.js +0 -184
  236. package/dist/upload/file-upload/audio-icon.svg +0 -4
  237. package/dist/upload/file-upload/close.svg +0 -4
  238. package/dist/upload/file-upload/file-icon.svg +0 -4
  239. package/dist/upload/file-upload/video-icon.svg +0 -4
  240. package/dist/upload/readme.md +0 -37
  241. package/dist/upload/transaction/Transaction.js +0 -171
  242. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  243. package/dist/upload/transaction/audio-icon.svg +0 -4
  244. package/dist/upload/transaction/error-icon.svg +0 -4
  245. package/dist/upload/transaction/file-icon-err.svg +0 -4
  246. package/dist/upload/transaction/file-icon.svg +0 -4
  247. package/dist/upload/transaction/image-icon-err.svg +0 -4
  248. package/dist/upload/transaction/image-icon.svg +0 -4
  249. package/dist/upload/transaction/success-icon.svg +0 -4
  250. package/dist/upload/transaction/video-icon-err.svg +0 -4
  251. package/dist/upload/transaction/video-icon.svg +0 -4
  252. package/dist/upload/transactions/Transactions.js +0 -138
  253. package/dist/wizard/invalid_icon.svg +0 -6
  254. package/dist/wizard/valid_icon.svg +0 -6
  255. package/dist/wizard/validation-wrong.svg +0 -6
  256. package/test/Accordion.test.js +0 -33
  257. package/test/AccordionGroup.test.js +0 -125
  258. package/test/Alert.test.js +0 -53
  259. package/test/Box.test.js +0 -10
  260. package/test/Button.test.js +0 -18
  261. package/test/Card.test.js +0 -30
  262. package/test/Checkbox.test.js +0 -45
  263. package/test/Chip.test.js +0 -25
  264. package/test/Date.test.js +0 -393
  265. package/test/Dialog.test.js +0 -23
  266. package/test/Dropdown.test.js +0 -130
  267. package/test/Footer.test.js +0 -99
  268. package/test/Header.test.js +0 -39
  269. package/test/Heading.test.js +0 -35
  270. package/test/InputText.test.js +0 -240
  271. package/test/Link.test.js +0 -43
  272. package/test/Paginator.test.js +0 -177
  273. package/test/ProgressBar.test.js +0 -35
  274. package/test/Radio.test.js +0 -37
  275. package/test/ResultsetTable.test.js +0 -330
  276. package/test/Select.test.js +0 -192
  277. package/test/Sidenav.test.js +0 -45
  278. package/test/Slider.test.js +0 -82
  279. package/test/Spinner.test.js +0 -27
  280. package/test/Switch.test.js +0 -45
  281. package/test/Table.test.js +0 -36
  282. package/test/Tabs.test.js +0 -109
  283. package/test/TabsForSections.test.js +0 -34
  284. package/test/Tag.test.js +0 -32
  285. package/test/TextArea.test.js +0 -52
  286. package/test/ToggleGroup.test.js +0 -81
  287. package/test/Upload.test.js +0 -60
  288. package/test/Wizard.test.js +0 -130
  289. package/test/mocks/pngMock.js +0 -1
  290. package/test/mocks/svgMock.js +0 -1
@@ -1,492 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
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 _styledComponents = _interopRequireWildcard(require("styled-components"));
23
-
24
- var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
- var _Popper = _interopRequireDefault(require("@material-ui/core/Popper"));
27
-
28
- var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
29
-
30
- var _core = require("@material-ui/core");
31
-
32
- var _Grow = _interopRequireDefault(require("@material-ui/core/Grow"));
33
-
34
- var _Paper = _interopRequireDefault(require("@material-ui/core/Paper"));
35
-
36
- var _MenuList = _interopRequireDefault(require("@material-ui/core/MenuList"));
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
- function _templateObject8() {
45
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: ", ";\n margin-top:", ";\n margin-bottom", ";\n margin-left: ", ";\n margin-right: ", ";\n & > svg {\n fill: ", ";\n }\n"]);
46
-
47
- _templateObject8 = function _templateObject8() {
48
- return data;
49
- };
50
-
51
- return data;
52
- }
53
-
54
- function _templateObject7() {
55
- var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n width: ", ";\n height: ", ";\n overflow: hidden;\n margin-left: ", ";\n margin-right: ", ";\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
56
-
57
- _templateObject7 = function _templateObject7() {
58
- return data;
59
- };
60
-
61
- return data;
62
- }
63
-
64
- function _templateObject6() {
65
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"]);
66
-
67
- _templateObject6 = function _templateObject6() {
68
- return data;
69
- };
70
-
71
- return data;
72
- }
73
-
74
- function _templateObject5() {
75
- var data = (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"]);
76
-
77
- _templateObject5 = function _templateObject5() {
78
- return data;
79
- };
80
-
81
- return data;
82
- }
83
-
84
- function _templateObject4() {
85
- var data = (0, _taggedTemplateLiteral2["default"])(["\n text-align: left;\n text-overflow: ellipsis;\n overflow: hidden;\n"]);
86
-
87
- _templateObject4 = function _templateObject4() {
88
- return data;
89
- };
90
-
91
- return data;
92
- }
93
-
94
- function _templateObject3() {
95
- var data = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n width: 100%;\n height: auto;\n min-height: 46px;\n display: inline-flex;\n justify-content: space-between;\n align-items: center;\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n\n min-width: ", ";\n\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n &:focus {\n outline: none;\n }\n\n background-color: ", ";\n color: ", ";\n\n border-bottom-right-radius: ", ";\n border-bottom-left-radius: ", ";\n &:hover {\n background-color: ", ";\n }\n"]);
96
-
97
- _templateObject3 = function _templateObject3() {
98
- return data;
99
- };
100
-
101
- return data;
102
- }
103
-
104
- function _templateObject2() {
105
- var data = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1;\n\n .MuiMenuItem-gutters {\n width: ", ";\n }\n .MuiMenuItem-root {\n min-height: 46px;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n height: auto;\n }\n\n .MuiPaper-root {\n min-width: ", ";\n\n background-color: ", ";\n\n color: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n\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: auto;\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 font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n cursor: pointer;\n }\n .MuiListItem-button:hover {\n background-color: ", ";\n color: ", ";\n }\n\n ::-webkit-scrollbar {\n width: 3px;\n }\n\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n }\n"]);
106
-
107
- _templateObject2 = function _templateObject2() {
108
- return data;
109
- };
110
-
111
- return data;
112
- }
113
-
114
- function _templateObject() {
115
- var data = (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\n &:focus {\n outline: ", " auto 1px;\n }\n"]);
116
-
117
- _templateObject = function _templateObject() {
118
- return data;
119
- };
120
-
121
- return data;
122
- }
123
-
124
- var DxcDropdown = function DxcDropdown(_ref) {
125
- var _ref$options = _ref.options,
126
- options = _ref$options === void 0 ? [] : _ref$options,
127
- _ref$optionsIconPosit = _ref.optionsIconPosition,
128
- optionsIconPosition = _ref$optionsIconPosit === void 0 ? "before" : _ref$optionsIconPosit,
129
- icon = _ref.icon,
130
- _ref$iconSrc = _ref.iconSrc,
131
- iconSrc = _ref$iconSrc === void 0 ? "" : _ref$iconSrc,
132
- _ref$iconPosition = _ref.iconPosition,
133
- iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
134
- _ref$label = _ref.label,
135
- label = _ref$label === void 0 ? "" : _ref$label,
136
- _ref$caretHidden = _ref.caretHidden,
137
- caretHidden = _ref$caretHidden === void 0 ? false : _ref$caretHidden,
138
- onSelectOption = _ref.onSelectOption,
139
- margin = _ref.margin,
140
- _ref$size = _ref.size,
141
- size = _ref$size === void 0 ? "fitContent" : _ref$size,
142
- _ref$expandOnHover = _ref.expandOnHover,
143
- expandOnHover = _ref$expandOnHover === void 0 ? false : _ref$expandOnHover,
144
- _ref$tabIndex = _ref.tabIndex,
145
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
146
-
147
- var _useState = (0, _react.useState)(),
148
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
149
- width = _useState2[0],
150
- setWidth = _useState2[1];
151
-
152
- var colorsTheme = (0, _useTheme["default"])();
153
- var ref = (0, _react.useRef)(null);
154
-
155
- var handleResize = function handleResize() {
156
- if (ref.current) setWidth(ref.current.offsetWidth);
157
- };
158
-
159
- (0, _react.useEffect)(function () {
160
- if (ref.current) ref.current.addEventListener("resize", handleResize);
161
- handleResize();
162
- return function () {
163
- if (ref.current) ref.current.removeEventListener("resize", handleResize);
164
- };
165
- }, []);
166
-
167
- var _useState3 = (0, _react.useState)(null),
168
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
169
- anchorEl = _useState4[0],
170
- setAnchorEl = _useState4[1];
171
-
172
- function handleClickListItem(event) {
173
- setAnchorEl(event.currentTarget);
174
- }
175
-
176
- function handleMenuItemClick(option) {
177
- setAnchorEl(null);
178
-
179
- if (typeof onSelectOption === "function") {
180
- onSelectOption(option.value);
181
- }
182
- }
183
-
184
- function handleClose() {
185
- setAnchorEl(null);
186
- }
187
-
188
- var handleCloseOver = expandOnHover ? handleClose : undefined;
189
-
190
- var UpArrowIcon = function UpArrowIcon() {
191
- return _react["default"].createElement("svg", {
192
- xmlns: "http://www.w3.org/2000/svg",
193
- width: "24",
194
- height: "24",
195
- viewBox: "0 0 24 24"
196
- }, _react["default"].createElement("path", {
197
- d: "M7 14l5-5 5 5z"
198
- }), _react["default"].createElement("path", {
199
- d: "M0 0h24v24H0z",
200
- fill: "none"
201
- }));
202
- };
203
-
204
- var DownArrowIcon = function DownArrowIcon() {
205
- return _react["default"].createElement("svg", {
206
- xmlns: "http://www.w3.org/2000/svg",
207
- width: "24",
208
- height: "24",
209
- viewBox: "0 0 24 24"
210
- }, _react["default"].createElement("path", {
211
- d: "M7 10l5 5 5-5z"
212
- }), _react["default"].createElement("path", {
213
- d: "M0 0h24v24H0z",
214
- fill: "none"
215
- }));
216
- };
217
-
218
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
219
- theme: colorsTheme.dropdown
220
- }, _react["default"].createElement(DxCDropdownContainer, {
221
- margin: margin,
222
- size: size
223
- }, _react["default"].createElement("div", {
224
- onMouseOver: expandOnHover ? handleClickListItem : undefined,
225
- onMouseOut: handleCloseOver,
226
- onFocus: handleCloseOver,
227
- onBlur: handleCloseOver
228
- }, _react["default"].createElement(DropdownTrigger, {
229
- opened: anchorEl === null ? false : true,
230
- onClick: handleClickListItem,
231
- label: label,
232
- caretHidden: caretHidden,
233
- margin: margin,
234
- size: size,
235
- ref: ref,
236
- tabIndex: tabIndex
237
- }, _react["default"].createElement(DropdownTriggerContainer, {
238
- iconPosition: iconPosition,
239
- caretHidden: caretHidden
240
- }, icon ? _react["default"].createElement(ListIconContainer, {
241
- label: label,
242
- iconPosition: iconPosition
243
- }, (0, _typeof2["default"])(icon) === "object" ? icon : _react["default"].createElement(icon)) : iconSrc && _react["default"].createElement(ListIcon, {
244
- label: label,
245
- src: iconSrc,
246
- iconPosition: iconPosition
247
- }), _react["default"].createElement(DropdownTriggerLabel, {
248
- iconPosition: iconPosition,
249
- label: label
250
- }, label)), _react["default"].createElement(CaretIcon, null, caretHidden !== true && (anchorEl === null ? _react["default"].createElement(DownArrowIcon, {
251
- caretHidden: caretHidden,
252
- margin: margin
253
- }) : _react["default"].createElement(UpArrowIcon, {
254
- caretHidden: caretHidden,
255
- margin: margin
256
- })))), _react["default"].createElement(DxcMenu, {
257
- anchorEl: anchorEl,
258
- open: Boolean(anchorEl),
259
- onClose: handleClose,
260
- getContentAnchorEl: null,
261
- anchorOrigin: {
262
- vertical: "bottom",
263
- horizontal: "left"
264
- },
265
- transformOrigin: {
266
- vertical: "top",
267
- horizontal: "left"
268
- },
269
- optionsIconPosition: optionsIconPosition,
270
- size: size,
271
- width: width,
272
- role: undefined,
273
- transition: true,
274
- disablePortal: true,
275
- placement: "bottom-start"
276
- }, function (_ref2) {
277
- var TransitionProps = _ref2.TransitionProps;
278
- return _react["default"].createElement(_Grow["default"], TransitionProps, _react["default"].createElement(_Paper["default"], null, _react["default"].createElement(_core.ClickAwayListener, {
279
- onClickAway: handleClose
280
- }, _react["default"].createElement(_MenuList["default"], {
281
- autoFocusItem: Boolean(anchorEl),
282
- id: "menu-list-grow"
283
- }, options.map(function (option) {
284
- return _react["default"].createElement(_MenuItem["default"], {
285
- key: option.value,
286
- value: option.value,
287
- disableRipple: true,
288
- onClick: function onClick(event) {
289
- return handleMenuItemClick(option);
290
- }
291
- }, option.icon ? _react["default"].createElement(ListIconContainer, {
292
- label: option.label,
293
- iconPosition: optionsIconPosition
294
- }, (0, _typeof2["default"])(option.icon) === "object" ? option.icon : _react["default"].createElement(option.icon)) : option.iconSrc && _react["default"].createElement(ListIcon, {
295
- label: option.label,
296
- src: option.iconSrc,
297
- iconPosition: optionsIconPosition
298
- }), _react["default"].createElement("span", {
299
- className: "optionLabel"
300
- }, option.label));
301
- })))));
302
- }))));
303
- };
304
-
305
- var sizes = {
306
- small: "60px",
307
- medium: "240px",
308
- large: "480px",
309
- fillParent: "100%",
310
- fitContent: "unset"
311
- };
312
-
313
- var calculateWidth = function calculateWidth(margin, size) {
314
- if (size === "fillParent") {
315
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
316
- }
317
-
318
- return sizes[size];
319
- };
320
-
321
- var DxCDropdownContainer = _styledComponents["default"].div(_templateObject(), function (props) {
322
- return calculateWidth(props.margin, props.size);
323
- }, function (props) {
324
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
325
- }, function (props) {
326
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
327
- }, function (props) {
328
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
329
- }, function (props) {
330
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
331
- }, function (props) {
332
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
333
- }, function (props) {
334
- return props.theme.focusColor;
335
- });
336
-
337
- var DxcMenu = (0, _styledComponents["default"])(_Popper["default"])(_templateObject2(), function (props) {
338
- return calculateWidth(props.margin, props.size);
339
- }, function (props) {
340
- return props.theme.optionsPaddingTop;
341
- }, function (props) {
342
- return props.theme.optionsPaddingBottom;
343
- }, function (props) {
344
- return props.theme.optionsPaddingLeft;
345
- }, function (props) {
346
- return props.theme.optionsPaddingRight;
347
- }, function (props) {
348
- return "".concat(props.width, "px");
349
- }, function (props) {
350
- return props.theme.optionsListBackgroundColor;
351
- }, function (props) {
352
- return props.theme.optionsListFontColor;
353
- }, function (props) {
354
- return props.theme.borderThickness;
355
- }, function (props) {
356
- return props.theme.borderStyle;
357
- }, function (props) {
358
- return props.theme.borderColor;
359
- }, function (props) {
360
- return props.theme.borderRadius;
361
- }, function (props) {
362
- return props.theme.borderRadius;
363
- }, function (props) {
364
- return props.optionsIconPosition === "after" && "row-reverse" || "row";
365
- }, function (props) {
366
- return props.optionsIconPosition === "after" && "flex-end" || "";
367
- }, function (props) {
368
- return props.theme.optionsFontSize;
369
- }, function (props) {
370
- return props.theme.optionsFontStyle;
371
- }, function (props) {
372
- return props.theme.optionsFontWeight;
373
- }, function (props) {
374
- return props.theme.optionsFontColor;
375
- }, function (props) {
376
- return props.theme.optionsListHoverBackgroundColor;
377
- }, function (props) {
378
- return props.theme.dropdownFontColor;
379
- }, function (props) {
380
- return props.theme.scrollBarTrackColor;
381
- }, function (props) {
382
- return props.theme.scrollBarThumbColor;
383
- });
384
-
385
- var DropdownTrigger = _styledComponents["default"].button(_templateObject3(), function (props) {
386
- return props.theme.fontFamily;
387
- }, function (props) {
388
- return props.theme.buttonFontSize;
389
- }, function (props) {
390
- return props.theme.buttonFontStyle;
391
- }, function (props) {
392
- return props.theme.buttonFontWeight;
393
- }, function (props) {
394
- return props.theme.borderRadius;
395
- }, function (props) {
396
- return props.theme.borderThickness;
397
- }, function (props) {
398
- return props.theme.borderStyle;
399
- }, function (props) {
400
- return props.theme.borderColor;
401
- }, function (props) {
402
- return props.label === "" ? "0px" : calculateWidth(props.margin, props.size);
403
- }, function (props) {
404
- return props.theme.labelPaddingTop;
405
- }, function (props) {
406
- return props.theme.labelPaddingBottom;
407
- }, function (props) {
408
- return props.theme.labelPaddingLeft;
409
- }, function (props) {
410
- return props.theme.labelPaddingRight;
411
- }, function (props) {
412
- return props.opened === true ? props.theme.buttonHoverBackgroundColor : props.theme.buttonBackgroundColor;
413
- }, function (props) {
414
- return props.theme.buttonFontColor;
415
- }, function (props) {
416
- return props.opened === true ? "0px" : props.theme.borderRadius;
417
- }, function (props) {
418
- return props.opened === true ? "0px" : props.theme.borderRadius;
419
- }, function (props) {
420
- return props.theme.buttonHoverBackgroundColor;
421
- });
422
-
423
- var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4());
424
-
425
- var DropdownTriggerContainer = _styledComponents["default"].span(_templateObject5(), function (props) {
426
- return props.iconPosition === "after" && "row-reverse" || "row";
427
- }, function (props) {
428
- return props.caretHidden ? "100%" : "calc(100% - 44px)";
429
- });
430
-
431
- var ListIcon = _styledComponents["default"].img(_templateObject6(), function (props) {
432
- return props.theme.iconSize;
433
- }, function (props) {
434
- return props.theme.iconSize;
435
- }, function (props) {
436
- return props.iconPosition === "after" && props.label !== "" && props.theme.iconOptionSpacing || "0px";
437
- }, function (props) {
438
- return props.iconPosition === "before" && props.label !== "" && props.theme.iconOptionSpacing || "0px";
439
- });
440
-
441
- var ListIconContainer = _styledComponents["default"].div(_templateObject7(), function (props) {
442
- return props.theme.iconColor;
443
- }, function (props) {
444
- return props.theme.iconSize;
445
- }, function (props) {
446
- return props.theme.iconSize;
447
- }, function (props) {
448
- return props.iconPosition === "after" && props.label !== "" && props.theme.iconOptionSpacing || "0px";
449
- }, function (props) {
450
- return props.iconPosition === "before" && props.label !== "" && props.theme.iconOptionSpacing || "0px";
451
- });
452
-
453
- var CaretIcon = _styledComponents["default"].div(_templateObject8(), function (props) {
454
- return props.caretHidden === true ? "none" : "inline-flex";
455
- }, function (props) {
456
- return props.theme.caretIconMarginTop;
457
- }, function (props) {
458
- return props.theme.caretIconMarginBottom;
459
- }, function (props) {
460
- return props.theme.caretIconMarginLeft;
461
- }, function (props) {
462
- return props.theme.caretIconMarginRight;
463
- }, function (props) {
464
- return props.theme.fontColor;
465
- });
466
-
467
- DxcDropdown.propTypes = {
468
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
469
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
470
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
471
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
472
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
473
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
474
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
475
- optionsIconPosition: _propTypes["default"].oneOf(["after", "before", ""]),
476
- icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
477
- iconSrc: _propTypes["default"].string,
478
- iconPosition: _propTypes["default"].oneOf(["after", "before", ""]),
479
- label: _propTypes["default"].string,
480
- caretHidden: _propTypes["default"].bool,
481
- expandOnHover: _propTypes["default"].bool,
482
- onSelectOption: _propTypes["default"].func,
483
- options: _propTypes["default"].arrayOf(_propTypes["default"].shape({
484
- value: _propTypes["default"].any.isRequired,
485
- label: _propTypes["default"].any.isRequired,
486
- icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
487
- iconSrc: _propTypes["default"].string
488
- })),
489
- tabIndex: _propTypes["default"].number
490
- };
491
- var _default = DxcDropdown;
492
- exports["default"] = _default;