@dxc-technology/halstack-react 0.0.0-d49942f → 0.0.0-d4d46f6

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 (189) hide show
  1. package/README.md +27 -47
  2. package/dist/index.d.mts +6515 -0
  3. package/dist/index.d.ts +6515 -0
  4. package/dist/index.js +12811 -0
  5. package/dist/index.mjs +12724 -0
  6. package/package.json +77 -60
  7. package/babel.config.js +0 -4
  8. package/dist/ThemeContext.js +0 -15
  9. package/dist/accordion/Accordion.js +0 -248
  10. package/dist/accordion/Accordion.stories.js +0 -207
  11. package/dist/accordion/readme.md +0 -96
  12. package/dist/alert/Alert.js +0 -304
  13. package/dist/alert/Alert.stories.js +0 -158
  14. package/dist/alert/close.svg +0 -4
  15. package/dist/alert/error.svg +0 -4
  16. package/dist/alert/info.svg +0 -4
  17. package/dist/alert/readme.md +0 -43
  18. package/dist/alert/success.svg +0 -4
  19. package/dist/alert/warning.svg +0 -4
  20. package/dist/box/Box.js +0 -148
  21. package/dist/button/Button.js +0 -181
  22. package/dist/button/Button.stories.js +0 -224
  23. package/dist/button/readme.md +0 -93
  24. package/dist/card/Card.js +0 -217
  25. package/dist/checkbox/Checkbox.js +0 -240
  26. package/dist/checkbox/Checkbox.stories.js +0 -144
  27. package/dist/checkbox/readme.md +0 -116
  28. package/dist/chip/Chip.js +0 -173
  29. package/dist/common/OpenSans.css +0 -81
  30. package/dist/common/RequiredComponent.js +0 -46
  31. package/dist/common/fonts/OpenSans-Bold.ttf +0 -0
  32. package/dist/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  33. package/dist/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  34. package/dist/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  35. package/dist/common/fonts/OpenSans-Italic.ttf +0 -0
  36. package/dist/common/fonts/OpenSans-Light.ttf +0 -0
  37. package/dist/common/fonts/OpenSans-LightItalic.ttf +0 -0
  38. package/dist/common/fonts/OpenSans-Regular.ttf +0 -0
  39. package/dist/common/fonts/OpenSans-SemiBold.ttf +0 -0
  40. package/dist/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  41. package/dist/common/services/example-service.js +0 -10
  42. package/dist/common/services/example-service.test.js +0 -12
  43. package/dist/common/utils.js +0 -42
  44. package/dist/common/variables.js +0 -434
  45. package/dist/date/Date.js +0 -356
  46. package/dist/date/Date.stories.js +0 -205
  47. package/dist/date/calendar.svg +0 -1
  48. package/dist/date/calendar_dark.svg +0 -1
  49. package/dist/date/readme.md +0 -73
  50. package/dist/dialog/Dialog.js +0 -197
  51. package/dist/dialog/Dialog.stories.js +0 -217
  52. package/dist/dialog/readme.md +0 -32
  53. package/dist/dropdown/Dropdown.js +0 -416
  54. package/dist/dropdown/Dropdown.stories.js +0 -249
  55. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  56. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  57. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  58. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  59. package/dist/dropdown/readme.md +0 -69
  60. package/dist/footer/Footer.js +0 -346
  61. package/dist/footer/Footer.stories.js +0 -94
  62. package/dist/footer/dxc_logo_wht.png +0 -0
  63. package/dist/footer/readme.md +0 -41
  64. package/dist/header/Header.js +0 -360
  65. package/dist/header/Header.stories.js +0 -176
  66. package/dist/header/close_icon.svg +0 -1
  67. package/dist/header/dxc_logo_black.png +0 -0
  68. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  69. package/dist/header/dxc_logo_white.png +0 -0
  70. package/dist/header/hamb_menu_black.svg +0 -1
  71. package/dist/header/hamb_menu_white.svg +0 -1
  72. package/dist/header/readme.md +0 -33
  73. package/dist/heading/Heading.js +0 -153
  74. package/dist/input-text/InputText.js +0 -519
  75. package/dist/input-text/InputText.stories.js +0 -209
  76. package/dist/input-text/error.svg +0 -1
  77. package/dist/input-text/readme.md +0 -91
  78. package/dist/link/Link.js +0 -136
  79. package/dist/link/readme.md +0 -51
  80. package/dist/main.js +0 -271
  81. package/dist/paginator/Paginator.js +0 -196
  82. package/dist/paginator/images/next.svg +0 -3
  83. package/dist/paginator/images/nextPage.svg +0 -3
  84. package/dist/paginator/images/previous.svg +0 -3
  85. package/dist/paginator/images/previousPage.svg +0 -3
  86. package/dist/paginator/readme.md +0 -50
  87. package/dist/progress-bar/ProgressBar.js +0 -185
  88. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  89. package/dist/progress-bar/readme.md +0 -63
  90. package/dist/radio/Radio.js +0 -195
  91. package/dist/radio/Radio.stories.js +0 -166
  92. package/dist/radio/readme.md +0 -70
  93. package/dist/resultsetTable/ResultsetTable.js +0 -333
  94. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  95. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  96. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  97. package/dist/select/Select.js +0 -451
  98. package/dist/select/Select.stories.js +0 -235
  99. package/dist/select/readme.md +0 -72
  100. package/dist/sidenav/Sidenav.js +0 -222
  101. package/dist/sidenav/arrow_icon.svg +0 -3
  102. package/dist/slider/Slider.js +0 -258
  103. package/dist/slider/Slider.stories.js +0 -241
  104. package/dist/slider/readme.md +0 -64
  105. package/dist/spinner/Spinner.js +0 -193
  106. package/dist/spinner/Spinner.stories.js +0 -183
  107. package/dist/spinner/readme.md +0 -65
  108. package/dist/switch/Switch.js +0 -199
  109. package/dist/switch/Switch.stories.js +0 -134
  110. package/dist/switch/readme.md +0 -133
  111. package/dist/table/Table.js +0 -93
  112. package/dist/tabs/Tabs.js +0 -172
  113. package/dist/tabs/Tabs.stories.js +0 -130
  114. package/dist/tabs/readme.md +0 -78
  115. package/dist/tabs-for-sections/TabsForSections.js +0 -107
  116. package/dist/tabs-for-sections/readme.md +0 -78
  117. package/dist/tag/Tag.js +0 -217
  118. package/dist/textarea/Textarea.js +0 -227
  119. package/dist/toggle/Toggle.js +0 -223
  120. package/dist/toggle/Toggle.stories.js +0 -297
  121. package/dist/toggle/readme.md +0 -80
  122. package/dist/toggle-group/ToggleGroup.js +0 -214
  123. package/dist/toggle-group/readme.md +0 -82
  124. package/dist/upload/Upload.js +0 -200
  125. package/dist/upload/Upload.stories.js +0 -72
  126. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -122
  127. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  128. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  129. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -279
  130. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  131. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  132. package/dist/upload/file-upload/FileToUpload.js +0 -158
  133. package/dist/upload/file-upload/audio-icon.svg +0 -4
  134. package/dist/upload/file-upload/close.svg +0 -4
  135. package/dist/upload/file-upload/file-icon.svg +0 -4
  136. package/dist/upload/file-upload/video-icon.svg +0 -4
  137. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  138. package/dist/upload/readme.md +0 -37
  139. package/dist/upload/transaction/Transaction.js +0 -155
  140. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  141. package/dist/upload/transaction/audio-icon.svg +0 -4
  142. package/dist/upload/transaction/error-icon.svg +0 -4
  143. package/dist/upload/transaction/file-icon-err.svg +0 -4
  144. package/dist/upload/transaction/file-icon.svg +0 -4
  145. package/dist/upload/transaction/image-icon-err.svg +0 -4
  146. package/dist/upload/transaction/image-icon.svg +0 -4
  147. package/dist/upload/transaction/success-icon.svg +0 -4
  148. package/dist/upload/transaction/video-icon-err.svg +0 -4
  149. package/dist/upload/transaction/video-icon.svg +0 -4
  150. package/dist/upload/transactions/Transactions.js +0 -120
  151. package/dist/wizard/Wizard.js +0 -327
  152. package/dist/wizard/invalid_icon.svg +0 -6
  153. package/dist/wizard/valid_icon.svg +0 -6
  154. package/dist/wizard/validation-wrong.svg +0 -6
  155. package/test/Accordion.test.js +0 -33
  156. package/test/Alert.test.js +0 -53
  157. package/test/Box.test.js +0 -10
  158. package/test/Button.test.js +0 -18
  159. package/test/Card.test.js +0 -30
  160. package/test/Checkbox.test.js +0 -45
  161. package/test/Chip.test.js +0 -25
  162. package/test/Date.test.js +0 -393
  163. package/test/Dialog.test.js +0 -23
  164. package/test/Dropdown.test.js +0 -130
  165. package/test/Footer.test.js +0 -99
  166. package/test/Header.test.js +0 -39
  167. package/test/Heading.test.js +0 -35
  168. package/test/InputText.test.js +0 -236
  169. package/test/Link.test.js +0 -25
  170. package/test/Paginator.test.js +0 -165
  171. package/test/ProgressBar.test.js +0 -35
  172. package/test/Radio.test.js +0 -37
  173. package/test/ResultsetTable.test.js +0 -282
  174. package/test/Select.test.js +0 -191
  175. package/test/Sidenav.test.js +0 -87
  176. package/test/Slider.test.js +0 -65
  177. package/test/Spinner.test.js +0 -27
  178. package/test/Switch.test.js +0 -45
  179. package/test/Table.test.js +0 -36
  180. package/test/Tabs.test.js +0 -88
  181. package/test/TabsForSections.test.js +0 -34
  182. package/test/Tag.test.js +0 -32
  183. package/test/TextArea.test.js +0 -52
  184. package/test/Toggle.test.js +0 -43
  185. package/test/ToggleGroup.test.js +0 -81
  186. package/test/Upload.test.js +0 -60
  187. package/test/Wizard.test.js +0 -130
  188. package/test/mocks/pngMock.js +0 -1
  189. package/test/mocks/svgMock.js +0 -1
package/dist/box/Box.js DELETED
@@ -1,148 +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 = _interopRequireWildcard(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 _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
29
-
30
- require("../common/OpenSans.css");
31
-
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"]);
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 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]);
55
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
56
- theme: colorsTheme.box
57
- }, _react["default"].createElement(StyledDxcBox, {
58
- shadowDepth: shadowDepth,
59
- display: display,
60
- margin: margin,
61
- padding: padding,
62
- size: size
63
- }, children));
64
- };
65
-
66
- var sizes = {
67
- small: "48px",
68
- medium: "240px",
69
- large: "480px",
70
- fillParent: "100%",
71
- fitContent: "unset"
72
- };
73
-
74
- var calculateWidth = function calculateWidth(margin, size, padding) {
75
- if (size === "fillParent") {
76
- 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"), ")");
77
- }
78
-
79
- return sizes[size];
80
- };
81
-
82
- var StyledDxcBox = _styledComponents["default"].div(_templateObject(), function (_ref2) {
83
- var display = _ref2.display;
84
- return display;
85
- }, function (props) {
86
- return calculateWidth(props.margin, props.size, props.padding);
87
- }, function (props) {
88
- return props.theme.backgroundColor;
89
- }, 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";
92
- }, function (_ref4) {
93
- var margin = _ref4.margin;
94
- return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
95
- }, function (_ref5) {
96
- var margin = _ref5.margin;
97
- return margin && margin.top ? _variables.spaces[margin.top] : "";
98
- }, function (_ref6) {
99
- var margin = _ref6.margin;
100
- return margin && margin.right ? _variables.spaces[margin.right] : "";
101
- }, function (_ref7) {
102
- var margin = _ref7.margin;
103
- return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
104
- }, function (_ref8) {
105
- var margin = _ref8.margin;
106
- return margin && margin.left ? _variables.spaces[margin.left] : "";
107
- }, function (_ref9) {
108
- var padding = _ref9.padding;
109
- return padding && (0, _typeof2["default"])(padding) !== "object" ? _variables.spaces[padding] : "0px";
110
- }, function (_ref10) {
111
- var padding = _ref10.padding;
112
- return padding && padding.top ? _variables.spaces[padding.top] : "";
113
- }, function (_ref11) {
114
- var padding = _ref11.padding;
115
- return padding && padding.right ? _variables.spaces[padding.right] : "";
116
- }, function (_ref12) {
117
- var padding = _ref12.padding;
118
- return padding && padding.bottom ? _variables.spaces[padding.bottom] : "";
119
- }, function (_ref13) {
120
- var padding = _ref13.padding;
121
- return padding && padding.left ? _variables.spaces[padding.left] : "";
122
- });
123
-
124
- DxcBox.propTypes = {
125
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
126
- display: _propTypes["default"].string,
127
- shadowDepth: _propTypes["default"].oneOf([0, 1, 2]),
128
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
129
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
130
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
131
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
132
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
133
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
134
- padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
135
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
136
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
137
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
138
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
139
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
140
- };
141
- DxcBox.defaultProps = {
142
- shadowDepth: 2,
143
- display: "inline-flex",
144
- margin: null,
145
- padding: null
146
- };
147
- var _default = DxcBox;
148
- exports["default"] = _default;
@@ -1,181 +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 = _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
- require("../common/OpenSans.css");
27
-
28
- var _variables = require("../common/variables.js");
29
-
30
- var _utils = require("../common/utils.js");
31
-
32
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
33
-
34
- 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"]);
36
-
37
- _templateObject3 = function _templateObject3() {
38
- return data;
39
- };
40
-
41
- return data;
42
- }
43
-
44
- function _templateObject2() {
45
- var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 20px;\n max-width: 20px;\n margin-left: ", ";\n margin-right: ", ";\n"]);
46
-
47
- _templateObject2 = function _templateObject2() {
48
- return data;
49
- };
50
-
51
- return data;
52
- }
53
-
54
- function _templateObject() {
55
- var data = (0, _taggedTemplateLiteral2["default"])(["\n line-height: 18px;\n font-size: 14px;\n text-overflow: ellipsis;\n overflow: hidden;\n"]);
56
-
57
- _templateObject = function _templateObject() {
58
- return data;
59
- };
60
-
61
- return data;
62
- }
63
-
64
- var DxcButton = function DxcButton(_ref) {
65
- var _ref$label = _ref.label,
66
- label = _ref$label === void 0 ? "" : _ref$label,
67
- _ref$mode = _ref.mode,
68
- mode = _ref$mode === void 0 ? "primary" : _ref$mode,
69
- _ref$disabled = _ref.disabled,
70
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
71
- _ref$iconPosition = _ref.iconPosition,
72
- iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
73
- _ref$iconSrc = _ref.iconSrc,
74
- iconSrc = _ref$iconSrc === void 0 ? "" : _ref$iconSrc,
75
- _ref$onClick = _ref.onClick,
76
- _onClick = _ref$onClick === void 0 ? "" : _ref$onClick,
77
- margin = _ref.margin,
78
- size = _ref.size;
79
-
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]);
84
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
85
- theme: colorsTheme.button
86
- }, _react["default"].createElement(DxCButton, {
87
- margin: margin,
88
- mode: mode,
89
- disabled: disabled,
90
- iconPosition: iconPosition,
91
- size: size
92
- }, _react["default"].createElement(_core.Button, {
93
- disabled: disabled,
94
- disableRipple: true,
95
- "aria-disabled": disabled ? true : false,
96
- onClick: function onClick() {
97
- if (_onClick) {
98
- _onClick();
99
- }
100
- }
101
- }, _react["default"].createElement(LabelContainer, null, label), iconSrc && _react["default"].createElement(ButtonIcon, {
102
- label: label,
103
- iconPosition: iconPosition,
104
- src: iconSrc
105
- }))));
106
- };
107
-
108
- var sizes = {
109
- small: "42px",
110
- medium: "120px",
111
- large: "240px",
112
- fillParent: "100%",
113
- fitContent: "unset"
114
- };
115
-
116
- var calculateWidth = function calculateWidth(margin, size) {
117
- if (size === "fillParent") {
118
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
119
- }
120
-
121
- return sizes[size];
122
- };
123
-
124
- var LabelContainer = _styledComponents["default"].span(_templateObject());
125
-
126
- var ButtonIcon = _styledComponents["default"].img(_templateObject2(), function (props) {
127
- return props.iconPosition === "after" && props.label !== "" && "10px" || "0px";
128
- }, function (props) {
129
- return props.iconPosition === "before" && props.label !== "" && "10px" || "0px";
130
- });
131
-
132
- var DxCButton = _styledComponents["default"].div(_templateObject3(), function (props) {
133
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
134
- }, function (props) {
135
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
136
- }, function (props) {
137
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
138
- }, function (props) {
139
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
140
- }, function (props) {
141
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
142
- }, function (props) {
143
- return calculateWidth(props.margin, props.size);
144
- }, function (props) {
145
- return props.disabled && "not-allowed" || "pointer";
146
- }, function (props) {
147
- return props.iconPosition === "after" && "row" || "row-reverse";
148
- }, function (props) {
149
- return props.size === "small" && "calc(100% - 22px)" || "unset";
150
- }, function (props) {
151
- return props.theme.focusColor;
152
- }, function (props) {
153
- var mode = props.mode;
154
-
155
- 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.hoverColor, ";\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 ");
157
- } 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 ");
159
- } 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.hoverColor, ";\n color: ").concat(props.theme.textHoverFontColor, "; \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 ");
161
- }
162
- });
163
-
164
- DxcButton.propTypes = {
165
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
166
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
167
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
168
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
169
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
170
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
171
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
172
- label: _propTypes["default"].string,
173
- mode: _propTypes["default"].oneOf(["primary", "secondary", "text"]),
174
- disabled: _propTypes["default"].bool,
175
- theme: _propTypes["default"].oneOf(["dark", "light"]),
176
- iconPosition: _propTypes["default"].oneOf(["after", "before"]),
177
- onClick: _propTypes["default"].func,
178
- iconSrc: _propTypes["default"].string
179
- };
180
- var _default = DxcButton;
181
- exports["default"] = _default;
@@ -1,224 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
6
-
7
- var _react = _interopRequireDefault(require("react"));
8
-
9
- var _react2 = require("@storybook/react");
10
-
11
- var _addonActions = require("@storybook/addon-actions");
12
-
13
- var _addonKnobs = require("@storybook/addon-knobs");
14
-
15
- var _run_icon_black = _interopRequireDefault(require("../../.storybook/public/run_icon_black.png"));
16
-
17
- var _readme = _interopRequireDefault(require("./readme.md"));
18
-
19
- var _Button = _interopRequireDefault(require("./Button"));
20
-
21
- var onClick = (0, _addonActions.action)("onClick");
22
-
23
- onClick.toString = function () {
24
- return "onClickHandler";
25
- };
26
-
27
- (0, _react2.storiesOf)("Form Components|Button", module).add("Types", function () {
28
- return _react["default"].createElement("div", null, _react["default"].createElement("h3", null, "Light"), _react["default"].createElement("div", null, _react["default"].createElement(_Button["default"], {
29
- mode: "basic",
30
- theme: "light",
31
- label: "Basic Button",
32
- onClick: onClick
33
- }), _react["default"].createElement(_Button["default"], {
34
- mode: "raised",
35
- theme: "light",
36
- label: "Raised Button",
37
- onClick: onClick
38
- }), _react["default"].createElement(_Button["default"], {
39
- mode: "flat",
40
- theme: "light",
41
- label: "Flat Button",
42
- onClick: onClick
43
- }), _react["default"].createElement(_Button["default"], {
44
- mode: "outlined",
45
- theme: "light",
46
- label: "Outlined Button",
47
- onClick: onClick
48
- })), _react["default"].createElement("div", null, _react["default"].createElement(_Button["default"], {
49
- disabled: true,
50
- mode: "basic",
51
- theme: "light",
52
- label: "Basic Button",
53
- onClick: onClick
54
- }), _react["default"].createElement(_Button["default"], {
55
- disabled: true,
56
- mode: "raised",
57
- theme: "light",
58
- label: "Raised Button",
59
- onClick: onClick
60
- }), _react["default"].createElement(_Button["default"], {
61
- disabled: true,
62
- mode: "flat",
63
- theme: "light",
64
- label: "Flat Button",
65
- onClick: onClick
66
- }), _react["default"].createElement(_Button["default"], {
67
- disabled: true,
68
- mode: "outlined",
69
- theme: "light",
70
- label: "Outlined Button",
71
- onClick: onClick
72
- })), _react["default"].createElement("h3", null, "Dark"), _react["default"].createElement("div", {
73
- style: {
74
- background: "black"
75
- }
76
- }, _react["default"].createElement("div", null, _react["default"].createElement(_Button["default"], {
77
- mode: "basic",
78
- theme: "dark",
79
- label: "Basic Button",
80
- onClick: onClick
81
- }), _react["default"].createElement(_Button["default"], {
82
- mode: "raised",
83
- theme: "dark",
84
- label: "Raised Button",
85
- onClick: onClick
86
- }), _react["default"].createElement(_Button["default"], {
87
- mode: "flat",
88
- theme: "dark",
89
- label: "Flat Button",
90
- onClick: onClick
91
- }), _react["default"].createElement(_Button["default"], {
92
- mode: "outlined",
93
- theme: "dark",
94
- label: "Outlined Button",
95
- onClick: onClick
96
- })), _react["default"].createElement("div", null, _react["default"].createElement(_Button["default"], {
97
- disabled: true,
98
- mode: "basic",
99
- theme: "dark",
100
- label: "Basic Button",
101
- onClick: onClick
102
- }), _react["default"].createElement(_Button["default"], {
103
- disabled: true,
104
- mode: "raised",
105
- theme: "dark",
106
- label: "Raised Button",
107
- onClick: onClick
108
- }), _react["default"].createElement(_Button["default"], {
109
- disabled: true,
110
- mode: "flat",
111
- theme: "dark",
112
- label: "Flat Button",
113
- onClick: onClick
114
- }), _react["default"].createElement(_Button["default"], {
115
- disabled: true,
116
- mode: "outlined",
117
- theme: "dark",
118
- label: "Outlined Button",
119
- onClick: onClick
120
- }))), _react["default"].createElement("h3", null, "With icon"), _react["default"].createElement("div", null, _react["default"].createElement(_Button["default"], {
121
- mode: "basic",
122
- theme: "light",
123
- label: "Basic Button",
124
- onClick: onClick,
125
- iconPosition: "after",
126
- iconSrc: _run_icon_black["default"]
127
- }), _react["default"].createElement(_Button["default"], {
128
- mode: "raised",
129
- theme: "light",
130
- label: "Raised Button",
131
- onClick: onClick,
132
- iconPosition: "after",
133
- iconSrc: _run_icon_black["default"]
134
- }), _react["default"].createElement(_Button["default"], {
135
- mode: "flat",
136
- theme: "light",
137
- label: "Flat Button",
138
- onClick: onClick,
139
- iconSrc: _run_icon_black["default"]
140
- }), _react["default"].createElement(_Button["default"], {
141
- mode: "outlined",
142
- theme: "light",
143
- label: "Outlined Button",
144
- onClick: onClick,
145
- iconPosition: "after",
146
- iconSrc: _run_icon_black["default"]
147
- })), _react["default"].createElement("div", null, _react["default"].createElement(_Button["default"], {
148
- disabled: true,
149
- mode: "basic",
150
- theme: "light",
151
- label: "Basic Button",
152
- onClick: onClick,
153
- iconPosition: "after",
154
- iconSrc: _run_icon_black["default"]
155
- }), _react["default"].createElement(_Button["default"], {
156
- disabled: true,
157
- mode: "raised",
158
- theme: "light",
159
- label: "Raised Button",
160
- onClick: onClick,
161
- iconPosition: "after",
162
- iconSrc: _run_icon_black["default"]
163
- }), _react["default"].createElement(_Button["default"], {
164
- disabled: true,
165
- mode: "flat",
166
- theme: "light",
167
- label: "Flat Button",
168
- onClick: onClick,
169
- iconPosition: "after",
170
- iconSrc: _run_icon_black["default"]
171
- }), _react["default"].createElement(_Button["default"], {
172
- disabled: true,
173
- mode: "outlined",
174
- theme: "light",
175
- label: "Outlined Button",
176
- onClick: onClick,
177
- iconPosition: "after",
178
- iconSrc: _run_icon_black["default"]
179
- })));
180
- }, {
181
- notes: {
182
- markdown: _readme["default"]
183
- }
184
- });
185
-
186
- var knobProps = function knobProps() {
187
- return {
188
- label: (0, _addonKnobs.text)("label", "Test Button"),
189
- mode: (0, _addonKnobs.select)("mode", {
190
- basic: "basic",
191
- raised: "raised",
192
- flat: "flat",
193
- outlined: "outlined"
194
- }, "basic"),
195
- theme: (0, _addonKnobs.select)("theme", {
196
- light: "light",
197
- dark: "dark"
198
- }, "light"),
199
- disabled: (0, _addonKnobs["boolean"])("disabled", false),
200
- iconPosition: (0, _addonKnobs.select)("icon position", {
201
- before: "before",
202
- after: "after"
203
- }, "before"),
204
- icon: (0, _addonKnobs["boolean"])("With Icon", true)
205
- };
206
- };
207
-
208
- (0, _react2.storiesOf)("Form Components|Button", module).add("Knobs example", function () {
209
- var props = knobProps();
210
- return _react["default"].createElement("div", {
211
- style: {
212
- background: props.theme === "dark" && "black" || "transparent"
213
- }
214
- }, props.icon && _react["default"].createElement(_Button["default"], (0, _extends2["default"])({}, props, {
215
- onClick: onClick,
216
- iconSrc: _run_icon_black["default"]
217
- })) || _react["default"].createElement(_Button["default"], (0, _extends2["default"])({}, props, {
218
- onClick: onClick
219
- })));
220
- }, {
221
- notes: {
222
- markdown: _readme["default"]
223
- }
224
- });
@@ -1,93 +0,0 @@
1
- # DXC Button Component
2
-
3
- ## Usage
4
-
5
- ```js
6
- import { DxcButton } from "@dxc-technology/halstack-react";
7
-
8
- <DxcButton onClick={handleClick} label="Test Button" />;
9
- ```
10
-
11
- ## Props
12
-
13
- <table>
14
- <tr style="background-color: grey">
15
- <td>Name</td>
16
- <td>Default</td>
17
- <td>Description</td>
18
- </tr>
19
- <tr>
20
- <td>mode: 'basic' | 'outlined' | 'raised' | 'flat'</td>
21
- <td><code>'basic'</code></td>
22
- <td>Uses on of the available button modes.</td>
23
- </tr>
24
- <tr>
25
- <td>theme: 'light' |'dark'</td>
26
- <td><code>'light'</code></td>
27
- <td>Uses one of the available button modes.</td>
28
- </tr>
29
- <tr>
30
- <td>label: string</td>
31
- <td><code>'basic'</code></td>
32
- <td>Text to be placed next to the button.</td>
33
- </tr>
34
- <tr>
35
- <td>iconSrc: string</td>
36
- <td></td>
37
- <td>URL of the icon that will be placed next to the button label.</td>
38
- </tr>
39
- <tr>
40
- <td>iconPosition: 'before' | 'after'</td>
41
- <td><code>'before'</code></td>
42
- <td>Whether the icon should appear after or before the label.</td>
43
- </tr>
44
- <tr>
45
- <td>disabled: boolean</td>
46
- <td><code>false</code></td>
47
- <td>If true, the component will be disabled.</td>
48
- </tr>
49
- <tr>
50
- <td>disableRipple: boolean</td>
51
- <td><code>false</code></td>
52
- <td>If true, the ripple effect will be disabled.</td>
53
- </tr>
54
- <tr>
55
- <td>onClick: function</td>
56
- <td></td>
57
- <td>This function will be called when the user clicks the button. The event object will be passed as a parameter.</td>
58
- </tr>
59
-
60
- </table>
61
-
62
- ## Examples
63
-
64
- - Basic button - Light theme - Enabled - Icon after label - With ripple
65
-
66
- ```js
67
- import React from "react";
68
-
69
- import { DxcButton } from "@dxc-technology/halstack-react";
70
-
71
- function App() {
72
- const handleOnClick = event => {
73
- console.log("Button clicked");
74
- };
75
-
76
- return (
77
- <div>
78
- <DxcButton
79
- label="Basic"
80
- mode="basic"
81
- disabled={false}
82
- theme="light"
83
- disableRipple={false}
84
- iconPosition="after"
85
- iconSrc="/images/run_icon.png"
86
- onClick={handleOnClick}
87
- />
88
- </div>
89
- );
90
- }
91
-
92
- export default App;
93
- ```