@dxc-technology/halstack-react 0.0.0-bf77201 → 0.0.0-bfc9025

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