@dxc-technology/halstack-react 0.0.0-cfb6e92 → 0.0.0-d004266

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 (192) hide show
  1. package/README.md +27 -47
  2. package/dist/index.d.mts +6549 -0
  3. package/dist/index.d.ts +6549 -0
  4. package/dist/index.js +14545 -0
  5. package/dist/index.mjs +14487 -0
  6. package/package.json +76 -66
  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 -346
  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 -388
  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 -164
  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 -269
  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 -1159
  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 -235
  52. package/dist/dialog/Dialog.stories.js +0 -217
  53. package/dist/dialog/readme.md +0 -32
  54. package/dist/dropdown/Dropdown.js +0 -493
  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 -405
  62. package/dist/footer/Footer.stories.js +0 -94
  63. package/dist/footer/dxc_logo_wht.png +0 -0
  64. package/dist/footer/readme.md +0 -41
  65. package/dist/header/Header.js +0 -431
  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 -222
  73. package/dist/input-text/InputText.js +0 -672
  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 -311
  84. package/dist/paginator/Paginator.js +0 -283
  85. package/dist/paginator/images/next.svg +0 -3
  86. package/dist/paginator/images/nextPage.svg +0 -3
  87. package/dist/paginator/images/previous.svg +0 -3
  88. package/dist/paginator/images/previousPage.svg +0 -3
  89. package/dist/paginator/readme.md +0 -50
  90. package/dist/progress-bar/ProgressBar.js +0 -206
  91. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  92. package/dist/progress-bar/readme.md +0 -63
  93. package/dist/radio/Radio.js +0 -209
  94. package/dist/radio/Radio.stories.js +0 -166
  95. package/dist/radio/readme.md +0 -70
  96. package/dist/resultsetTable/ResultsetTable.js +0 -358
  97. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  98. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  99. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  100. package/dist/select/Select.js +0 -563
  101. package/dist/select/Select.stories.js +0 -235
  102. package/dist/select/readme.md +0 -72
  103. package/dist/sidenav/Sidenav.js +0 -183
  104. package/dist/slider/Slider.js +0 -315
  105. package/dist/slider/Slider.stories.js +0 -241
  106. package/dist/slider/readme.md +0 -64
  107. package/dist/spinner/Spinner.js +0 -214
  108. package/dist/spinner/Spinner.stories.js +0 -183
  109. package/dist/spinner/readme.md +0 -65
  110. package/dist/switch/Switch.js +0 -222
  111. package/dist/switch/Switch.stories.js +0 -134
  112. package/dist/switch/readme.md +0 -133
  113. package/dist/table/Table.js +0 -128
  114. package/dist/tabs/Tabs.js +0 -343
  115. package/dist/tabs/Tabs.stories.js +0 -130
  116. package/dist/tabs/readme.md +0 -78
  117. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  118. package/dist/tabs-for-sections/readme.md +0 -78
  119. package/dist/tag/Tag.js +0 -280
  120. package/dist/textarea/Textarea.js +0 -260
  121. package/dist/toggle/Toggle.js +0 -220
  122. package/dist/toggle/Toggle.stories.js +0 -297
  123. package/dist/toggle/readme.md +0 -80
  124. package/dist/toggle-group/ToggleGroup.js +0 -241
  125. package/dist/toggle-group/readme.md +0 -82
  126. package/dist/upload/Upload.js +0 -205
  127. package/dist/upload/Upload.stories.js +0 -72
  128. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
  129. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  130. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  131. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -325
  132. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  133. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  134. package/dist/upload/file-upload/FileToUpload.js +0 -184
  135. package/dist/upload/file-upload/audio-icon.svg +0 -4
  136. package/dist/upload/file-upload/close.svg +0 -4
  137. package/dist/upload/file-upload/file-icon.svg +0 -4
  138. package/dist/upload/file-upload/video-icon.svg +0 -4
  139. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  140. package/dist/upload/readme.md +0 -37
  141. package/dist/upload/transaction/Transaction.js +0 -171
  142. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  143. package/dist/upload/transaction/audio-icon.svg +0 -4
  144. package/dist/upload/transaction/error-icon.svg +0 -4
  145. package/dist/upload/transaction/file-icon-err.svg +0 -4
  146. package/dist/upload/transaction/file-icon.svg +0 -4
  147. package/dist/upload/transaction/image-icon-err.svg +0 -4
  148. package/dist/upload/transaction/image-icon.svg +0 -4
  149. package/dist/upload/transaction/success-icon.svg +0 -4
  150. package/dist/upload/transaction/video-icon-err.svg +0 -4
  151. package/dist/upload/transaction/video-icon.svg +0 -4
  152. package/dist/upload/transactions/Transactions.js +0 -138
  153. package/dist/useTheme.js +0 -22
  154. package/dist/wizard/Wizard.js +0 -411
  155. package/dist/wizard/invalid_icon.svg +0 -5
  156. package/dist/wizard/valid_icon.svg +0 -5
  157. package/dist/wizard/validation-wrong.svg +0 -6
  158. package/test/Accordion.test.js +0 -33
  159. package/test/AccordionGroup.test.js +0 -125
  160. package/test/Alert.test.js +0 -53
  161. package/test/Box.test.js +0 -10
  162. package/test/Button.test.js +0 -18
  163. package/test/Card.test.js +0 -30
  164. package/test/Checkbox.test.js +0 -45
  165. package/test/Chip.test.js +0 -25
  166. package/test/Date.test.js +0 -393
  167. package/test/Dialog.test.js +0 -23
  168. package/test/Dropdown.test.js +0 -130
  169. package/test/Footer.test.js +0 -99
  170. package/test/Header.test.js +0 -39
  171. package/test/Heading.test.js +0 -35
  172. package/test/InputText.test.js +0 -240
  173. package/test/Link.test.js +0 -43
  174. package/test/Paginator.test.js +0 -177
  175. package/test/ProgressBar.test.js +0 -35
  176. package/test/Radio.test.js +0 -37
  177. package/test/ResultsetTable.test.js +0 -330
  178. package/test/Select.test.js +0 -192
  179. package/test/Sidenav.test.js +0 -45
  180. package/test/Slider.test.js +0 -82
  181. package/test/Spinner.test.js +0 -27
  182. package/test/Switch.test.js +0 -45
  183. package/test/Table.test.js +0 -36
  184. package/test/Tabs.test.js +0 -109
  185. package/test/TabsForSections.test.js +0 -34
  186. package/test/Tag.test.js +0 -32
  187. package/test/TextArea.test.js +0 -52
  188. package/test/ToggleGroup.test.js +0 -81
  189. package/test/Upload.test.js +0 -60
  190. package/test/Wizard.test.js +0 -130
  191. package/test/mocks/pngMock.js +0 -1
  192. package/test/mocks/svgMock.js +0 -1
@@ -1,63 +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 _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 DELETED
@@ -1,164 +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 _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
-
16
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
-
18
- var _react = _interopRequireDefault(require("react"));
19
-
20
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
-
22
- var _propTypes = _interopRequireDefault(require("prop-types"));
23
-
24
- var _variables = require("../common/variables.js");
25
-
26
- var _utils = require("../common/utils.js");
27
-
28
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
29
-
30
- var _BackgroundColorContext = require("../BackgroundColorContext.js");
31
-
32
- function _templateObject() {
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 font-size: ", ";\n font-family: ", ";\n font-weight: ", ";\n color: ", ";\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
-
35
- _templateObject = function _templateObject() {
36
- return data;
37
- };
38
-
39
- return data;
40
- }
41
-
42
- var DxcBox = function DxcBox(_ref) {
43
- var shadowDepth = _ref.shadowDepth,
44
- margin = _ref.margin,
45
- padding = _ref.padding,
46
- _ref$display = _ref.display,
47
- display = _ref$display === void 0 ? "inline-flex" : _ref$display,
48
- children = _ref.children,
49
- _ref$size = _ref.size,
50
- size = _ref$size === void 0 ? "fitContent" : _ref$size;
51
- var colorsTheme = (0, _useTheme["default"])();
52
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
53
- theme: colorsTheme.box
54
- }, _react["default"].createElement(StyledDxcBox, {
55
- shadowDepth: shadowDepth,
56
- display: display,
57
- margin: margin,
58
- padding: padding,
59
- size: size
60
- }, _react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
61
- color: colorsTheme.box.backgroundColor
62
- }, children)));
63
- };
64
-
65
- var sizes = {
66
- small: "48px",
67
- medium: "240px",
68
- large: "480px",
69
- fillParent: "100%",
70
- fitContent: "unset"
71
- };
72
-
73
- var calculateWidth = function calculateWidth(margin, size, padding) {
74
- if (size === "fillParent") {
75
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), " -\n ").concat((0, _utils.getMargin)(padding, "left"), " - ").concat((0, _utils.getMargin)(padding, "right"), ")");
76
- }
77
-
78
- return sizes[size];
79
- };
80
-
81
- var StyledDxcBox = _styledComponents["default"].div(_templateObject(), function (_ref2) {
82
- var display = _ref2.display;
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;
94
- }, function (props) {
95
- return props.theme.fontSize;
96
- }, function (props) {
97
- return props.theme.fontFamily;
98
- }, function (props) {
99
- return props.theme.fontWeight;
100
- }, function (props) {
101
- return props.theme.fontColor;
102
- }, function (props) {
103
- return calculateWidth(props.margin, props.size, props.padding);
104
- }, function (props) {
105
- return props.theme.backgroundColor;
106
- }, function (props) {
107
- 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);
108
- }, function (_ref3) {
109
- var margin = _ref3.margin;
110
- return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
111
- }, function (_ref4) {
112
- var margin = _ref4.margin;
113
- return margin && margin.top ? _variables.spaces[margin.top] : "";
114
- }, function (_ref5) {
115
- var margin = _ref5.margin;
116
- return margin && margin.right ? _variables.spaces[margin.right] : "";
117
- }, function (_ref6) {
118
- var margin = _ref6.margin;
119
- return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
120
- }, function (_ref7) {
121
- var margin = _ref7.margin;
122
- return margin && margin.left ? _variables.spaces[margin.left] : "";
123
- }, function (_ref8) {
124
- var padding = _ref8.padding;
125
- return padding && (0, _typeof2["default"])(padding) !== "object" ? _variables.spaces[padding] : "0px";
126
- }, function (_ref9) {
127
- var padding = _ref9.padding;
128
- return padding && padding.top ? _variables.spaces[padding.top] : "";
129
- }, function (_ref10) {
130
- var padding = _ref10.padding;
131
- return padding && padding.right ? _variables.spaces[padding.right] : "";
132
- }, function (_ref11) {
133
- var padding = _ref11.padding;
134
- return padding && padding.bottom ? _variables.spaces[padding.bottom] : "";
135
- }, function (_ref12) {
136
- var padding = _ref12.padding;
137
- return padding && padding.left ? _variables.spaces[padding.left] : "";
138
- });
139
-
140
- DxcBox.propTypes = {
141
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
142
- display: _propTypes["default"].string,
143
- shadowDepth: _propTypes["default"].oneOf([0, 1, 2]),
144
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
145
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
146
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
147
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
148
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
149
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
150
- padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
151
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
152
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
153
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
154
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
155
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
156
- };
157
- DxcBox.defaultProps = {
158
- shadowDepth: 2,
159
- display: "inline-flex",
160
- margin: null,
161
- padding: null
162
- };
163
- var _default = DxcBox;
164
- exports["default"] = _default;
@@ -1,232 +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 _react = _interopRequireWildcard(require("react"));
19
-
20
- var _core = require("@material-ui/core");
21
-
22
- var _propTypes = _interopRequireDefault(require("prop-types"));
23
-
24
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
25
-
26
- var _variables = require("../common/variables.js");
27
-
28
- var _utils = require("../common/utils.js");
29
-
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 .MuiButton-label {\n display: flex;\n flex-direction: ", ";\n align-items: center;\n }\n letter-spacing: ", ";\n\n box-shadow: none;\n font-size: ", ";\n font-weight: ", ";\n min-width: ", ";\n\n width: 100%;\n height: ", ";\n font-family: ", ";\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"]);
36
-
37
- _templateObject4 = function _templateObject4() {
38
- return data;
39
- };
40
-
41
- return data;
42
- }
43
-
44
- function _templateObject3() {
45
- var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n max-width: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"]);
46
-
47
- _templateObject3 = function _templateObject3() {
48
- return data;
49
- };
50
-
51
- return data;
52
- }
53
-
54
- function _templateObject2() {
55
- var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n max-width: ", ";\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
56
-
57
- _templateObject2 = function _templateObject2() {
58
- return data;
59
- };
60
-
61
- return data;
62
- }
63
-
64
- function _templateObject() {
65
- var data = (0, _taggedTemplateLiteral2["default"])(["\n line-height: ", ";\n font-size: ", ";\n text-overflow: ellipsis;\n overflow: hidden;\n text-transform: none;\n"]);
66
-
67
- _templateObject = function _templateObject() {
68
- return data;
69
- };
70
-
71
- return data;
72
- }
73
-
74
- var DxcButton = function DxcButton(_ref) {
75
- var _ref$label = _ref.label,
76
- label = _ref$label === void 0 ? "" : _ref$label,
77
- _ref$mode = _ref.mode,
78
- mode = _ref$mode === void 0 ? "primary" : _ref$mode,
79
- _ref$disabled = _ref.disabled,
80
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
81
- _ref$iconPosition = _ref.iconPosition,
82
- iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
83
- _ref$type = _ref.type,
84
- type = _ref$type === void 0 ? "button" : _ref$type,
85
- _ref$iconSrc = _ref.iconSrc,
86
- iconSrc = _ref$iconSrc === void 0 ? "" : _ref$iconSrc,
87
- icon = _ref.icon,
88
- _ref$onClick = _ref.onClick,
89
- _onClick = _ref$onClick === void 0 ? "" : _ref$onClick,
90
- margin = _ref.margin,
91
- size = _ref.size,
92
- _ref$tabIndex = _ref.tabIndex,
93
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
94
-
95
- var colorsTheme = (0, _useTheme["default"])();
96
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
97
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
98
- theme: colorsTheme.button
99
- }, _react["default"].createElement(DxCButton, {
100
- type: type,
101
- margin: margin,
102
- mode: mode !== "primary" && mode !== "secondary" && mode !== "text" ? "primary" : mode,
103
- disabled: disabled,
104
- iconPosition: iconPosition,
105
- size: size,
106
- backgroundType: backgroundType
107
- }, _react["default"].createElement(_core.Button, {
108
- disabled: disabled,
109
- type: type,
110
- disableRipple: true,
111
- "aria-disabled": disabled ? true : false,
112
- tabIndex: disabled ? -1 : tabIndex,
113
- onClick: function onClick() {
114
- if (_onClick) {
115
- _onClick();
116
- }
117
- }
118
- }, _react["default"].createElement(LabelContainer, null, label), icon ? _react["default"].createElement(IconContainer, {
119
- label: label,
120
- iconPosition: iconPosition
121
- }, (0, _typeof2["default"])(icon) === "object" ? icon : _react["default"].createElement(icon)) : iconSrc && _react["default"].createElement(ButtonIcon, {
122
- label: label,
123
- iconPosition: iconPosition,
124
- src: iconSrc
125
- }))));
126
- };
127
-
128
- var sizes = {
129
- small: "42px",
130
- medium: "120px",
131
- large: "240px",
132
- fillParent: "100%",
133
- fitContent: "unset"
134
- };
135
-
136
- var calculateWidth = function calculateWidth(margin, size) {
137
- if (size === "fillParent") {
138
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
139
- }
140
-
141
- return sizes[size];
142
- };
143
-
144
- var LabelContainer = _styledComponents["default"].span(_templateObject(), function (props) {
145
- return props.theme.labelFontLineHeight;
146
- }, function (props) {
147
- return props.theme.fontSize;
148
- });
149
-
150
- var IconContainer = _styledComponents["default"].div(_templateObject2(), function (props) {
151
- return props.theme.iconSize;
152
- }, function (props) {
153
- return props.theme.iconSize;
154
- }, function (props) {
155
- return props.iconPosition === "after" && props.label !== "" && "8px" || "0px";
156
- }, function (props) {
157
- return props.iconPosition === "before" && props.label !== "" && "8px" || "0px";
158
- });
159
-
160
- var ButtonIcon = _styledComponents["default"].img(_templateObject3(), function (props) {
161
- return props.theme.iconSize;
162
- }, function (props) {
163
- return props.theme.iconSize;
164
- }, function (props) {
165
- return props.iconPosition === "after" && props.label !== "" && "10px" || "0px";
166
- }, function (props) {
167
- return props.iconPosition === "before" && props.label !== "" && "10px" || "0px";
168
- });
169
-
170
- var DxCButton = _styledComponents["default"].div(_templateObject4(), function (props) {
171
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
172
- }, function (props) {
173
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
174
- }, function (props) {
175
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
176
- }, function (props) {
177
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
178
- }, function (props) {
179
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
180
- }, function (props) {
181
- return calculateWidth(props.margin, props.size);
182
- }, function (props) {
183
- return props.disabled && "not-allowed" || "pointer";
184
- }, function (props) {
185
- return props.iconPosition === "after" && "row" || "row-reverse";
186
- }, function (props) {
187
- return props.theme.labelLetterSpacing;
188
- }, function (props) {
189
- return props.theme.fontSize;
190
- }, function (props) {
191
- return props.theme.fontWeight;
192
- }, function (props) {
193
- return props.size === "small" && "calc(100% - 22px)" || "unset";
194
- }, function (props) {
195
- return props.theme.height;
196
- }, function (props) {
197
- return props.theme.fontFamily;
198
- }, function (props) {
199
- return props.theme.focusColor;
200
- }, function (props) {
201
- var mode = props.mode,
202
- backgroundType = props.backgroundType;
203
-
204
- if (mode === "primary") {
205
- return "\n border-radius: ".concat(props.theme.primaryBorderRadius, ";\n border-width: ").concat(props.theme.primaryBorderThickness, ";\n border-style: ").concat(props.theme.primaryBorderStyle, ";\n border-color: ").concat(backgroundType === "dark" ? props.theme.primaryBorderColorOnDark : props.theme.primaryBorderColor, ";\n font-family: ").concat(props.theme.primaryFontFamily, ";\n font-size: ").concat(props.theme.primaryFontSize, ";\n font-weight: ").concat(props.theme.primaryFontWeight, ";\n\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 padding-right:").concat(props.size === "small" && "11px" || "24px", ";\n padding-left:").concat(props.size === "small" && "11px" || "24px", ";\n padding-top:").concat(props.theme.primaryPaddingTop, ";\n padding-bottom:").concat(props.theme.primaryPaddingBottom, ";\n &:hover{\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryHoverBackgroundColorOnDark : props.theme.primaryHoverBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.primaryHoverFontColorOnDark : props.theme.primaryHoverFontColor, " !important; \n }\n &:active {\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryActiveBackgroundColorOnDark : props.theme.primaryActiveBackgroundColor, " !important;\n \n }\n &:focus {\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryBackgroundColorOnDark : props.theme.primaryBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.primaryHoverFontColorOnDark : props.theme.primaryHoverFontColor, " !important;\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 ");
206
- } else if (mode === "secondary") {
207
- 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 padding-right:").concat(props.size === "small" && "9px" || "28px", ";\n padding-left:").concat(props.size === "small" && "9px" || "28px", ";\n padding-top:").concat(props.theme.secondaryPaddingTop, ";\n padding-bottom:").concat(props.theme.secondaryPaddingBottom, ";\n \n color: ").concat(backgroundType === "dark" ? props.theme.secondaryFontColorOnDark : props.theme.secondaryFontColor, " !important;\n \n border-color: ").concat(backgroundType === "dark" ? props.theme.secondaryOutlinedColorOnDark : props.theme.secondaryOutlinedColor, ";\n &:hover{\n border-color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverOutlinedColorOnDark : props.theme.secondaryHoverOutlinedColor, ";\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 }\n &:focus {\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryBackgroundColorOnDark : props.theme.secondaryBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor, " !important; \n }\n &:disabled{\n cursor: not-allowed;\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledFontColorOnDark : props.theme.secondaryDisabledFontColor, " !important;\n border-color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledOutlinedColorOnDark : props.theme.secondaryDisabledOutlinedColor, ";\n }\n .MuiButton-label {\n z-index: 5\n }\n\n ");
208
- } else if (mode === "text") {
209
- return "\n border-radius: ".concat(props.theme.textBorderRadius, ";\n border-width:").concat(props.theme.textBorderThickness, ";\n border-style:").concat(props.theme.textBorderStyle, ";\n border-color:").concat(backgroundType === "dark" ? props.theme.textBorderColorOnDark : props.theme.textBorderColor, ";\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 padding-right:").concat(props.size === "small" && "11px" || "30px", ";\n padding-left:").concat(props.size === "small" && "11px" || "30px", ";\n padding-top:").concat(props.theme.textPaddingTop, ";\n padding-bottom:").concat(props.theme.textPaddingBottom, ";\n\n &:hover{\n background-color: ").concat(backgroundType === "dark" ? props.theme.textHoverBackgroundColorOnDark : props.theme.textHoverBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.textHoverFontColorOnDark : props.theme.textHoverFontColor, " !important;\n }\n &:active {\n background-color: ").concat(backgroundType === "dark" ? props.theme.textActiveBackgroundColorOnDark : props.theme.textActiveBackgroundColor, " !important;\n color: ").concat(backgroundType === "dark" ? props.theme.textHoverFontColorOnDark : props.theme.textHoverFontColor, " !important;\n }\n &:focus {\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 &: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 }\n ");
210
- }
211
- });
212
-
213
- DxcButton.propTypes = {
214
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
215
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
216
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
217
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
218
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
219
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
220
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
221
- label: _propTypes["default"].string,
222
- mode: _propTypes["default"].oneOf(["primary", "secondary", "text"]),
223
- disabled: _propTypes["default"].bool,
224
- iconPosition: _propTypes["default"].oneOf(["after", "before"]),
225
- onClick: _propTypes["default"].func,
226
- iconSrc: _propTypes["default"].string,
227
- icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
228
- type: _propTypes["default"].oneOf(["button", "reset", "submit"]),
229
- tabIndex: _propTypes["default"].number
230
- };
231
- var _default = DxcButton;
232
- exports["default"] = _default;