@dxc-technology/halstack-react 0.0.0-7c1e4ad → 0.0.0-7ca87fd

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 (233) hide show
  1. package/README.md +2 -2
  2. package/babel.config.js +5 -2
  3. package/dist/BackgroundColorContext.js +46 -0
  4. package/dist/ThemeContext.js +237 -2
  5. package/dist/V3Select/V3Select.js +549 -0
  6. package/dist/V3Select/index.d.ts +27 -0
  7. package/dist/V3Textarea/V3Textarea.js +264 -0
  8. package/dist/V3Textarea/index.d.ts +27 -0
  9. package/dist/accordion/Accordion.js +168 -63
  10. package/dist/accordion/index.d.ts +28 -0
  11. package/dist/accordion-group/AccordionGroup.js +186 -0
  12. package/dist/accordion-group/index.d.ts +16 -0
  13. package/dist/alert/Alert.js +183 -84
  14. package/dist/alert/index.d.ts +51 -0
  15. package/dist/badge/Badge.js +63 -0
  16. package/dist/box/Box.js +31 -23
  17. package/dist/box/index.d.ts +25 -0
  18. package/dist/button/Button.js +85 -28
  19. package/dist/button/Button.stories.js +14 -211
  20. package/dist/button/index.d.ts +24 -0
  21. package/dist/card/Card.js +72 -35
  22. package/dist/card/index.d.ts +22 -0
  23. package/dist/checkbox/Checkbox.js +99 -40
  24. package/dist/checkbox/index.d.ts +24 -0
  25. package/dist/chip/Chip.js +128 -36
  26. package/dist/chip/index.d.ts +22 -0
  27. package/dist/common/RequiredComponent.js +2 -8
  28. package/dist/common/utils.js +2 -22
  29. package/dist/common/variables.js +1444 -304
  30. package/dist/date/Date.js +75 -52
  31. package/dist/date/index.d.ts +27 -0
  32. package/dist/date-input/DateInput.js +400 -0
  33. package/dist/date-input/index.d.ts +95 -0
  34. package/dist/dialog/Dialog.js +58 -37
  35. package/dist/dialog/index.d.ts +18 -0
  36. package/dist/dropdown/Dropdown.js +199 -71
  37. package/dist/dropdown/index.d.ts +26 -0
  38. package/dist/file-input/FileInput.js +644 -0
  39. package/dist/file-input/FileItem.js +287 -0
  40. package/dist/file-input/index.d.ts +81 -0
  41. package/dist/footer/Footer.js +121 -46
  42. package/dist/footer/Icons.js +77 -0
  43. package/dist/footer/index.d.ts +25 -0
  44. package/dist/header/Header.js +209 -99
  45. package/dist/header/Icons.js +59 -0
  46. package/dist/header/index.d.ts +25 -0
  47. package/dist/heading/Heading.js +93 -16
  48. package/dist/heading/index.d.ts +17 -0
  49. package/dist/input-text/Icons.js +22 -0
  50. package/dist/input-text/InputText.js +289 -103
  51. package/dist/input-text/index.d.ts +36 -0
  52. package/dist/layout/ApplicationLayout.js +19 -26
  53. package/dist/layout/Icons.js +55 -0
  54. package/dist/link/Link.js +107 -41
  55. package/dist/link/index.d.ts +23 -0
  56. package/dist/main.d.ts +40 -0
  57. package/dist/main.js +96 -16
  58. package/dist/number-input/NumberInput.js +136 -0
  59. package/dist/number-input/NumberInputContext.js +16 -0
  60. package/dist/number-input/index.d.ts +113 -0
  61. package/dist/paginator/Icons.js +66 -0
  62. package/dist/paginator/Paginator.js +172 -63
  63. package/dist/paginator/index.d.ts +20 -0
  64. package/dist/password-input/PasswordInput.js +203 -0
  65. package/dist/password-input/index.d.ts +94 -0
  66. package/dist/progress-bar/ProgressBar.js +95 -38
  67. package/dist/progress-bar/index.d.ts +18 -0
  68. package/dist/radio/Radio.js +31 -17
  69. package/dist/radio/index.d.ts +23 -0
  70. package/dist/resultsetTable/ResultsetTable.js +90 -65
  71. package/dist/resultsetTable/index.d.ts +19 -0
  72. package/dist/select/Select.js +951 -270
  73. package/dist/select/index.d.ts +53 -0
  74. package/dist/sidenav/Sidenav.js +119 -9
  75. package/dist/sidenav/index.d.ts +13 -0
  76. package/dist/slider/Slider.js +211 -73
  77. package/dist/slider/index.d.ts +29 -0
  78. package/dist/spinner/Spinner.js +247 -59
  79. package/dist/spinner/index.d.ts +17 -0
  80. package/dist/switch/Switch.js +50 -27
  81. package/dist/switch/index.d.ts +24 -0
  82. package/dist/table/Table.js +51 -24
  83. package/dist/table/index.d.ts +13 -0
  84. package/dist/tabs/Tabs.js +206 -35
  85. package/dist/tabs/index.d.ts +19 -0
  86. package/dist/tag/Tag.js +85 -37
  87. package/dist/tag/index.d.ts +24 -0
  88. package/dist/text-input/TextInput.js +974 -0
  89. package/dist/text-input/index.d.ts +135 -0
  90. package/dist/textarea/Textarea.js +248 -106
  91. package/dist/textarea/index.d.ts +117 -0
  92. package/dist/toggle/Toggle.js +16 -19
  93. package/dist/toggle/index.d.ts +21 -0
  94. package/dist/toggle-group/ToggleGroup.js +156 -43
  95. package/dist/toggle-group/index.d.ts +21 -0
  96. package/dist/upload/Upload.js +13 -8
  97. package/dist/upload/buttons-upload/ButtonsUpload.js +32 -19
  98. package/dist/upload/buttons-upload/Icons.js +40 -0
  99. package/dist/upload/dragAndDropArea/DragAndDropArea.js +84 -34
  100. package/dist/upload/dragAndDropArea/Icons.js +39 -0
  101. package/dist/upload/file-upload/FileToUpload.js +64 -33
  102. package/dist/upload/file-upload/Icons.js +66 -0
  103. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  104. package/dist/upload/index.d.ts +15 -0
  105. package/dist/upload/transaction/Icons.js +160 -0
  106. package/dist/upload/transaction/Transaction.js +42 -49
  107. package/dist/upload/transactions/Transactions.js +38 -20
  108. package/dist/useTheme.js +22 -0
  109. package/dist/wizard/Icons.js +65 -0
  110. package/dist/wizard/Wizard.js +138 -60
  111. package/dist/wizard/index.d.ts +18 -0
  112. package/package.json +23 -12
  113. package/test/AccordionGroup.test.js +125 -0
  114. package/test/Date.test.js +15 -13
  115. package/test/DateInput.test.js +242 -0
  116. package/test/Dropdown.test.js +15 -0
  117. package/test/FileInput.test.js +201 -0
  118. package/test/Footer.test.js +2 -7
  119. package/test/Header.test.js +5 -10
  120. package/test/Heading.test.js +60 -12
  121. package/test/InputText.test.js +30 -27
  122. package/test/Link.test.js +12 -2
  123. package/test/NumberInput.test.js +259 -0
  124. package/test/Paginator.test.js +76 -60
  125. package/test/PasswordInput.test.js +83 -0
  126. package/test/ResultsetTable.test.js +65 -17
  127. package/test/Select.test.js +869 -132
  128. package/test/Sidenav.test.js +28 -2
  129. package/test/Slider.test.js +9 -17
  130. package/test/Spinner.test.js +5 -0
  131. package/test/Tabs.test.js +21 -0
  132. package/test/TextInput.test.js +731 -0
  133. package/test/Textarea.test.js +193 -0
  134. package/test/ToggleGroup.test.js +5 -1
  135. package/test/Upload.test.js +1 -1
  136. package/test/V3Select.test.js +212 -0
  137. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  138. package/dist/accordion/Accordion.stories.js +0 -207
  139. package/dist/accordion/readme.md +0 -96
  140. package/dist/alert/Alert.stories.js +0 -158
  141. package/dist/alert/close.svg +0 -4
  142. package/dist/alert/error.svg +0 -4
  143. package/dist/alert/info.svg +0 -4
  144. package/dist/alert/readme.md +0 -43
  145. package/dist/alert/success.svg +0 -4
  146. package/dist/alert/warning.svg +0 -4
  147. package/dist/button/readme.md +0 -93
  148. package/dist/checkbox/Checkbox.stories.js +0 -144
  149. package/dist/checkbox/readme.md +0 -116
  150. package/dist/common/services/example-service.js +0 -10
  151. package/dist/common/services/example-service.test.js +0 -12
  152. package/dist/date/Date.stories.js +0 -205
  153. package/dist/date/calendar.svg +0 -1
  154. package/dist/date/calendar_dark.svg +0 -1
  155. package/dist/date/readme.md +0 -73
  156. package/dist/dialog/Dialog.stories.js +0 -217
  157. package/dist/dialog/readme.md +0 -32
  158. package/dist/dropdown/Dropdown.stories.js +0 -249
  159. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  160. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  161. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  162. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  163. package/dist/dropdown/readme.md +0 -69
  164. package/dist/footer/Footer.stories.js +0 -94
  165. package/dist/footer/dxc_logo_wht.png +0 -0
  166. package/dist/footer/readme.md +0 -41
  167. package/dist/header/Header.stories.js +0 -176
  168. package/dist/header/close_icon.svg +0 -1
  169. package/dist/header/dxc_logo_black.png +0 -0
  170. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  171. package/dist/header/dxc_logo_white.png +0 -0
  172. package/dist/header/hamb_menu_black.svg +0 -1
  173. package/dist/header/hamb_menu_white.svg +0 -1
  174. package/dist/header/readme.md +0 -33
  175. package/dist/input-text/InputText.stories.js +0 -209
  176. package/dist/input-text/error.svg +0 -1
  177. package/dist/input-text/readme.md +0 -91
  178. package/dist/layout/facebook.svg +0 -45
  179. package/dist/layout/linkedin.svg +0 -50
  180. package/dist/layout/twitter.svg +0 -53
  181. package/dist/link/readme.md +0 -51
  182. package/dist/paginator/images/next.svg +0 -3
  183. package/dist/paginator/images/nextPage.svg +0 -3
  184. package/dist/paginator/images/previous.svg +0 -3
  185. package/dist/paginator/images/previousPage.svg +0 -3
  186. package/dist/paginator/readme.md +0 -50
  187. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  188. package/dist/progress-bar/readme.md +0 -63
  189. package/dist/radio/Radio.stories.js +0 -166
  190. package/dist/radio/readme.md +0 -70
  191. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  192. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  193. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  194. package/dist/select/Select.stories.js +0 -235
  195. package/dist/select/readme.md +0 -72
  196. package/dist/slider/Slider.stories.js +0 -241
  197. package/dist/slider/readme.md +0 -64
  198. package/dist/spinner/Spinner.stories.js +0 -183
  199. package/dist/spinner/readme.md +0 -65
  200. package/dist/switch/Switch.stories.js +0 -134
  201. package/dist/switch/readme.md +0 -133
  202. package/dist/tabs/Tabs.stories.js +0 -130
  203. package/dist/tabs/readme.md +0 -78
  204. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  205. package/dist/tabs-for-sections/readme.md +0 -78
  206. package/dist/toggle/Toggle.stories.js +0 -297
  207. package/dist/toggle/readme.md +0 -80
  208. package/dist/toggle-group/readme.md +0 -82
  209. package/dist/upload/Upload.stories.js +0 -72
  210. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  211. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  212. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  213. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  214. package/dist/upload/file-upload/audio-icon.svg +0 -4
  215. package/dist/upload/file-upload/close.svg +0 -4
  216. package/dist/upload/file-upload/file-icon.svg +0 -4
  217. package/dist/upload/file-upload/video-icon.svg +0 -4
  218. package/dist/upload/readme.md +0 -37
  219. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  220. package/dist/upload/transaction/audio-icon.svg +0 -4
  221. package/dist/upload/transaction/error-icon.svg +0 -4
  222. package/dist/upload/transaction/file-icon-err.svg +0 -4
  223. package/dist/upload/transaction/file-icon.svg +0 -4
  224. package/dist/upload/transaction/image-icon-err.svg +0 -4
  225. package/dist/upload/transaction/image-icon.svg +0 -4
  226. package/dist/upload/transaction/success-icon.svg +0 -4
  227. package/dist/upload/transaction/video-icon-err.svg +0 -4
  228. package/dist/upload/transaction/video-icon.svg +0 -4
  229. package/dist/wizard/invalid_icon.svg +0 -6
  230. package/dist/wizard/valid_icon.svg +0 -6
  231. package/dist/wizard/validation-wrong.svg +0 -6
  232. package/test/TabsForSections.test.js +0 -34
  233. package/test/Toggle.test.js +0 -43
@@ -0,0 +1,51 @@
1
+ type Size = "small" | "medium" | "large" | "fillParent" | "fitContent";
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+
10
+ type Props = {
11
+ /**
12
+ * Uses on of the available alert types.
13
+ */
14
+ type?: "info" | "confirm" | "warning" | "error";
15
+ /**
16
+ * Uses on of the available alert modes:
17
+ * 'inline': If onClose function is received, close button will be visible and the function will be executed when it's clicked.
18
+ * There is no overlay layer. Position should be decided by the user.
19
+ * 'modal': The alert will be displayed in the middle of the screen with an overlay layer behind.
20
+ * The onClose function will be executed when the X button or the overlay is clicked. d
21
+ * The user has the responsibility of hidding the modal in the onClose function, otherwise the modal will remain visible.
22
+ */
23
+ mode?: "inline" | "modal";
24
+ /**
25
+ * Text to display after icon and alert type and before content.
26
+ */
27
+ inlineText?: string;
28
+ /**
29
+ * This function will be called when the user clicks the close button. If there is no function we should close the alert by default.
30
+ */
31
+ onClose?: () => void;
32
+ /**
33
+ * The details section of the alert. Can be used to render custom content in this area.
34
+ */
35
+ children?: React.ReactNode;
36
+ /**
37
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
38
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
39
+ */
40
+ margin?: Space | Margin;
41
+ /**
42
+ * Size of the component ('small' | 'medium' | 'large' | 'fillParent' | 'fitContent').
43
+ */
44
+ size?: Size;
45
+ /**
46
+ * Tabindex value given to the close button.
47
+ */
48
+ tabIndex?: number;
49
+ };
50
+
51
+ export default function Alert(props: Props): JSX.Element;
@@ -0,0 +1,63 @@
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 _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
17
+
18
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
19
+
20
+ function _templateObject() {
21
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n letter-spacing: ", ";\n width: ", ";\n height: ", ";\n border-radius: ", ";\n display: flex;\n padding-bottom: 1px;\n padding-right: 1px;\n flex-wrap: wrap;\n box-sizing: border-box;\n align-items: center;\n line-height: 1;\n align-content: center;\n flex-direction: row;\n justify-content: center;\n"]);
22
+
23
+ _templateObject = function _templateObject() {
24
+ return data;
25
+ };
26
+
27
+ return data;
28
+ }
29
+
30
+ var DxcBadge = function DxcBadge(_ref) {
31
+ var notificationText = _ref.notificationText;
32
+ var colorsTheme = (0, _useTheme["default"])();
33
+ return _react["default"].createElement(_styledComponents.ThemeProvider, {
34
+ theme: colorsTheme.tabs
35
+ }, _react["default"].createElement(StyledDxcBadge, {
36
+ notificationText: notificationText
37
+ }, _react["default"].createElement("span", null, notificationText)));
38
+ };
39
+
40
+ var StyledDxcBadge = _styledComponents["default"].div(_templateObject(), function (props) {
41
+ return props.theme.badgeBackgroundColor;
42
+ }, function (props) {
43
+ return props.theme.badgeFontFamily;
44
+ }, function (props) {
45
+ return props.theme.badgeFontSize;
46
+ }, function (props) {
47
+ return props.theme.badgeFontStyle;
48
+ }, function (props) {
49
+ return props.theme.badgeFontWeight;
50
+ }, function (props) {
51
+ return props.theme.badgeFontColor;
52
+ }, function (props) {
53
+ return props.theme.badgeLetterSpacing;
54
+ }, function (props) {
55
+ return props.notificationText === true ? props.theme.badgeWidth : props.theme.badgeWidthWithNotificationNumber;
56
+ }, function (props) {
57
+ return props.notificationText === true ? props.theme.badgeHeight : props.theme.badgeHeightWithNotificationNumber;
58
+ }, function (props) {
59
+ return props.notificationText === true ? props.theme.badgeRadius : props.theme.badgeRadiusWithNotificationNumber;
60
+ });
61
+
62
+ var _default = DxcBadge;
63
+ exports["default"] = _default;
package/dist/box/Box.js CHANGED
@@ -15,7 +15,7 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
15
 
16
16
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
17
 
18
- var _react = _interopRequireWildcard(require("react"));
18
+ var _react = _interopRequireDefault(require("react"));
19
19
 
20
20
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
21
 
@@ -25,12 +25,12 @@ var _variables = require("../common/variables.js");
25
25
 
26
26
  var _utils = require("../common/utils.js");
27
27
 
28
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
28
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
29
29
 
30
- require("../common/OpenSans.css");
30
+ var _BackgroundColorContext = require("../BackgroundColorContext.js");
31
31
 
32
32
  function _templateObject() {
33
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: ", ";\n border-radius: 4px;\n overflow: hidden;\n font-family: \"Open Sans\", sans-serif;\n width: ", ";\n background-color: ", ";\n box-shadow: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"]);
33
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n letter-spacing: ", ";\n overflow: hidden;\n width: ", ";\n background-color: ", ";\n box-shadow: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"]);
34
34
 
35
35
  _templateObject = function _templateObject() {
36
36
  return data;
@@ -48,10 +48,7 @@ var DxcBox = function DxcBox(_ref) {
48
48
  children = _ref.children,
49
49
  _ref$size = _ref.size,
50
50
  size = _ref$size === void 0 ? "fitContent" : _ref$size;
51
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
52
- var colorsTheme = (0, _react.useMemo)(function () {
53
- return (0, _utils.getCustomTheme)(_variables.theme, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
54
- }, [customTheme]);
51
+ var colorsTheme = (0, _useTheme["default"])();
55
52
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
56
53
  theme: colorsTheme.box
57
54
  }, _react["default"].createElement(StyledDxcBox, {
@@ -60,7 +57,9 @@ var DxcBox = function DxcBox(_ref) {
60
57
  margin: margin,
61
58
  padding: padding,
62
59
  size: size
63
- }, children));
60
+ }, _react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
61
+ color: colorsTheme.box.backgroundColor
62
+ }, children)));
64
63
  };
65
64
 
66
65
  var sizes = {
@@ -82,42 +81,51 @@ var calculateWidth = function calculateWidth(margin, size, padding) {
82
81
  var StyledDxcBox = _styledComponents["default"].div(_templateObject(), function (_ref2) {
83
82
  var display = _ref2.display;
84
83
  return display;
84
+ }, function (props) {
85
+ return props.theme.borderRadius;
86
+ }, function (props) {
87
+ return props.theme.borderThickness;
88
+ }, function (props) {
89
+ return props.theme.borderStyle;
90
+ }, function (props) {
91
+ return props.theme.borderColor;
92
+ }, function (props) {
93
+ return props.theme.letterSpacing;
85
94
  }, function (props) {
86
95
  return calculateWidth(props.margin, props.size, props.padding);
87
96
  }, function (props) {
88
97
  return props.theme.backgroundColor;
98
+ }, function (props) {
99
+ return props.shadowDepth === 1 ? "".concat(props.theme.oneShadowDepthShadowOffsetX, " ").concat(props.theme.oneShadowDepthShadowOffsetY, " ").concat(props.theme.oneShadowDepthShadowBlur, " ").concat(props.theme.oneShadowDepthShadowSpread, " ").concat(props.theme.oneShadowDepthShadowColor) : props.shadowDepth === 2 ? "".concat(props.theme.twoShadowDepthShadowOffsetX, " ").concat(props.theme.twoShadowDepthShadowOffsetY, " ").concat(props.theme.twoShadowDepthShadowBlur, " ").concat(props.theme.twoShadowDepthShadowSpread, " ").concat(props.theme.twoShadowDepthShadowColor) : "".concat(props.theme.noneShadowDepthShadowOffsetX, " ").concat(props.theme.noneShadowDepthShadowOffsetY, " ").concat(props.theme.noneShadowDepthShadowBlur, " ").concat(props.theme.noneShadowDepthShadowSpread, " ").concat(props.theme.noneShadowDepthShadowColor);
89
100
  }, function (_ref3) {
90
- var shadowDepth = _ref3.shadowDepth;
91
- return shadowDepth === 1 ? "0px 2px 1px -1px rgba(0,0,0,0.2), 0px 1px 1px 0px rgba(0,0,0,0.14), 0px 1px 3px 0px rgba(0,0,0,0.12)" : shadowDepth === 2 ? "0px 3px 3px -2px rgba(0,0,0,0.2), 0px 3px 4px 0px rgba(0,0,0,0.14), 0px 1px 8px 0px rgba(0,0,0,0.12)" : "none";
101
+ var margin = _ref3.margin;
102
+ return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
92
103
  }, function (_ref4) {
93
104
  var margin = _ref4.margin;
94
- return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
105
+ return margin && margin.top ? _variables.spaces[margin.top] : "";
95
106
  }, function (_ref5) {
96
107
  var margin = _ref5.margin;
97
- return margin && margin.top ? _variables.spaces[margin.top] : "";
108
+ return margin && margin.right ? _variables.spaces[margin.right] : "";
98
109
  }, function (_ref6) {
99
110
  var margin = _ref6.margin;
100
- return margin && margin.right ? _variables.spaces[margin.right] : "";
111
+ return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
101
112
  }, function (_ref7) {
102
113
  var margin = _ref7.margin;
103
- return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
104
- }, function (_ref8) {
105
- var margin = _ref8.margin;
106
114
  return margin && margin.left ? _variables.spaces[margin.left] : "";
115
+ }, function (_ref8) {
116
+ var padding = _ref8.padding;
117
+ return padding && (0, _typeof2["default"])(padding) !== "object" ? _variables.spaces[padding] : "0px";
107
118
  }, function (_ref9) {
108
119
  var padding = _ref9.padding;
109
- return padding && (0, _typeof2["default"])(padding) !== "object" ? _variables.spaces[padding] : "0px";
120
+ return padding && padding.top ? _variables.spaces[padding.top] : "";
110
121
  }, function (_ref10) {
111
122
  var padding = _ref10.padding;
112
- return padding && padding.top ? _variables.spaces[padding.top] : "";
123
+ return padding && padding.right ? _variables.spaces[padding.right] : "";
113
124
  }, function (_ref11) {
114
125
  var padding = _ref11.padding;
115
- return padding && padding.right ? _variables.spaces[padding.right] : "";
126
+ return padding && padding.bottom ? _variables.spaces[padding.bottom] : "";
116
127
  }, function (_ref12) {
117
128
  var padding = _ref12.padding;
118
- return padding && padding.bottom ? _variables.spaces[padding.bottom] : "";
119
- }, function (_ref13) {
120
- var padding = _ref13.padding;
121
129
  return padding && padding.left ? _variables.spaces[padding.left] : "";
122
130
  });
123
131
 
@@ -0,0 +1,25 @@
1
+ type Size = "small" | "medium" | "large" | "fillParent" | "fitContent";
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ type Padding = {
10
+ top?: Space;
11
+ bottom?: Space;
12
+ left?: Space;
13
+ right?: Space;
14
+ };
15
+
16
+
17
+ type Props = {
18
+ shadowDepth?: 0 | 1 | 2;
19
+ margin?: Space | Margin;
20
+ padging?: Space | Padding;
21
+ display: string;
22
+ size: Size;
23
+ };
24
+
25
+ export default function DxcBox(props: Props): JSX.Element;
@@ -11,28 +11,38 @@ exports["default"] = void 0;
11
11
 
12
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
13
 
14
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
-
16
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
15
 
16
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
+
18
18
  var _react = _interopRequireWildcard(require("react"));
19
19
 
20
- var _core = require("@material-ui/core");
20
+ var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
21
21
 
22
22
  var _propTypes = _interopRequireDefault(require("prop-types"));
23
23
 
24
24
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
25
25
 
26
- require("../common/OpenSans.css");
27
-
28
26
  var _variables = require("../common/variables.js");
29
27
 
30
28
  var _utils = require("../common/utils.js");
31
29
 
32
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
30
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
31
+
32
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
33
+
34
+ function _templateObject4() {
35
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n display: inline-block;\n width: ", ";\n cursor: ", ";\n\n .MuiButtonBase-root {\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n\n .MuiButton-label {\n display: flex;\n flex-direction: ", ";\n align-items: center;\n }\n\n box-shadow: 0 0 0 2px transparent;\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n min-width: ", ";\n width: 100%;\n height: 40px;\n transition: none !important;\n\n &:focus {\n border-color: transparent;\n box-shadow: 0 0 0 2px\n ", ";\n }\n\n ", "\n }\n"]);
36
+
37
+ _templateObject4 = function _templateObject4() {
38
+ return data;
39
+ };
40
+
41
+ return data;
42
+ }
33
43
 
34
44
  function _templateObject3() {
35
- var data = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n display: inline-block;\n width: ", ";\n cursor: ", ";\n\n .MuiButtonBase-root {\n .MuiButton-label {\n display: flex;\n flex-direction: ", ";\n align-items: center;\n }\n letter-spacing: 1px;\n box-shadow: none;\n font-size: 14px;\n font-weight: 500;\n min-width: ", ";\n border-radius: 4px;\n width: 100%;\n min-height: 43px;\n line-height: 1;\n font-family: \"Open Sans\", sans-serif;\n &:focus {\n outline: ", " auto 1px;\n }\n transition: color 0.16s ease-in-out, background-color 0.16s ease-in-out;\n transition: color 0.16s ease-in-out, border-color 0.16s ease-in-out;\n &:hover {\n transition: color 0.16s ease-in-out, background-color 0.16s ease-in-out;\n transition: color 0.16s ease-in-out, border-color 0.16s ease-in-out;\n }\n ", "\n }\n"]);
45
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 24px;\n max-width: 24px;\n margin-left: ", ";\n margin-right: ", ";\n"]);
36
46
 
37
47
  _templateObject3 = function _templateObject3() {
38
48
  return data;
@@ -42,7 +52,7 @@ function _templateObject3() {
42
52
  }
43
53
 
44
54
  function _templateObject2() {
45
- var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 20px;\n max-width: 20px;\n margin-left: ", ";\n margin-right: ", ";\n"]);
55
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 24px;\n max-width: 24px;\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n display: flex;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
46
56
 
47
57
  _templateObject2 = function _templateObject2() {
48
58
  return data;
@@ -52,7 +62,7 @@ function _templateObject2() {
52
62
  }
53
63
 
54
64
  function _templateObject() {
55
- var data = (0, _taggedTemplateLiteral2["default"])(["\n line-height: 18px;\n font-size: 14px;\n text-overflow: ellipsis;\n overflow: hidden;\n"]);
65
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n line-height: ", ";\n font-size: ", ";\n text-overflow: ellipsis;\n overflow: hidden;\n text-transform: none;\n margin-right: ", ";\n margin-left: ", ";\n"]);
56
66
 
57
67
  _templateObject = function _templateObject() {
58
68
  return data;
@@ -70,35 +80,49 @@ var DxcButton = function DxcButton(_ref) {
70
80
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
71
81
  _ref$iconPosition = _ref.iconPosition,
72
82
  iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
83
+ _ref$type = _ref.type,
84
+ type = _ref$type === void 0 ? "button" : _ref$type,
73
85
  _ref$iconSrc = _ref.iconSrc,
74
86
  iconSrc = _ref$iconSrc === void 0 ? "" : _ref$iconSrc,
87
+ icon = _ref.icon,
75
88
  _ref$onClick = _ref.onClick,
76
89
  _onClick = _ref$onClick === void 0 ? "" : _ref$onClick,
77
90
  margin = _ref.margin,
78
- size = _ref.size;
91
+ size = _ref.size,
92
+ _ref$tabIndex = _ref.tabIndex,
93
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
79
94
 
80
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
81
- var colorsTheme = (0, _react.useMemo)(function () {
82
- return (0, _utils.getCustomTheme)(_variables.theme, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
83
- }, [customTheme]);
95
+ var colorsTheme = (0, _useTheme["default"])();
96
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
84
97
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
85
98
  theme: colorsTheme.button
86
99
  }, _react["default"].createElement(DxCButton, {
100
+ type: type,
87
101
  margin: margin,
88
- mode: mode,
102
+ mode: mode !== "primary" && mode !== "secondary" && mode !== "text" ? "primary" : mode,
89
103
  disabled: disabled,
90
104
  iconPosition: iconPosition,
91
- size: size
92
- }, _react["default"].createElement(_core.Button, {
105
+ size: size,
106
+ backgroundType: backgroundType,
107
+ icon: icon
108
+ }, _react["default"].createElement(_Button["default"], {
93
109
  disabled: disabled,
110
+ type: type,
94
111
  disableRipple: true,
95
112
  "aria-disabled": disabled ? true : false,
113
+ tabIndex: disabled ? -1 : tabIndex,
96
114
  onClick: function onClick() {
97
115
  if (_onClick) {
98
116
  _onClick();
99
117
  }
100
118
  }
101
- }, _react["default"].createElement(LabelContainer, null, label), iconSrc && _react["default"].createElement(ButtonIcon, {
119
+ }, label && _react["default"].createElement(LabelContainer, {
120
+ icon: icon,
121
+ iconPosition: iconPosition
122
+ }, label), icon ? _react["default"].createElement(IconContainer, {
123
+ label: label,
124
+ iconPosition: iconPosition
125
+ }, (0, _typeof2["default"])(icon) === "object" ? icon : _react["default"].createElement(icon)) : iconSrc && _react["default"].createElement(ButtonIcon, {
102
126
  label: label,
103
127
  iconPosition: iconPosition,
104
128
  src: iconSrc
@@ -121,15 +145,29 @@ var calculateWidth = function calculateWidth(margin, size) {
121
145
  return sizes[size];
122
146
  };
123
147
 
124
- var LabelContainer = _styledComponents["default"].span(_templateObject());
148
+ var LabelContainer = _styledComponents["default"].span(_templateObject(), function (props) {
149
+ return props.theme.labelFontLineHeight;
150
+ }, function (props) {
151
+ return props.theme.fontSize;
152
+ }, function (props) {
153
+ return !props.icon || props.iconPosition === "before" ? "8px" : "0px";
154
+ }, function (props) {
155
+ return !props.icon || props.iconPosition === "after" ? "8px" : "0px";
156
+ });
125
157
 
126
- var ButtonIcon = _styledComponents["default"].img(_templateObject2(), function (props) {
158
+ var IconContainer = _styledComponents["default"].div(_templateObject2(), function (props) {
159
+ return !props.label ? "0px" : props.iconPosition === "after" && props.label !== "" && "8px" || "8px";
160
+ }, function (props) {
161
+ return !props.label ? "0px" : props.iconPosition === "before" && props.label !== "" && "8px" || "8px";
162
+ });
163
+
164
+ var ButtonIcon = _styledComponents["default"].img(_templateObject3(), function (props) {
127
165
  return props.iconPosition === "after" && props.label !== "" && "10px" || "0px";
128
166
  }, function (props) {
129
167
  return props.iconPosition === "before" && props.label !== "" && "10px" || "0px";
130
168
  });
131
169
 
132
- var DxCButton = _styledComponents["default"].div(_templateObject3(), function (props) {
170
+ var DxCButton = _styledComponents["default"].div(_templateObject4(), function (props) {
133
171
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
134
172
  }, function (props) {
135
173
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -143,21 +181,38 @@ var DxCButton = _styledComponents["default"].div(_templateObject3(), function (p
143
181
  return calculateWidth(props.margin, props.size);
144
182
  }, function (props) {
145
183
  return props.disabled && "not-allowed" || "pointer";
184
+ }, function (props) {
185
+ return props.theme.paddingLeft;
186
+ }, function (props) {
187
+ return props.theme.paddingRight;
188
+ }, function (props) {
189
+ return props.theme.paddingTop;
190
+ }, function (props) {
191
+ return props.theme.paddingBottom;
146
192
  }, function (props) {
147
193
  return props.iconPosition === "after" && "row" || "row-reverse";
194
+ }, function (props) {
195
+ return props.theme.fontFamily;
196
+ }, function (props) {
197
+ return props.theme.fontSize;
198
+ }, function (props) {
199
+ return props.theme.fontWeight;
200
+ }, function (props) {
201
+ return props.theme.labelLetterSpacing;
148
202
  }, function (props) {
149
203
  return props.size === "small" && "calc(100% - 22px)" || "unset";
150
204
  }, function (props) {
151
- return props.theme.focusColor;
205
+ return props.backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor;
152
206
  }, function (props) {
153
- var mode = props.mode;
207
+ var mode = props.mode,
208
+ backgroundType = props.backgroundType;
154
209
 
155
210
  if (mode === "primary") {
156
- return "\n background-color: ".concat(props.theme.color, ";\n color: ").concat(props.theme.primaryFontColor, ";\n padding: ").concat(props.size === "small" && "11px" || "12px 30px", ";\n &:hover{\n background-color: ").concat(props.theme.hoverColor, ";\n color: ").concat(props.theme.primaryHoverFontColor, "; \n }\n &:active {\n background-color: ").concat(props.theme.hoverColor).concat(props.theme.primaryActiveOpacity, " !important;\n color: ").concat(props.theme.primaryHoverFontColor, " !important;\n }\n &:focus {\n background-color: ").concat(props.theme.color, ";\n color: ").concat(props.theme.primaryHoverFontColor, "; \n }\n &:disabled{ \n background-color: ").concat(props.theme.color, ";\n opacity: ").concat(props.theme.disabledOpacity, ";\n color: ").concat(props.theme.primaryFontColor, ";\n cursor:not-allowed;\n }\n .MuiButton-label {\n z-index: 5\n }\n ");
211
+ return "\n border-radius: ".concat(props.theme.primaryBorderRadius, ";\n border-width: ").concat(props.theme.primaryBorderThickness, ";\n border-style: ").concat(props.theme.primaryBorderStyle, ";\n font-family: ").concat(props.theme.primaryFontFamily, ";\n font-size: ").concat(props.theme.primaryFontSize, ";\n font-weight: ").concat(props.theme.primaryFontWeight, ";\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryBackgroundColorOnDark : props.theme.primaryBackgroundColor, ";\n color: ").concat(backgroundType && backgroundType === "dark" ? props.theme.primaryFontColorOnDark : props.theme.primaryFontColor, " !important;\n\n &:hover {\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryHoverBackgroundColorOnDark : props.theme.primaryHoverBackgroundColor, ";\n }\n &:active {\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryActiveBackgroundColorOnDark : props.theme.primaryActiveBackgroundColor, " !important;\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor, ";\n }\n &:disabled { \n cursor: not-allowed;\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryDisabledBackgroundColorOnDark : props.theme.primaryDisabledBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.primaryDisabledFontColorOnDark : props.theme.primaryDisabledFontColor, "!important; \n }\n .MuiButton-label {\n z-index: 5;\n }\n ");
157
212
  } else if (mode === "secondary") {
158
- return "\n background-color: ".concat(props.theme.secondaryBackgroundColor, ";\n padding: ").concat(props.size === "small" && "9px" || "10px 28px", ";\n color: ").concat(props.theme.secondaryFontColor, ";\n border: 2px solid;\n border-color: ").concat(props.theme.color, ";\n &:hover{\n border-color: ").concat(props.theme.hoverColor, ";\n background-color: ").concat(props.theme.hoverColor).concat(props.theme.secondaryHoverOpacity, ";\n color: ").concat(props.theme.secondaryHoverFontColor, "; \n }\n &:active {\n background-color: ").concat(props.theme.hoverColor).concat(props.theme.secondaryActiveOpacity, " !important;\n color: ").concat(props.theme.secondaryHoverFontColor, " !important;\n }\n &:focus {\n background-color: ").concat(props.theme.secondaryBackgroundColor, ";\n color: ").concat(props.theme.secondaryHoverFontColor, "; \n }\n &:disabled{\n background-color: ").concat(props.theme.secondaryBackgroundColor, ";\n border-color: ").concat(props.theme.color, ";\n color: ").concat(props.theme.secondaryFontColor, ";\n cursor:not-allowed;\n opacity: ").concat(props.theme.disabledOpacity, ";\n }\n .MuiButton-label {\n z-index: 5\n }\n\n ");
213
+ return "\n border-radius: ".concat(props.theme.secondaryBorderRadius, ";\n border-width: ").concat(props.theme.secondaryBorderThickness, ";\n border-style: ").concat(props.theme.secondaryBorderStyle, ";\n font-family: ").concat(props.theme.secondaryFontFamily, ";\n font-size: ").concat(props.theme.secondaryFontSize, ";\n font-weight: ").concat(props.theme.secondaryFontWeight, ";\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryBackgroundColorOnDark : props.theme.secondaryBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryFontColorOnDark : props.theme.secondaryFontColor, " !important;\n border-color: ").concat(backgroundType === "dark" ? props.theme.secondaryBorderColorOnDark : props.theme.secondaryBorderColor, ";\n\n &:hover {\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverBackgroundColorOnDark : props.theme.secondaryHoverBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor, " !important;\n }\n &:active {\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryActiveBackgroundColorOnDark : props.theme.secondaryActiveBackgroundColor, " !important;\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor, " !important;\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor, ";\n }\n &:disabled {\n cursor: not-allowed;\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledBackgroundColorOnDark : props.theme.secondaryDisabledBackgroundColor, " !important;\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledFontColorOnDark : props.theme.secondaryDisabledFontColor, " !important;\n border-color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledBorderColorOnDark : props.theme.secondaryDisabledBorderColor, ";\n }\n .MuiButton-label {\n z-index: 5;\n }\n ");
159
214
  } else if (mode === "text") {
160
- return "\n background-color: ".concat(props.theme.textBackgroundColor, ";\n color: ").concat(props.theme.textFontColor, ";\n padding: ").concat(props.size === "small" && "11px" || "12px 30px", ";\n &:hover{\n background-color: ").concat(props.theme.hoverColor, ";\n color: ").concat(props.theme.textHoverFontColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.hoverColor).concat(props.theme.textActiveOpacity, " !important;\n color: ").concat(props.theme.textHoverFontColor, " !important;\n }\n &:focus {\n background-color: ").concat(props.theme.textBackgroundColor, ";\n color: ").concat(props.theme.textFontColor, "; \n }\n &:disabled{\n background-color: ").concat(props.theme.textBackgroundColor, ";\n opacity: ").concat(props.theme.disabledOpacity, ";\n color: ").concat(props.theme.textFontColor, ";\n cursor:not-allowed;\n }\n ");
215
+ return "\n border-radius: ".concat(props.theme.textBorderRadius, ";\n border-width: ").concat(props.theme.textBorderThickness, ";\n border-style: ").concat(props.theme.textBorderStyle, ";\n font-family: ").concat(props.theme.textFontFamily, ";\n font-size: ").concat(props.theme.textFontSize, ";\n font-weight: ").concat(props.theme.textFontWeight, ";\n background-color: ").concat(backgroundType === "dark" ? props.theme.textBackgroundColorOnDark : props.theme.textBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.textFontColorOnDark : props.theme.textFontColor, " !important;\n\n &:hover {\n background-color: ").concat(backgroundType === "dark" ? props.theme.textHoverBackgroundColorOnDark : props.theme.textHoverBackgroundColor, ";\n }\n &:active {\n background-color: ").concat(backgroundType === "dark" ? props.theme.textActiveBackgroundColorOnDark : props.theme.textActiveBackgroundColor, " !important;\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor, ";\n }\n &:disabled {\n cursor:not-allowed;\n color: ").concat(backgroundType === "dark" ? props.theme.textDisabledFontColorOnDark : props.theme.textDisabledFontColor, " !important;\n background-color: ").concat(backgroundType === "dark" ? props.theme.textDisabledBackgroundColorOnDark : props.theme.textDisabledBackgroundColor, ";\n }\n ");
161
216
  }
162
217
  });
163
218
 
@@ -172,10 +227,12 @@ DxcButton.propTypes = {
172
227
  label: _propTypes["default"].string,
173
228
  mode: _propTypes["default"].oneOf(["primary", "secondary", "text"]),
174
229
  disabled: _propTypes["default"].bool,
175
- theme: _propTypes["default"].oneOf(["dark", "light"]),
176
230
  iconPosition: _propTypes["default"].oneOf(["after", "before"]),
177
231
  onClick: _propTypes["default"].func,
178
- iconSrc: _propTypes["default"].string
232
+ iconSrc: _propTypes["default"].string,
233
+ icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
234
+ type: _propTypes["default"].oneOf(["button", "reset", "submit"]),
235
+ tabIndex: _propTypes["default"].number
179
236
  };
180
237
  var _default = DxcButton;
181
238
  exports["default"] = _default;