@dxc-technology/halstack-react 0.0.0-7a66f93 → 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 (230) 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 +212 -56
  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 +131 -46
  10. package/dist/accordion/index.d.ts +28 -0
  11. package/dist/accordion-group/AccordionGroup.js +36 -9
  12. package/dist/accordion-group/index.d.ts +16 -0
  13. package/dist/alert/Alert.js +179 -77
  14. package/dist/alert/index.d.ts +51 -0
  15. package/dist/badge/Badge.js +28 -7
  16. package/dist/box/Box.js +29 -18
  17. package/dist/box/index.d.ts +25 -0
  18. package/dist/button/Button.js +63 -27
  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 +98 -39
  24. package/dist/checkbox/index.d.ts +24 -0
  25. package/dist/chip/Chip.js +93 -31
  26. package/dist/chip/index.d.ts +22 -0
  27. package/dist/common/utils.js +2 -22
  28. package/dist/common/variables.js +1418 -270
  29. package/dist/date/Date.js +69 -47
  30. package/dist/date/index.d.ts +27 -0
  31. package/dist/date-input/DateInput.js +400 -0
  32. package/dist/date-input/index.d.ts +95 -0
  33. package/dist/dialog/Dialog.js +58 -37
  34. package/dist/dialog/index.d.ts +18 -0
  35. package/dist/dropdown/Dropdown.js +175 -80
  36. package/dist/dropdown/index.d.ts +26 -0
  37. package/dist/file-input/FileInput.js +644 -0
  38. package/dist/file-input/FileItem.js +287 -0
  39. package/dist/file-input/index.d.ts +81 -0
  40. package/dist/footer/Footer.js +89 -34
  41. package/dist/footer/Icons.js +77 -0
  42. package/dist/footer/index.d.ts +25 -0
  43. package/dist/header/Header.js +192 -95
  44. package/dist/header/Icons.js +59 -0
  45. package/dist/header/index.d.ts +25 -0
  46. package/dist/heading/Heading.js +93 -16
  47. package/dist/heading/index.d.ts +17 -0
  48. package/dist/input-text/Icons.js +22 -0
  49. package/dist/input-text/InputText.js +248 -113
  50. package/dist/input-text/index.d.ts +36 -0
  51. package/dist/layout/ApplicationLayout.js +18 -26
  52. package/dist/layout/Icons.js +55 -0
  53. package/dist/link/Link.js +86 -41
  54. package/dist/link/index.d.ts +23 -0
  55. package/dist/main.d.ts +40 -0
  56. package/dist/main.js +72 -16
  57. package/dist/number-input/NumberInput.js +136 -0
  58. package/dist/number-input/NumberInputContext.js +16 -0
  59. package/dist/number-input/index.d.ts +113 -0
  60. package/dist/paginator/Icons.js +66 -0
  61. package/dist/paginator/Paginator.js +106 -55
  62. package/dist/paginator/index.d.ts +20 -0
  63. package/dist/password-input/PasswordInput.js +203 -0
  64. package/dist/password-input/index.d.ts +94 -0
  65. package/dist/progress-bar/ProgressBar.js +95 -38
  66. package/dist/progress-bar/index.d.ts +18 -0
  67. package/dist/radio/Radio.js +31 -17
  68. package/dist/radio/index.d.ts +23 -0
  69. package/dist/resultsetTable/ResultsetTable.js +79 -48
  70. package/dist/resultsetTable/index.d.ts +19 -0
  71. package/dist/select/Select.js +940 -279
  72. package/dist/select/index.d.ts +53 -0
  73. package/dist/sidenav/Sidenav.js +66 -15
  74. package/dist/sidenav/index.d.ts +13 -0
  75. package/dist/slider/Slider.js +211 -73
  76. package/dist/slider/index.d.ts +29 -0
  77. package/dist/spinner/Spinner.js +247 -59
  78. package/dist/spinner/index.d.ts +17 -0
  79. package/dist/switch/Switch.js +50 -27
  80. package/dist/switch/index.d.ts +24 -0
  81. package/dist/table/Table.js +51 -24
  82. package/dist/table/index.d.ts +13 -0
  83. package/dist/tabs/Tabs.js +58 -17
  84. package/dist/tabs/index.d.ts +19 -0
  85. package/dist/tag/Tag.js +68 -35
  86. package/dist/tag/index.d.ts +24 -0
  87. package/dist/text-input/TextInput.js +974 -0
  88. package/dist/text-input/index.d.ts +135 -0
  89. package/dist/textarea/Textarea.js +248 -106
  90. package/dist/textarea/index.d.ts +117 -0
  91. package/dist/toggle/Toggle.js +16 -19
  92. package/dist/toggle/index.d.ts +21 -0
  93. package/dist/toggle-group/ToggleGroup.js +142 -41
  94. package/dist/toggle-group/index.d.ts +21 -0
  95. package/dist/upload/Upload.js +13 -8
  96. package/dist/upload/buttons-upload/ButtonsUpload.js +32 -19
  97. package/dist/upload/buttons-upload/Icons.js +40 -0
  98. package/dist/upload/dragAndDropArea/DragAndDropArea.js +84 -34
  99. package/dist/upload/dragAndDropArea/Icons.js +39 -0
  100. package/dist/upload/file-upload/FileToUpload.js +64 -33
  101. package/dist/upload/file-upload/Icons.js +66 -0
  102. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  103. package/dist/upload/index.d.ts +15 -0
  104. package/dist/upload/transaction/Icons.js +160 -0
  105. package/dist/upload/transaction/Transaction.js +42 -49
  106. package/dist/upload/transactions/Transactions.js +38 -20
  107. package/dist/wizard/Icons.js +65 -0
  108. package/dist/wizard/Wizard.js +126 -52
  109. package/dist/wizard/index.d.ts +18 -0
  110. package/package.json +19 -11
  111. package/test/AccordionGroup.test.js +16 -0
  112. package/test/Date.test.js +15 -13
  113. package/test/DateInput.test.js +242 -0
  114. package/test/Dropdown.test.js +15 -0
  115. package/test/FileInput.test.js +201 -0
  116. package/test/Footer.test.js +2 -7
  117. package/test/Header.test.js +5 -10
  118. package/test/Heading.test.js +60 -12
  119. package/test/InputText.test.js +2 -3
  120. package/test/Link.test.js +3 -2
  121. package/test/NumberInput.test.js +259 -0
  122. package/test/Paginator.test.js +6 -2
  123. package/test/PasswordInput.test.js +83 -0
  124. package/test/ResultsetTable.test.js +6 -6
  125. package/test/Select.test.js +869 -133
  126. package/test/Slider.test.js +9 -17
  127. package/test/Spinner.test.js +5 -0
  128. package/test/TextInput.test.js +731 -0
  129. package/test/Textarea.test.js +193 -0
  130. package/test/ToggleGroup.test.js +5 -1
  131. package/test/Upload.test.js +1 -1
  132. package/test/V3Select.test.js +212 -0
  133. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  134. package/dist/accordion/Accordion.stories.js +0 -207
  135. package/dist/accordion/readme.md +0 -96
  136. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  137. package/dist/accordion-group/readme.md +0 -70
  138. package/dist/alert/Alert.stories.js +0 -158
  139. package/dist/alert/close.svg +0 -4
  140. package/dist/alert/error.svg +0 -4
  141. package/dist/alert/info.svg +0 -4
  142. package/dist/alert/readme.md +0 -43
  143. package/dist/alert/success.svg +0 -4
  144. package/dist/alert/warning.svg +0 -4
  145. package/dist/button/readme.md +0 -93
  146. package/dist/checkbox/Checkbox.stories.js +0 -144
  147. package/dist/checkbox/readme.md +0 -116
  148. package/dist/common/services/example-service.js +0 -10
  149. package/dist/common/services/example-service.test.js +0 -12
  150. package/dist/date/Date.stories.js +0 -205
  151. package/dist/date/calendar.svg +0 -1
  152. package/dist/date/calendar_dark.svg +0 -1
  153. package/dist/date/readme.md +0 -73
  154. package/dist/dialog/Dialog.stories.js +0 -217
  155. package/dist/dialog/readme.md +0 -32
  156. package/dist/dropdown/Dropdown.stories.js +0 -249
  157. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  158. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  159. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  160. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  161. package/dist/dropdown/readme.md +0 -69
  162. package/dist/footer/Footer.stories.js +0 -94
  163. package/dist/footer/dxc_logo_wht.png +0 -0
  164. package/dist/footer/readme.md +0 -41
  165. package/dist/header/Header.stories.js +0 -176
  166. package/dist/header/close_icon.svg +0 -1
  167. package/dist/header/dxc_logo_black.png +0 -0
  168. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  169. package/dist/header/dxc_logo_white.png +0 -0
  170. package/dist/header/hamb_menu_black.svg +0 -1
  171. package/dist/header/hamb_menu_white.svg +0 -1
  172. package/dist/header/readme.md +0 -33
  173. package/dist/input-text/InputText.stories.js +0 -209
  174. package/dist/input-text/error.svg +0 -1
  175. package/dist/input-text/readme.md +0 -91
  176. package/dist/layout/facebook.svg +0 -45
  177. package/dist/layout/linkedin.svg +0 -50
  178. package/dist/layout/twitter.svg +0 -53
  179. package/dist/link/readme.md +0 -51
  180. package/dist/paginator/images/next.svg +0 -3
  181. package/dist/paginator/images/nextPage.svg +0 -3
  182. package/dist/paginator/images/previous.svg +0 -3
  183. package/dist/paginator/images/previousPage.svg +0 -3
  184. package/dist/paginator/readme.md +0 -50
  185. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  186. package/dist/progress-bar/readme.md +0 -63
  187. package/dist/radio/Radio.stories.js +0 -166
  188. package/dist/radio/readme.md +0 -70
  189. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  190. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  191. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  192. package/dist/select/Select.stories.js +0 -235
  193. package/dist/select/readme.md +0 -72
  194. package/dist/slider/Slider.stories.js +0 -241
  195. package/dist/slider/readme.md +0 -64
  196. package/dist/spinner/Spinner.stories.js +0 -183
  197. package/dist/spinner/readme.md +0 -65
  198. package/dist/switch/Switch.stories.js +0 -134
  199. package/dist/switch/readme.md +0 -133
  200. package/dist/tabs/Tabs.stories.js +0 -130
  201. package/dist/tabs/readme.md +0 -78
  202. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  203. package/dist/tabs-for-sections/readme.md +0 -78
  204. package/dist/toggle/Toggle.stories.js +0 -297
  205. package/dist/toggle/readme.md +0 -80
  206. package/dist/toggle-group/readme.md +0 -82
  207. package/dist/upload/Upload.stories.js +0 -72
  208. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  209. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  210. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  211. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  212. package/dist/upload/file-upload/audio-icon.svg +0 -4
  213. package/dist/upload/file-upload/close.svg +0 -4
  214. package/dist/upload/file-upload/file-icon.svg +0 -4
  215. package/dist/upload/file-upload/video-icon.svg +0 -4
  216. package/dist/upload/readme.md +0 -37
  217. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  218. package/dist/upload/transaction/audio-icon.svg +0 -4
  219. package/dist/upload/transaction/error-icon.svg +0 -4
  220. package/dist/upload/transaction/file-icon-err.svg +0 -4
  221. package/dist/upload/transaction/file-icon.svg +0 -4
  222. package/dist/upload/transaction/image-icon-err.svg +0 -4
  223. package/dist/upload/transaction/image-icon.svg +0 -4
  224. package/dist/upload/transaction/success-icon.svg +0 -4
  225. package/dist/upload/transaction/video-icon-err.svg +0 -4
  226. package/dist/upload/transaction/video-icon.svg +0 -4
  227. package/dist/wizard/invalid_icon.svg +0 -6
  228. package/dist/wizard/valid_icon.svg +0 -6
  229. package/dist/wizard/validation-wrong.svg +0 -6
  230. package/test/TabsForSections.test.js +0 -34
package/dist/box/Box.js CHANGED
@@ -25,12 +25,12 @@ var _variables = require("../common/variables.js");
25
25
 
26
26
  var _utils = require("../common/utils.js");
27
27
 
28
- require("../common/OpenSans.css");
29
-
30
28
  var _useTheme = _interopRequireDefault(require("../useTheme.js"));
31
29
 
30
+ var _BackgroundColorContext = require("../BackgroundColorContext.js");
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;
@@ -57,7 +57,9 @@ var DxcBox = function DxcBox(_ref) {
57
57
  margin: margin,
58
58
  padding: padding,
59
59
  size: size
60
- }, children));
60
+ }, _react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
61
+ color: colorsTheme.box.backgroundColor
62
+ }, children)));
61
63
  };
62
64
 
63
65
  var sizes = {
@@ -79,42 +81,51 @@ var calculateWidth = function calculateWidth(margin, size, padding) {
79
81
  var StyledDxcBox = _styledComponents["default"].div(_templateObject(), function (_ref2) {
80
82
  var display = _ref2.display;
81
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;
82
94
  }, function (props) {
83
95
  return calculateWidth(props.margin, props.size, props.padding);
84
96
  }, function (props) {
85
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);
86
100
  }, function (_ref3) {
87
- var shadowDepth = _ref3.shadowDepth;
88
- 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";
89
103
  }, function (_ref4) {
90
104
  var margin = _ref4.margin;
91
- return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
105
+ return margin && margin.top ? _variables.spaces[margin.top] : "";
92
106
  }, function (_ref5) {
93
107
  var margin = _ref5.margin;
94
- return margin && margin.top ? _variables.spaces[margin.top] : "";
108
+ return margin && margin.right ? _variables.spaces[margin.right] : "";
95
109
  }, function (_ref6) {
96
110
  var margin = _ref6.margin;
97
- return margin && margin.right ? _variables.spaces[margin.right] : "";
111
+ return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
98
112
  }, function (_ref7) {
99
113
  var margin = _ref7.margin;
100
- return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
101
- }, function (_ref8) {
102
- var margin = _ref8.margin;
103
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";
104
118
  }, function (_ref9) {
105
119
  var padding = _ref9.padding;
106
- return padding && (0, _typeof2["default"])(padding) !== "object" ? _variables.spaces[padding] : "0px";
120
+ return padding && padding.top ? _variables.spaces[padding.top] : "";
107
121
  }, function (_ref10) {
108
122
  var padding = _ref10.padding;
109
- return padding && padding.top ? _variables.spaces[padding.top] : "";
123
+ return padding && padding.right ? _variables.spaces[padding.right] : "";
110
124
  }, function (_ref11) {
111
125
  var padding = _ref11.padding;
112
- return padding && padding.right ? _variables.spaces[padding.right] : "";
126
+ return padding && padding.bottom ? _variables.spaces[padding.bottom] : "";
113
127
  }, function (_ref12) {
114
128
  var padding = _ref12.padding;
115
- return padding && padding.bottom ? _variables.spaces[padding.bottom] : "";
116
- }, function (_ref13) {
117
- var padding = _ref13.padding;
118
129
  return padding && padding.left ? _variables.spaces[padding.left] : "";
119
130
  });
120
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;
@@ -17,22 +17,22 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
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
33
 
34
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: 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"]);
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
36
 
37
37
  _templateObject4 = function _templateObject4() {
38
38
  return data;
@@ -42,7 +42,7 @@ function _templateObject4() {
42
42
  }
43
43
 
44
44
  function _templateObject3() {
45
- var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 20px;\n max-width: 20px;\n margin-left: ", ";\n margin-right: ", ";\n"]);
45
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 24px;\n max-width: 24px;\n margin-left: ", ";\n margin-right: ", ";\n"]);
46
46
 
47
47
  _templateObject3 = function _templateObject3() {
48
48
  return data;
@@ -52,7 +52,7 @@ function _templateObject3() {
52
52
  }
53
53
 
54
54
  function _templateObject2() {
55
- var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 20px;\n max-width: 20px;\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\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"]);
56
56
 
57
57
  _templateObject2 = function _templateObject2() {
58
58
  return data;
@@ -62,7 +62,7 @@ function _templateObject2() {
62
62
  }
63
63
 
64
64
  function _templateObject() {
65
- 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"]);
66
66
 
67
67
  _templateObject = function _templateObject() {
68
68
  return data;
@@ -80,36 +80,46 @@ var DxcButton = function DxcButton(_ref) {
80
80
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
81
81
  _ref$iconPosition = _ref.iconPosition,
82
82
  iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
83
+ _ref$type = _ref.type,
84
+ type = _ref$type === void 0 ? "button" : _ref$type,
83
85
  _ref$iconSrc = _ref.iconSrc,
84
86
  iconSrc = _ref$iconSrc === void 0 ? "" : _ref$iconSrc,
85
87
  icon = _ref.icon,
86
88
  _ref$onClick = _ref.onClick,
87
89
  _onClick = _ref$onClick === void 0 ? "" : _ref$onClick,
88
90
  margin = _ref.margin,
89
- size = _ref.size;
91
+ size = _ref.size,
92
+ _ref$tabIndex = _ref.tabIndex,
93
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
90
94
 
91
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
92
- var colorsTheme = (0, _react.useMemo)(function () {
93
- return (0, _utils.getCustomTheme)(_variables.componentTokens, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
94
- }, [customTheme]);
95
+ var colorsTheme = (0, _useTheme["default"])();
96
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
95
97
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
96
98
  theme: colorsTheme.button
97
99
  }, _react["default"].createElement(DxCButton, {
100
+ type: type,
98
101
  margin: margin,
99
- mode: mode,
102
+ mode: mode !== "primary" && mode !== "secondary" && mode !== "text" ? "primary" : mode,
100
103
  disabled: disabled,
101
104
  iconPosition: iconPosition,
102
- size: size
103
- }, _react["default"].createElement(_core.Button, {
105
+ size: size,
106
+ backgroundType: backgroundType,
107
+ icon: icon
108
+ }, _react["default"].createElement(_Button["default"], {
104
109
  disabled: disabled,
110
+ type: type,
105
111
  disableRipple: true,
106
112
  "aria-disabled": disabled ? true : false,
113
+ tabIndex: disabled ? -1 : tabIndex,
107
114
  onClick: function onClick() {
108
115
  if (_onClick) {
109
116
  _onClick();
110
117
  }
111
118
  }
112
- }, _react["default"].createElement(LabelContainer, null, label), icon ? _react["default"].createElement(IconContainer, {
119
+ }, label && _react["default"].createElement(LabelContainer, {
120
+ icon: icon,
121
+ iconPosition: iconPosition
122
+ }, label), icon ? _react["default"].createElement(IconContainer, {
113
123
  label: label,
114
124
  iconPosition: iconPosition
115
125
  }, (0, _typeof2["default"])(icon) === "object" ? icon : _react["default"].createElement(icon)) : iconSrc && _react["default"].createElement(ButtonIcon, {
@@ -135,12 +145,20 @@ var calculateWidth = function calculateWidth(margin, size) {
135
145
  return sizes[size];
136
146
  };
137
147
 
138
- 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
+ });
139
157
 
140
158
  var IconContainer = _styledComponents["default"].div(_templateObject2(), function (props) {
141
- return props.iconPosition === "after" && props.label !== "" && "10px" || "0px";
159
+ return !props.label ? "0px" : props.iconPosition === "after" && props.label !== "" && "8px" || "8px";
142
160
  }, function (props) {
143
- return props.iconPosition === "before" && props.label !== "" && "10px" || "0px";
161
+ return !props.label ? "0px" : props.iconPosition === "before" && props.label !== "" && "8px" || "8px";
144
162
  });
145
163
 
146
164
  var ButtonIcon = _styledComponents["default"].img(_templateObject3(), function (props) {
@@ -163,21 +181,38 @@ var DxCButton = _styledComponents["default"].div(_templateObject4(), function (p
163
181
  return calculateWidth(props.margin, props.size);
164
182
  }, function (props) {
165
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;
166
192
  }, function (props) {
167
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;
168
202
  }, function (props) {
169
203
  return props.size === "small" && "calc(100% - 22px)" || "unset";
170
204
  }, function (props) {
171
- return props.theme.focusColor;
205
+ return props.backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor;
172
206
  }, function (props) {
173
- var mode = props.mode;
207
+ var mode = props.mode,
208
+ backgroundType = props.backgroundType;
174
209
 
175
210
  if (mode === "primary") {
176
- 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 ");
177
212
  } else if (mode === "secondary") {
178
- 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 ");
179
214
  } else if (mode === "text") {
180
- 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 ");
181
216
  }
182
217
  });
183
218
 
@@ -192,11 +227,12 @@ DxcButton.propTypes = {
192
227
  label: _propTypes["default"].string,
193
228
  mode: _propTypes["default"].oneOf(["primary", "secondary", "text"]),
194
229
  disabled: _propTypes["default"].bool,
195
- theme: _propTypes["default"].oneOf(["dark", "light"]),
196
230
  iconPosition: _propTypes["default"].oneOf(["after", "before"]),
197
231
  onClick: _propTypes["default"].func,
198
232
  iconSrc: _propTypes["default"].string,
199
- icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func])
233
+ icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
234
+ type: _propTypes["default"].oneOf(["button", "reset", "submit"]),
235
+ tabIndex: _propTypes["default"].number
200
236
  };
201
237
  var _default = DxcButton;
202
238
  exports["default"] = _default;
@@ -2,223 +2,26 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.Primary = exports["default"] = void 0;
6
9
 
7
10
  var _react = _interopRequireDefault(require("react"));
8
11
 
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
12
  var _Button = _interopRequireDefault(require("./Button"));
20
13
 
21
- var onClick = (0, _addonActions.action)("onClick");
22
-
23
- onClick.toString = function () {
24
- return "onClickHandler";
14
+ var _default = {
15
+ title: "Button",
16
+ component: _Button["default"]
25
17
  };
18
+ exports["default"] = _default;
26
19
 
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
- };
20
+ var Primary = function Primary() {
21
+ return _react["default"].createElement(_Button["default"], {
22
+ mode: "primary",
23
+ label: "Primary Button"
24
+ });
206
25
  };
207
26
 
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
- });
27
+ exports.Primary = Primary;
@@ -0,0 +1,24 @@
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
+ label?: string;
12
+ mode?: "primary" | "secondary" | "text";
13
+ disabled?: boolean;
14
+ iconPosition?: "before" | "after";
15
+ type?: "button" | "reset" | "submit";
16
+ iconSrc?: string;
17
+ icon?: any;
18
+ onClick?: void;
19
+ margin?: Space | Margin;
20
+ size?: Size;
21
+ tabIndex?: number;
22
+ };
23
+
24
+ export default function DxcButton(props: Props): JSX.Element;