@dxc-technology/halstack-react 0.0.0-b05ef02 → 0.0.0-b243e75

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 (286) hide show
  1. package/BackgroundColorContext.js +50 -0
  2. package/ThemeContext.js +246 -0
  3. package/V3Select/V3Select.js +455 -0
  4. package/V3Select/index.d.ts +27 -0
  5. package/V3Textarea/V3Textarea.js +260 -0
  6. package/V3Textarea/index.d.ts +27 -0
  7. package/accordion/Accordion.js +289 -0
  8. package/accordion/index.d.ts +28 -0
  9. package/{dist/accordion-group → accordion-group}/AccordionGroup.js +45 -15
  10. package/accordion-group/index.d.ts +16 -0
  11. package/alert/Alert.js +309 -0
  12. package/alert/index.d.ts +51 -0
  13. package/badge/Badge.js +59 -0
  14. package/{dist/box → box}/Box.js +34 -29
  15. package/box/index.d.ts +25 -0
  16. package/button/Button.d.ts +4 -0
  17. package/button/Button.js +182 -0
  18. package/button/Button.stories.tsx +306 -0
  19. package/button/types.d.ts +57 -0
  20. package/button/types.js +5 -0
  21. package/{dist/card → card}/Card.js +30 -77
  22. package/card/index.d.ts +22 -0
  23. package/checkbox/Checkbox.js +275 -0
  24. package/checkbox/index.d.ts +24 -0
  25. package/{dist/chip → chip}/Chip.js +74 -76
  26. package/chip/index.d.ts +22 -0
  27. package/{dist/common → common}/OpenSans.css +0 -0
  28. package/{dist/common → common}/RequiredComponent.js +3 -11
  29. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  30. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  31. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  32. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  33. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  34. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  35. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  36. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  37. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  38. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  39. package/{dist/common → common}/utils.js +0 -0
  40. package/common/variables.js +1569 -0
  41. package/{dist/date → date}/Date.js +71 -55
  42. package/date/index.d.ts +27 -0
  43. package/date-input/DateInput.js +396 -0
  44. package/date-input/index.d.ts +95 -0
  45. package/{dist/dialog → dialog}/Dialog.js +50 -69
  46. package/dialog/index.d.ts +18 -0
  47. package/dropdown/Dropdown.js +450 -0
  48. package/dropdown/index.d.ts +26 -0
  49. package/file-input/FileInput.js +532 -0
  50. package/file-input/FileItem.js +193 -0
  51. package/file-input/index.d.ts +81 -0
  52. package/footer/Footer.js +297 -0
  53. package/footer/Icons.js +77 -0
  54. package/footer/index.d.ts +25 -0
  55. package/header/Header.js +326 -0
  56. package/header/Icons.js +59 -0
  57. package/header/index.d.ts +25 -0
  58. package/heading/Heading.js +176 -0
  59. package/heading/index.d.ts +17 -0
  60. package/input-text/Icons.js +22 -0
  61. package/input-text/InputText.js +611 -0
  62. package/input-text/index.d.ts +36 -0
  63. package/{dist/layout → layout}/ApplicationLayout.js +35 -131
  64. package/layout/Icons.js +55 -0
  65. package/link/Link.js +183 -0
  66. package/link/index.d.ts +23 -0
  67. package/main.d.ts +44 -0
  68. package/{dist/main.js → main.js} +121 -69
  69. package/number-input/NumberInput.js +128 -0
  70. package/number-input/NumberInputContext.js +16 -0
  71. package/number-input/index.d.ts +113 -0
  72. package/package.json +31 -22
  73. package/paginator/Icons.js +66 -0
  74. package/paginator/Paginator.js +221 -0
  75. package/paginator/index.d.ts +20 -0
  76. package/password-input/PasswordInput.js +199 -0
  77. package/password-input/index.d.ts +94 -0
  78. package/progress-bar/ProgressBar.js +188 -0
  79. package/progress-bar/index.d.ts +18 -0
  80. package/{dist/radio → radio}/Radio.js +37 -32
  81. package/radio/index.d.ts +23 -0
  82. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +77 -135
  83. package/resultsetTable/index.d.ts +19 -0
  84. package/select/Select.js +865 -0
  85. package/select/index.d.ts +131 -0
  86. package/sidenav/Sidenav.js +145 -0
  87. package/sidenav/index.d.ts +13 -0
  88. package/slider/Slider.js +340 -0
  89. package/slider/index.d.ts +29 -0
  90. package/spinner/Spinner.js +267 -0
  91. package/spinner/index.d.ts +17 -0
  92. package/switch/Switch.js +208 -0
  93. package/switch/index.d.ts +24 -0
  94. package/table/Table.js +118 -0
  95. package/table/index.d.ts +13 -0
  96. package/{dist/tabs → tabs}/Tabs.js +61 -127
  97. package/tabs/index.d.ts +19 -0
  98. package/tag/Tag.js +208 -0
  99. package/tag/index.d.ts +24 -0
  100. package/text-input/TextInput.js +825 -0
  101. package/text-input/index.d.ts +135 -0
  102. package/textarea/Textarea.js +317 -0
  103. package/textarea/index.d.ts +117 -0
  104. package/{dist/toggle → toggle}/Toggle.js +15 -49
  105. package/toggle/index.d.ts +21 -0
  106. package/toggle-group/ToggleGroup.js +243 -0
  107. package/toggle-group/index.d.ts +21 -0
  108. package/{dist/upload → upload}/Upload.js +11 -19
  109. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  110. package/upload/buttons-upload/Icons.js +40 -0
  111. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  112. package/upload/dragAndDropArea/Icons.js +39 -0
  113. package/upload/file-upload/FileToUpload.js +115 -0
  114. package/upload/file-upload/Icons.js +66 -0
  115. package/{dist/upload → upload}/files-upload/FilesToUpload.js +14 -28
  116. package/upload/index.d.ts +15 -0
  117. package/upload/transaction/Icons.js +160 -0
  118. package/upload/transaction/Transaction.js +104 -0
  119. package/upload/transactions/Transactions.js +94 -0
  120. package/{dist/useTheme.js → useTheme.js} +0 -0
  121. package/wizard/Icons.js +65 -0
  122. package/wizard/Wizard.js +271 -0
  123. package/wizard/index.d.ts +18 -0
  124. package/README.md +0 -66
  125. package/babel.config.js +0 -8
  126. package/dist/BackgroundColorContext.js +0 -46
  127. package/dist/ThemeContext.js +0 -216
  128. package/dist/accordion/Accordion.js +0 -284
  129. package/dist/accordion/Accordion.stories.js +0 -207
  130. package/dist/accordion/readme.md +0 -96
  131. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  132. package/dist/accordion-group/readme.md +0 -70
  133. package/dist/alert/Alert.js +0 -318
  134. package/dist/alert/Alert.stories.js +0 -158
  135. package/dist/alert/close.svg +0 -4
  136. package/dist/alert/error.svg +0 -4
  137. package/dist/alert/info.svg +0 -4
  138. package/dist/alert/readme.md +0 -43
  139. package/dist/alert/success.svg +0 -4
  140. package/dist/alert/warning.svg +0 -4
  141. package/dist/badge/Badge.js +0 -40
  142. package/dist/button/Button.js +0 -219
  143. package/dist/button/Button.stories.js +0 -224
  144. package/dist/button/readme.md +0 -93
  145. package/dist/checkbox/Checkbox.js +0 -233
  146. package/dist/checkbox/Checkbox.stories.js +0 -144
  147. package/dist/checkbox/readme.md +0 -116
  148. package/dist/common/variables.js +0 -523
  149. package/dist/date/Date.stories.js +0 -205
  150. package/dist/date/calendar.svg +0 -1
  151. package/dist/date/calendar_dark.svg +0 -1
  152. package/dist/date/readme.md +0 -73
  153. package/dist/dialog/Dialog.stories.js +0 -217
  154. package/dist/dialog/readme.md +0 -32
  155. package/dist/dropdown/Dropdown.js +0 -456
  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.js +0 -379
  163. package/dist/footer/Footer.stories.js +0 -94
  164. package/dist/footer/dxc_logo_wht.png +0 -0
  165. package/dist/footer/readme.md +0 -41
  166. package/dist/header/Header.js +0 -385
  167. package/dist/header/Header.stories.js +0 -176
  168. package/dist/header/close_icon.svg +0 -1
  169. package/dist/header/dxc_logo_black.png +0 -0
  170. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  171. package/dist/header/dxc_logo_white.png +0 -0
  172. package/dist/header/hamb_menu_black.svg +0 -1
  173. package/dist/header/hamb_menu_white.svg +0 -1
  174. package/dist/header/readme.md +0 -33
  175. package/dist/heading/Heading.js +0 -163
  176. package/dist/input-text/InputText.js +0 -609
  177. package/dist/input-text/InputText.stories.js +0 -209
  178. package/dist/input-text/error.svg +0 -1
  179. package/dist/input-text/readme.md +0 -91
  180. package/dist/layout/facebook.svg +0 -45
  181. package/dist/layout/linkedin.svg +0 -50
  182. package/dist/layout/twitter.svg +0 -53
  183. package/dist/link/Link.js +0 -200
  184. package/dist/link/readme.md +0 -51
  185. package/dist/paginator/Paginator.js +0 -261
  186. package/dist/paginator/images/next.svg +0 -3
  187. package/dist/paginator/images/nextPage.svg +0 -3
  188. package/dist/paginator/images/previous.svg +0 -3
  189. package/dist/paginator/images/previousPage.svg +0 -3
  190. package/dist/paginator/readme.md +0 -50
  191. package/dist/progress-bar/ProgressBar.js +0 -192
  192. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  193. package/dist/progress-bar/readme.md +0 -63
  194. package/dist/radio/Radio.stories.js +0 -166
  195. package/dist/radio/readme.md +0 -70
  196. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  197. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  198. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  199. package/dist/select/Select.js +0 -490
  200. package/dist/select/Select.stories.js +0 -235
  201. package/dist/select/readme.md +0 -72
  202. package/dist/sidenav/Sidenav.js +0 -155
  203. package/dist/slider/Slider.js +0 -267
  204. package/dist/slider/Slider.stories.js +0 -241
  205. package/dist/slider/readme.md +0 -64
  206. package/dist/spinner/Spinner.js +0 -198
  207. package/dist/spinner/Spinner.stories.js +0 -183
  208. package/dist/spinner/readme.md +0 -65
  209. package/dist/switch/Switch.js +0 -194
  210. package/dist/switch/Switch.stories.js +0 -134
  211. package/dist/switch/readme.md +0 -133
  212. package/dist/table/Table.js +0 -98
  213. package/dist/tabs/Tabs.stories.js +0 -130
  214. package/dist/tabs/readme.md +0 -78
  215. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  216. package/dist/tabs-for-sections/readme.md +0 -78
  217. package/dist/tag/Tag.js +0 -268
  218. package/dist/textarea/Textarea.js +0 -238
  219. package/dist/toggle/Toggle.stories.js +0 -297
  220. package/dist/toggle/readme.md +0 -80
  221. package/dist/toggle-group/ToggleGroup.js +0 -223
  222. package/dist/toggle-group/readme.md +0 -82
  223. package/dist/upload/Upload.stories.js +0 -72
  224. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -123
  225. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  226. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  227. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -293
  228. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  229. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  230. package/dist/upload/file-upload/FileToUpload.js +0 -162
  231. package/dist/upload/file-upload/audio-icon.svg +0 -4
  232. package/dist/upload/file-upload/close.svg +0 -4
  233. package/dist/upload/file-upload/file-icon.svg +0 -4
  234. package/dist/upload/file-upload/video-icon.svg +0 -4
  235. package/dist/upload/readme.md +0 -37
  236. package/dist/upload/transaction/Transaction.js +0 -152
  237. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  238. package/dist/upload/transaction/audio-icon.svg +0 -4
  239. package/dist/upload/transaction/error-icon.svg +0 -4
  240. package/dist/upload/transaction/file-icon-err.svg +0 -4
  241. package/dist/upload/transaction/file-icon.svg +0 -4
  242. package/dist/upload/transaction/image-icon-err.svg +0 -4
  243. package/dist/upload/transaction/image-icon.svg +0 -4
  244. package/dist/upload/transaction/success-icon.svg +0 -4
  245. package/dist/upload/transaction/video-icon-err.svg +0 -4
  246. package/dist/upload/transaction/video-icon.svg +0 -4
  247. package/dist/upload/transactions/Transactions.js +0 -122
  248. package/dist/wizard/Wizard.js +0 -355
  249. package/dist/wizard/invalid_icon.svg +0 -6
  250. package/dist/wizard/valid_icon.svg +0 -6
  251. package/dist/wizard/validation-wrong.svg +0 -6
  252. package/test/Accordion.test.js +0 -33
  253. package/test/AccordionGroup.test.js +0 -125
  254. package/test/Alert.test.js +0 -53
  255. package/test/Box.test.js +0 -10
  256. package/test/Button.test.js +0 -18
  257. package/test/Card.test.js +0 -30
  258. package/test/Checkbox.test.js +0 -45
  259. package/test/Chip.test.js +0 -25
  260. package/test/Date.test.js +0 -393
  261. package/test/Dialog.test.js +0 -23
  262. package/test/Dropdown.test.js +0 -130
  263. package/test/Footer.test.js +0 -99
  264. package/test/Header.test.js +0 -39
  265. package/test/Heading.test.js +0 -35
  266. package/test/InputText.test.js +0 -240
  267. package/test/Link.test.js +0 -42
  268. package/test/Paginator.test.js +0 -177
  269. package/test/ProgressBar.test.js +0 -35
  270. package/test/Radio.test.js +0 -37
  271. package/test/ResultsetTable.test.js +0 -330
  272. package/test/Select.test.js +0 -192
  273. package/test/Sidenav.test.js +0 -45
  274. package/test/Slider.test.js +0 -82
  275. package/test/Spinner.test.js +0 -27
  276. package/test/Switch.test.js +0 -45
  277. package/test/Table.test.js +0 -36
  278. package/test/Tabs.test.js +0 -109
  279. package/test/TabsForSections.test.js +0 -34
  280. package/test/Tag.test.js +0 -32
  281. package/test/TextArea.test.js +0 -52
  282. package/test/ToggleGroup.test.js +0 -81
  283. package/test/Upload.test.js +0 -60
  284. package/test/Wizard.test.js +0 -130
  285. package/test/mocks/pngMock.js +0 -1
  286. package/test/mocks/svgMock.js +0 -1
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
@@ -27,15 +27,13 @@ var _utils = require("../common/utils.js");
27
27
 
28
28
  var _useTheme = _interopRequireDefault(require("../useTheme.js"));
29
29
 
30
- function _templateObject() {
31
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: ", ";\n border-radius: 4px;\n overflow: hidden;\n font-size: ", ";\n font-family: ", ";\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"]);
30
+ var _BackgroundColorContext = require("../BackgroundColorContext.js");
32
31
 
33
- _templateObject = function _templateObject() {
34
- return data;
35
- };
32
+ var _templateObject;
36
33
 
37
- return data;
38
- }
34
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
+
36
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
37
 
40
38
  var DxcBox = function DxcBox(_ref) {
41
39
  var shadowDepth = _ref.shadowDepth,
@@ -47,15 +45,17 @@ var DxcBox = function DxcBox(_ref) {
47
45
  _ref$size = _ref.size,
48
46
  size = _ref$size === void 0 ? "fitContent" : _ref$size;
49
47
  var colorsTheme = (0, _useTheme["default"])();
50
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
48
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
51
49
  theme: colorsTheme.box
52
- }, _react["default"].createElement(StyledDxcBox, {
50
+ }, /*#__PURE__*/_react["default"].createElement(StyledDxcBox, {
53
51
  shadowDepth: shadowDepth,
54
52
  display: display,
55
53
  margin: margin,
56
54
  padding: padding,
57
55
  size: size
58
- }, children));
56
+ }, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
57
+ color: colorsTheme.box.backgroundColor
58
+ }, children)));
59
59
  };
60
60
 
61
61
  var sizes = {
@@ -74,49 +74,54 @@ var calculateWidth = function calculateWidth(margin, size, padding) {
74
74
  return sizes[size];
75
75
  };
76
76
 
77
- var StyledDxcBox = _styledComponents["default"].div(_templateObject(), function (_ref2) {
77
+ var StyledDxcBox = _styledComponents["default"].div(_templateObject || (_templateObject = (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"])), function (_ref2) {
78
78
  var display = _ref2.display;
79
79
  return display;
80
80
  }, function (props) {
81
- return props.theme.fontSizeBase;
81
+ return props.theme.borderRadius;
82
+ }, function (props) {
83
+ return props.theme.borderThickness;
82
84
  }, function (props) {
83
- return props.theme.fontFamily;
85
+ return props.theme.borderStyle;
86
+ }, function (props) {
87
+ return props.theme.borderColor;
88
+ }, function (props) {
89
+ return props.theme.letterSpacing;
84
90
  }, function (props) {
85
91
  return calculateWidth(props.margin, props.size, props.padding);
86
92
  }, function (props) {
87
93
  return props.theme.backgroundColor;
94
+ }, function (props) {
95
+ 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);
88
96
  }, function (_ref3) {
89
- var shadowDepth = _ref3.shadowDepth;
90
- 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";
97
+ var margin = _ref3.margin;
98
+ return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
91
99
  }, function (_ref4) {
92
100
  var margin = _ref4.margin;
93
- return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
101
+ return margin && margin.top ? _variables.spaces[margin.top] : "";
94
102
  }, function (_ref5) {
95
103
  var margin = _ref5.margin;
96
- return margin && margin.top ? _variables.spaces[margin.top] : "";
104
+ return margin && margin.right ? _variables.spaces[margin.right] : "";
97
105
  }, function (_ref6) {
98
106
  var margin = _ref6.margin;
99
- return margin && margin.right ? _variables.spaces[margin.right] : "";
107
+ return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
100
108
  }, function (_ref7) {
101
109
  var margin = _ref7.margin;
102
- return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
103
- }, function (_ref8) {
104
- var margin = _ref8.margin;
105
110
  return margin && margin.left ? _variables.spaces[margin.left] : "";
111
+ }, function (_ref8) {
112
+ var padding = _ref8.padding;
113
+ return padding && (0, _typeof2["default"])(padding) !== "object" ? _variables.spaces[padding] : "0px";
106
114
  }, function (_ref9) {
107
115
  var padding = _ref9.padding;
108
- return padding && (0, _typeof2["default"])(padding) !== "object" ? _variables.spaces[padding] : "0px";
116
+ return padding && padding.top ? _variables.spaces[padding.top] : "";
109
117
  }, function (_ref10) {
110
118
  var padding = _ref10.padding;
111
- return padding && padding.top ? _variables.spaces[padding.top] : "";
119
+ return padding && padding.right ? _variables.spaces[padding.right] : "";
112
120
  }, function (_ref11) {
113
121
  var padding = _ref11.padding;
114
- return padding && padding.right ? _variables.spaces[padding.right] : "";
122
+ return padding && padding.bottom ? _variables.spaces[padding.bottom] : "";
115
123
  }, function (_ref12) {
116
124
  var padding = _ref12.padding;
117
- return padding && padding.bottom ? _variables.spaces[padding.bottom] : "";
118
- }, function (_ref13) {
119
- var padding = _ref13.padding;
120
125
  return padding && padding.left ? _variables.spaces[padding.left] : "";
121
126
  });
122
127
 
package/box/index.d.ts ADDED
@@ -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;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import ButtonPropsType from "./types";
3
+ declare const DxcButton: ({ label, mode, disabled, iconPosition, type, iconSrc, icon, onClick, margin, size, tabIndex, }: ButtonPropsType) => JSX.Element;
4
+ export default DxcButton;
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
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 _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
19
+
20
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
+
22
+ var _variables = require("../common/variables.js");
23
+
24
+ var _utils = require("../common/utils.js");
25
+
26
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
27
+
28
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
29
+
30
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
31
+
32
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
+
34
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
+
36
+ var DxcButton = function DxcButton(_ref) {
37
+ var _ref$label = _ref.label,
38
+ label = _ref$label === void 0 ? "" : _ref$label,
39
+ _ref$mode = _ref.mode,
40
+ mode = _ref$mode === void 0 ? "primary" : _ref$mode,
41
+ _ref$disabled = _ref.disabled,
42
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
43
+ _ref$iconPosition = _ref.iconPosition,
44
+ iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
45
+ _ref$type = _ref.type,
46
+ type = _ref$type === void 0 ? "button" : _ref$type,
47
+ _ref$iconSrc = _ref.iconSrc,
48
+ iconSrc = _ref$iconSrc === void 0 ? "" : _ref$iconSrc,
49
+ icon = _ref.icon,
50
+ _ref$onClick = _ref.onClick,
51
+ _onClick = _ref$onClick === void 0 ? "" : _ref$onClick,
52
+ margin = _ref.margin,
53
+ size = _ref.size,
54
+ _ref$tabIndex = _ref.tabIndex,
55
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
56
+
57
+ var colorsTheme = (0, _useTheme["default"])();
58
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
59
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
60
+ theme: colorsTheme.button
61
+ }, /*#__PURE__*/_react["default"].createElement(DxCButton, {
62
+ type: type,
63
+ margin: margin,
64
+ mode: mode !== "primary" && mode !== "secondary" && mode !== "text" ? "primary" : mode,
65
+ disabled: disabled,
66
+ iconPosition: iconPosition,
67
+ size: size,
68
+ backgroundType: backgroundType,
69
+ icon: icon
70
+ }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
71
+ disabled: disabled,
72
+ type: type,
73
+ disableRipple: true,
74
+ "aria-disabled": disabled ? true : false,
75
+ tabIndex: disabled ? -1 : tabIndex,
76
+ onClick: function onClick() {
77
+ if (_onClick) {
78
+ _onClick();
79
+ }
80
+ }
81
+ }, label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
82
+ icon: icon,
83
+ iconPosition: iconPosition
84
+ }, label), icon ? /*#__PURE__*/_react["default"].createElement(IconContainer, {
85
+ label: label,
86
+ iconPosition: iconPosition
87
+ }, (0, _typeof2["default"])(icon) === "object" ? icon : /*#__PURE__*/_react["default"].createElement(icon)) : iconSrc && /*#__PURE__*/_react["default"].createElement(ButtonIcon, {
88
+ label: label,
89
+ iconPosition: iconPosition,
90
+ src: iconSrc
91
+ }))));
92
+ };
93
+
94
+ var sizes = {
95
+ small: "42px",
96
+ medium: "120px",
97
+ large: "240px",
98
+ fillParent: "100%",
99
+ fitContent: "unset"
100
+ };
101
+
102
+ var calculateWidth = function calculateWidth(margin, size) {
103
+ if (size === "fillParent") {
104
+ return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
105
+ }
106
+
107
+ return sizes[size];
108
+ };
109
+
110
+ var LabelContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n line-height: ", ";\n font-size: ", ";\n text-overflow: ellipsis;\n overflow: hidden;\n text-transform: none;\n white-space: nowrap;\n margin-right: ", ";\n margin-left: ", ";\n"])), function (props) {
111
+ return props.theme.labelFontLineHeight;
112
+ }, function (props) {
113
+ return props.theme.fontSize;
114
+ }, function (props) {
115
+ return !props.icon || props.iconPosition === "before" ? "8px" : "0px";
116
+ }, function (props) {
117
+ return !props.icon || props.iconPosition === "after" ? "8px" : "0px";
118
+ });
119
+
120
+ var IconContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (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"])), function (props) {
121
+ return !props.label ? "0px" : props.iconPosition === "after" && props.label !== "" && "8px" || "8px";
122
+ }, function (props) {
123
+ return !props.label ? "0px" : props.iconPosition === "before" && props.label !== "" && "8px" || "8px";
124
+ });
125
+
126
+ var ButtonIcon = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 24px;\n max-width: 24px;\n margin-left: ", ";\n margin-right: ", ";\n"])), 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(_templateObject4 || (_templateObject4 = (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"])), 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.theme.paddingLeft;
148
+ }, function (props) {
149
+ return props.theme.paddingRight;
150
+ }, function (props) {
151
+ return props.theme.paddingTop;
152
+ }, function (props) {
153
+ return props.theme.paddingBottom;
154
+ }, function (props) {
155
+ return props.iconPosition === "after" && "row" || "row-reverse";
156
+ }, function (props) {
157
+ return props.theme.fontFamily;
158
+ }, function (props) {
159
+ return props.theme.fontSize;
160
+ }, function (props) {
161
+ return props.theme.fontWeight;
162
+ }, function (props) {
163
+ return props.theme.labelLetterSpacing;
164
+ }, function (props) {
165
+ return props.size === "small" && "calc(100% - 22px)" || "unset";
166
+ }, function (props) {
167
+ return props.backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor;
168
+ }, function (props) {
169
+ var mode = props.mode,
170
+ backgroundType = props.backgroundType;
171
+
172
+ if (mode === "primary") {
173
+ 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 ");
174
+ } else if (mode === "secondary") {
175
+ 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 ");
176
+ } else if (mode === "text") {
177
+ 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 ");
178
+ }
179
+ });
180
+
181
+ var _default = DxcButton;
182
+ exports["default"] = _default;
@@ -0,0 +1,306 @@
1
+ import React from "react";
2
+ import styled from "styled-components";
3
+ import DxcButton from "./Button";
4
+ import { BackgroundColorProvider } from "../BackgroundColorContext";
5
+
6
+ export default {
7
+ title: "Button ",
8
+ component: DxcButton,
9
+ };
10
+
11
+ const iconSVG = () => {
12
+ return (
13
+ <svg viewBox="0 0 24 24" fill="currentColor">
14
+ <path d="M0 0h24v24H0z" fill="none" />
15
+ <path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z" />
16
+ </svg>
17
+ );
18
+ };
19
+ export const Chromatic = () => (
20
+ <>
21
+ <>
22
+ <MainTitle>Primary</MainTitle>
23
+ <Container>
24
+ <ContainerTitle>Enabled</ContainerTitle>
25
+ <DxcButton label="Primary enabled" />
26
+ </Container>
27
+ <Container className="pseudo-hover">
28
+ <ContainerTitle>Hovered</ContainerTitle>
29
+ <DxcButton label="Primary hovered" />
30
+ </Container>
31
+ <Container className="pseudo-focus">
32
+ <ContainerTitle>Focused</ContainerTitle>
33
+ <DxcButton label="Primary focused" />
34
+ </Container>
35
+ <Container className="pseudo-active">
36
+ <ContainerTitle>Actived</ContainerTitle>
37
+ <DxcButton label="Primary actived" />
38
+ </Container>
39
+ <Container>
40
+ <ContainerTitle>Disabled</ContainerTitle>
41
+ <DxcButton label="Primary disabled" disabled />
42
+ </Container>
43
+ <Container>
44
+ <ContainerTitle>With left icon</ContainerTitle>
45
+ <DxcButton label="Primary" icon={iconSVG} />
46
+ </Container>
47
+ <Container>
48
+ <ContainerTitle>With right icon</ContainerTitle>
49
+ <DxcButton label="Primary" icon={iconSVG} iconPosition="after" />
50
+ </Container>
51
+ <Container>
52
+ <ContainerTitle>Only icon</ContainerTitle>
53
+ <DxcButton icon={iconSVG} />
54
+ </Container>
55
+ </>
56
+ <>
57
+ <>
58
+ <MainTitle>Secondary</MainTitle>
59
+ <Container>
60
+ <ContainerTitle>Enabled</ContainerTitle>
61
+ <DxcButton mode="secondary" label="Secondary enabled" />
62
+ </Container>
63
+ <Container className="pseudo-hover">
64
+ <ContainerTitle>Hovered</ContainerTitle>
65
+ <DxcButton mode="secondary" label="Secondary hovered" />
66
+ </Container>
67
+ <Container className="pseudo-focus">
68
+ <ContainerTitle>Focused</ContainerTitle>
69
+ <DxcButton mode="secondary" label="Secondary focused" />
70
+ </Container>
71
+ <Container className="pseudo-active">
72
+ <ContainerTitle>Actived</ContainerTitle>
73
+ <DxcButton mode="secondary" label="Secondary actived" />
74
+ </Container>
75
+ <Container>
76
+ <ContainerTitle>Disabled</ContainerTitle>
77
+ <DxcButton mode="secondary" disabled label="Secondary disabled" />
78
+ </Container>
79
+ <Container>
80
+ <ContainerTitle>With icon</ContainerTitle>
81
+ <DxcButton mode="secondary" label="Secondary" icon={iconSVG} />
82
+ </Container>
83
+ </>
84
+ <>
85
+ <MainTitle>Text</MainTitle>
86
+ <Container>
87
+ <ContainerTitle>Enabled</ContainerTitle>
88
+ <DxcButton mode="text" label="Text enabled" />
89
+ </Container>
90
+ <Container className="pseudo-hover">
91
+ <ContainerTitle>Hovered</ContainerTitle>
92
+ <DxcButton mode="text" label="Text hovered" />
93
+ </Container>
94
+ <Container className="pseudo-focus">
95
+ <ContainerTitle>Focused</ContainerTitle>
96
+ <DxcButton mode="text" label="Text focused" />
97
+ </Container>
98
+ <Container className="pseudo-active">
99
+ <ContainerTitle>Actived</ContainerTitle>
100
+ <DxcButton mode="text" label="Text actived" />
101
+ </Container>
102
+ <Container>
103
+ <ContainerTitle>Disabled</ContainerTitle>
104
+ <DxcButton mode="text" label="Text disabled" disabled />
105
+ </Container>
106
+ <Container>
107
+ <ContainerTitle>With icon</ContainerTitle>
108
+ <DxcButton label="Text" mode="text" icon={iconSVG} />
109
+ </Container>
110
+ </>
111
+ </>
112
+ <BackgroundColorProvider color="#333333">
113
+ <DarkContainer>
114
+ <>
115
+ <MainTitle style={{ color: "white" }}>Primary</MainTitle>
116
+ <Container>
117
+ <ContainerTitle style={{ color: "white" }}>Enabled</ContainerTitle>
118
+ <DxcButton label="Primary enabled" />
119
+ </Container>
120
+ <Container className="pseudo-hover">
121
+ <ContainerTitle style={{ color: "white" }}>Hovered</ContainerTitle>
122
+ <DxcButton label="Primary hovered" />
123
+ </Container>
124
+ <Container className="pseudo-focus">
125
+ <ContainerTitle style={{ color: "white" }}>Focused</ContainerTitle>
126
+ <DxcButton label="Primary focused" />
127
+ </Container>
128
+ <Container className="pseudo-active">
129
+ <ContainerTitle style={{ color: "white" }}>Actived</ContainerTitle>
130
+ <DxcButton label="Primary actived" />
131
+ </Container>
132
+ <Container>
133
+ <ContainerTitle style={{ color: "white" }}>Disabled</ContainerTitle>
134
+ <DxcButton label="Primary disabled" disabled />
135
+ </Container>
136
+ <Container style={{ color: "white" }}>
137
+ <ContainerTitle>With icon</ContainerTitle>
138
+ <DxcButton label="Primary" icon={iconSVG} />
139
+ </Container>
140
+ </>
141
+ <>
142
+ <MainTitle style={{ color: "white" }}>Secondary</MainTitle>
143
+ <Container>
144
+ <ContainerTitle style={{ color: "white" }}>Enabled</ContainerTitle>
145
+ <DxcButton mode="secondary" label="Secondary enabled" />
146
+ </Container>
147
+ <Container className="pseudo-hover">
148
+ <ContainerTitle style={{ color: "white" }}>Hovered</ContainerTitle>
149
+ <DxcButton mode="secondary" label="Secondary hovered" />
150
+ </Container>
151
+ <Container className="pseudo-focus">
152
+ <ContainerTitle style={{ color: "white" }}>Focused</ContainerTitle>
153
+ <DxcButton mode="secondary" label="Secondary focused" />
154
+ </Container>
155
+ <Container className="pseudo-active">
156
+ <ContainerTitle style={{ color: "white" }}>Actived</ContainerTitle>
157
+ <DxcButton mode="secondary" label="Secondary actived" />
158
+ </Container>
159
+ <Container>
160
+ <ContainerTitle style={{ color: "white" }}>Disabled</ContainerTitle>
161
+ <DxcButton mode="secondary" disabled label="Secondary disabled" />
162
+ </Container>
163
+ <Container style={{ color: "white" }}>
164
+ <ContainerTitle>With icon</ContainerTitle>
165
+ <DxcButton mode="secondary" label="Primary" icon={iconSVG} />
166
+ </Container>
167
+ </>
168
+ <>
169
+ <MainTitle style={{ color: "white" }}>Text</MainTitle>
170
+ <Container>
171
+ <ContainerTitle style={{ color: "white" }}>Enabled</ContainerTitle>
172
+ <DxcButton mode="text" label="Text enabled" />
173
+ </Container>
174
+ <Container className="pseudo-hover">
175
+ <ContainerTitle style={{ color: "white" }}>Hovered</ContainerTitle>
176
+ <DxcButton mode="text" label="Text hovered" />
177
+ </Container>
178
+ <Container className="pseudo-focus">
179
+ <ContainerTitle style={{ color: "white" }}>Focused</ContainerTitle>
180
+ <DxcButton mode="text" label="Text focused" />
181
+ </Container>
182
+ <Container className="pseudo-active">
183
+ <ContainerTitle style={{ color: "white" }}>Actived</ContainerTitle>
184
+ <DxcButton mode="text" label="Text actived" />
185
+ </Container>
186
+ <Container>
187
+ <ContainerTitle style={{ color: "white" }}>Disabled</ContainerTitle>
188
+ <DxcButton mode="text" label="Text disabled" disabled />
189
+ </Container>
190
+ <Container style={{ color: "white" }}>
191
+ <ContainerTitle>With icon</ContainerTitle>
192
+ <DxcButton mode="text" label="Primary" icon={iconSVG} />
193
+ </Container>
194
+ </>
195
+ </DarkContainer>
196
+ </BackgroundColorProvider>
197
+ <>
198
+ <MainTitle>Sizes</MainTitle>
199
+ <Container>
200
+ <ContainerTitle>Small size</ContainerTitle>
201
+ <DxcButton label="Small" size="small" />
202
+ </Container>
203
+ <Container>
204
+ <ContainerTitle>Medium size</ContainerTitle>
205
+ <DxcButton label="MediumSiz" size="medium" />
206
+ </Container>
207
+ <Container>
208
+ <ContainerTitle>Medium size with ellipsis</ContainerTitle>
209
+ <DxcButton label="MediumSize" size="medium" />
210
+ </Container>
211
+ <Container>
212
+ <ContainerTitle>Medium size icon after</ContainerTitle>
213
+ <DxcButton label="Mediu" iconPosition="after" icon={iconSVG} size="medium" />
214
+ </Container>
215
+ <Container>
216
+ <ContainerTitle>Medium size icon before</ContainerTitle>
217
+ <DxcButton label="Mediu" iconPosition="before" icon={iconSVG} size="medium" />
218
+ </Container>
219
+ <Container>
220
+ <ContainerTitle>Medium size icon after with ellipsis</ContainerTitle>
221
+ <DxcButton label="Medium" iconPosition="after" icon={iconSVG} size="medium" />
222
+ </Container>
223
+ <Container>
224
+ <ContainerTitle>Medium size icon before with ellipsis</ContainerTitle>
225
+ <DxcButton label="Medium" iconPosition="before" icon={iconSVG} size="medium" />
226
+ </Container>
227
+ <Container>
228
+ <ContainerTitle>Large size</ContainerTitle>
229
+ <DxcButton label="LargeSizePrimaryButtonEx" size="large" />
230
+ </Container>
231
+ <Container>
232
+ <ContainerTitle>Large size with ellipsis</ContainerTitle>
233
+ <DxcButton label="LargeSizePrimaryButtonExa" size="large" />
234
+ </Container>
235
+ <Container>
236
+ <ContainerTitle>Large size icon after</ContainerTitle>
237
+ <DxcButton label="LargeSizePrimaryButto" iconPosition="after" icon={iconSVG} size="large" />
238
+ </Container>
239
+ <Container>
240
+ <ContainerTitle>Large size icon before</ContainerTitle>
241
+ <DxcButton label="LargeSizePrimaryButto" iconPosition="before" icon={iconSVG} size="large" />
242
+ </Container>
243
+ <Container>
244
+ <ContainerTitle>Large size icon after with ellipsis</ContainerTitle>
245
+ <DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon={iconSVG} size="large" />
246
+ </Container>
247
+ <Container>
248
+ <ContainerTitle>Large size icon before with ellipsis</ContainerTitle>
249
+ <DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon={iconSVG} size="large" />
250
+ </Container>
251
+ <Container>
252
+ <ContainerTitle>Fill parent size</ContainerTitle>
253
+ <DxcButton label="FillParent" size="fillParent" />
254
+ </Container>
255
+ <Container>
256
+ <ContainerTitle>Fit content size</ContainerTitle>
257
+ <DxcButton label="FitContent" size="fitContent" />
258
+ </Container>
259
+ <MainTitle>Margins</MainTitle>
260
+ <Container>
261
+ <ContainerTitle>Xxsmall margin</ContainerTitle>
262
+ <DxcButton label="Xxsmall margin" margin="xxsmall" />
263
+ </Container>
264
+ <Container>
265
+ <ContainerTitle>Xsmall margin</ContainerTitle>
266
+ <DxcButton label="Xsmall margin" margin="xsmall" />
267
+ </Container>
268
+ <Container>
269
+ <ContainerTitle>Small margin</ContainerTitle>
270
+ <DxcButton label="Small margin" margin="small" />
271
+ </Container>
272
+ <Container>
273
+ <ContainerTitle>Medium margin</ContainerTitle>
274
+ <DxcButton label="Medium margin" margin="medium" />
275
+ </Container>
276
+ <Container>
277
+ <ContainerTitle>Large margin</ContainerTitle>
278
+ <DxcButton label="Large margin" margin="large" />
279
+ </Container>
280
+ <Container>
281
+ <ContainerTitle>Xlarge margin</ContainerTitle>
282
+ <DxcButton label="Xlarge margin" margin="xlarge" />
283
+ </Container>
284
+ <Container>
285
+ <ContainerTitle>Xxlarge margin</ContainerTitle>
286
+ <DxcButton label="Xxlarge margin" margin="xxlarge" />
287
+ </Container>
288
+ </>
289
+ </>
290
+ );
291
+
292
+ const MainTitle = styled.h2`
293
+ font-family: Open Sans, sans-serif;
294
+ `;
295
+
296
+ const ContainerTitle = styled.h4`
297
+ font-family: Open Sans, sans-serif;
298
+ `;
299
+
300
+ const Container = styled.div`
301
+ margin: 15px;
302
+ `;
303
+
304
+ const DarkContainer = styled.div`
305
+ background-color: #333333;
306
+ `;